
    Ng                        d Z ddlmZmZmZmZ ddlmZ  G d de          Z G d de          Z	 G d d	e          Z
 G d
 de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d  d!e          Zd"S )#z'Models for the PebbloRetrievalQA chain.    )AnyListOptionalUnion)	BaseModelc                   N    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nameuser_id	user_auth)	__name__
__module____qualname____doc__r
   r   str__annotations__r        n/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/chains/pebblo_retrieval/models.pyr	   r	      sI         --D(3-LLLCy# #r   r	   c                   *    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#         --
s)OOOOOr   r   c                   *    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#         ,,
s)OOOOOr   r   c                   b     e Zd ZU dZdZee         ed<   dZee	         ed<   de
ddf fdZ xZS )SemanticContextzClass for a semantic context.Npebblo_semantic_entitiespebblo_semantic_topicsdatareturnc                 x     t                      j        di | | j        | j        t	          d          d S d S )NzTsemantic_context must contain 'pebblo_semantic_entities' or 'pebblo_semantic_topics'r   )super__init__r   r   
ValueError)selfr    	__class__s     r   r$   zSemanticContext.__init__$   sY      4    )1+3+   2133r   )r   r   r   r   r   r   r   r   r   r   r   r$   __classcell__r'   s   @r   r   r      s         '';?h'78???7;H^4;;;s t          r   r   c                   l     e Zd ZU dZeed<   dZee         ed<   dZ	ee
         ed<   dedef fdZ xZS )	
ChainInputz"Input for PebbloRetrievalQA chain.queryNauth_contextsemantic_contextkwargsr!   c                 b     t                      j        di |}| j        |d<   | j        |d<   |S )Nr-   r.   r   )r#   dictr-   r.   )r&   r/   	base_dictr'   s      r   r1   zChainInput.dict9   s?     EGGL**6**	$($5	.!(,(=	$%r   )r   r   r   r   r   r   r-   r   r	   r.   r   r   r1   r(   r)   s   @r   r+   r+   2   s         ,,JJJ*.L(;'...26h/666S T          r   r+   c                       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languagelanguage_versionruntimeN)
r   r   r   r   r6   r   r   r   r9   r?   r   r   r   r4   r4   A   s           D(3-
III
IIIBMMMGGGOOOMMMGXc]r   r4   c                   (    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   rA   rA   R   s.           IIILLLLLr   rA   c                   <    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   rD   rD   [   s2         SM
3-r   rD   c                       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 )PkgInfoproject_home_pagedocumentation_urlpypi_urlliscence_typeinstalled_vialocationNrF   r   r   r   rH   rH   `   sr         }$$$}$$$smC=   C=   smr   rH   c                   x    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
   rB   rN   embedding_model)
r   r   r   r
   r   r   r   rB   rN   rQ   r   r   r   rP   rP   i   sb         D(3-!GXc]!!!"Hhsm"""%)OXc])))))r   rP   c                   R    e Zd ZU eed<   ee         ed<   eee                  ed<   dS )	ChainInfor
   model
vector_dbsN)	r   r   r   r   r   r   rD   r   rP   r   r   r   rS   rS   p   s@         
IIIE?h((((((r   rS   c                   x    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descriptionr?   	frameworkchainsplugin_versionclient_versionN)
r   r   r   r   r   r   r4   rA   r   rS   r   r   r   rW   rW   v   st         
IIIJJJ#Or   rW   c                   \    e Zd ZU ee         ed<   ee         ed<   eed<   ee         ed<   dS )Contextretrieved_fromdoc	vector_dbpb_checksumNrF   r   r   r   r_   r_      sK         SM!!!	#NNN#r   r_   c                       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   r1   rh   boolr   r   r   re   re      si         
5s#
$$$$!%K#%%%#Hhtn###)------r   re   c                       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responseprompt_timeuseruser_identitiesclassifier_locationN)
r   r   r   r   r   r   r   r   r_   re   r   r   r   rm   rm      s         
III4)*HW,==>>>>Vv
IIId3i((((r   rm   N)r   typingr   r   r   r   pydanticr   r	   r   r   r   r+   r4   rA   rD   rH   rP   rS   rW   r_   re   rm   r   r   r   <module>rw      s   - - - - - - - - - - - - - -      # # # # #) # # #    y       Y       i   (                i      "    	       I   
    i   * * * * *y * * *) ) ) ) )	 ) ) )    )       i   . . . . .Y . . .         r   