Repository navigation
Releases: Asyncinnovator/Noema
Releases · Asyncinnovator/Noema
Release list
Noema v0.1.0
First public release of Noema, a Python library that turns text into a deduplicated knowledge
graph and gives your LLM only the facts a question needs, in a compact notation. Built for
token-efficient RAG.
Larry Page founded Google in 1998. Sundar Pichai is the CEO of Google.
becomes
#1 Larry Page :PERSON
#2 Google :ORG
#3 Sundar Pichai :PERSON
#1 -found-> #2
#3 -ceo_of-> #2
Install
pip install noema-rag
python -m spacy download en_core_web_smThe package is named noema-rag on PyPI and imported as noema. Python 3.13 or newer is
required. Do not install the separate, unrelated noema package from PyPI, which uses the same
import name.
Quick start
import noema
kb = noema.KnowledgeBase()
kb.ingest(documents)
context = kb.retrieve("Who is Google's CEO?", max_tokens=200)
prompt = f"{context.text}\n\nQuestion: Who is Google's CEO?"Highlights
- Compress text with
noema.compress()and get a round-trip confidence score - Build a knowledge base that merges duplicate facts across documents and updates incrementally
- Retrieve with a token budget using vector search plus multi-hop graph expansion
- Scale up with streaming ingestion, checkpoints, and optional Neo4j and RDF backends
- Plug in LangChain and LlamaIndex retrievers, plus OpenAI and Anthropic token counting
- Use the CLI:
noema compress,build-graph,query,inspectandbenchmark - Measure it yourself with the reproducible benchmark suite in
benchmarks/
Known limitations
- Only entities and relations are extracted automatically. Events exist in the data model but are
not extracted by the built-in parser. - Relation extraction is rule-based and English specific. Coreference resolution and transformer
relation extraction are optional, separate functions. - Embedding-based validation cannot detect reversed claims. Use
validate_nli()for that.
Links
- Documentation: https://github.com/Asyncinnovator/Noema/wiki
- Full changelog: https://github.com/Asyncinnovator/Noema/blob/main/CHANGELOG.md
- Report a bug: https://github.com/Asyncinnovator/Noema/issues