CiteNexus
Multilingual RAG that answers only when the evidence is strong.
Evidence-first, multilingual, S3-native RAG for domains where a wrong answer is worse than no answer (legal, medical, finance/compliance, enterprise search). CiteNexus answers only from retrieved evidence — every claim is grounded in a bbox-cited source passage, and it refuses or states uncertainty when evidence is weak, missing, or conflicting. The guarantee is "no ungrounded claim," not "zero hallucination."
The library bundles no models — embedding, LLM, reranker, and vision are injected endpoints. CiteNexus owns orchestration, storage, retrieval, fusion, grounding, and evaluation.
CiteNexus supports pluggable vector databases. Storage is two protocols —
VectorStore (dense) and TextSearch (lexical) — and each backend is a named
(vector, text) pair:
| Backend | Vector | Text | When |
|---|---|---|---|
| Lance (recommended) | LanceVectorStore |
LanceTextSearch (BM25-lite) |
Zero infra, S3-native: point at a bucket and go |
| Postgres | PostgresVectorStore (pgvector) |
PostgresTextSearch (native tsvector) |
You already run Postgres — pip install 'citenexus[postgres]', set vector_store.backend: "postgres" |
| Yours | implement VectorStore |
implement TextSearch |
Qdrant, Weaviate, Elasticsearch, Tantivy, … |
The seams are independent: mix LanceDB vectors with an Elasticsearch
text_search=, or let one Postgres serve both.
from citenexus import CiteNexus, S3
rag = CiteNexus(
S3(bucket="my-bucket"),
embedder=my_embedding_endpoint,
generator=my_llm_endpoint,
)
rag.ingest("policy.pdf") # any supported input type
answer = rag.ask("Can the employee disclose this information?")
print(answer) # grounded answer; .sources are bbox-cited
See the workspace root README for the full polyglot (python/ golang/ js/ rust/) layout.
Metadata
Release files for citenexus 0.13.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| citenexus-0.13.0.tar.gz | 718.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| citenexus-0.13.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / citenexus-0.13.0.tar.gz
| Download URL | citenexus-0.13.0.tar.gz |
|---|---|
| Size | 718.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0df1ec1e7852e39ee5a8fc716f3fcd6de2968c4049e1d5d922716eaec940cbc3
|
|
BLAKE2b-256 checksum How to use checksums |
80aeaa94dd90341c92f4379dcf6f95f1b7a9b541b7ca0913d6abea689488e47e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / citenexus-0.13.0-py3-none-any.whl
| Download URL | citenexus-0.13.0-py3-none-any.whl |
|---|---|
| Size | 366.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2096a69c5c9b45a4533d901861166d526ece0779e4ccedde810294ab3af9cdd4
|
|
BLAKE2b-256 checksum How to use checksums |
2a26259fb1331c9f7d5cd629c5631e9fabf50273a5393f6e576618390abde10b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|