
    vh
                     6    d dl Z d dlZd dlZd dlmZ d ZddZy)    N)load_dotenvc                     d}d| dd}ddddd	| dgd
d}t        j                  |||      }|j                          |j                         d   d   d   d   S )Nz-https://openrouter.ai/api/v1/chat/completionszBearer zapplication/json)AuthorizationzContent-Typezmeta-llama/llama-3-8b-instructsystemu   Bạn là nhân viên tư vấn của đơn vị trả lời các câu hỏi của khách bằng tiếng Việt tối đa 50 từ.)rolecontentuserg?)modelmessagestemperature)headersjsonchoicesr   messager   )requestspostraise_for_statusr   )promptapi_keyurlr   dataresponses         /RAG/promptdb.pycall_openrouter_llama3r      s    
9C"7),*G
 2  +r  s/
 D }}S'=H==?9%a(3I>>    c                 f   t        d       t        j                  j                  d      }t	        j
                  |      }t        j                  j                  d      }|j                  |      }t        j                  j                  d      }|j                  | gddd	g
      }|d   d   }|d	   d   }g }	t        t        ||      d      D ]  \  }
\  }}|	j                  |
 d|          dj                  |	      }d|  d| d}	 t        ||      }|S # t        $ r}d}Y d }~|S d }~ww xY w)Nzvenv/api.envCHROMADB_PATH)pathCHROMADB_COLLECTION_NAME)nameOPENROUTER_API_KEY   	documents	distances)query_texts	n_resultsincluder      z. 
u;  Bạn là nhân viên tư vấn trả lời các thông tin về đơn vị, các câu hỏi của khách bằng tiếng Việt, dựa trên các thông tin mới nhất. Trong trường hợp không có thông tin thì yêu cầu tham khảo website của đơn vị".

    Câu hỏi của quý khách: u    

    Thông tin có sẵn:
    u   

    Trả lời:u@   Xin lỗi, tôi gặp lỗi khi xử lý câu hỏi của bạn.)r   osenvirongetchromadbPersistentClientget_collectionquery	enumeratezipappendjoinr   	Exception)
input_textchroma_db_pathclientcollection_name
collectionr   resultsr#   r$   context_linesidocdistcontextr   answeres                    r   prompt_chromadbrC      sS   ZZ^^O4N&&N;Fjjnn%?@O&&O&<Jjjnn12G Lk*  G $Q'I$Q'IM#C	9$=qA;Cs"SE]+ B ii&G$$.< 0 I FT'8 M  TSMTs   D 	D0#D++D0)N)r-   r   r*   dotenvr   r   rC    r   r   <module>rF      s      	 ?$'r   