viruPVS/langchain-docs huggingface dataset:
langchain_community.vectorstores.azure_cosmos_db.CosmosDBSimilarityType¶
class langchain_community.vectorstores.azure_cosmos_db.CosmosDBSimilarityType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶
Cosmos DB Similarity Type as enumerator.
COS = 'COS'¶
CosineSimilarity
IP = 'IP'¶
inner - product
L2 = 'L2'¶
Euclidean distance
langchain_community.vectorstores.sklearn.ParquetSerializer¶
class langchain_community.vectorstores.sklearn.ParquetSerializer(persist_path: str)[source]¶
Serializes data in Apache Parquet format using the pyarrow package.
Methods
__init__(persist_path)
extension()
The file extension suggested by this serializer (without dot).
load()
Loads the data from the persist_path
save(data)
Saves the data to the persist_path
__init__(persist_path: str) → None[source]¶
classmethod extension() → str[source]¶
The file extension suggested by this serializer (without dot).
load() → Any[source]¶
Loads the data from the persist_path
save(data: Any) → None[source]¶
Saves the data to the persist_path
langchain_community.vectorstores.bageldb.Bagel¶
class langchain_community.vectorstores.bageldb.Bagel(cluster_name: str = 'langchain', client_settings: Optional[bagel.config.Settings] = None, embedding_function: Optional[Embeddings] = None, cluster_metadata: Optional[Dict] = None, client: Optional[bagel.Client] = None, relevance_score_fn: Optional[Callable[[float], float]] = None)[source]¶
BagelDB.ai vector store.
To use, you should have the betabageldb python package installed.
Example
from langchain_community.vectorstores import Bagel
vectorstore = Bagel(cluster_name="langchain_store")
Initialize with bagel client
Attributes
embeddings
Access the query embedding object if available.
Methods
__init__([cluster_name, client_settings, ...])
Initialize with bagel client
aadd_documents(documents, **kwargs)
Run more documents through the embeddings and add to the vectorstore.
aadd_texts(texts[, metadatas])
Run more texts through the embeddings and add to the vectorstore.
add_documents(documents, **kwargs)
Run more documents through the embeddings and add to the vectorstore.
add_texts(texts[, metadatas, ids, embeddings])
Add texts along with their corresponding embeddings and optional metadata to the BagelDB cluster.
adelete([ids])
Delete by vector ID or other criteria.
afrom_documents(documents, embedding, **kwargs)
Return VectorStore initialized from documents and embeddings.
afrom_texts(texts, embedding[, metadatas])
Return VectorStore initialized from texts and embeddings.
amax_marginal_relevance_search(query[, k, ...])
Return docs selected using the maximal marginal relevance.
Return docs selected using the maximal marginal relevance.
amax_marginal_relevance_search_by_vector(...)
Return docs selected using the maximal marginal relevance.
as_retriever(**kwargs)
Return VectorStoreRetriever initialized from this VectorStore.
asearch(query, search_type, **kwargs)
Return docs most similar to query using specified search type.
asimilarity_search(query[, k])
Return docs most similar to query.
asimilarity_search_by_vector(embedding[, k])
Return docs most similar to embedding vector.
asimilarity_search_with_relevance_scores(query)
Return docs and relevance scores in the range [0, 1], asynchronously.
asimilarity_search_with_score(*args, **kwargs)
Run similarity search with distance asynchronously.
delete([ids])
Delete by IDs.
delete_cluster()
Delete the cluster.
from_documents(documents[, embedding, ids, ...])
Create a Bagel vectorstore from a list of documents.
from_texts(texts[, embedding, metadatas, ...])
Create and initialize a Bagel instance from list of texts.
get([ids, where, limit, offset, ...])
Gets the collection.
max_marginal_relevance_search(query[, k, ...])
Return docs selected using the maximal marginal relevance.
max_marginal_relevance_search_by_vector(...)
Return docs selected using the maximal marginal relevance.
search(query, search_type, **kwargs)
Return docs most similar to query using specified search type.
similarity_search(query[, k, where])
Run a similarity search with BagelDB.
similarity_search_by_vector(embedding[, k, ...])
Return docs most similar to embedding vector.
similarity_search_by_vector_with_relevance_scores(...)
Return docs most similar to embedding vector.
similarity_search_by_vector_with_relevance_scores(...)
Return docs most similar to embedding vector and similarity score.
similarity_search_with_relevance_scores(query)
Return docs and relevance scores in the range [0, 1].
similarity_search_with_score(query[, k, where])
Run a similarity search with BagelDB and return documents with their corresponding similarity scores.
update_document(document_id, document)
Update a document in the cluster.
__init__(cluster_name: str = 'langchain', client_settings: Optional[bagel.config.Settings] = None, embedding_function: Optional[Embeddings] = None, cluster_metadata: Optional[Dict] = None, client: Optional[bagel.Client] = None, relevance_score_fn: Optional[Callable[[float], float]] = None) → None[source]¶
Initialize with bagel client
async aadd_documents(documents: List[Document], **kwargs: Any) → List[str]¶
Run more documents through the embeddings and add to the vectorstore.
Parameters
(List[Document] (documents) – Documents to add to the vectorstore.
Returns
List of IDs of the added texts.
Return type
List[str]
async aadd_texts(texts: Iterable[str], metadatas: Optional[List[dict]] = None, **kwargs: Any) → List[str]¶
Run more texts through the embeddings and add to the vectorstore.
add_documents(documents: List[Document], **kwargs: Any) → List[str]¶
Run more documents through the embeddings and add to the vectorstore.
Parameters
(List[Document] (documents) – Documents to add to the vectorstore.
Returns
List of IDs of the added texts.
Return type
List[str]
Returns
List of IDs of the added texts.
Return type
List[str]
add_texts(texts: Iterable[str], metadatas: Optional[List[dict]] = None, ids: Optional[List[str]] = None, embeddings: Optional[List[List[float]]] = None, **kwargs: Any) → List[str][source]¶
Add texts along with their corresponding embeddings and optional
metadata to the BagelDB cluster.
Parameters
texts (Iterable[str]) – Texts to be added.
embeddings (Optional[List[float]]) – List of embeddingvectors
metadatas (Optional[List[dict]]) – Optional list of metadatas.
ids (Optional[List[str]]) – List of unique ID for the texts.
Returns
List of unique ID representing the added texts.
Return type
List[str]
async adelete(ids: Optional[List[str]] = None, **kwargs: Any) → Optional[bool]¶
Delete by vector ID or other criteria.
Parameters
ids – List of ids to delete.
**kwargs – Other keyword arguments that subclasses might use.
Returns
True if deletion is successful,
False otherwise, None if not implemented.
Return type
Optional[bool]
async classmethod afrom_documents(documents: List[Document], embedding: Embeddings, **kwargs: Any) → VST¶
Return VectorStore initialized from documents and embeddings.
async classmethod afrom_texts(texts: List[str], embedding: Embeddings, metadatas: Optional[List[dict]] = None, **kwargs: Any) → VST¶
Return VectorStore initialized from texts and embeddings.
async amax_marginal_relevance_search(query: str, k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, **kwargs: Any) → List[Document]¶
Returns
List of Tuples of (doc, similarity_score)
async asimilarity_search_with_score(*args: Any, **kwargs: Any) → List[Tuple[Document, float]]¶
Run similarity search with distance asynchronously.
delete(ids: Optional[List[str]] = None, **kwargs: Any) → None[source]¶
Delete by IDs.
Parameters
ids – List of ids to delete.
delete_cluster() → None[source]¶
Delete the cluster.
classmethod from_documents(documents: List[Document], embedding: Optional[Embeddings] = None, ids: Optional[List[str]] = None, cluster_name: str = 'langchain', client_settings: Optional[bagel.config.Settings] = None, client: Optional[bagel.Client] = None, cluster_metadata: Optional[Dict] = None, **kwargs: Any) → Bagel[source]¶
Create a Bagel vectorstore from a list of documents.
Parameters
documents (List[Document]) – List of Document objects to add to the
Bagel vectorstore.
embedding (Optional[List[float]]) – List of embedding.
ids (Optional[List[str]]) – List of IDs. Defaults to None.
cluster_name (str) – The name of the BagelDB cluster.
client_settings (Optional[bagel.config.Settings]) – Client settings.
client (Optional[bagel.Client]) – Bagel client instance.
cluster_metadata (Optional[Dict]) – Metadata associated with the
Bagel cluster. Defaults to None.
Returns
Bagel vectorstore.
Return type
Bagel
Returns
Bagel vectorstore.
Return type
Bagel
classmethod from_texts(texts: List[str], embedding: Optional[Embeddings] = None, metadatas: Optional[List[dict]] = None, ids: Optional[List[str]] = None, cluster_name: str = 'langchain', client_settings: Optional[bagel.config.Settings] = None, cluster_metadata: Optional[Dict] = None, client: Optional[bagel.Client] = None, text_embeddings: Optional[List[List[float]]] = None, **kwargs: Any) → Bagel[source]¶
Create and initialize a Bagel instance from list of texts.
Parameters
texts (List[str]) – List of text content to be added.
cluster_name (str) – The name of the BagelDB cluster.
client_settings (Optional[bagel.config.Settings]) – Client settings.
cluster_metadata (Optional[Dict]) – Metadata of the cluster.
embeddings (Optional[Embeddings]) – List of embedding.
metadatas (Optional[List[dict]]) – List of metadata.
ids (Optional[List[str]]) – List of unique ID. Defaults to None.
client (Optional[bagel.Client]) – Bagel client instance.
Returns
Bagel vectorstore.
Return type
Bagel
get(ids: Optional[OneOrMany[ID]] = None, where: Optional[Where] = None, limit: Optional[int] = None, offset: Optional[int] = None, where_document: Optional[WhereDocument] = None, include: Optional[List[str]] = None) → Dict[str, Any][source]¶
Gets the collection.
max_marginal_relevance_search(query: str, k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, **kwargs: Any) → List[Document]¶
Return docs selected using the maximal marginal relevance.
Maximal marginal relevance optimizes for similarity to query AND diversity
among selected documents.
Parameters
query – Text to look up documents similar to.
k – Number of Documents to return. Defaults to 4.
fetch_k – Number of Documents to fetch to pass to MMR algorithm.
lambda_mult – Number between 0 and 1 that determines the degree
of diversity among the results with 0 corresponding
to maximum diversity and 1 to minimum diversity.
Defaults to 0.5.
Returns
List of Documents selected by maximal marginal relevance.
max_marginal_relevance_search_by_vector(embedding: List[float], k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, **kwargs: Any) → List[Document]¶
Return docs selected using the maximal marginal relevance.
Maximal marginal relevance optimizes for similarity to query AND diversity
among selected documents.
Parameters
embedding – Embedding to look up documents similar to.
k – Number of Documents to return. Defaults to 4.
fetch_k – Number of Documents to fetch to pass to MMR algorithm.
lambda_mult – Number between 0 and 1 that determines the degree
of diversity among the results with 0 corresponding
to maximum diversity and 1 to minimum diversity.
Defaults to 0.5.
Returns
List of Documents selected by maximal marginal relevance.
search(query: str, search_type: str, **kwargs: Any) → List[Document]¶
Return docs most similar to query using specified search type.
similarity_search(query: str, k: int = 5, where: Optional[Dict[str, str]] = None, **kwargs: Any) → List[Document][source]¶
Run a similarity search with BagelDB.
Parameters
Run a similarity search with BagelDB.
Parameters
query (str) – The query text to search for similar documents/texts.
k (int) – The number of results to return.
where (Optional[Dict[str, str]]) – Metadata filters to narrow down.
Returns
List of documents objects representing
the documents most similar to the query text.
Return type
List[Document]
similarity_search_by_vector(embedding: List[float], k: int = 5, where: Optional[Dict[str, str]] = None, **kwargs: Any) → List[Document][source]¶
Return docs most similar to embedding vector.
similarity_search_by_vector_with_relevance_scores(query_embeddings: List[float], k: int = 5, where: Optional[Dict[str, str]] = None, **kwargs: Any) → List[Tuple[Document, float]][source]¶
Return docs most similar to embedding vector and similarity score.
similarity_search_with_relevance_scores(query: str, k: int = 4, **kwargs: Any) → List[Tuple[Document, float]]¶
Return docs and relevance scores in the range [0, 1].
0 is dissimilar, 1 is most similar.
Parameters
query – input text
k – Number of Documents to return. Defaults to 4.
**kwargs – kwargs to be passed to similarity search. Should include:
score_threshold: Optional, a floating point value between 0 to 1 to
filter the resulting set of retrieved docs
Returns
List of Tuples of (doc, similarity_score)
similarity_search_with_score(query: str, k: int = 5, where: Optional[Dict[str, str]] = None, **kwargs: Any) → List[Tuple[Document, float]][source]¶
Run a similarity search with BagelDB and return documents with their
Run a similarity search with BagelDB and return documents with their
corresponding similarity scores.
Parameters
query (str) – The query text to search for similar documents.
k (int) – The number of results to return.
where (Optional[Dict[str, str]]) – Filter using metadata.
Returns
List of tuples, each containing a
Document object representing a similar document and its
corresponding similarity score.
Return type
List[Tuple[Document, float]]
update_document(document_id: str, document: Document) → None[source]¶
Update a document in the cluster.
Parameters
document_id (str) – ID of the document to update.
document (Document) – Document to update.
Examples using Bagel¶
BagelDB
langchain_community.vectorstores.mongodb_atlas.MongoDBAtlasVectorSearch¶
class langchain_community.vectorstores.mongodb_atlas.MongoDBAtlasVectorSearch(collection: Collection[MongoDBDocumentType], embedding: Embeddings, *, index_name: str = 'default', text_key: str = 'text', embedding_key: str = 'embedding', relevance_score_fn: str = 'cosine')[source]¶
MongoDB Atlas Vector Search vector store.
To use, you should have both:
- the pymongo python package installed
- a connection string associated with a MongoDB Atlas Cluster having deployed an
Atlas Search index
Example
from langchain_community.vectorstores import MongoDBAtlasVectorSearch
from langchain_community.embeddings.openai import OpenAIEmbeddings
from pymongo import MongoClient
mongo_client = MongoClient("<YOUR-CONNECTION-STRING>")
collection = mongo_client["<db_name>"]["<collection_name>"]
embeddings = OpenAIEmbeddings()
vectorstore = MongoDBAtlasVectorSearch(collection, embeddings)
Parameters
collection – MongoDB collection to add the texts to.
embedding – Text embedding model to use.
text_key – MongoDB field that will contain the text for each
document.
embedding_key – MongoDB field that will contain the embedding for
each document.
index_name – Name of the Atlas Search index.
relevance_score_fn – The similarity score used for the index.
supported (Currently) – Euclidean, cosine, and dot product.
Attributes
embeddings
Access the query embedding object if available.
Methods
__init__(collection, embedding, *[, ...])
param collection
MongoDB collection to add the texts to.
aadd_documents(documents, **kwargs)
Run more documents through the embeddings and add to the vectorstore.
aadd_texts(texts[, metadatas])
Run more texts through the embeddings and add to the vectorstore.
Run more texts through the embeddings and add to the vectorstore.
add_documents(documents, **kwargs)
Run more documents through the embeddings and add to the vectorstore.
add_texts(texts[, metadatas])
Run more texts through the embeddings and add to the vectorstore.
adelete([ids])
Delete by vector ID or other criteria.
afrom_documents(documents, embedding, **kwargs)
Return VectorStore initialized from documents and embeddings.
afrom_texts(texts, embedding[, metadatas])
Return VectorStore initialized from texts and embeddings.
amax_marginal_relevance_search(query[, k, ...])
Return docs selected using the maximal marginal relevance.
amax_marginal_relevance_search_by_vector(...)
Return docs selected using the maximal marginal relevance.
as_retriever(**kwargs)
Return VectorStoreRetriever initialized from this VectorStore.
asearch(query, search_type, **kwargs)
Return docs most similar to query using specified search type.
asimilarity_search(query[, k])
Return docs most similar to query.
asimilarity_search_by_vector(embedding[, k])
Return docs most similar to embedding vector.
asimilarity_search_with_relevance_scores(query)
Return docs and relevance scores in the range [0, 1], asynchronously.
asimilarity_search_with_score(*args, **kwargs)
Run similarity search with distance asynchronously.
delete([ids])
Delete by vector ID or other criteria.
from_connection_string(connection_string, ...)
Construct a MongoDB Atlas Vector Search vector store from a MongoDB connection URI.
from_documents(documents, embedding, **kwargs)
Return VectorStore initialized from documents and embeddings.
from_texts(texts, embedding[, metadatas, ...])
from_texts(texts, embedding[, metadatas, ...])
Construct a MongoDB Atlas Vector Search vector store from raw documents.
max_marginal_relevance_search(query[, k, ...])
Return documents selected using the maximal marginal relevance.
max_marginal_relevance_search_by_vector(...)
Return docs selected using the maximal marginal relevance.
search(query, search_type, **kwargs)
Return docs most similar to query using specified search type.
similarity_search(query[, k, pre_filter, ...])
Return MongoDB documents most similar to the given query.
similarity_search_by_vector(embedding[, k])
Return docs most similar to embedding vector.
similarity_search_with_relevance_scores(query)
Return docs and relevance scores in the range [0, 1].
similarity_search_with_score(query[, k, ...])
Return MongoDB documents most similar to the given query and their scores.
__init__(collection: Collection[MongoDBDocumentType], embedding: Embeddings, *, index_name: str = 'default', text_key: str = 'text', embedding_key: str = 'embedding', relevance_score_fn: str = 'cosine')[source]¶
Parameters
collection – MongoDB collection to add the texts to.
embedding – Text embedding model to use.
text_key – MongoDB field that will contain the text for each
document.
embedding_key – MongoDB field that will contain the embedding for
each document.
index_name – Name of the Atlas Search index.
relevance_score_fn – The similarity score used for the index.
supported (Currently) – Euclidean, cosine, and dot product.
async aadd_documents(documents: List[Document], **kwargs: Any) → List[str]¶
Run more documents through the embeddings and add to the vectorstore.
Parameters
Run more documents through the embeddings and add to the vectorstore.
Parameters
(List[Document] (documents) – Documents to add to the vectorstore.
Returns
List of IDs of the added texts.
Return type
List[str]
async aadd_texts(texts: Iterable[str], metadatas: Optional[List[dict]] = None, **kwargs: Any) → List[str]¶
Run more texts through the embeddings and add to the vectorstore.
add_documents(documents: List[Document], **kwargs: Any) → List[str]¶
Run more documents through the embeddings and add to the vectorstore.
Parameters
(List[Document] (documents) – Documents to add to the vectorstore.
Returns
List of IDs of the added texts.
Return type
List[str]
add_texts(texts: Iterable[str], metadatas: Optional[List[Dict[str, Any]]] = None, **kwargs: Any) → List[source]¶
Run more texts through the embeddings and add to the vectorstore.
Parameters
texts – Iterable of strings to add to the vectorstore.
metadatas – Optional list of metadatas associated with the texts.
Returns
List of ids from adding the texts into the vectorstore.
async adelete(ids: Optional[List[str]] = None, **kwargs: Any) → Optional[bool]¶
Delete by vector ID or other criteria.
Parameters
ids – List of ids to delete.
**kwargs – Other keyword arguments that subclasses might use.
Returns
True if deletion is successful,
False otherwise, None if not implemented.
Return type
Optional[bool]
async classmethod afrom_documents(documents: List[Document], embedding: Embeddings, **kwargs: Any) → VST¶
Return VectorStore initialized from documents and embeddings.
Return docs and relevance scores in the range [0, 1], asynchronously.
0 is dissimilar, 1 is most similar.
Parameters
query – input text
k – Number of Documents to return. Defaults to 4.
**kwargs – kwargs to be passed to similarity search. Should include:
score_threshold: Optional, a floating point value between 0 to 1 to
filter the resulting set of retrieved docs
Returns
List of Tuples of (doc, similarity_score)
async asimilarity_search_with_score(*args: Any, **kwargs: Any) → List[Tuple[Document, float]]¶
Run similarity search with distance asynchronously.
delete(ids: Optional[List[str]] = None, **kwargs: Any) → Optional[bool]¶
Delete by vector ID or other criteria.
Parameters
ids – List of ids to delete.
**kwargs – Other keyword arguments that subclasses might use.
Returns
True if deletion is successful,
False otherwise, None if not implemented.
Return type
Optional[bool]
classmethod from_connection_string(connection_string: str, namespace: str, embedding: Embeddings, **kwargs: Any) → MongoDBAtlasVectorSearch[source]¶
Construct a MongoDB Atlas Vector Search vector store
from a MongoDB connection URI.
Parameters
connection_string – A valid MongoDB connection URI.
namespace – A valid MongoDB namespace (database and collection).
embedding – The text embedding model to use for the vector store.
Returns
A new MongoDBAtlasVectorSearch instance.
classmethod from_documents(documents: List[Document], embedding: Embeddings, **kwargs: Any) → VST¶
Return VectorStore initialized from documents and embeddings.
Return VectorStore initialized from documents and embeddings.
classmethod from_texts(texts: List[str], embedding: Embeddings, metadatas: Optional[List[Dict]] = None, collection: Optional[Collection[MongoDBDocumentType]] = None, **kwargs: Any) → MongoDBAtlasVectorSearch[source]¶
Construct a MongoDB Atlas Vector Search vector store from raw documents.
This is a user-friendly interface that:
Embeds documents.
Adds the documents to a provided MongoDB Atlas Vector Search index(Lucene)
This is intended to be a quick way to get started.
Example
max_marginal_relevance_search(query: str, k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, pre_filter: Optional[Dict] = None, post_filter_pipeline: Optional[List[Dict]] = None, **kwargs: Any) → List[Document][source]¶
Return documents selected using the maximal marginal relevance.
Maximal marginal relevance optimizes for similarity to query AND diversity
among selected documents.
Parameters
query – Text to look up documents similar to.
k – (Optional) number of documents to return. Defaults to 4.
fetch_k – (Optional) number of documents to fetch before passing to MMR
algorithm. Defaults to 20.
lambda_mult – Number between 0 and 1 that determines the degree
of diversity among the results with 0 corresponding
to maximum diversity and 1 to minimum diversity.
Defaults to 0.5.
pre_filter – (Optional) dictionary of argument(s) to prefilter on document
fields.
post_filter_pipeline – (Optional) pipeline of MongoDB aggregation stages
following the knnBeta vector search.
Returns
List of documents selected by maximal marginal relevance.