Tony20100/langchain_full huggingface dataset:
fetch_k (int) – Number of Documents to fetch to pass to MMR algorithm.
lambda_mult (float) – 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.
filter (Optional[Dict[str, str]]) – Filter by metadata. Defaults to None.
where_document (Optional[Dict[str, str]]) – dict used to filter by the documents.
E.g. {$contains: {“text”: “hello”}}.
kwargs (Any) – 
Returns
List of Documents selected by maximal marginal relevance.
Raises
ValueError – If the embedding function is not provided.
Return type
List[Document]
max_marginal_relevance_search_by_vector(embedding: List[float], k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, filter: Optional[Dict[str, str]] = None, where_document: Optional[Dict[str, str]] = None, **kwargs: Any) → List[Document][source]¶
Return docs selected using the maximal marginal relevance.
Maximal marginal relevance optimizes for similarity to query AND diversity
among selected documents.
Parameters
embedding (List[float]) – Embedding to look up documents similar to.
k (int) – Number of Documents to return. Defaults to 4.
fetch_k (int) – Number of Documents to fetch to pass to MMR algorithm. Defaults to
20.
lambda_mult (float) – 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.
filter (Optional[Dict[str, str]]) – Filter by metadata. Defaults to None.
filter (Optional[Dict[str, str]]) – Filter by metadata. Defaults to None.
where_document (Optional[Dict[str, str]]) – 
kwargs (Any) – 
Returns
List of Documents selected by maximal marginal relevance.
Return type
List[Document]
reset_collection() → None[source]¶
Resets the collection by deleting the collection
and recreating an empty one.
Return type
None
search(query: str, search_type: str, **kwargs: Any) → List[Document]¶
Return docs most similar to query using specified search type.
Parameters
query (str) – Input text
search_type (str) – Type of search to perform. Can be “similarity”,
“mmr”, or “similarity_score_threshold”.
**kwargs (Any) – Arguments to pass to the search method.
Return type
List[Document]
similarity_search(query: str, k: int = 4, filter: Optional[Dict[str, str]] = None, **kwargs: Any) → List[Document][source]¶
Run similarity search with Chroma.
Parameters
query (str) – Query text to search for.
k (int) – Number of results to return. Defaults to 4.
filter (Optional[Dict[str, str]]) – Filter by metadata. Defaults to None.
kwargs (Any) – 
Returns
List of documents most similar to the query text.
Return type
List[Document]
similarity_search_by_vector(embedding: List[float], k: int = 4, filter: Optional[Dict[str, str]] = None, where_document: Optional[Dict[str, str]] = None, **kwargs: Any) → List[Document][source]¶
Return docs most similar to embedding vector.
Parameters
embedding (List[float]) – Embedding to look up documents similar to.
Parameters
embedding (List[float]) – Embedding to look up documents similar to.
k (int) – Number of Documents to return. Defaults to 4.
filter (Optional[Dict[str, str]]) – Filter by metadata. Defaults to None.
where_document (Optional[Dict[str, str]]) – dict used to filter by the documents.
E.g. {$contains: {“text”: “hello”}}.
kwargs (Any) – 
Returns
List of Documents most similar to the query vector.
Return type
List[Document]
similarity_search_by_vector_with_relevance_scores(embedding: List[float], k: int = 4, filter: Optional[Dict[str, str]] = None, where_document: Optional[Dict[str, str]] = None, **kwargs: Any) → List[Tuple[Document, float]][source]¶
Return docs most similar to embedding vector and similarity score.
Parameters
embedding (List[float]) – Embedding to look up documents similar to.
k (int) – Number of Documents to return. Defaults to 4.
filter (Optional[Dict[str, str]]) – Filter by metadata. Defaults to None.
where_document (Optional[Dict[str, str]]) – dict used to filter by the documents.
E.g. {$contains: {“text”: “hello”}}.
kwargs (Any) – 
Returns
List of documents most similar to the query text and relevance score
in float for each. Lower score represents more similarity.
Return type
List[Tuple[Document, float]]
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
0 is dissimilar, 1 is most similar.
Parameters
query (str) – Input text.
k (int) – Number of Documents to return. Defaults to 4.
**kwargs (Any) – 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)
Return type
List[Tuple[Document, float]]
similarity_search_with_score(query: str, k: int = 4, filter: Optional[Dict[str, str]] = None, where_document: Optional[Dict[str, str]] = None, **kwargs: Any) → List[Tuple[Document, float]][source]¶
Run similarity search with Chroma with distance.
Parameters
query (str) – Query text to search for.
k (int) – Number of results to return. Defaults to 4.
filter (Optional[Dict[str, str]]) – Filter by metadata. Defaults to None.
where_document (Optional[Dict[str, str]]) – dict used to filter by the documents.
E.g. {$contains: {“text”: “hello”}}.
kwargs (Any) – 
Returns
List of documents most similar to the query text and
distance in float for each. Lower score represents more similarity.
Return type
List[Tuple[Document, float]]
update_document(document_id: str, document: Document) → None[source]¶
Update a document in the collection.
Parameters
document_id (str) – ID of the document to update.
document (Document) – Document to update.
Return type
None
update_documents(ids: List[str], documents: List[Document]) → None[source]¶
Update a document in the collection.
Parameters
Update a document in the collection.
Parameters
ids (List[str]) – List of ids of the document to update.
documents (List[Document]) – List of documents to update.
Raises
ValueError – If the embedding function is not provided.
Return type
None
Examples using Chroma¶
Build a Local RAG Application
Build a Query Analysis System
Build a Retrieval Augmented Generation (RAG) App
Chroma
Confident
Conversational RAG
Docugami
Google Cloud Vertex AI Reranker
How deal with high cardinality categoricals when doing query analysis
How to add chat history
How to add retrieval to chatbots
How to create and query vector stores
How to do “self-querying” retrieval
How to get your RAG application to return sources
How to handle cases where no queries are generated
How to handle multiple queries when doing query analysis
How to handle multiple retrievers when doing query analysis
How to reorder retrieved results to mitigate the “lost in the middle” effect
How to retrieve using multiple vectors per document
How to select examples by similarity
How to stream results from your RAG application
How to use few shot examples
How to use few shot examples in chat models
How to use the MultiQueryRetriever
How to use the Parent Document Retriever
LOTR (Merger Retriever)
Psychic
RePhraseQuery
Vector stores and retrievers
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].
asimilarity_search_with_score(*args, **kwargs)
Run similarity search with distance.
delete([ids])
Delete by vector ID or other criteria.
from_documents(documents, embedding, **kwargs)
Return VectorStore initialized from documents and embeddings.
from_embeddings(text_embeddings, embedding)
Construct Annoy wrapper from embeddings.
from_texts(texts, embedding[, metadatas, ...])
Construct Annoy wrapper from raw documents.
load_local(folder_path, embeddings, *[, ...])
Load Annoy index, docstore, and index_to_docstore_id to disk.
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.
process_index_results(idxs, dists)
Turns annoy results into a list of documents and scores.
save_local(folder_path[, prefault])
Save Annoy index, docstore, and index_to_docstore_id to disk.
search(query, search_type, **kwargs)
Return docs most similar to query using specified search type.
similarity_search(query[, k, search_k])
Return docs most similar to query.
similarity_search_by_index(docstore_index[, ...])
similarity_search_by_index(docstore_index[, ...])
Return docs most similar to docstore_index.
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 docs most similar to query.
similarity_search_with_score_by_index(...[, ...])
Return docs most similar to query.
similarity_search_with_score_by_vector(embedding)
Return docs most similar to query.
Parameters
embedding_function (Callable) – 
index (Any) – 
metric (str) – 
docstore (Docstore) – 
index_to_docstore_id (Dict[int, str]) – 
__init__(embedding_function: Callable, index: Any, metric: str, docstore: Docstore, index_to_docstore_id: Dict[int, str])[source]¶
Initialize with necessary components.
Parameters
embedding_function (Callable) – 
index (Any) – 
metric (str) – 
docstore (Docstore) – 
index_to_docstore_id (Dict[int, str]) – 
async aadd_documents(documents: List[Document], **kwargs: Any) → List[str]¶
Run more documents through the embeddings and add to the vectorstore.
Parameters
documents (List[Document]) – Documents to add to the vectorstore.
kwargs (Any) – 
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.
Parameters
Run more texts through the embeddings and add to the vectorstore.
Parameters
texts (Iterable[str]) – Iterable of strings to add to the vectorstore.
metadatas (Optional[List[dict]]) – Optional list of metadatas associated with the texts.
**kwargs (Any) – vectorstore specific parameters.
Returns
List of ids from adding the texts into the vectorstore.
Return type
List[str]
add_documents(documents: List[Document], **kwargs: Any) → List[str]¶
Run more documents through the embeddings and add to the vectorstore.
Parameters
documents (List[Document]) – Documents to add to the vectorstore.
kwargs (Any) – 
Returns
List of IDs of the added texts.
Return type
List[str]
add_texts(texts: Iterable[str], metadatas: Optional[List[dict]] = None, **kwargs: Any) → List[str][source]¶
Run more texts through the embeddings and add to the vectorstore.
Parameters
texts (Iterable[str]) – Iterable of strings to add to the vectorstore.
metadatas (Optional[List[dict]]) – Optional list of metadatas associated with the texts.
**kwargs (Any) – vectorstore specific parameters.
Returns
List of ids from adding the texts into the vectorstore.
Return type
List[str]
async adelete(ids: Optional[List[str]] = None, **kwargs: Any) → Optional[bool]¶
Delete by vector ID or other criteria.
Parameters
ids (Optional[List[str]]) – List of ids to delete.
**kwargs (Any) – Other keyword arguments that subclasses might use.
Returns
True if deletion is successful,
False otherwise, None if not implemented.
Return type
Optional[bool]
Return type
List[Tuple[Document, float]]
async asimilarity_search_with_score(*args: Any, **kwargs: Any) → List[Tuple[Document, float]]¶
Run similarity search with distance.
Returns
List of Tuples of (doc, similarity_score)
Parameters
args (Any) – 
kwargs (Any) – 
Return type
List[Tuple[Document, float]]
delete(ids: Optional[List[str]] = None, **kwargs: Any) → Optional[bool]¶
Delete by vector ID or other criteria.
Parameters
ids (Optional[List[str]]) – List of ids to delete.
**kwargs (Any) – 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_documents(documents: List[Document], embedding: Embeddings, **kwargs: Any) → VST¶
Return VectorStore initialized from documents and embeddings.
Parameters
documents (List[Document]) – List of Documents to add to the vectorstore.
embedding (Embeddings) – Embedding function to use.
kwargs (Any) – 
Return type
VST
classmethod from_embeddings(text_embeddings: List[Tuple[str, List[float]]], embedding: Embeddings, metadatas: Optional[List[dict]] = None, metric: str = 'angular', trees: int = 100, n_jobs: int = -1, **kwargs: Any) → Annoy[source]¶
Construct Annoy wrapper from embeddings.
Parameters
text_embeddings (List[Tuple[str, List[float]]]) – List of tuples of (text, embedding)
embedding (Embeddings) – Embedding function to use.
metadatas (Optional[List[dict]]) – List of metadata dictionaries to associate with documents.
metadatas (Optional[List[dict]]) – List of metadata dictionaries to associate with documents.
metric (str) – Metric to use for indexing. Defaults to “angular”.
trees (int) – Number of trees to use for indexing. Defaults to 100.
n_jobs (int) – Number of jobs to use for indexing. Defaults to -1
kwargs (Any) – 
Return type
Annoy
This is a user friendly interface that:
Creates an in memory docstore with provided embeddings
Initializes the Annoy database
This is intended to be a quick way to get started.
Example
from langchain_community.vectorstores import Annoy
from langchain_community.embeddings import OpenAIEmbeddings
embeddings = OpenAIEmbeddings()
text_embeddings = embeddings.embed_documents(texts)
text_embedding_pairs = list(zip(texts, text_embeddings))
db = Annoy.from_embeddings(text_embedding_pairs, embeddings)
classmethod from_texts(texts: List[str], embedding: Embeddings, metadatas: Optional[List[dict]] = None, metric: str = 'angular', trees: int = 100, n_jobs: int = -1, **kwargs: Any) → Annoy[source]¶
Construct Annoy wrapper from raw documents.
Parameters
texts (List[str]) – List of documents to index.
embedding (Embeddings) – Embedding function to use.
metadatas (Optional[List[dict]]) – List of metadata dictionaries to associate with documents.
metric (str) – Metric to use for indexing. Defaults to “angular”.
trees (int) – Number of trees to use for indexing. Defaults to 100.
n_jobs (int) – Number of jobs to use for indexing. Defaults to -1.
kwargs (Any) – 
Return type
Annoy
This is a user friendly interface that:
Return type
Annoy
This is a user friendly interface that:
Embeds documents.
Creates an in memory docstore
Initializes the Annoy database
This is intended to be a quick way to get started.
Example
from langchain_community.vectorstores import Annoy
from langchain_community.embeddings import OpenAIEmbeddings
embeddings = OpenAIEmbeddings()
index = Annoy.from_texts(texts, embeddings)
classmethod load_local(folder_path: str, embeddings: Embeddings, *, allow_dangerous_deserialization: bool = False) → Annoy[source]¶
Load Annoy index, docstore, and index_to_docstore_id to disk.
Parameters
folder_path (str) – folder path to load index, docstore,
and index_to_docstore_id from.
embeddings (Embeddings) – Embeddings to use when generating queries.
allow_dangerous_deserialization (bool) – whether to allow deserialization
of the data which involves loading a pickle file.
Pickle files can be modified by malicious actors to deliver a
malicious payload that results in execution of
arbitrary code on your machine.
Return type
Annoy
max_marginal_relevance_search(query: str, k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, **kwargs: Any) → List[Document][source]¶
Return docs selected using the maximal marginal relevance.
Maximal marginal relevance optimizes for similarity to query AND diversity
among selected documents.
Parameters
query (str) – Text to look up documents similar to.
k (int) – Number of Documents to return. Defaults to 4.
fetch_k (int) – Number of Documents to fetch to pass to MMR algorithm.
fetch_k (int) – Number of Documents to fetch to pass to MMR algorithm.
lambda_mult (float) – 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.
kwargs (Any) – 
Returns
List of Documents selected by maximal marginal relevance.
Return type
List[Document]
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][source]¶
Return docs selected using the maximal marginal relevance.
Maximal marginal relevance optimizes for similarity to query AND diversity
among selected documents.
Parameters
embedding (List[float]) – Embedding to look up documents similar to.
fetch_k (int) – Number of Documents to fetch to pass to MMR algorithm.
k (int) – Number of Documents to return. Defaults to 4.
lambda_mult (float) – 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.
kwargs (Any) – 
Returns
List of Documents selected by maximal marginal relevance.
Return type
List[Document]
process_index_results(idxs: List[int], dists: List[float]) → List[Tuple[Document, float]][source]¶
Turns annoy results into a list of documents and scores.
Parameters
idxs (List[int]) – List of indices of the documents in the index.
dists (List[float]) – List of distances of the documents in the index.
Returns
List of Documents and scores.
Return type
Returns
List of Documents and scores.
Return type
List[Tuple[Document, float]]
save_local(folder_path: str, prefault: bool = False) → None[source]¶
Save Annoy index, docstore, and index_to_docstore_id to disk.
Parameters
folder_path (str) – folder path to save index, docstore,
and index_to_docstore_id to.
prefault (bool) – Whether to pre-load the index into memory.
Return type
None
search(query: str, search_type: str, **kwargs: Any) → List[Document]¶
Return docs most similar to query using specified search type.
Parameters
query (str) – Input text
search_type (str) – Type of search to perform. Can be “similarity”,
“mmr”, or “similarity_score_threshold”.
**kwargs (Any) – Arguments to pass to the search method.
Return type
List[Document]
similarity_search(query: str, k: int = 4, search_k: int = -1, **kwargs: Any) → List[Document][source]¶
Return docs most similar to query.
Parameters
query (str) – Text to look up documents similar to.
k (int) – Number of Documents to return. Defaults to 4.
search_k (int) – inspect up to search_k nodes which defaults
to n_trees * n if not provided
kwargs (Any) – 
Returns
List of Documents most similar to the query.
Return type
List[Document]
similarity_search_by_index(docstore_index: int, k: int = 4, search_k: int = -1, **kwargs: Any) → List[Document][source]¶
Return docs most similar to docstore_index.
Parameters
docstore_index (int) – Index of document in docstore
Parameters
docstore_index (int) – Index of document in docstore
k (int) – Number of Documents to return. Defaults to 4.
search_k (int) – inspect up to search_k nodes which defaults
to n_trees * n if not provided
kwargs (Any) – 
Returns
List of Documents most similar to the embedding.
Return type
List[Document]
similarity_search_by_vector(embedding: List[float], k: int = 4, search_k: int = -1, **kwargs: Any) → List[Document][source]¶
Return docs most similar to embedding vector.
Parameters
embedding (List[float]) – Embedding to look up documents similar to.
k (int) – Number of Documents to return. Defaults to 4.
search_k (int) – inspect up to search_k nodes which defaults
to n_trees * n if not provided
kwargs (Any) – 
Returns
List of Documents most similar to the embedding.
Return type
List[Document]
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 (str) – Input text.
k (int) – Number of Documents to return. Defaults to 4.
**kwargs (Any) – 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)
Return type
List[Tuple[Document, float]]
Return type
List[Tuple[Document, float]]
similarity_search_with_score(query: str, k: int = 4, search_k: int = -1) → List[Tuple[Document, float]][source]¶
Return docs most similar to query.
Parameters
query (str) – Text to look up documents similar to.
k (int) – Number of Documents to return. Defaults to 4.
search_k (int) – inspect up to search_k nodes which defaults
to n_trees * n if not provided
Returns
List of Documents most similar to the query and score for each
Return type
List[Tuple[Document, float]]
similarity_search_with_score_by_index(docstore_index: int, k: int = 4, search_k: int = -1) → List[Tuple[Document, float]][source]¶
Return docs most similar to query.
Parameters
query – Text to look up documents similar to.
k (int) – Number of Documents to return. Defaults to 4.
search_k (int) – inspect up to search_k nodes which defaults
to n_trees * n if not provided
docstore_index (int) – 
Returns
List of Documents most similar to the query and score for each
Return type
List[Tuple[Document, float]]
similarity_search_with_score_by_vector(embedding: List[float], k: int = 4, search_k: int = -1) → List[Tuple[Document, float]][source]¶
Return docs most similar to query.
Parameters
query – Text to look up documents similar to.
k (int) – Number of Documents to return. Defaults to 4.
search_k (int) – inspect up to search_k nodes which defaults
to n_trees * n if not provided
embedding (List[float]) – 
Returns
langchain_community.vectorstores.upstash.UpstashVectorStore¶
class langchain_community.vectorstores.upstash.UpstashVectorStore(text_key: str = 'text', index: Optional[Index] = None, async_index: Optional[AsyncIndex] = None, index_url: Optional[str] = None, index_token: Optional[str] = None, embedding: Optional[Union[Embeddings, bool]] = None, *, namespace: str = '')[source]¶
Upstash Vector vector store
To use, the upstash-vector python package must be installed.
Also an Upstash Vector index is required. First create a new Upstash Vector index
and copy the index_url and index_token variables. Then either pass
them through the constructor or set the environment
variables UPSTASH_VECTOR_REST_URL and UPSTASH_VECTOR_REST_TOKEN.
Example
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import UpstashVectorStore
embeddings = OpenAIEmbeddings(model="text-embedding-3-large")
vectorstore = UpstashVectorStore(
    embedding=embeddings,
    index_url="...",
    index_token="..."
)
# or
import os
os.environ["UPSTASH_VECTOR_REST_URL"] = "..."
os.environ["UPSTASH_VECTOR_REST_TOKEN"] = "..."
vectorstore = UpstashVectorStore(
    embedding=embeddings
)
Constructor for UpstashVectorStore.
If index or index_url and index_token are not provided, the constructor will
attempt to create an index using the environment variables
UPSTASH_VECTOR_REST_URL`and `UPSTASH_VECTOR_REST_TOKEN.
Parameters
text_key (str) – Key to store the text in metadata.
index (Optional[Index]) – UpstashVector Index object.
async_index (Optional[AsyncIndex]) – UpstashVector AsyncIndex object, provide only if async