
    dh                     v   S r SSKJrJrJrJr  SSKJr   " S S\5      r " S S\5      r	 " S S	\5      r
 " S
 S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S  S!\5      rg")#z'Models for the PebbloRetrievalQA chain.    )AnyListOptionalUnion)	BaseModelc                   H    \ rS rSr% SrSr\\   \S'   \\S'   \	\   \S'   Sr
g)AuthContext   z#Class for an authorization context.Nnameuser_id	user_auth )__name__
__module____qualname____firstlineno____doc__r   r   str__annotations__r   __static_attributes__r       j/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/chains/pebblo_retrieval/models.pyr	   r	      s'    -D(3-LCy#r   r	   c                   *    \ rS rSr% Sr\\   \S'   Srg)SemanticEntities   z#Class for a semantic entity filter.denyr   N	r   r   r   r   r   r   r   r   r   r   r   r   r   r      s    -
s)Or   r   c                   *    \ rS rSr% Sr\\   \S'   Srg)SemanticTopics   z"Class for a semantic topic filter.r   r   Nr   r   r   r   r   r      s    ,
s)Or   r   c                   b   ^  \ rS rSr% SrSr\\   \S'   Sr	\\
   \S'   S\SS4U 4S jjrS	rU =r$ )
SemanticContext   zClass for a semantic context.Npebblo_semantic_entitiespebblo_semantic_topicsdatareturnc                 r   > [         TU ]  " S0 UD6  U R                  c  U R                  c  [	        S5      eg g )NzTsemantic_context must contain 'pebblo_semantic_entities' or 'pebblo_semantic_topics'r   )super__init__r$   r%   
ValueError)selfr&   	__class__s     r   r*   SemanticContext.__init__$   sI     4  ))1++3+  4 2r   r   )r   r   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   ^  \ rS rSr% Sr\\S'   Sr\\	   \S'   Sr
\\   \S'   S\S\4U 4S	 jjrS
rU =r$ )
ChainInput2   z"Input for PebbloRetrievalQA chain.queryNauth_contextsemantic_contextkwargsr'   c                 d   > [         TU ]  " S0 UD6nU R                  US'   U R                  US'   U$ )Nr5   r6   r   )r)   dictr5   r6   )r,   r7   	base_dictr-   s      r   r9   ChainInput.dict9   s;    GL*6*	$($5$5	.!(,(=(=	$%r   r   )r   r   r   r   r   r   r   r5   r   r	   r6   r"   r   r9   r   r/   r0   s   @r   r2   r2   2   sB    ,J*.L(;'.26h/6S T  r   r2   c                       \ rS rSr% SrSr\\   \S'   \\S'   \\S'   Sr	\\   \S'   \\S'   \\S	'   \\S
'   \\S'   \\S'   Sr
\\   \S'   Srg)RuntimeA   z
OS, language details
 typehostpathipplatformos
os_versionlanguagelanguage_versionruntimer   N)r   r   r   r   r   r@   r   r   r   rC   rI   r   r   r   r   r=   r=   A   sW     D(3-
I
IBMGOMGXc]r   r=   c                   .    \ rS rSr% Sr\\S'   \\S'   Srg)	FrameworkR   z
Langchain framework details
r   versionr   N)r   r   r   r   r   r   r   r   r   r   r   rK   rK   R   s     ILr   rK   c                   6    \ rS rSr% \\   \S'   \\   \S'   Srg)Model[   vendorr   r   Nr   r   r   r   r   r   r   r   r   r   r   rO   rO   [   s    SM
3-r   rO   c                   v    \ rS rSr% \\   \S'   \\   \S'   \\   \S'   \\   \S'   \\   \S'   \\   \S'   Srg	)
PkgInfo`   project_home_pagedocumentation_urlpypi_urlliscence_typeinstalled_vialocationr   NrR   r   r   r   rT   rT   `   s>    }$}$smC= C= smr   rT   c                   f    \ rS rSr% Sr\\   \S'   Sr\\   \S'   Sr	\\   \S'   Sr
\\   \S'   Srg)VectorDBi   Nr   rM   r[   embedding_modelr   )r   r   r   r   r   r   r   r   rM   r[   r_   r   r   r   r   r]   r]   i   s:    D(3-!GXc]!"Hhsm"%)OXc])r   r]   c                   F    \ rS rSr% \\S'   \\   \S'   \\\	      \S'   Sr
g)	ChainInfop   r   model
vector_dbsr   N)r   r   r   r   r   r   r   rO   r   r]   r   r   r   r   ra   ra   p   s     
IE?h((r   ra   c                   r    \ rS rSr% \\S'   \\S'   \\   \S'   \\S'   \\S'   \	\
   \S'   \\S'   \\S	'   S
rg)Appv   r   ownerdescriptionrI   	frameworkchainsplugin_versionclient_versionr   N)r   r   r   r   r   r   r   r=   rK   r   ra   r   r   r   r   rf   rf   v   s8    
IJ#Or   rf   c                   P    \ rS rSr% \\   \S'   \\   \S'   \\S'   \\   \S'   Srg)Context   retrieved_fromdoc	vector_dbpb_checksumr   NrR   r   r   r   ro   ro      s%    SM!	#N#r   ro   c                   l    \ rS rSr% \\\\4      \S'   Sr	\\
   \S'   Sr\\   \S'   Sr\\   \S'   Srg)Prompt   r&   NentityCountentitiesprompt_gov_enabledr   )r   r   r   r   r   r   listr   r   rx   intry   r9   rz   boolr   r   r   r   rv   rv      sA    
5s#
$$!%K#%#Hhtn#)--r   rv   c                       \ rS rSr% \\S'   \\\\	      \\	   4   \S'   \\
   \S'   \\
   \S'   \\S'   \\S'   \\\      \S'   \\S	'   S
rg)Qa   r   contextpromptresponseprompt_timeuseruser_identitiesclassifier_locationr   N)r   r   r   r   r   r   r   r   r   ro   rv   r   r   r   r   r   r      s\    
I4)*HW,==>>Vv
Id3i((r   r   N)r   typingr   r   r   r   pydanticr   r	   r   r   r"   r2   r=   rK   rO   rT   r]   ra   rf   ro   rv   r   r   r   r   <module>r      s    - - - #) #y Y i (  i  "	 I 
i *y *)	 )) i .Y . r   