babylon.rag.retrieval
Query and retrieval interface for the RAG system.
Classes
|
Represents the complete response to a query. |
|
Represents a single query result with similarity score. |
|
High-level retrieval interface for RAG queries. |
|
Interface to ChromaDB for storing and retrieving document vectors. |
- class babylon.rag.retrieval.QueryResult(**data)[source]
Bases:
BaseModelRepresents a single query result with similarity score.
- Parameters:
- model_config: ClassVar[ConfigDict] = {'validate_assignment': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
chunk:
DocumentChunk
- class babylon.rag.retrieval.QueryResponse(**data)[source]
Bases:
BaseModelRepresents the complete response to a query.
- Parameters:
- model_config: ClassVar[ConfigDict] = {'validate_assignment': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
results:
list[QueryResult]
- class babylon.rag.retrieval.VectorStore(collection_name='documents', chroma_manager=None)[source]
Bases:
objectInterface to ChromaDB for storing and retrieving document vectors.
- Parameters:
collection_name (str)
chroma_manager (ChromaManager | None)
- __init__(collection_name='documents', chroma_manager=None)[source]
Initialize the vector store.
- Parameters:
collection_name (
str) – Name of the ChromaDB collectionchroma_manager (
ChromaManager|None) – Optional ChromaManager instance (creates new if None)
- add_chunks(chunks)[source]
Add document chunks to the vector store.
- Parameters:
chunks (
list[DocumentChunk]) – List of DocumentChunk objects with embeddings- Raises:
RagError – If chunks are missing embeddings or storage fails
- Return type:
- query_similar(query_embedding, k=10, where=None, include=None)[source]
Query for similar chunks using embedding.
- class babylon.rag.retrieval.Retriever(vector_store, embedding_manager)[source]
Bases:
objectHigh-level retrieval interface for RAG queries.
- Parameters:
vector_store (VectorStore)
embedding_manager (EmbeddingManager)
- __init__(vector_store, embedding_manager)[source]
Initialize the retriever.
- Parameters:
vector_store (
VectorStore) – VectorStore instance for similarity searchembedding_manager (
EmbeddingManager) – EmbeddingManager for query embedding
- async aquery(query, k=10, similarity_threshold=0.0, metadata_filter=None)[source]
Asynchronously query for relevant document chunks.
- Parameters:
- Return type:
- Returns:
QueryResponse with results and timing information
- Raises:
RagError – If query processing fails
- query(query, k=10, similarity_threshold=0.0, metadata_filter=None)[source]
Synchronously query for relevant document chunks.
This is a convenience wrapper around aquery for synchronous code. For better performance in async contexts, use aquery directly.
- Parameters:
- Return type:
- Returns:
QueryResponse with results and timing information
- Raises:
RagError – If query processing fails