Skip to main content

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 query
  • k (int): Number of results

Returns: List of similar documents

See Also