§
    šŠtj8  ã                   óJ   — d dl mZmZ d dlmZ d dlmZ  G d„ de¦  «        ZdS )é    )ÚCallableÚUnion)ÚDocument)ÚDocstorec                   óP   — e Zd ZdZdeegeeef         f         fd„Zdedefd„Z	dS )Ú
DocstoreFnzãDocstore via arbitrary lookup function.

    This is useful when:
     * it's expensive to construct an InMemoryDocstore/dict
     * you retrieve documents from remote sources
     * you just want to reuse existing objects
    Ú	lookup_fnc                 ó   — || _         d S )N)Ú
_lookup_fn)Úselfr	   s     úg/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/docstore/arbitrary_fn.pyÚ__init__zDocstoreFn.__init__   s   € ð $ˆŒˆˆó    ÚsearchÚreturnc                 óè   — |                       |¦  «        }t          |t          ¦  «        rt          |d|i¬¦  «        S t          |t          ¦  «        r|S t	          dt          |¦  «        › �¦  «        ‚)z•Search for a document.

        Args:
            search: search string

        Returns:
            Document if found, else error message.
        Úsource)Úpage_contentÚmetadatazUnexpected type of document )r   Ú
isinstanceÚstrr   Ú
ValueErrorÚtype)r   r   Úrs      r   r   zDocstoreFn.search   ss   € ð �OŠO˜FÑ#Ô#ˆÝ�a�ÑÔð 	å¨°hÀÐ5GÐHÑHÔHÐHÝ˜�8Ñ$Ô$ð 	ØˆHÝÐA½¸Q¹¼ÐAÐAÑBÔBÐBr   N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   © r   r   r   r      sy   € € € € € ðð ð$à˜S˜E 5¨°3¨Ô#7Ð7Ô8ð$ð $ð $ð $ðC˜Sð C Xð Cð Cð Cð Cð Cð Cr   r   N)Útypingr   r   Úlangchain_core.documentsr   Ú!langchain_community.docstore.baser   r   r   r   r   ú<module>r#      s   ðØ "Ð "Ð "Ð "Ð "Ð "Ð "Ð "à -Ð -Ð -Ð -Ð -Ð -à 6Ð 6Ð 6Ð 6Ð 6Ð 6ðCð Cð Cð Cð C�ñ Cô Cð Cð Cð Cr   