iris-vector-rag 0.5.2__tar.gz → 0.5.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {iris_vector_rag-0.5.2/iris_vector_rag.egg-info → iris_vector_rag-0.5.3}/PKG-INFO +53 -258
- iris_vector_rag-0.5.3/README.md +312 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/__init__.py +1 -1
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/connection_pool.py +11 -12
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/iris_connection_manager.py +26 -7
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/iris_dbapi_connector.py +9 -15
- iris_vector_rag-0.5.3/iris_vector_rag/config/entities.py +367 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/config/manager.py +124 -0
- iris_vector_rag-0.5.3/iris_vector_rag/config/validators.py +505 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/iris_global_graphrag.py +9 -6
- iris_vector_rag-0.5.3/iris_vector_rag/services/batch_entity_processor.py +481 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/services/storage.py +65 -14
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/storage/schema_manager.py +11 -6
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3/iris_vector_rag.egg-info}/PKG-INFO +53 -258
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag.egg-info/SOURCES.txt +3 -20
- iris_vector_rag-0.5.3/iris_vector_rag.egg-info/top_level.txt +1 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/pyproject.toml +2 -2
- iris_vector_rag-0.5.2/README.md +0 -517
- iris_vector_rag-0.5.2/adapters/rag_templates_bridge.py +0 -578
- iris_vector_rag-0.5.2/evaluation_framework/__init__.py +0 -66
- iris_vector_rag-0.5.2/evaluation_framework/biomedical_question_generator.py +0 -826
- iris_vector_rag-0.5.2/evaluation_framework/comparative_analysis_system.py +0 -1173
- iris_vector_rag-0.5.2/evaluation_framework/empirical_reporting.py +0 -1298
- iris_vector_rag-0.5.2/evaluation_framework/evaluation_orchestrator.py +0 -1123
- iris_vector_rag-0.5.2/evaluation_framework/execute_production_evaluation.py +0 -382
- iris_vector_rag-0.5.2/evaluation_framework/outputs/production_evaluation/execute_biomedical_rag_10k_evaluation_20250913_200432.py +0 -72
- iris_vector_rag-0.5.2/evaluation_framework/pmc_data_pipeline.py +0 -1332
- iris_vector_rag-0.5.2/evaluation_framework/production_evaluation_config.py +0 -353
- iris_vector_rag-0.5.2/evaluation_framework/ragas_metrics_framework.py +0 -1013
- iris_vector_rag-0.5.2/evaluation_framework/real_production_evaluation.py +0 -544
- iris_vector_rag-0.5.2/evaluation_framework/run_10k_evaluation.py +0 -175
- iris_vector_rag-0.5.2/evaluation_framework/simple_test.py +0 -364
- iris_vector_rag-0.5.2/evaluation_framework/statistical_evaluation_methodology.py +0 -1016
- iris_vector_rag-0.5.2/evaluation_framework/test_framework.py +0 -281
- iris_vector_rag-0.5.2/evaluation_framework/test_iris_connectivity.py +0 -244
- iris_vector_rag-0.5.2/evaluation_framework/test_small_scale_evaluation.py +0 -432
- iris_vector_rag-0.5.2/evaluation_framework/true_e2e_evaluation.py +0 -639
- iris_vector_rag-0.5.2/evaluation_framework/visualization_engine.py +0 -585
- iris_vector_rag-0.5.2/iris_vector_rag.egg-info/top_level.txt +0 -3
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/LICENSE +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/cleanup_job.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/cli.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/main.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/mcp_routes.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/middleware/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/middleware/auth.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/middleware/logging.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/middleware/rate_limit.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/models/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/models/auth.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/models/errors.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/models/health.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/models/pipeline.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/models/quota.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/models/request.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/models/response.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/models/upload.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/models/websocket.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/routes/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/routes/document.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/routes/health.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/routes/pipeline.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/routes/query.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/services/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/services/auth_service.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/services/document_service.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/services/pipeline_manager.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/websocket/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/websocket/connection.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/websocket/handlers.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/api/websocket/routes.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/batch_utils.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/config.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/connection_manager.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/database.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/database_schema_manager.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/db_init_with_indexes.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/db_vector_utils.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/environment_manager.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/huggingface_utils.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/iris_client.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/iris_connection_pool.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/iris_connector.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/iris_index_utils.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/iris_sql_utils.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/iris_stream_reader.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/llm_cache_config.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/llm_cache_iris.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/llm_cache_manager.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/utils.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/common/vector_sql_utils.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/config/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/config/backend_modes.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/config/default_config.yaml +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/config/embedding_config.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/config/pipeline_config_service.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/core/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/core/base.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/core/connection.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/core/exceptions.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/core/models.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/core/response_standardizer.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/core/validators.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/core/vector_store.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/core/vector_store_exceptions.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/dspy_modules/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/dspy_modules/batch_entity_extraction.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/dspy_modules/entity_extraction_module.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/embeddings/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/embeddings/entity_extractor.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/embeddings/iris_embedding.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/embeddings/manager.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/mcp/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/mcp/__main__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/mcp/bridge.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/mcp/cli.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/mcp/config.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/mcp/technique_handlers.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/mcp/tool_schemas.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/mcp/validation.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/memory/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/memory/knowledge_extractor.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/memory/models.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/memory/rag_integration.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/memory/temporal_manager.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/ontology/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/ontology/loader.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/ontology/models.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/ontology/plugins/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/ontology/plugins/general_ontology.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/ontology/reasoner.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/optimization/cache_manager.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/optimization/connection_pool.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/optimization/database_optimizer.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/optimization/hnsw_tuner.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/optimization/parallel_processor.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/optimization/performance_monitor.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/_hybrid_utils.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/basic.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/basic_rerank.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/colbert_pylate/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/colbert_pylate/pylate_pipeline.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/crag.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/factory.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/graphrag.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/graphrag_merged.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/hybrid_graphrag.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/hybrid_graphrag_discovery.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/hybrid_graphrag_retrieval.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/pipelines/multi_query_rrf.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/plugins/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/plugins/interface.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/services/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/services/entity_extraction.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/storage/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/storage/clob_handler.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/storage/enterprise_storage.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/storage/hybrid_schema_manager.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/storage/iris_embedding_ops.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/storage/vector_store_iris.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/testing/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/testing/backend_manager.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/testing/connection_pool.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/testing/exceptions.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/testing/iris_devtools_bridge.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/testing/validators.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/utils/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/utils/module_loader.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/utils/project_root.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/utils/token_counter.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/validation/__init__.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/validation/factory.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/validation/orchestrator.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/validation/requirements.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag/validation/validator.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag.egg-info/dependency_links.txt +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag.egg-info/entry_points.txt +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/iris_vector_rag.egg-info/requires.txt +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/setup.cfg +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_comprehensive_pipeline_validation_e2e.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_comprehensive_pipeline_validation_e2e_fixed.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_enterprise_storage.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_entity_extraction_service.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_hybrid_graphrag_functional.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_index_ensure.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_mcp_integration.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_mcp_server_integration.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_ontology_loader.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_ontology_support.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_performance_monitor_comprehensive.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_performance_monitor_working.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_pylate_colbert_pipeline.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_schema_manager_bugs.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_temporal_manager.py +0 -0
- {iris_vector_rag-0.5.2 → iris_vector_rag-0.5.3}/tests/test_vector_safe_helpers.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: iris-vector-rag
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.3
|
|
4
4
|
Summary: Production-ready, extensible RAG framework with native IRIS vector search - unified API for basic, CRAG, GraphRAG, and ColBERT pipelines with RAGAS and DSPy integration
|
|
5
5
|
Author-email: InterSystems <support@intersystems.com>
|
|
6
6
|
Maintainer-email: Thomas Dyar <thomas.dyar@intersystems.com>
|
|
@@ -182,7 +182,7 @@ EOF
|
|
|
182
182
|
### 4. Run Your First Query
|
|
183
183
|
|
|
184
184
|
```python
|
|
185
|
-
from
|
|
185
|
+
from iris_vector_rag import create_pipeline
|
|
186
186
|
|
|
187
187
|
# Create pipeline with automatic validation
|
|
188
188
|
pipeline = create_pipeline('basic', validate_requirements=True)
|
|
@@ -220,22 +220,24 @@ print(f"Retrieved: {len(result['retrieved_documents'])} documents")
|
|
|
220
220
|
**Switch RAG strategies with one line** - all pipelines share the same interface:
|
|
221
221
|
|
|
222
222
|
```python
|
|
223
|
-
from
|
|
223
|
+
from iris_vector_rag import create_pipeline
|
|
224
224
|
|
|
225
|
-
#
|
|
226
|
-
|
|
227
|
-
|
|
225
|
+
# Start with basic
|
|
226
|
+
pipeline = create_pipeline('basic')
|
|
227
|
+
result = pipeline.query("What are the latest cancer treatment approaches?", top_k=5)
|
|
228
228
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
229
|
+
# Upgrade to basic_rerank for better accuracy
|
|
230
|
+
pipeline = create_pipeline('basic_rerank')
|
|
231
|
+
result = pipeline.query("What are the latest cancer treatment approaches?", top_k=5)
|
|
232
|
+
|
|
233
|
+
# Try graphrag for entity reasoning
|
|
234
|
+
pipeline = create_pipeline('graphrag')
|
|
235
|
+
result = pipeline.query("What are the latest cancer treatment approaches?", top_k=5)
|
|
234
236
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
237
|
+
# All pipelines return the same response format
|
|
238
|
+
print(f"Answer: {result['answer']}")
|
|
239
|
+
print(f"Sources: {result['sources']}")
|
|
240
|
+
print(f"Retrieved: {len(result['retrieved_documents'])} documents")
|
|
239
241
|
```
|
|
240
242
|
|
|
241
243
|
### Standardized Response Format
|
|
@@ -260,94 +262,18 @@ for pipeline_type in ['basic', 'basic_rerank', 'crag', 'multi_query_rrf', 'graph
|
|
|
260
262
|
}
|
|
261
263
|
```
|
|
262
264
|
|
|
263
|
-
## Pipeline
|
|
264
|
-
|
|
265
|
-
### CRAG: Self-Correcting Retrieval
|
|
266
|
-
|
|
267
|
-
Automatically evaluates retrieval quality and falls back to web search when needed:
|
|
268
|
-
|
|
269
|
-
```python
|
|
270
|
-
from iris_rag import create_pipeline
|
|
271
|
-
|
|
272
|
-
pipeline = create_pipeline('crag')
|
|
273
|
-
|
|
274
|
-
# CRAG evaluates retrieved documents and uses web search if quality is low
|
|
275
|
-
result = pipeline.query(
|
|
276
|
-
query="What happened in the 2024 Olympics opening ceremony?",
|
|
277
|
-
top_k=5,
|
|
278
|
-
generate_answer=True
|
|
279
|
-
)
|
|
280
|
-
|
|
281
|
-
# Check which retrieval method was used
|
|
282
|
-
print(f"Method: {result['metadata']['retrieval_method']}") # 'vector' or 'web_search'
|
|
283
|
-
print(f"Confidence: {result['metadata']['confidence']}") # 0.0 - 1.0
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
### HybridGraphRAG: Multi-Modal Search
|
|
265
|
+
## Pipeline Selection
|
|
287
266
|
|
|
288
|
-
|
|
267
|
+
**Each pipeline uses the same API** - just change the pipeline type:
|
|
289
268
|
|
|
290
|
-
|
|
291
|
-
|
|
269
|
+
- **`basic`** - Fast vector similarity search, great for getting started
|
|
270
|
+
- **`basic_rerank`** - Vector + cross-encoder reranking for higher accuracy
|
|
271
|
+
- **`crag`** - Self-correcting with web search fallback for current events
|
|
272
|
+
- **`graphrag`** - Multi-modal: vector + text + knowledge graph fusion
|
|
273
|
+
- **`multi_query_rrf`** - Query expansion with reciprocal rank fusion
|
|
274
|
+
- **`pylate_colbert`** - ColBERT late interaction for fine-grained matching
|
|
292
275
|
|
|
293
|
-
|
|
294
|
-
query_text="cancer treatment targets",
|
|
295
|
-
method="rrf", # Reciprocal Rank Fusion across all methods
|
|
296
|
-
vector_k=30, # Top 30 from vector search
|
|
297
|
-
text_k=30, # Top 30 from text search
|
|
298
|
-
graph_k=10, # Top 10 from knowledge graph
|
|
299
|
-
generate_answer=True
|
|
300
|
-
)
|
|
301
|
-
|
|
302
|
-
# Rich metadata includes entities and relationships
|
|
303
|
-
print(f"Entities: {result['metadata']['entities']}")
|
|
304
|
-
print(f"Relationships: {result['metadata']['relationships']}")
|
|
305
|
-
print(f"Graph depth: {result['metadata']['graph_depth']}")
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
**⚠️ IMPORTANT:** To enable entity extraction during document ingestion, you MUST set `entity_extraction_enabled: True` in your pipeline configuration:
|
|
309
|
-
|
|
310
|
-
```python
|
|
311
|
-
from iris_rag.config import ConfigurationManager
|
|
312
|
-
|
|
313
|
-
config = ConfigurationManager({
|
|
314
|
-
"pipelines": {
|
|
315
|
-
"graphrag": {
|
|
316
|
-
"entity_extraction_enabled": True, # REQUIRED for entity extraction!
|
|
317
|
-
}
|
|
318
|
-
},
|
|
319
|
-
"llm": {
|
|
320
|
-
"provider": "openai",
|
|
321
|
-
"api_type": "openai",
|
|
322
|
-
"model": "gpt-4o-mini",
|
|
323
|
-
"api_key": "your-api-key",
|
|
324
|
-
"temperature": 0.0
|
|
325
|
-
}
|
|
326
|
-
})
|
|
327
|
-
|
|
328
|
-
pipeline = create_pipeline('graphrag', config_manager=config)
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
**Without this setting**, entity extraction will not run during `load_documents()` and no knowledge graph will be built, making graph-based retrieval unavailable.
|
|
332
|
-
|
|
333
|
-
### MultiQueryRRF: Multi-Perspective Retrieval
|
|
334
|
-
|
|
335
|
-
Expands queries into multiple perspectives and fuses results:
|
|
336
|
-
|
|
337
|
-
```python
|
|
338
|
-
pipeline = create_pipeline('multi_query_rrf')
|
|
339
|
-
|
|
340
|
-
# Automatically generates query variations and combines results
|
|
341
|
-
result = pipeline.query(
|
|
342
|
-
query="How does machine learning work?",
|
|
343
|
-
top_k=10,
|
|
344
|
-
generate_answer=True
|
|
345
|
-
)
|
|
346
|
-
|
|
347
|
-
# See the generated query variations
|
|
348
|
-
print(f"Query variations: {result['metadata']['generated_queries']}")
|
|
349
|
-
print(f"Fusion method: {result['metadata']['fusion_method']}") # 'rrf'
|
|
350
|
-
```
|
|
276
|
+
📖 **[Complete Pipeline Guide →](docs/PIPELINE_GUIDE.md)** - Decision tree, performance comparison, configuration examples
|
|
351
277
|
|
|
352
278
|
## Enterprise Features
|
|
353
279
|
|
|
@@ -403,150 +329,50 @@ make test-ragas-sample
|
|
|
403
329
|
# - Answer Relevance
|
|
404
330
|
```
|
|
405
331
|
|
|
406
|
-
### IRIS EMBEDDING:
|
|
332
|
+
### IRIS EMBEDDING: Auto-Vectorization
|
|
407
333
|
|
|
408
|
-
**Automatic embedding generation with model caching** - eliminates
|
|
334
|
+
**Automatic embedding generation with model caching** - eliminates repeated model loading overhead for faster document vectorization.
|
|
409
335
|
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
pipeline = create_pipeline(
|
|
415
|
-
'basic',
|
|
416
|
-
embedding_config='medical_embeddings_v1' # IRIS EMBEDDING config name
|
|
417
|
-
)
|
|
418
|
-
|
|
419
|
-
# Documents auto-vectorize on INSERT with cached models
|
|
420
|
-
pipeline.load_documents(documents=docs)
|
|
421
|
-
|
|
422
|
-
# Queries auto-vectorize using same cached model
|
|
423
|
-
result = pipeline.query("What is diabetes?", top_k=5)
|
|
424
|
-
```
|
|
425
|
-
|
|
426
|
-
**Performance Achievements:**
|
|
427
|
-
- ⚡ **346x speedup** - 1,746 documents vectorized in 3.5 seconds (vs 20 minutes baseline)
|
|
428
|
-
- 🎯 **95% cache hit rate** - Models stay in memory across requests
|
|
429
|
-
- 🚀 **50ms average latency** - Cache hits complete in <100ms
|
|
430
|
-
- 💾 **Automatic fallback** - GPU OOM? Automatically falls back to CPU
|
|
431
|
-
|
|
432
|
-
**Configuration Example:**
|
|
336
|
+
**Key Features**:
|
|
337
|
+
- ⚡ Intelligent model caching - models stay in memory across operations
|
|
338
|
+
- 🎯 Multi-field vectorization - combine title, abstract, and content fields
|
|
339
|
+
- 💾 Automatic device selection - GPU, Apple Silicon (MPS), or CPU fallback
|
|
433
340
|
|
|
434
341
|
```python
|
|
435
|
-
from
|
|
436
|
-
|
|
437
|
-
# Create embedding configuration
|
|
438
|
-
config = configure_embedding(
|
|
439
|
-
name="medical_embeddings_v1",
|
|
440
|
-
model_name="sentence-transformers/all-MiniLM-L6-v2",
|
|
441
|
-
device_preference="auto", # auto, cuda, mps, cpu
|
|
442
|
-
batch_size=32,
|
|
443
|
-
enable_entity_extraction=True,
|
|
444
|
-
entity_types=["Disease", "Medication", "Symptom"]
|
|
445
|
-
)
|
|
446
|
-
|
|
447
|
-
# Use with any pipeline
|
|
448
|
-
pipeline = create_pipeline('basic', embedding_config='medical_embeddings_v1')
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
**Multi-Field Vectorization:**
|
|
452
|
-
|
|
453
|
-
Combine multiple document fields into a single embedding:
|
|
454
|
-
|
|
455
|
-
```python
|
|
456
|
-
from iris_rag.core.models import Document
|
|
457
|
-
|
|
458
|
-
# Document with multiple content fields
|
|
459
|
-
doc = Document(
|
|
460
|
-
page_content="", # Will be auto-filled from metadata
|
|
461
|
-
metadata={
|
|
462
|
-
"title": "Type 2 Diabetes Treatment",
|
|
463
|
-
"abstract": "A comprehensive review of treatment approaches...",
|
|
464
|
-
"conclusions": "Insulin therapy combined with lifestyle changes..."
|
|
465
|
-
}
|
|
466
|
-
)
|
|
342
|
+
from iris_vector_rag import create_pipeline
|
|
467
343
|
|
|
468
|
-
#
|
|
344
|
+
# Enable IRIS EMBEDDING support
|
|
469
345
|
pipeline = create_pipeline(
|
|
470
346
|
'basic',
|
|
471
|
-
embedding_config='
|
|
472
|
-
multi_field_source=['title', 'abstract', 'conclusions'] # Concatenate fields
|
|
347
|
+
embedding_config='medical_embeddings_v1'
|
|
473
348
|
)
|
|
474
349
|
|
|
475
|
-
|
|
476
|
-
|
|
350
|
+
# Documents auto-vectorize on INSERT
|
|
351
|
+
pipeline.load_documents(documents=docs)
|
|
477
352
|
```
|
|
478
353
|
|
|
479
|
-
**
|
|
480
|
-
- ✅ Large document collections (>1000 documents)
|
|
481
|
-
- ✅ Frequent re-indexing or incremental updates
|
|
482
|
-
- ✅ Real-time vectorization requirements
|
|
483
|
-
- ✅ Memory-constrained environments (model stays in memory)
|
|
484
|
-
- ✅ Multi-field vectorization needs
|
|
485
|
-
|
|
486
|
-
**Comparison:**
|
|
487
|
-
|
|
488
|
-
| Method | 1,746 Docs | Model Loads | Cache Hit Rate |
|
|
489
|
-
|--------|-----------|-------------|----------------|
|
|
490
|
-
| **Manual** (baseline) | 20 minutes | 1,746 (every row) | 0% |
|
|
491
|
-
| **IRIS EMBEDDING** | 3.5 seconds | 1 (cached) | 95% |
|
|
492
|
-
| **Speedup** | **346x faster** | **1,746x fewer** | **95% efficient** |
|
|
354
|
+
📖 **[Complete IRIS EMBEDDING Guide →](docs/IRIS_EMBEDDING_GUIDE.md)** - Configuration, performance tuning, multi-field vectorization, troubleshooting
|
|
493
355
|
|
|
494
356
|
## Model Context Protocol (MCP) Support
|
|
495
357
|
|
|
496
|
-
**Expose RAG pipelines as MCP tools** for
|
|
358
|
+
**Expose RAG pipelines as MCP tools** for Claude Desktop and other MCP clients - enables conversational RAG workflows where Claude queries your documents during conversations.
|
|
497
359
|
|
|
498
360
|
```bash
|
|
499
361
|
# Start MCP server
|
|
500
|
-
python -m
|
|
501
|
-
|
|
502
|
-
# Available MCP tools:
|
|
503
|
-
# - rag_basic
|
|
504
|
-
# - rag_basic_rerank
|
|
505
|
-
# - rag_crag
|
|
506
|
-
# - rag_multi_query_rrf
|
|
507
|
-
# - rag_graphrag
|
|
508
|
-
# - rag_hybrid_graphrag
|
|
509
|
-
# - health_check
|
|
510
|
-
# - list_tools
|
|
362
|
+
python -m iris_vector_rag.mcp
|
|
511
363
|
```
|
|
512
364
|
|
|
513
|
-
|
|
365
|
+
All pipelines available as MCP tools: `rag_basic`, `rag_basic_rerank`, `rag_crag`, `rag_graphrag`, `rag_multi_query_rrf`, `rag_pylate_colbert`.
|
|
514
366
|
|
|
515
|
-
|
|
516
|
-
{
|
|
517
|
-
"mcpServers": {
|
|
518
|
-
"iris-rag": {
|
|
519
|
-
"command": "python",
|
|
520
|
-
"args": ["-m", "iris_rag.mcp"],
|
|
521
|
-
"env": {
|
|
522
|
-
"OPENAI_API_KEY": "your-key"
|
|
523
|
-
}
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
```
|
|
367
|
+
📖 **[Complete MCP Integration Guide →](docs/MCP_INTEGRATION.md)** - Claude Desktop setup, configuration, testing, production deployment
|
|
528
368
|
|
|
529
369
|
## Architecture Overview
|
|
530
370
|
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
│ ├── basic_rerank.py # Reranking pipeline
|
|
537
|
-
│ ├── crag.py # Corrective RAG
|
|
538
|
-
│ ├── multi_query_rrf.py # Multi-query with RRF
|
|
539
|
-
│ ├── graphrag.py # Graph-based RAG
|
|
540
|
-
│ └── hybrid_graphrag.py # Hybrid multi-modal
|
|
541
|
-
├── storage/ # Vector store implementations
|
|
542
|
-
│ ├── vector_store_iris.py # IRIS vector store
|
|
543
|
-
│ └── schema_manager.py # Schema management
|
|
544
|
-
├── mcp/ # Model Context Protocol server
|
|
545
|
-
├── api/ # Production REST API
|
|
546
|
-
├── services/ # Business logic (entity extraction, etc.)
|
|
547
|
-
├── config/ # Configuration management
|
|
548
|
-
└── validation/ # Pipeline contract validation
|
|
549
|
-
```
|
|
371
|
+
**Framework-first design** with abstract base classes (`RAGPipeline`, `VectorStore`) and concrete implementations for 6 production-ready pipelines.
|
|
372
|
+
|
|
373
|
+
**Key Components**: Core abstractions, pipeline implementations, IRIS vector store, MCP server, REST API, validation framework.
|
|
374
|
+
|
|
375
|
+
📖 **[Comprehensive Architecture Guide →](docs/architecture/COMPREHENSIVE_ARCHITECTURE_OVERVIEW.md)** - System design, component interactions, extension points
|
|
550
376
|
|
|
551
377
|
## Documentation
|
|
552
378
|
|
|
@@ -556,35 +382,16 @@ iris_rag/
|
|
|
556
382
|
- **[API Reference](docs/API_REFERENCE.md)** - Detailed API documentation
|
|
557
383
|
- **[Pipeline Guide](docs/PIPELINE_GUIDE.md)** - When to use each pipeline
|
|
558
384
|
- **[MCP Integration](docs/MCP_INTEGRATION.md)** - Model Context Protocol setup
|
|
559
|
-
- **[Production
|
|
560
|
-
- **[Development Guide](docs/DEVELOPMENT.md)** - Contributing and testing
|
|
561
|
-
|
|
562
|
-
## Performance Benchmarks
|
|
563
|
-
|
|
564
|
-
**Native IRIS vector search delivers:**
|
|
565
|
-
|
|
566
|
-
- 🚀 **50-100x faster** than traditional solutions for hybrid search
|
|
567
|
-
- ⚡ **Sub-second queries** on millions of documents
|
|
568
|
-
- 📊 **Linear scaling** with IRIS clustering
|
|
569
|
-
- 💾 **10x less memory** than external vector databases
|
|
385
|
+
- **[Production Readiness](docs/PRODUCTION_READINESS_ASSESSMENT.md)** - Deployment checklist
|
|
570
386
|
|
|
571
387
|
## Testing & Quality
|
|
572
388
|
|
|
573
389
|
```bash
|
|
574
|
-
# Run comprehensive test suite
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
# Test specific categories
|
|
578
|
-
pytest tests/unit/ # Unit tests (fast)
|
|
579
|
-
pytest tests/integration/ # Integration tests (with IRIS)
|
|
580
|
-
pytest tests/contract/ # API contract validation
|
|
581
|
-
|
|
582
|
-
# Run with coverage
|
|
583
|
-
pytest --cov=iris_rag --cov-report=html
|
|
390
|
+
make test # Run comprehensive test suite
|
|
391
|
+
pytest tests/unit/ # Unit tests
|
|
392
|
+
pytest tests/integration/ # Integration tests
|
|
584
393
|
```
|
|
585
394
|
|
|
586
|
-
**For detailed testing documentation**, see [DEVELOPMENT.md](docs/DEVELOPMENT.md)
|
|
587
|
-
|
|
588
395
|
## Research & References
|
|
589
396
|
|
|
590
397
|
This implementation is based on peer-reviewed research:
|
|
@@ -596,26 +403,14 @@ This implementation is based on peer-reviewed research:
|
|
|
596
403
|
|
|
597
404
|
## Contributing
|
|
598
405
|
|
|
599
|
-
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for
|
|
600
|
-
|
|
601
|
-
- Development setup
|
|
602
|
-
- Testing guidelines
|
|
603
|
-
- Code style and standards
|
|
604
|
-
- Pull request process
|
|
406
|
+
We welcome contributions! See [CONTRIBUTING.md](docs/CONTRIBUTING.md) for development setup, testing guidelines, and pull request process.
|
|
605
407
|
|
|
606
408
|
## Community & Support
|
|
607
409
|
|
|
608
|
-
-
|
|
609
|
-
- 🐛 **Issues**: [GitHub Issues](https://github.com/intersystems-community/iris-rag-templates/issues)
|
|
410
|
+
- 🐛 **Issues**: [GitHub Issues](https://github.com/intersystems-community/iris-vector-rag/issues)
|
|
610
411
|
- 📖 **Documentation**: [Full Documentation](docs/)
|
|
611
412
|
- 🏢 **Enterprise Support**: [InterSystems Support](https://www.intersystems.com/support/)
|
|
612
413
|
|
|
613
414
|
## License
|
|
614
415
|
|
|
615
416
|
MIT License - see [LICENSE](LICENSE) for details.
|
|
616
|
-
|
|
617
|
-
---
|
|
618
|
-
|
|
619
|
-
**Built with ❤️ by the InterSystems Community**
|
|
620
|
-
|
|
621
|
-
*Powering intelligent applications with enterprise-grade RAG*
|