o
    ]rf4                     @   sX   d dl mZ d dlmZ d dlmZ d dl mZ d dlZdefddZ	d	efd
dZ
dS )    )
ChatOpenAI)PromptTemplate)Milvus)OpenAIEmbeddingsNcollection_namec                 C   s"   t ddd}t|| dddddS )	Nztext-embedding-3-largez3sk-BJBMLzenOAiK9uGa5s5DT3BlbkFJdlwQPbVPKBFOkChjfD8r)modelopenai_api_keyagrotaz74.208.60.7919530)db_namehostport)r   connection_args)r   r   )r   
embeddings r   K/home/marcatoma/Documents/GitHub/back-agrota-serv-ia/app/filtro_vectores.pymilvus_busqueda   s   r   preguntac                 C   s|   g d}|D ]3}t |j| dd}t| |D ]!\}}g }|| t|dkr8tt| t |    S qqt dS )N)listado_productosCatalogo_Maquinarialinks_catalogoscatalogos_quimicoslistados_quimicosinformacion_garantia
   )kg?info_completa)r   similarity_search_with_scoreprintappend
statisticsmean)r   colecciones	coleccioncoleccion_docs	documentopuntajepuntajesr   r   r   vectores   s   	
r(   )langchain_openair   langchain_core.prompts.chatr    langchain_community.vectorstoresr   r   r    strr   r(   r   r   r   r   <module>   s    