
    0%fF                        d dl mZ d dl mZ d dlmZ d dl mZ d dlmZmZm	Z	 d dl
mZmZmZmZ d dlmZ d dlmZ d d	lZd d
lmZ d dlmZ d dlmZ d dlmZ d dlmZmZ d d	lZd dlm Z  d dl!m"Z" d dl#m$Z$ d dl%m&Z&m'Z' de(fdZ)y	)    )OpenAIEmbeddings)OpenAI)LLMChain)
ChatOpenAI)ConversationBufferMemoryChatMessageHistoryConversationBufferWindowMemory)ChatPromptTemplateHumanMessagePromptTemplateSystemMessagePromptTemplatePromptTemplate)PostgresChatMessageHistory)ListN)create_qa_with_sources_chain)StuffDocumentsChain)ConversationalRetrievalChain)
PGVecto_rs)HumanMessageSystemMessage)Document)
Embeddings)get_openai_callback)modelo_chatmodelo_vectorpreguntac                    d}d}t        dd      }t        j                  |||      }| }|j                  |d      }d	}|D ]  }||j                  d
z   z  } t        j                  ||j                         j                  d         }	|	S )NzJpostgresql+psycopg2://postgres:OzMFq5AZeu48PxL@74.208.117.78:5431/postgrespruebaztext-embedding-3-largez3sk-BJBMLzenOAiK9uGa5s5DT3BlbkFJdlwQPbVPKBFOkChjfD8r)modelopenai_api_key)	embeddingcollection_namedb_url   )k 
source)	contenido	documento)	r   r   from_collection_namesimilarity_searchpage_contentr   RespuestaPgVectorpopmetadata)
r   CONNECTION_STRINGCOLLECTION_NAME
embeddingsvectordbquerydocsr(   docmodelos
             J/Users/juancaisapanta/Desktop/lhia_ja_v2/app/langchain_lhia/vector_chat.pypregunta_pgvectorr9      s    dO!
"HJ
 ..#H E$66u6BDI )3##D((	),,y488:K^K^_gKhiFM    )*langchain_openair   r   langchain.chainsr   r   langchain.memoryr   r   r	   langchain_core.prompts.chatr
   r   r   r   *langchain_community.chat_message_historiesr   typingr   urllib.parseurllibr   (langchain.chains.combine_documents.stuffr   r   +langchain_community.vectorstores.pgvecto_rsr   langchain_core.messagesr   r   jsonlangchain_core.documentsr   langchain_core.embeddingsr   langchain_community.callbacksr   
app.modelsr   r   strr9    r:   r8   <module>rM      sX    - # % ' h h    9 H 9 B ?  - 0 = 0s r:   