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.1
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.1.tar.gz | 722.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| citenexus-0.13.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / citenexus-0.13.1.tar.gz
| Download URL | citenexus-0.13.1.tar.gz |
|---|---|
| Size | 722.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
85690eeddb8660c150ac5aff48861d7801c6c734b97cda91825c36ca63a91dda
|
|
BLAKE2b-256 checksum How to use checksums |
5262a4773044e588dba202031a1424bb4a941bafe518dee279354cc217408ff9
|
| 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.1-py3-none-any.whl
| Download URL | citenexus-0.13.1-py3-none-any.whl |
|---|---|
| Size | 368.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aa971e806bc44e11f6255a621bd9a2ae01a4505d468d205a9cfba708b8f5fe4d
|
|
BLAKE2b-256 checksum How to use checksums |
5b38fd55a1ba5ce2d6bd78de697e1c5f71024e7a4d23cb8e3b73da04e1284d88
|
| 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}
|