Knowledge Base Management Based on RAG (Retrieval-Augmented Generation)
Features • Quick Start • Deployment • Architecture • Development • Contributing
RAG Web UI is an intelligent dialogue system based on RAG (Retrieval-Augmented Generation) technology that helps build intelligent Q&A systems based on your own knowledge base. By combining document retrieval and large language models, it achieves accurate and reliable knowledge-based question answering services.
The system supports multiple LLM deployment options, including cloud services like OpenAI and DeepSeek, as well as local model deployment through Ollama, meeting privacy and cost requirements in different scenarios.
It also provides OpenAPI interfaces for convenient knowledge base access via API calls.
📚 Intelligent Document Management
🤖 Advanced Dialogue Engine
🎯 Robust Architecture
Knowledge Base Management Dashboard
Document Processing Dashboard
Document List
Intelligent Chat Interface with References
API Key Management
API Reference
git clone https://github.com/rag-web-ui/rag-web-ui.git
cd rag-web-ui
You can check the details in the configuration table below.
cp .env.example .env
docker compose up -d --build
Access the following URLs after service startup:
The system is optimized in the following aspects:
docker compose -f docker-compose.dev.yml up -d --build
| Parameter | Description | Default | Required |
|---|---|---|---|
| MYSQL_SERVER | MySQL Server Address | localhost | ✅ |
| MYSQL_USER | MySQL Username | postgres | ✅ |
| MYSQL_PASSWORD | MySQL Password | postgres | ✅ |
| MYSQL_DATABASE | MySQL Database Name | ragwebui | ✅ |
| SECRET_KEY | JWT Secret Key | - | ✅ |
| ACCESS_TOKEN_EXPIRE_MINUTES | JWT Token Expiry (minutes) | 30 | ✅ |
| Parameter | Description | Default | Applicable |
|---|---|---|---|
| CHAT_PROVIDER | LLM Service Provider | openai | ✅ |
| OPENAI_API_KEY | OpenAI API Key | - | Required for OpenAI |
| OPENAI_API_BASE | OpenAI API Base URL | https://api.openai.com/v1 | Optional for OpenAI |
| OPENAI_MODEL | OpenAI Model Name | gpt-4 | Required for OpenAI |
| DEEPSEEK_API_KEY | DeepSeek API Key | - | Required for DeepSeek |
| DEEPSEEK_API_BASE | DeepSeek API Base URL | - | Required for DeepSeek |
| DEEPSEEK_MODEL | DeepSeek Model Name | - | Required for DeepSeek |
| OLLAMA_API_BASE | Ollama API Base URL | http://localhost:11434 | Required for Ollama |
| OLLAMA_MODEL | Ollama Model Name | llama2 | Required for Ollama |
| Parameter | Description | Default | Applicable |
|---|---|---|---|
| EMBEDDINGS_PROVIDER | Embedding Service Provider | openai | ✅ |
| OPENAI_API_KEY | OpenAI API Key | - | Required for OpenAI Embedding |
| OPENAI_EMBEDDINGS_MODEL | OpenAI Embedding Model | text-embedding-ada-002 | Required for OpenAI Embedding |
| DASH_SCOPE_API_KEY | DashScope API Key | - | Required for DashScope |
| DASH_SCOPE_EMBEDDINGS_MODEL | DashScope Embedding Model | - | Required for DashScope |
| OLLAMA_EMBEDDINGS_MODEL | Ollama Embedding Model | deepseek-r1:7b | Required for Ollama Embedding |
| Parameter | Description | Default | Applicable |
|---|---|---|---|
| VECTOR_STORE_TYPE | Vector Store Type | chroma | ✅ |
| CHROMA_DB_HOST | ChromaDB Server Address | localhost | Required for ChromaDB |
| CHROMA_DB_PORT | ChromaDB Port | 8000 | Required for ChromaDB |
| QDRANT_URL | Qdrant Vector Store URL | http://localhost:6333 | Required for Qdrant |
| QDRANT_PREFER_GRPC | Prefer gRPC Connection for Qdrant | true | Optional for Qdrant |
| Parameter | Description | Default | Required |
|---|---|---|---|
| MINIO_ENDPOINT | MinIO Server Address | localhost:9000 | ✅ |
| MINIO_ACCESS_KEY | MinIO Access Key | minioadmin | ✅ |
| MINIO_SECRET_KEY | MinIO Secret Key | minioadmin | ✅ |
| MINIO_BUCKET_NAME | MinIO Bucket Name | documents | ✅ |
| Parameter | Description | Default | Required |
|---|---|---|---|
| TZ | Timezone Setting | Asia/Shanghai | ❌ |
We welcome community contributions!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)This project is licensed under the Apache-2.0 License
This project is for learning and sharing RAG knowledge only. Please do not use it for commercial purposes. It is not ready for production use and is still under active development.
Thanks to these open source projects: