babylon.rag.retrieval
Query and retrieval interface for the RAG system.
Uses VectorStoreProtocol from babylon.persistence for backend-agnostic vector storage. Implementations include PgVectorStore (Feature 037).
Classes
|
Represents the complete response to a query. |
|
Represents a single query result with similarity score. |
|
High-level retrieval interface for RAG queries. |
- 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.Retriever(vector_store, embedding_manager)[source]
Bases:
objectHigh-level retrieval interface for RAG queries.
Uses VectorStoreProtocol for backend-agnostic similarity search.
- Parameters:
vector_store (VectorStoreProtocol)
embedding_manager (EmbeddingManager)
- __init__(vector_store, embedding_manager)[source]
Initialize the retriever.
- Parameters:
vector_store (
VectorStoreProtocol) – Any VectorStoreProtocol implementationembedding_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