
    gh                     B   d Z ddlmZmZ ddlmZ ddlmZ erddlm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZO i ddddd	dd
dddddddddddddddddddddddddddi ddddddddddddddddd dd!dd"dd#dd$dd%dd&dd'dd(di d)dd*dd+dd,dd-dd.dd/dd0dd1dd2dd3dd4dd5dd6dd7dd8dd9di d:dd;dd<dd=dd>dd?dd@ddAddBddCddDddEddFddGddHddIddJddddddKZP eeQePL          ZRdMeSdNefdOZTg dPZUdQS )Ra   **Vector store** stores embedded data and performs vector search.

One of the most common ways to store and search over unstructured data is to
embed it and store the resulting embedding vectors, and then query the store
and retrieve the data that are 'most similar' to the embedded query.

**Class hierarchy:**

.. code-block::

    VectorStore --> <name>  # Examples: Annoy, FAISS, Milvus

    BaseRetriever --> VectorStoreRetriever --> <name>Retriever  # Example: VespaRetriever

**Main helpers:**

.. code-block::

    Embeddings, Document
    )TYPE_CHECKINGAny)VectorStore)create_importer)GFAISSAlibabaCloudOpenSearchAlibabaCloudOpenSearchSettings
AnalyticDBAnnoyAstraDBAtlasDBAwaDBAzureCosmosDBVectorSearchAzureSearchBagel	CassandraChromaClarifai
ClickhouseClickhouseSettings
DashVectorDatabricksVectorSearchDeepLakeDingoDocArrayHnswSearchDocArrayInMemorySearchDuckDBEcloudESVectorStoreElasticKnnSearchElasticsearchStoreElasticVectorSearchEpsillaHologresLanceDBLLMRailsMarqoMatchingEngineMeilisearchMilvusMomentoVectorIndexMongoDBAtlasVectorSearchMyScaleMyScaleSettingsNeo4jVectorNeuralDBClientVectorStoreNeuralDBVectorStoreOpenSearchVectorSearchPGEmbeddingPGVectorPineconeQdrantRedisRocksetScaNNSemaDBSingleStoreDBSKLearnVectorStore	SQLiteVSS	StarRocksSupabaseVectorStoreTairTencentVectorDBTigrisTileDBTimescaleVector	TypesenseUSearchValdVearchVectara
VespaStoreWeaviateYellowbrickZepVectorStoreZillizr   z langchain_community.vectorstoresr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   NEuralDBVectorStorer1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   )rJ   rK   rL   rM   )deprecated_lookupsnamereturnc                      t          |           S )zLook up attributes dynamically.)_import_attribute)rP   s    \/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/langchain/vectorstores/__init__.py__getattr__rU      s    T"""    )Hr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   r   rI   rJ   rK   rL   rM   N)V__doc__typingr   r   langchain_core.vectorstoresr   langchain._apir    langchain_community.vectorstoresr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   DEPRECATED_LOOKUP__package__rS   strrU   __all__ rV   rT   <module>ra      sc   * & % % % % % % % 3 3 3 3 3 3 * * * * * * IH H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H HZI@I$&HI 4I /	I
 1I 1I /I  !CI 5I /I 3I 0I 2I 4I <I  4!I" @#I I$ 2%I& /'I( <)I* @+I, 0-I. =/I0 :1I2 <3I4 =5I6 17I8 /9I: 2;I< 1=I> 2?I@ /AIB 8CID 5EI I IF 0GIH <IIJ  BKIL 1MIN 9OIP 5QIR  !CSIT =UIV =WIX @YIZ 5[I\ 2]I^ 2_I` 0aIb /cId 1eIf /gI I Ih 0iIj 7kIl <mIn 3oIp 3qIr =sIt .uIv 9wIx 0yIz 0{I| 9}I~ 3I@ 1AIB .CID 0EIF 1GIH 4II IJ 3580QI I I V $OKDUVVV #c #c # # # #
I I IrV   