OpenViSTAI · Agents · Blockchain · Crypto
Menu
RAG & Knowledge Systems

Flexible Graphrag

Flexible Graphrag is an open-source Python framework for building retrieval-augmented applications that ingest documents, construct knowledge graphs and retrieve information through graph, vector, RDF and full-text search. It includes AI query and chat capabilities, a REST API, an MCP server and web frontends.

Independent OpenViST project profile, based on linked sources.

Flexible Graphrag — OpenViST project profile in RAG & Knowledge Systems.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when you are assembling a self-managed document retrieval or chat system and need choices across data sources, graph construction, storage and retrieval pipelines.

Who it is for

  • Developers building RAG or GraphRAG applications over organizational documents.
  • Teams that need to connect document repositories to graph and search databases.
  • Engineers who want to select pipeline frameworks, parsers, models and retrieval stores.

Documented uses

  • Ingest and synchronize documents from supported sources.
  • Build knowledge graphs using ontologies or schemas.
  • Search across graph, vector, RDF and full-text data stores.
  • Add document-grounded AI query or chat to an application.
  • Expose retrieval and chat capabilities through REST or MCP.
Before you choose

Requirements & limits

The repository is public and declares an Apache-2.0 license. The README lists Python 3.12, 3.13 and 3.14.

  • LlamaIndex is the default for pipeline stages; LangChain can be selected independently for stages.
  • The framework requires configuration of document sources, databases, language models and embedding providers.
  • Document processing options include Docling, LlamaParse and LiteParse.
  • Docker Compose can be used to enable databases and dashboards.
  • Existing vector indexes need to be deleted when changing embedding models if dimensions differ.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Configure search, vector, and language-model providers

Set environment-based provider configuration for a Flexible GraphRAG retrieval setup.

Before you start

  • Python 3.12, 3.13, or 3.14 is listed by the project.
  • Choose supported search and vector stores and a supported LLM and embedding provider.
  • For the OpenAI examples, provide an OpenAI API key; the Ollama examples specify a local Ollama base URL.

Steps

  1. Choose a full-text search store by setting SEARCH_DB; the documented choices include bm25, elasticsearch, opensearch, and none. For example, BM25 configuration uses BM25_SEARCH_DB_CONFIG with a persist_dir.

  2. Choose a vector store by setting VECTOR_DB and configure its provider-specific settings. Set VECTOR_BACKEND to llamaindex or langchain as needed.

  3. Set LLM_PROVIDER and its provider-specific variables. The documented OpenAI example sets OPENAI_API_KEY and OPENAI_MODEL; the Ollama example sets OLLAMA_BASE_URL and OLLAMA_MODEL.

  4. Set EMBEDDING_KIND and provider-specific embedding variables. The documented OpenAI example sets OPENAI_EMBEDDING_MODEL and OPENAI_API_KEY; the Ollama example sets OLLAMA_EMBEDDING_MODEL and OLLAMA_BASE_URL.

Expected outcome

Environment variables select search, vector, LLM, embedding, and framework backends for a retrieval configuration.

Guide limitations

  • This recipe covers configuration only; it does not document starting the service, ingesting documents, or executing a search.
  • Switching embedding models requires deleting existing vector indexes because embedding dimensions differ by provider.
  • Some graph stores constrain backend selection: LangChain-only graph stores auto-select LangChain, while Spanner forces LlamaIndex.
COMPARE OPTIONS

Compare options for Retrieval-augmented applications

These projects document a common task and share a project role. This is a source-based comparison, not an execution benchmark or a guarantee of interchangeability.

ProjectDocumented purposePlatformAccess and requirements
Flexible GraphragIngest and synchronize documents from supported sources.Cloud, ServerThe repository is public and declares an Apache-2.0 license. The README lists Python 3.12, 3.13 and 3.14.
LangsearchCrawl website or local data for a knowledge base.CLI, Self-hosted, Server
Hybrid Search RagCombine document retrieval and language-model generation in a configurable workflow.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
13 October 2026
Original website title
stevereiner/flexible-graphrag · Official homepage title · retained in its source language