whatisgithub

What is omniretrieval?

jinheonbaek/omniretrieval — explained in plain English

Analysis updated 2026-06-24

20PythonAudience · researcherComplexity · 4/5Setup · hard

In one sentence

A research system that takes a plain-English question and automatically searches across databases, knowledge graphs, and text documents at the same time, translating your question into SQL, SPARQL, Cypher, or keyword search as needed.

Mindmap

mindmap
  root((OmniRetrieval))
    What it does
      Natural language questions
      Multi-source search
      Automatic query translation
    Query Types
      SQL for databases
      SPARQL for knowledge graphs
      Cypher for graph databases
      Keyword for text
    Pipeline Steps
      Route sources
      Generate queries
      Execute queries
      Select best answer
    Benchmark
      13 datasets
      309 knowledge bases
      Multiple domains
    AI Backends
      OpenAI
      Anthropic
      Google
      Local vLLM
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Ask a natural-language question that requires combining answers from a SQL database and a knowledge graph, without writing any queries yourself.

USE CASE 2

Benchmark how well different AI models (OpenAI, Anthropic, Google, or a local model) handle multi-source retrieval across 13 research datasets.

USE CASE 3

Rescore previously saved evaluation runs with a different model without re-running the full pipeline from scratch.

What is it built with?

PythonSQLSPARQLCyphervLLMOpenAI APIAnthropic API

How does it compare?

jinheonbaek/omniretrievalchloeqxq/macddemiurg92/design-continuity-guard
Stars202020
LanguagePythonPythonPython
Setup difficultyhardhardeasy
Complexity4/54/51/5
Audienceresearcherresearchervibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires downloading and preprocessing 13 benchmark datasets plus an API key for your chosen model provider, not a packaged library.

No license information was mentioned in the explanation.

So what is it?

OmniRetrieval is a research system that lets you ask a natural-language question and have it automatically search across fundamentally different types of data sources at once. The problem it addresses is that information lives in many forms: some in plain text documents, some in relational databases (the kind that use SQL), some in structured knowledge graphs (databases that represent facts as linked entities), and some in graph databases with a different query language called Cypher. Each type normally requires a specialist who knows how to write queries in that format. OmniRetrieval uses a language model to handle all of that automatically. When you give it a question, the system first decides which data sources are relevant, then translates the question into the native query language for each of those sources (SQL for a database, SPARQL for one kind of knowledge graph, Cypher for another, or a standard keyword search for text), runs the queries, and then picks the best answer from the results. The whole process is phrased in the code as four steps: route, generate, execute, and select. The benchmark built into the project covers 13 datasets and 309 separate knowledge bases drawn from a range of fields including news fact-checking, financial questions, scientific papers, and general-knowledge questions. You can run the pipeline with different AI model providers as the reasoning backbone, including OpenAI, Anthropic, Google, or a locally hosted open-source model via a tool called vLLM. Setup involves installing Python dependencies, downloading and preprocessing the datasets using provided scripts, and adding API keys for whichever model provider you choose. Each evaluation run saves its results and metrics to a timestamped folder, and there is a separate script for rescoring saved runs without re-running the full pipeline. The project is a research codebase rather than a packaged library.

Copy-paste prompts

Prompt 1
I want to run OmniRetrieval on my own SQL database and a knowledge graph. Walk me through the setup steps: installing dependencies, adding API keys, and running a question through the route-generate-execute-select pipeline.
Prompt 2
How does OmniRetrieval decide which data source is relevant for a given question? Explain the routing step and how it picks between SQL, SPARQL, Cypher, and keyword search.
Prompt 3
I want to compare OpenAI and a local vLLM model as the reasoning backbone for OmniRetrieval. How do I configure each and run the benchmark so the results are saved to timestamped folders for comparison?
Prompt 4
How does the rescore script work in OmniRetrieval? If I already ran the pipeline and saved results, how do I rescore them with a new model without re-running everything?

Frequently asked questions

What is omniretrieval?

A research system that takes a plain-English question and automatically searches across databases, knowledge graphs, and text documents at the same time, translating your question into SQL, SPARQL, Cypher, or keyword search as needed.

What language is omniretrieval written in?

Mainly Python. The stack also includes Python, SQL, SPARQL.

What license does omniretrieval use?

No license information was mentioned in the explanation.

How hard is omniretrieval to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is omniretrieval for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.