a
    bg                     @   s  d Z ddlmZmZmZmZ ddlmZ G dd deZG dd deZ	G dd	 d	eZ
G d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZd"S )#z'Models for the PebbloRetrievalQA chain.    )AnyListOptionalUnion)	BaseModelc                   @   s6   e Zd ZU dZdZee ed< eed< ee ed< dS )AuthContextz#Class for an authorization context.NnameZuser_idZ	user_auth)	__name__
__module____qualname____doc__r   r   str__annotations__r    r   r   /var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/chains/pebblo_retrieval/models.pyr      s
   
r   c                   @   s   e Zd ZU dZee ed< dS )SemanticEntitiesz#Class for a semantic entity filter.denyNr	   r
   r   r   r   r   r   r   r   r   r   r      s   
r   c                   @   s   e Zd ZU dZee ed< dS )SemanticTopicsz"Class for a semantic topic filter.r   Nr   r   r   r   r   r      s   
r   c                       sJ   e Zd ZU dZdZee ed< dZee	 ed< e
dd fddZ  ZS )SemanticContextzClass for a semantic context.Npebblo_semantic_entitiespebblo_semantic_topics)datareturnc                    s2   t  jf i | | jd u r.| jd u r.tdd S )NzTsemantic_context must contain 'pebblo_semantic_entities' or 'pebblo_semantic_topics')super__init__r   r   
ValueError)selfr   	__class__r   r   r   $   s    zSemanticContext.__init__)r	   r
   r   r   r   r   r   r   r   r   r   r   __classcell__r   r   r   r   r      s   
r   c                       sR   e Zd ZU dZeed< dZee ed< dZ	ee
 ed< eed fddZ  ZS )	
ChainInputz"Input for PebbloRetrievalQA chain.queryNauth_contextsemantic_context)kwargsr   c                    s*   t  jf i |}| j|d< | j|d< |S )Nr#   r$   )r   dictr#   r$   )r   r%   Z	base_dictr   r   r   r&   9   s    

zChainInput.dict)r	   r
   r   r   r   r   r#   r   r   r$   r   r   r&   r    r   r   r   r   r!   2   s
   
r!   c                   @   sz   e Zd ZU dZdZee ed< eed< eed< dZee ed< eed< eed< eed	< eed
< eed< dZ	ee ed< dS )Runtimez
    OS, language details
     typehostpathipplatformos
os_versionlanguageZlanguage_versionruntimeN)
r	   r
   r   r   r)   r   r   r   r,   r1   r   r   r   r   r'   A   s   
r'   c                   @   s"   e Zd ZU dZeed< eed< dS )	Frameworkz%
    Langchain framework details
    r   versionN)r	   r
   r   r   r   r   r   r   r   r   r2   R   s   
r2   c                   @   s&   e Zd ZU ee ed< ee ed< dS )Modelvendorr   Nr	   r
   r   r   r   r   r   r   r   r   r4   [   s   
r4   c                   @   sV   e Zd ZU ee ed< ee ed< ee ed< ee ed< ee ed< ee ed< dS )PkgInfoZproject_home_pageZdocumentation_urlpypi_urlZliscence_typeZinstalled_vialocationNr6   r   r   r   r   r7   `   s   
r7   c                   @   sN   e Zd ZU dZee ed< dZee ed< dZee ed< dZ	ee ed< dS )VectorDBNr   r3   r9   embedding_model)
r	   r
   r   r   r   r   r   r3   r9   r;   r   r   r   r   r:   i   s   
r:   c                   @   s2   e Zd ZU eed< ee ed< eee  ed< dS )	ChainInfor   modelZ
vector_dbsN)	r	   r
   r   r   r   r   r4   r   r:   r   r   r   r   r<   p   s   
r<   c                   @   sV   e Zd ZU eed< eed< ee ed< eed< eed< ee	 ed< eed< eed< d	S )
Appr   ownerdescriptionr1   Z	frameworkchainsZplugin_versionclient_versionN)
r	   r
   r   r   r   r   r'   r2   r   r<   r   r   r   r   r>   v   s   
r>   c                   @   s:   e Zd ZU ee ed< ee ed< eed< ee ed< dS )ContextZretrieved_fromdocZ	vector_dbZpb_checksumNr6   r   r   r   r   rC      s   
rC   c                   @   sR   e Zd ZU eeeef  ed< dZee	 ed< dZ
ee ed< dZee ed< dS )Promptr   NentityCountentitiesprompt_gov_enabled)r	   r
   r   r   r   listr   r   rF   intrG   r&   rH   boolr   r   r   r   rE      s   
rE   c                   @   sr   e Zd ZU eed< eeee  ee f ed< ee	 ed< ee	 ed< eed< eed< eee  ed< eed< d	S )
Qar   contextpromptresponseZprompt_timeuserZuser_identitiesZclassifier_locationN)
r	   r
   r   r   r   r   r   r   rC   rE   r   r   r   r   rL      s   
rL   N)r   typingr   r   r   r   Zpydanticr   r   r   r   r   r!   r'   r2   r4   r7   r:   r<   r>   rC   rE   rL   r   r   r   r   <module>   s"   
		