Keep up with latest product news
Changed the runtime Docker volume layout so that only data/out is bind-mounted. Nothing is precomputed, all work stays in the timed run.
Found some more optimizations. Using zgrep now, using csv.reader, some other small changes. Down to 378 meaningful code characters.
Using docker mounts, moved file paths out of Python execution, bringing total RunScript.mac character count down to 452 characters, 433 of which are "meaningful code" (assuming "meaningful code" means "everything after ROUTINE RunScript")


This release represents a complete rewrite and production hardening of the
framework since the initial OEX listing (1.0.1).
Previously listed on OEX as intersystems-iris-rag (rag-templates on PyPI).
Now published as iris-vector-rag on PyPI with a matching OEX module name.
Importable as iris_vector_rag. The iris_rag/ shim preserves legacy imports.
All pipelines share one factory call and one response shape — answer,
retrieved_documents, contexts, sources, metadata — swappable with a
single create_pipeline(type, ...) call:
RAG.SDK.*)Five ObjectScript classes callable directly from IRIS without touching Python:
RAG.SDK.Pipeline — run any pipeline strategy by nameRAG.SDK.Search — BM25, IVFFlat, and vector search pathsRAG.SDK.Schema — table initialization, schema status, pip install hookRAG.SDK.Bridge — overlay support and default table configurationRAG.SDK.Evaluate — RAGAS evaluation from ObjectScriptget_iris_connection() — one path,iris.runtime.get().state — skips TCPIRISINSTALLDIR is set.import iris.dbapi in connection_pool.py — no ImportError atiris is absent.iris-embedded-python-wrapper — handles embedded-kernel,attach_existing_corpusZero-copy bridge: point any pipeline at tables already in IRIS without
re-ingesting data.
Pre-flight checks before any pipeline runs: required tables exist, embeddings
are ≥95% non-NULL, IRIS VECTOR format valid. auto_setup=True creates missing
tables and embeddings on first use.
Side-by-side pipeline comparison with faithfulness, context precision, and
context recall. Uses real PMC biomedical documents — no synthetic data.
[api] extra) with Redis-backed sessions.[mcp] extra) — all pipelines exposed as MCP tools, usableiris-vector-graph integrationGraphRAG, ColBERT/PLAID, BM25, IVFFlat, and shortestPath delegate to
iris-vector-graph — IRIS-native graph and vector operations without leaving
the database.
zpm install iris-vector-rag now also runs
pip install iris-vector-rag==0.11.4 via RAG.SDK.Schema.Install().








Moved main functionality out of a class and into the RunScript routine. Some code golf optimizations to bring this down to 491 characters in total, 441 of which are Python code.
Optimized RunScript for speed by replacing the%SYSTEM.WorkMgr multi-process design with a single embedded-Python
call into a GIL-releasing OpenMP C kernel.
App.PEXSetup.cls to configure %Java Server for remote jgw and register PEX componentspex-runtime.script and docker-iris-start.sh on IRIS container start.env (TELEGRAM_BOT_TOKEN, TELEGRAM_BOT_USERNAME).env.example template for local configurationjackpto/iris-crypto-tracker-iris and jackpto/iris-crypto-tracker-jgw (tags 1.2.0, latest)intersystems-jdbc-3.10.5, intersystems-utils-4.2.2)CryptoProduction uses %gatewayName=%Java Server instead of host/port settingsCryptoService HTTP client: explicit User-Agent, Accept header, timeouts, and HTTP status handlingiris, depends_on: jgw, jgw loads .enveclipse-temurin:8-jdkjgw:55555 (NOTOPEN, gateway name mismatch)SSLHandshakeException / blocked Java 8 User-AgentOnTearDown() and invalid super.OnMessage() / super.OnProcessInput() calls in PEX Java classes/opt/irisapp/.env (gitignored)