RAGchain.utils.vectorstore package

Submodules

RAGchain.utils.vectorstore.base module

class RAGchain.utils.vectorstore.base.SlimVectorStore

Bases: ABC

A vector store stores only passage_id and vector. However, default VectorStore from langchian stores all metadata and contents, so its size is huge. Using SlimVectorStore, you can reduce the size of vector store.

add_passage(passage: Passage)

Embed a passage

abstract add_passages(passages: List[Passage])

Embed multiple passages

RAGchain.utils.vectorstore.chroma module

class RAGchain.utils.vectorstore.chroma.ChromaSlim(collection_name: str = 'langchain', embedding_function: Embeddings | None = None, persist_directory: str | None = None, client_settings: chromadb.config.Settings | None = None, collection_metadata: Dict | None = None, client: chromadb.Client | None = None, relevance_score_fn: Callable[[float], float] | None = None)

Bases: Chroma, SlimVectorStore

Chroma vector store stores only passage_id and vector.

add_passages(passages: List[Passage])

Embed multiple passages

RAGchain.utils.vectorstore.pinecone module

class RAGchain.utils.vectorstore.pinecone.PineconeSlim(index: Any, embedding: Embeddings | Callable, text_key: str, namespace: str | None = None, distance_strategy: DistanceStrategy | None = DistanceStrategy.COSINE)

Bases: Pinecone, SlimVectorStore

Pinecone vector store stores only passage_id and vector.

add_passages(passages: List[Passage], namespace: str | None = None, batch_size: int = 32, **kwargs: Any)

Embed multiple passages

Module contents