Practical overview
When it fits
Use it when building or adapting a self-hosted RAG application and you can configure its database, object and vector storage, Python backend, web frontend and model endpoints.
Who it is for
- Developers building a self-hosted document knowledge-base assistant.
- Teams creating multi-knowledge-base search or document question-answering applications.
- Builders who want configurable retrieval, reranking and evaluation components in a full-stack RAG foundation.
Documented uses
- Organize knowledge bases and upload and process source documents.
- Retrieve relevant material using vector search or configurable hybrid dense and BM25 retrieval.
- Serve streamed chat responses grounded in indexed documents.
- Configure language and embedding model endpoints, including supported OpenAI-compatible services or Ollama.
- Run optional RAGAS evaluation tasks and inspect recorded results.
Requirements & limits
The repository is public and MIT-licensed. Its documented setup is self-hosted and includes a web frontend and REST backend.
- The stack includes FastAPI, LangChain LCEL, Next.js 14, React 18 and Tailwind.
- Data services are divided across MySQL for application metadata, Chroma for vector indexing and MinIO for original files.
- Retrieval options include dense and BM25 hybrid search with RRF, FlashRank reranking, query rewriting and parent-child chunk expansion.
- OpenAI-compatible endpoints and Ollama are documented model-backend options; endpoint behavior and model requirements remain configuration-dependent.
- RAGAS evaluation is optional, not required for the core document retrieval and chat workflow.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Prepare the documented local development setup
Start the infrastructure and backend, configure model settings, and start the web frontend.
Before you start
- Docker Compose for MySQL, Chroma and MinIO
- Python 3.10+ and Conda or Python venv
- Project .env settings for database and secrets
- pnpm for the frontend
- Configured LLM and embedding endpoints for model-backed use
Steps
Start MySQL, Chroma and MinIO with docker-compose.infra.yml.
Create the backend Python environment from environment.yml or requirements.txt, and fill in the root .env from .env.example.
Start the backend with the documented Uvicorn command; its Swagger API documentation is at http://127.0.0.1:8000/docs.
Create and enable LLM and embedding settings in the application.
In frontend, run pnpm install and pnpm dev.
Expected outcome
The documented development setup has its backend, web interface and supporting infrastructure started, with model settings available for use.
Guide limitations
- The README does not specify exact model compatibility beyond OpenAI-compatible APIs and Ollama; endpoint behavior and deployment requirements vary.
- This recipe describes the documented development setup, not a production deployment.
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.
| Project | Documented purpose | Platform | Access and requirements |
|---|---|---|---|
| Rag Engine | Organize knowledge bases and upload and process source documents. | Cloud, Docker, Self-hosted, Server | The repository is public and MIT-licensed. Its documented setup is self-hosted and includes a web frontend and REST backend. |
| Langsearch | Crawl website or local data for a knowledge base. | CLI, Self-hosted, Server | |
| Hybrid Search Rag | Combine document retrieval and language-model generation in a configurable workflow. |
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 16 October 2026
- Original website title
- int2t05/rag-engine · Official homepage title · retained in its source language

