babylon.rag.rag_pipeline
Main RAG pipeline service that orchestrates document ingestion and query processing.
Functions
|
Quickly ingest text content using default settings. |
|
Quickly query the RAG system using default settings. |
Classes
|
Result of document ingestion process. |
|
Configuration for RAG pipeline. |
|
Main RAG pipeline that orchestrates ingestion and retrieval. |
- class babylon.rag.rag_pipeline.IngestionResult(**data)[source]
Bases:
BaseModelResult of document ingestion process.
- Parameters:
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class babylon.rag.rag_pipeline.RagConfig(**data)[source]
Bases:
BaseModelConfiguration for RAG pipeline.
- Parameters:
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class babylon.rag.rag_pipeline.RagPipeline(config=None, chroma_manager=None, embedding_manager=None)[source]
Bases:
objectMain RAG pipeline that orchestrates ingestion and retrieval.
- Parameters:
config (RagConfig | None)
chroma_manager (ChromaManager | None)
embedding_manager (EmbeddingManager | None)
- __init__(config=None, chroma_manager=None, embedding_manager=None)[source]
Initialize the RAG pipeline.
- Parameters:
config (
RagConfig|None) – RAG configuration (uses default if None)chroma_manager (
ChromaManager|None) – ChromaDB manager (creates new if None)embedding_manager (
EmbeddingManager|None) – Embedding manager (creates new if None)
- async aingest_text(content, source_id, metadata=None)[source]
Asynchronously ingest text content into the RAG system.
- Parameters:
- Return type:
- Returns:
IngestionResult with processing statistics
- Raises:
RagError – If ingestion fails
- ingest_text(content, source_id, metadata=None)[source]
Synchronously ingest text content into the RAG system.
This is a convenience wrapper around aingest_text for synchronous code. For better performance in async contexts, use aingest_text directly.
- async aingest_file(file_path, encoding='utf-8')[source]
Asynchronously ingest a text file into the RAG system.
- Parameters:
- Return type:
- Returns:
IngestionResult with processing statistics
- Raises:
FileNotFoundError – If file doesn’t exist
RagError – If ingestion fails
- ingest_file(file_path, encoding='utf-8')[source]
Synchronously ingest a text file into the RAG system.
- Parameters:
- Return type:
- Returns:
IngestionResult with processing statistics
- async aingest_files(file_paths, encoding='utf-8', max_concurrent=5)[source]
Asynchronously ingest multiple files concurrently.
- ingest_files(file_paths, encoding='utf-8', max_concurrent=5)[source]
Synchronously ingest multiple files.
- async aquery(query, top_k=None, similarity_threshold=None, metadata_filter=None)[source]
Asynchronously query the RAG system for relevant content.
- Parameters:
- Return type:
- Returns:
QueryResponse with search results
- Raises:
RagError – If query processing fails
- query(query, top_k=None, similarity_threshold=None, metadata_filter=None)[source]
Synchronously query the RAG system for relevant content.
- Parameters:
- Return type:
- Returns:
QueryResponse with search results
- clear_collection()[source]
Clear all documents from the collection.
WARNING: This will delete all ingested documents!
- Return type:
- __exit__(exc_type, exc_val, exc_tb)[source]
Context manager exit with cleanup.
- Return type:
- Parameters:
exc_type (type[BaseException] | None)
exc_val (BaseException | None)
exc_tb (TracebackType | None)
- async babylon.rag.rag_pipeline.quick_ingest_text(content, source_id, collection_name='quick_rag')[source]
Quickly ingest text content using default settings.
- Parameters:
- Return type:
- Returns:
IngestionResult with processing statistics