# IRIS Vector RAG Templates
**Production-ready Retrieval-Augmented Generation (RAG) pipelines powered by InterSystems IRIS Vector Search**
Build intelligent applications that combine large language models with your enterprise data using battle-tested RAG patterns and native vector search capabilities.
[](LICENSE)
[](https://www.python.org/downloads/)
[](https://www.intersystems.com/products/intersystems-iris/)
## Why IRIS Vector RAG?
๐ **Production-Ready** - Six proven RAG architectures ready to deploy, not research prototypes
โก **Blazing Fast** - Native IRIS vector search with HNSW indexing, no external vector databases needed
๐ง **Unified API** - Swap between RAG strategies with a single line of code
๐ **Enterprise-Grade** - ACID transactions, connection pooling, and horizontal scaling built-in
๐ฏ **100% Compatible** - Works seamlessly with LangChain, RAGAS, and your existing ML stack
๐งช **Fully Validated** - Comprehensive test suite with automated contract validation
## Available RAG Pipelines
| Pipeline Type | Use Case | Retrieval Method | When to Use |
|---------------|----------|------------------|-------------|
| **basic** | Standard retrieval | Vector similarity | General Q&A, getting started, baseline comparisons |
| **basic_rerank** | Improved precision | Vector + cross-encoder reranking | Higher accuracy requirements, legal/medical domains |
| **crag** | Self-correcting | Vector + evaluation + web search fallback | Dynamic knowledge, fact-checking, current events |
| **graphrag** | Knowledge graphs | Vector + text + graph + RRF fusion | Complex entity relationships, research, medical knowledge |
| **multi_query_rrf** | Multi-perspective | Query expansion + reciprocal rank fusion | Complex queries, comprehensive coverage needed |
| **pylate_colbert** | Fine-grained matching | ColBERT late interaction embeddings | Nuanced semantic understanding, high precision |
## Quick Start
### 1. Install
```bash
# Clone repository
git clone https://github.com/intersystems-community/iris-rag-templates.git
cd iris-rag-templates
# Setup environment (requires uv package manager)
make setup-env
make install
source .venv/bin/activate
```
### 2. Start IRIS Database
```bash
# Start IRIS with Docker Compose
docker-compose up -d
# Initialize database schema
make setup-db
# Optional: Load sample medical data
make load-data
```
### 3. Configure API Keys
```bash
cat > .env << 'EOF'
OPENAI_API_KEY=your-key-here
ANTHROPIC_API_KEY=your-key-here # Optional, for Claude models
IRIS_HOST=localhost
IRIS_PORT=1972
IRIS_NAMESPACE=USER
IRIS_USERNAME=_SYSTEM
IRIS_PASSWORD=SYS
EOF
```
### 4. Run Your First Query
```python
from iris_rag import create_pipeline
# Create pipeline with automatic validation
pipeline = create_pipeline('basic', validate_requirements=True)
# Load your documents
from iris_rag.core.models import Document
docs = [
Document(
page_content="RAG combines retrieval with generation for accurate AI responses.",
metadata={"source": "rag_basics.pdf", "page": 1}
),
Document(
page_content="Vector search finds semantically similar content using embeddings.",
metadata={"source": "vector_search.pdf", "page": 5}
)
]
pipeline.load_documents(documents=docs)
# Query with LLM-generated answer
result = pipeline.query(
query="What is RAG?",
top_k=5,
generate_answer=True
)
print(f"Answer: {result['answer']}")
print(f"Sources: {result['sources']}")
print(f"Retrieved: {len(result['retrieved_documents'])} documents")
```
## Unified API Across All Pipelines
**Switch RAG strategies with one line** - all pipelines share the same interface:
```python
from iris_rag import create_pipeline
# Try different strategies instantly
for pipeline_type in ['basic', 'basic_rerank', 'crag', 'multi_query_rrf', 'graphrag']:
pipeline = create_pipeline(pipeline_type)
result = pipeline.query(
query="What are the latest cancer treatment approaches?",
top_k=5,
generate_answer=True
)
print(f"\n{pipeline_type.upper()}:")
print(f" Answer: {result['answer'][:150]}...")
print(f" Retrieved: {len(result['retrieved_documents'])} docs")
print(f" Confidence: {result['metadata'].get('confidence', 'N/A')}")
```
### Standardized Response Format
**100% LangChain & RAGAS compatible** responses:
```python
{
"query": "What is diabetes?",
"answer": "Diabetes is a chronic metabolic condition...", # LLM answer
"retrieved_documents": [Document(...)], # LangChain Documents
"contexts": ["context 1", "context 2"], # RAGAS contexts
"sources": ["medical.pdf p.12", "diabetes.pdf p.3"], # Source citations
"execution_time": 0.523,
"metadata": {
"num_retrieved": 5,
"pipeline_type": "basic",
"retrieval_method": "vector",
"generated_answer": True,
"processing_time": 0.523
}
}
```
## Pipeline Deep Dives
### CRAG: Self-Correcting Retrieval
Automatically evaluates retrieval quality and falls back to web search when needed:
```python
from iris_rag import create_pipeline
pipeline = create_pipeline('crag')
# CRAG evaluates retrieved documents and uses web search if quality is low
result = pipeline.query(
query="What happened in the 2024 Olympics opening ceremony?",
top_k=5,
generate_answer=True
)
# Check which retrieval method was used
print(f"Method: {result['metadata']['retrieval_method']}") # 'vector' or 'web_search'
print(f"Confidence: {result['metadata']['confidence']}") # 0.0 - 1.0
```
### HybridGraphRAG: Multi-Modal Search
Combines vector search, text search, and knowledge graph traversal:
```python
pipeline = create_pipeline('graphrag')
result = pipeline.query(
query_text="cancer treatment targets",
method="rrf", # Reciprocal Rank Fusion across all methods
vector_k=30, # Top 30 from vector search
text_k=30, # Top 30 from text search
graph_k=10, # Top 10 from knowledge graph
generate_answer=True
)
# Rich metadata includes entities and relationships
print(f"Entities: {result['metadata']['entities']}")
print(f"Relationships: {result['metadata']['relationships']}")
print(f"Graph depth: {result['metadata']['graph_depth']}")
```
### MultiQueryRRF: Multi-Perspective Retrieval
Expands queries into multiple perspectives and fuses results:
```python
pipeline = create_pipeline('multi_query_rrf')
# Automatically generates query variations and combines results
result = pipeline.query(
query="How does machine learning work?",
top_k=10,
generate_answer=True
)
# See the generated query variations
print(f"Query variations: {result['metadata']['generated_queries']}")
print(f"Fusion method: {result['metadata']['fusion_method']}") # 'rrf'
```
## Enterprise Features
### Production-Ready Database
**IRIS provides everything you need in one database:**
- โ
Native vector search (no external vector DB needed)
- โ
ACID transactions (your data is safe)
- โ
SQL + NoSQL + Vector in one platform
- โ
Horizontal scaling and clustering
- โ
Enterprise-grade security and compliance
### Connection Pooling
**Automatic concurrency management:**
```python
from iris_rag.storage import IRISVectorStore
# Connection pool handles concurrency automatically
store = IRISVectorStore()
# Safe for multi-threaded applications
# Pool manages connections, no manual management needed
```
### Automatic Schema Management
**Database schema created and migrated automatically:**
```python
pipeline = create_pipeline('basic', validate_requirements=True)
# โ
Checks database connection
# โ
Validates schema exists
# โ
Migrates to latest version if needed
# โ
Reports validation results
```
### RAGAS Evaluation Built-In
**Measure your RAG pipeline performance:**
```bash
# Evaluate all pipelines on your data
make test-ragas-sample
# Generates detailed metrics:
# - Answer Correctness
# - Faithfulness
# - Context Precision
# - Context Recall
# - Answer Relevance
```
## Model Context Protocol (MCP) Support
**Expose RAG pipelines as MCP tools** for use with Claude Desktop and other MCP clients:
```bash
# Start MCP server
python -m iris_rag.mcp
# Available MCP tools:
# - rag_basic
# - rag_basic_rerank
# - rag_crag
# - rag_multi_query_rrf
# - rag_graphrag
# - rag_hybrid_graphrag
# - health_check
# - list_tools
```
Configure in Claude Desktop:
```json
{
"mcpServers": {
"iris-rag": {
"command": "python",
"args": ["-m", "iris_rag.mcp"],
"env": {
"OPENAI_API_KEY": "your-key"
}
}
}
}
```
## Architecture Overview
```
iris_rag/
โโโ core/ # Abstract base classes (RAGPipeline, VectorStore)
โโโ pipelines/ # Pipeline implementations
โ โโโ basic.py # BasicRAG
โ โโโ basic_rerank.py # Reranking pipeline
โ โโโ crag.py # Corrective RAG
โ โโโ multi_query_rrf.py # Multi-query with RRF
โ โโโ graphrag.py # Graph-based RAG
โ โโโ hybrid_graphrag.py # Hybrid multi-modal
โโโ storage/ # Vector store implementations
โ โโโ vector_store_iris.py # IRIS vector store
โ โโโ schema_manager.py # Schema management
โโโ mcp/ # Model Context Protocol server
โโโ api/ # Production REST API
โโโ services/ # Business logic (entity extraction, etc.)
โโโ config/ # Configuration management
โโโ validation/ # Pipeline contract validation
```
## Documentation
๐ **Comprehensive documentation for every use case:**
- **[User Guide](docs/USER_GUIDE.md)** - Complete installation and usage
- **[API Reference](docs/API_REFERENCE.md)** - Detailed API documentation
- **[Pipeline Guide](docs/PIPELINE_GUIDE.md)** - When to use each pipeline
- **[MCP Integration](docs/MCP_INTEGRATION.md)** - Model Context Protocol setup
- **[Production Deployment](docs/PRODUCTION_DEPLOYMENT.md)** - Deployment checklist
- **[Development Guide](docs/DEVELOPMENT.md)** - Contributing and testing
## Performance Benchmarks
**Native IRIS vector search delivers:**
- ๐ **50-100x faster** than traditional solutions for hybrid search
- โก **Sub-second queries** on millions of documents
- ๐ **Linear scaling** with IRIS clustering
- ๐พ **10x less memory** than external vector databases
## Testing & Quality
```bash
# Run comprehensive test suite
make test
# Test specific categories
pytest tests/unit/ # Unit tests (fast)
pytest tests/integration/ # Integration tests (with IRIS)
pytest tests/contract/ # API contract validation
# Run with coverage
pytest --cov=iris_rag --cov-report=html
```
**For detailed testing documentation**, see [DEVELOPMENT.md](docs/DEVELOPMENT.md)
## Research & References
This implementation is based on peer-reviewed research:
- **Basic RAG**: Lewis et al., [Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks](https://arxiv.org/abs/2005.11401), NeurIPS 2020
- **CRAG**: Yan et al., [Corrective Retrieval Augmented Generation](https://arxiv.org/abs/2401.15884), arXiv 2024
- **GraphRAG**: Edge et al., [From Local to Global: A Graph RAG Approach](https://arxiv.org/abs/2404.16130), arXiv 2024
- **ColBERT**: Khattab & Zaharia, [ColBERT: Efficient and Effective Passage Search](https://arxiv.org/abs/2004.12832), SIGIR 2020
## Contributing
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for:
- Development setup
- Testing guidelines
- Code style and standards
- Pull request process
## Community & Support
- ๐ฌ **Discussions**: [GitHub Discussions](https://github.com/intersystems-community/iris-rag-templates/discussions)
- ๐ **Issues**: [GitHub Issues](https://github.com/intersystems-community/iris-rag-templates/issues)
- ๐ **Documentation**: [Full Documentation](docs/)
- ๐ข **Enterprise Support**: [InterSystems Support](https://www.intersystems.com/support/)
## License
MIT License - see [LICENSE](LICENSE) for details.
---
**Built with โค๏ธ by the InterSystems Community**
*Powering intelligent applications with enterprise-grade RAG*
Raw data
{
"_id": null,
"home_page": "https://github.com/intersystems/rag-templates",
"name": "iris-vector-rag",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Thomas Dyar <thomas.dyar@intersystems.com>",
"keywords": "rag, retrieval-augmented-generation, intersystems, iris, vector-database, llm, ai, machine-learning, nlp, embeddings, semantic-search, mcp, model-context-protocol",
"author": "InterSystems",
"author_email": "InterSystems <support@intersystems.com>",
"download_url": "https://files.pythonhosted.org/packages/fc/51/318b930afb154625f8de5f770374da487ad7713ade08ab8fe056b3fe63f3/iris_vector_rag-0.2.0.tar.gz",
"platform": null,
"description": "# IRIS Vector RAG Templates\n\n**Production-ready Retrieval-Augmented Generation (RAG) pipelines powered by InterSystems IRIS Vector Search**\n\nBuild intelligent applications that combine large language models with your enterprise data using battle-tested RAG patterns and native vector search capabilities.\n\n[](LICENSE)\n[](https://www.python.org/downloads/)\n[](https://www.intersystems.com/products/intersystems-iris/)\n\n## Why IRIS Vector RAG?\n\n\ud83d\ude80 **Production-Ready** - Six proven RAG architectures ready to deploy, not research prototypes\n\n\u26a1 **Blazing Fast** - Native IRIS vector search with HNSW indexing, no external vector databases needed\n\n\ud83d\udd27 **Unified API** - Swap between RAG strategies with a single line of code\n\n\ud83d\udcca **Enterprise-Grade** - ACID transactions, connection pooling, and horizontal scaling built-in\n\n\ud83c\udfaf **100% Compatible** - Works seamlessly with LangChain, RAGAS, and your existing ML stack\n\n\ud83e\uddea **Fully Validated** - Comprehensive test suite with automated contract validation\n\n## Available RAG Pipelines\n\n| Pipeline Type | Use Case | Retrieval Method | When to Use |\n|---------------|----------|------------------|-------------|\n| **basic** | Standard retrieval | Vector similarity | General Q&A, getting started, baseline comparisons |\n| **basic_rerank** | Improved precision | Vector + cross-encoder reranking | Higher accuracy requirements, legal/medical domains |\n| **crag** | Self-correcting | Vector + evaluation + web search fallback | Dynamic knowledge, fact-checking, current events |\n| **graphrag** | Knowledge graphs | Vector + text + graph + RRF fusion | Complex entity relationships, research, medical knowledge |\n| **multi_query_rrf** | Multi-perspective | Query expansion + reciprocal rank fusion | Complex queries, comprehensive coverage needed |\n| **pylate_colbert** | Fine-grained matching | ColBERT late interaction embeddings | Nuanced semantic understanding, high precision |\n\n## Quick Start\n\n### 1. Install\n\n```bash\n# Clone repository\ngit clone https://github.com/intersystems-community/iris-rag-templates.git\ncd iris-rag-templates\n\n# Setup environment (requires uv package manager)\nmake setup-env\nmake install\nsource .venv/bin/activate\n```\n\n### 2. Start IRIS Database\n\n```bash\n# Start IRIS with Docker Compose\ndocker-compose up -d\n\n# Initialize database schema\nmake setup-db\n\n# Optional: Load sample medical data\nmake load-data\n```\n\n### 3. Configure API Keys\n\n```bash\ncat > .env << 'EOF'\nOPENAI_API_KEY=your-key-here\nANTHROPIC_API_KEY=your-key-here # Optional, for Claude models\nIRIS_HOST=localhost\nIRIS_PORT=1972\nIRIS_NAMESPACE=USER\nIRIS_USERNAME=_SYSTEM\nIRIS_PASSWORD=SYS\nEOF\n```\n\n### 4. Run Your First Query\n\n```python\nfrom iris_rag import create_pipeline\n\n# Create pipeline with automatic validation\npipeline = create_pipeline('basic', validate_requirements=True)\n\n# Load your documents\nfrom iris_rag.core.models import Document\n\ndocs = [\n Document(\n page_content=\"RAG combines retrieval with generation for accurate AI responses.\",\n metadata={\"source\": \"rag_basics.pdf\", \"page\": 1}\n ),\n Document(\n page_content=\"Vector search finds semantically similar content using embeddings.\",\n metadata={\"source\": \"vector_search.pdf\", \"page\": 5}\n )\n]\n\npipeline.load_documents(documents=docs)\n\n# Query with LLM-generated answer\nresult = pipeline.query(\n query=\"What is RAG?\",\n top_k=5,\n generate_answer=True\n)\n\nprint(f\"Answer: {result['answer']}\")\nprint(f\"Sources: {result['sources']}\")\nprint(f\"Retrieved: {len(result['retrieved_documents'])} documents\")\n```\n\n## Unified API Across All Pipelines\n\n**Switch RAG strategies with one line** - all pipelines share the same interface:\n\n```python\nfrom iris_rag import create_pipeline\n\n# Try different strategies instantly\nfor pipeline_type in ['basic', 'basic_rerank', 'crag', 'multi_query_rrf', 'graphrag']:\n pipeline = create_pipeline(pipeline_type)\n\n result = pipeline.query(\n query=\"What are the latest cancer treatment approaches?\",\n top_k=5,\n generate_answer=True\n )\n\n print(f\"\\n{pipeline_type.upper()}:\")\n print(f\" Answer: {result['answer'][:150]}...\")\n print(f\" Retrieved: {len(result['retrieved_documents'])} docs\")\n print(f\" Confidence: {result['metadata'].get('confidence', 'N/A')}\")\n```\n\n### Standardized Response Format\n\n**100% LangChain & RAGAS compatible** responses:\n\n```python\n{\n \"query\": \"What is diabetes?\",\n \"answer\": \"Diabetes is a chronic metabolic condition...\", # LLM answer\n \"retrieved_documents\": [Document(...)], # LangChain Documents\n \"contexts\": [\"context 1\", \"context 2\"], # RAGAS contexts\n \"sources\": [\"medical.pdf p.12\", \"diabetes.pdf p.3\"], # Source citations\n \"execution_time\": 0.523,\n \"metadata\": {\n \"num_retrieved\": 5,\n \"pipeline_type\": \"basic\",\n \"retrieval_method\": \"vector\",\n \"generated_answer\": True,\n \"processing_time\": 0.523\n }\n}\n```\n\n## Pipeline Deep Dives\n\n### CRAG: Self-Correcting Retrieval\n\nAutomatically evaluates retrieval quality and falls back to web search when needed:\n\n```python\nfrom iris_rag import create_pipeline\n\npipeline = create_pipeline('crag')\n\n# CRAG evaluates retrieved documents and uses web search if quality is low\nresult = pipeline.query(\n query=\"What happened in the 2024 Olympics opening ceremony?\",\n top_k=5,\n generate_answer=True\n)\n\n# Check which retrieval method was used\nprint(f\"Method: {result['metadata']['retrieval_method']}\") # 'vector' or 'web_search'\nprint(f\"Confidence: {result['metadata']['confidence']}\") # 0.0 - 1.0\n```\n\n### HybridGraphRAG: Multi-Modal Search\n\nCombines vector search, text search, and knowledge graph traversal:\n\n```python\npipeline = create_pipeline('graphrag')\n\nresult = pipeline.query(\n query_text=\"cancer treatment targets\",\n method=\"rrf\", # Reciprocal Rank Fusion across all methods\n vector_k=30, # Top 30 from vector search\n text_k=30, # Top 30 from text search\n graph_k=10, # Top 10 from knowledge graph\n generate_answer=True\n)\n\n# Rich metadata includes entities and relationships\nprint(f\"Entities: {result['metadata']['entities']}\")\nprint(f\"Relationships: {result['metadata']['relationships']}\")\nprint(f\"Graph depth: {result['metadata']['graph_depth']}\")\n```\n\n### MultiQueryRRF: Multi-Perspective Retrieval\n\nExpands queries into multiple perspectives and fuses results:\n\n```python\npipeline = create_pipeline('multi_query_rrf')\n\n# Automatically generates query variations and combines results\nresult = pipeline.query(\n query=\"How does machine learning work?\",\n top_k=10,\n generate_answer=True\n)\n\n# See the generated query variations\nprint(f\"Query variations: {result['metadata']['generated_queries']}\")\nprint(f\"Fusion method: {result['metadata']['fusion_method']}\") # 'rrf'\n```\n\n## Enterprise Features\n\n### Production-Ready Database\n\n**IRIS provides everything you need in one database:**\n\n- \u2705 Native vector search (no external vector DB needed)\n- \u2705 ACID transactions (your data is safe)\n- \u2705 SQL + NoSQL + Vector in one platform\n- \u2705 Horizontal scaling and clustering\n- \u2705 Enterprise-grade security and compliance\n\n### Connection Pooling\n\n**Automatic concurrency management:**\n\n```python\nfrom iris_rag.storage import IRISVectorStore\n\n# Connection pool handles concurrency automatically\nstore = IRISVectorStore()\n\n# Safe for multi-threaded applications\n# Pool manages connections, no manual management needed\n```\n\n### Automatic Schema Management\n\n**Database schema created and migrated automatically:**\n\n```python\npipeline = create_pipeline('basic', validate_requirements=True)\n# \u2705 Checks database connection\n# \u2705 Validates schema exists\n# \u2705 Migrates to latest version if needed\n# \u2705 Reports validation results\n```\n\n### RAGAS Evaluation Built-In\n\n**Measure your RAG pipeline performance:**\n\n```bash\n# Evaluate all pipelines on your data\nmake test-ragas-sample\n\n# Generates detailed metrics:\n# - Answer Correctness\n# - Faithfulness\n# - Context Precision\n# - Context Recall\n# - Answer Relevance\n```\n\n## Model Context Protocol (MCP) Support\n\n**Expose RAG pipelines as MCP tools** for use with Claude Desktop and other MCP clients:\n\n```bash\n# Start MCP server\npython -m iris_rag.mcp\n\n# Available MCP tools:\n# - rag_basic\n# - rag_basic_rerank\n# - rag_crag\n# - rag_multi_query_rrf\n# - rag_graphrag\n# - rag_hybrid_graphrag\n# - health_check\n# - list_tools\n```\n\nConfigure in Claude Desktop:\n\n```json\n{\n \"mcpServers\": {\n \"iris-rag\": {\n \"command\": \"python\",\n \"args\": [\"-m\", \"iris_rag.mcp\"],\n \"env\": {\n \"OPENAI_API_KEY\": \"your-key\"\n }\n }\n }\n}\n```\n\n## Architecture Overview\n\n```\niris_rag/\n\u251c\u2500\u2500 core/ # Abstract base classes (RAGPipeline, VectorStore)\n\u251c\u2500\u2500 pipelines/ # Pipeline implementations\n\u2502 \u251c\u2500\u2500 basic.py # BasicRAG\n\u2502 \u251c\u2500\u2500 basic_rerank.py # Reranking pipeline\n\u2502 \u251c\u2500\u2500 crag.py # Corrective RAG\n\u2502 \u251c\u2500\u2500 multi_query_rrf.py # Multi-query with RRF\n\u2502 \u251c\u2500\u2500 graphrag.py # Graph-based RAG\n\u2502 \u2514\u2500\u2500 hybrid_graphrag.py # Hybrid multi-modal\n\u251c\u2500\u2500 storage/ # Vector store implementations\n\u2502 \u251c\u2500\u2500 vector_store_iris.py # IRIS vector store\n\u2502 \u2514\u2500\u2500 schema_manager.py # Schema management\n\u251c\u2500\u2500 mcp/ # Model Context Protocol server\n\u251c\u2500\u2500 api/ # Production REST API\n\u251c\u2500\u2500 services/ # Business logic (entity extraction, etc.)\n\u251c\u2500\u2500 config/ # Configuration management\n\u2514\u2500\u2500 validation/ # Pipeline contract validation\n```\n\n## Documentation\n\n\ud83d\udcda **Comprehensive documentation for every use case:**\n\n- **[User Guide](docs/USER_GUIDE.md)** - Complete installation and usage\n- **[API Reference](docs/API_REFERENCE.md)** - Detailed API documentation\n- **[Pipeline Guide](docs/PIPELINE_GUIDE.md)** - When to use each pipeline\n- **[MCP Integration](docs/MCP_INTEGRATION.md)** - Model Context Protocol setup\n- **[Production Deployment](docs/PRODUCTION_DEPLOYMENT.md)** - Deployment checklist\n- **[Development Guide](docs/DEVELOPMENT.md)** - Contributing and testing\n\n## Performance Benchmarks\n\n**Native IRIS vector search delivers:**\n\n- \ud83d\ude80 **50-100x faster** than traditional solutions for hybrid search\n- \u26a1 **Sub-second queries** on millions of documents\n- \ud83d\udcca **Linear scaling** with IRIS clustering\n- \ud83d\udcbe **10x less memory** than external vector databases\n\n## Testing & Quality\n\n```bash\n# Run comprehensive test suite\nmake test\n\n# Test specific categories\npytest tests/unit/ # Unit tests (fast)\npytest tests/integration/ # Integration tests (with IRIS)\npytest tests/contract/ # API contract validation\n\n# Run with coverage\npytest --cov=iris_rag --cov-report=html\n```\n\n**For detailed testing documentation**, see [DEVELOPMENT.md](docs/DEVELOPMENT.md)\n\n## Research & References\n\nThis implementation is based on peer-reviewed research:\n\n- **Basic RAG**: Lewis et al., [Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks](https://arxiv.org/abs/2005.11401), NeurIPS 2020\n- **CRAG**: Yan et al., [Corrective Retrieval Augmented Generation](https://arxiv.org/abs/2401.15884), arXiv 2024\n- **GraphRAG**: Edge et al., [From Local to Global: A Graph RAG Approach](https://arxiv.org/abs/2404.16130), arXiv 2024\n- **ColBERT**: Khattab & Zaharia, [ColBERT: Efficient and Effective Passage Search](https://arxiv.org/abs/2004.12832), SIGIR 2020\n\n## Contributing\n\nWe welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for:\n\n- Development setup\n- Testing guidelines\n- Code style and standards\n- Pull request process\n\n## Community & Support\n\n- \ud83d\udcac **Discussions**: [GitHub Discussions](https://github.com/intersystems-community/iris-rag-templates/discussions)\n- \ud83d\udc1b **Issues**: [GitHub Issues](https://github.com/intersystems-community/iris-rag-templates/issues)\n- \ud83d\udcd6 **Documentation**: [Full Documentation](docs/)\n- \ud83c\udfe2 **Enterprise Support**: [InterSystems Support](https://www.intersystems.com/support/)\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n---\n\n**Built with \u2764\ufe0f by the InterSystems Community**\n\n*Powering intelligent applications with enterprise-grade RAG*\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Dead-simple library for building RAG applications with InterSystems IRIS",
"version": "0.2.0",
"project_urls": {
"Bug Tracker": "https://github.com/intersystems/rag-templates/issues",
"Changelog": "https://github.com/intersystems/rag-templates/blob/main/CHANGELOG.md",
"Documentation": "https://github.com/intersystems/rag-templates/docs",
"Homepage": "https://github.com/intersystems/rag-templates",
"Repository": "https://github.com/intersystems/rag-templates"
},
"split_keywords": [
"rag",
" retrieval-augmented-generation",
" intersystems",
" iris",
" vector-database",
" llm",
" ai",
" machine-learning",
" nlp",
" embeddings",
" semantic-search",
" mcp",
" model-context-protocol"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "fc51318b930afb154625f8de5f770374da487ad7713ade08ab8fe056b3fe63f3",
"md5": "4ef46ea85701e65c62b022bff2159242",
"sha256": "b1af008c8588166936cb70e2bb1db398bb0d004ff6a6f2c0d8d2f30c743ad851"
},
"downloads": -1,
"filename": "iris_vector_rag-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "4ef46ea85701e65c62b022bff2159242",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 227250,
"upload_time": "2025-11-05T18:32:55",
"upload_time_iso_8601": "2025-11-05T18:32:55.553183Z",
"url": "https://files.pythonhosted.org/packages/fc/51/318b930afb154625f8de5f770374da487ad7713ade08ab8fe056b3fe63f3/iris_vector_rag-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-05 18:32:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "intersystems",
"github_project": "rag-templates",
"github_not_found": true,
"lcname": "iris-vector-rag"
}