RAG Stores
Vector stores and storage backends for RAG systems including OpenSearch, Azure, and Vertex AI.
Overview
The RAG stores system provides comprehensive vector storage capabilities with support for multiple backends and advanced features.
Core Features
- Multiple Backends: OpenSearch, Azure AI Search, Vertex AI, Pinecone
- Hybrid Storage: Vector and metadata storage
- Scalability: Horizontal scaling capabilities
- Performance: Optimized for high-throughput operations
- Integration: Seamless integration with RAG components
Usage Examples
Basic Vector Store Setup
from recoagent.rag.stores import OpenSearchStore
# Create OpenSearch store
vector_store = OpenSearchStore(
host="localhost",
port=9200,
index_name="documents"
)
# Add documents
vector_store.add_documents([
{"content": "Document content...", "metadata": {"title": "Doc 1"}},
{"content": "Another document...", "metadata": {"title": "Doc 2"}}
])
# Search documents
results = vector_store.similarity_search("query", k=5)
Advanced Store Configuration
from recoagent.rag.stores import AzureAISearchStore
# Create Azure AI Search store
azure_store = AzureAISearchStore(
endpoint="https://your-search.search.windows.net",
api_key="your-api-key",
index_name="documents",
vector_config={
"dimensions": 1536,
"similarity": "cosine"
}
)
# Advanced search with filters
results = azure_store.search(
query="machine learning",
filters={"category": "AI", "date": "2024-01-01"},
top_k=10
)
API Reference
BaseVectorStore Methods
add_documents(documents: List[Dict]) -> None
Add documents to vector store
Parameters:
documents(List[Dict]): List of documents
similarity_search(query: str, k: int = 5) -> List[Document]
Search for similar documents
Parameters:
query(str): Search queryk(int): Number of results
Returns: List of similar documents
See Also
- RAG Retrievers - Document retrieval
- RAG Chunkers - Document chunking