langchain_community.vectorstores.yellowbrick.Yellowbrick¶
- class langchain_community.vectorstores.yellowbrick.Yellowbrick(embedding: Embeddings, connection_string: str, table: str)[source]¶
- Wrapper around Yellowbrick as a vector database. .. rubric:: Example - Initialize with yellowbrick client. :param embedding: Embedding operator :param connection_string: Format ‘postgres://username:password@host:port/database’ :param table: Table used to store / retrieve embeddings from - Attributes - embeddings- Access the query embedding object if available. - Methods - __init__(embedding, connection_string, table)- Initialize with yellowbrick 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])- Add more texts to the vectorstore index. - 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. - 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. - Return docs and relevance scores in the range [0, 1], asynchronously. - asimilarity_search_with_score(*args, **kwargs)- Run similarity search with distance asynchronously. - Helper function: Test the database is UTF-8 encoded - Helper function: create table if not exists - delete([ids])- Delete by vector ID or other criteria. - drop(table)- Helper function: Drop data - from_documents(documents, embedding, **kwargs)- Return VectorStore initialized from documents and embeddings. - from_texts(texts, embedding[, metadatas, ...])- Add texts to the vectorstore index. - max_marginal_relevance_search(query[, k, ...])- Return docs selected using the maximal marginal relevance. - 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])- Perform a similarity search with Yellowbrick - similarity_search_by_vector(embedding[, k])- Perform a similarity search with Yellowbrick by vectors - Return docs and relevance scores in the range [0, 1]. - similarity_search_with_score(query[, k])- Perform a similarity search with Yellowbrick - similarity_search_with_score_by_vector(embedding)- Perform a similarity search with Yellowbrick with vector - __init__(embedding: Embeddings, connection_string: str, table: str) None[source]¶
- Initialize with yellowbrick client. :param embedding: Embedding operator :param connection_string: Format ‘postgres://username:password@host:port/database’ :param table: Table used to store / retrieve embeddings from 
 - 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] 
 
 - add_texts(texts: Iterable[str], metadatas: Optional[List[dict]] = None, **kwargs: Any) List[str][source]¶
- Add more texts to the vectorstore index. :param texts: Iterable of strings to add to the vectorstore. :param metadatas: Optional list of metadatas associated with the texts. :param kwargs: vectorstore specific parameters 
 - 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]¶
- Return docs selected using the maximal marginal relevance. 
 - async amax_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. 
 - as_retriever(**kwargs: Any) VectorStoreRetriever¶
- Return VectorStoreRetriever initialized from this VectorStore. - Parameters
- search_type (Optional[str]) – Defines the type of search that the Retriever should perform. Can be “similarity” (default), “mmr”, or “similarity_score_threshold”. 
- search_kwargs (Optional[Dict]) – - Keyword arguments to pass to the search function. Can include things like: - k: Amount of documents to return (Default: 4) score_threshold: Minimum relevance threshold - for similarity_score_threshold - fetch_k: Amount of documents to pass to MMR algorithm (Default: 20) lambda_mult: Diversity of results returned by MMR; - 1 for minimum diversity and 0 for maximum. (Default: 0.5) - filter: Filter by document metadata 
 
- Returns
- Retriever class for VectorStore. 
- Return type
 - Examples: - # Retrieve more documents with higher diversity # Useful if your dataset has many similar documents docsearch.as_retriever( search_type="mmr", search_kwargs={'k': 6, 'lambda_mult': 0.25} ) # Fetch more documents for the MMR algorithm to consider # But only return the top 5 docsearch.as_retriever( search_type="mmr", search_kwargs={'k': 5, 'fetch_k': 50} ) # Only retrieve documents that have a relevance score # Above a certain threshold docsearch.as_retriever( search_type="similarity_score_threshold", search_kwargs={'score_threshold': 0.8} ) # Only get the single most similar document from the dataset docsearch.as_retriever(search_kwargs={'k': 1}) # Use a filter to only retrieve documents from a specific paper docsearch.as_retriever( search_kwargs={'filter': {'paper_title':'GPT-4 Technical Report'}} ) 
 - async asearch(query: str, search_type: str, **kwargs: Any) List[Document]¶
- Return docs most similar to query using specified search type. 
 - async asimilarity_search(query: str, k: int = 4, **kwargs: Any) List[Document]¶
- Return docs most similar to query. 
 - async asimilarity_search_by_vector(embedding: List[float], k: int = 4, **kwargs: Any) List[Document]¶
- Return docs most similar to embedding vector. 
 - async asimilarity_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], 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_documents(documents: List[Document], embedding: Embeddings, **kwargs: Any) VST¶
- Return VectorStore initialized from documents and embeddings. 
 - classmethod from_texts(texts: List[str], embedding: Embeddings, metadatas: Optional[List[dict]] = None, connection_string: str = '', table: str = 'langchain', **kwargs: Any) Yellowbrick[source]¶
- Add texts to the vectorstore index. :param texts: Iterable of strings to add to the vectorstore. :param metadatas: Optional list of metadatas associated with the texts. :param connection_string: URI to Yellowbrick instance :param embedding: Embedding function :param table: table to store embeddings :param kwargs: vectorstore specific parameters 
 - 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 = 4, **kwargs: Any) List[Document][source]¶
- Perform a similarity search with Yellowbrick - Parameters
- query (str) – query string 
- k (int, optional) – Top K neighbors to retrieve. Defaults to 4. 
- NOTE – Please do not let end-user fill this and always be aware of SQL injection. 
 
- Returns
- List of Documents 
- Return type
- List[Document] 
 
 - similarity_search_by_vector(embedding: List[float], k: int = 4, **kwargs: Any) List[Document][source]¶
- Perform a similarity search with Yellowbrick by vectors - Parameters
- embedding (List[float]) – query embedding 
- k (int, optional) – Top K neighbors to retrieve. Defaults to 4. 
- NOTE – Please do not let end-user fill this and always be aware of SQL injection. 
 
- Returns
- List of documents 
- 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 – 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 = 4, **kwargs: Any) List[Tuple[Document, float]][source]¶
- Perform a similarity search with Yellowbrick - Parameters
- query (str) – query string 
- k (int, optional) – Top K neighbors to retrieve. Defaults to 4. 
- NOTE – Please do not let end-user fill this and always be aware of SQL injection. 
 
- Returns
- List of (Document, similarity) 
- Return type
- List[Document] 
 
 - similarity_search_with_score_by_vector(embedding: List[float], k: int = 4, **kwargs: Any) List[Tuple[Document, float]][source]¶
- Perform a similarity search with Yellowbrick with vector - Parameters
- embedding (List[float]) – query embedding 
- k (int, optional) – Top K neighbors to retrieve. Defaults to 4. 
- NOTE – Please do not let end-user fill this and always be aware of SQL injection. 
 
- Returns
- List of Documents and scores 
- Return type
- List[Document, float]