åŸççè§£ | èçœæçŽ¢ | å·¥å ·è°çš | ä»»å¡è§å | MCP éæ | Text-to-SQL
æ é ML äžå®¶ïŒ5 åéæå»ºäŒäžçº§ Agentic RAG åºçš
å¿«éåŒå§ | æ žå¿ç¹æ§ | æ¶ææ»è§ | éšçœ²æå | API ææ¡£ | èç³»æä»¬
PAI-RAG æ¯åºäºé¿éäº PAI å¹³å°çåŒæº Agentic RAG æ¡æ¶ïŒäžæ³šäºäŒäžçº§å€æç¥è¯å€çäžæºèœé®çåºæ¯ãå®äžä» æ¯äžäžª RAG ç³»ç»ïŒæŽæ¯äžäžªèåäºç¥è¯åºç®¡çã倿š¡æçè§£ãReAct æºèœäœãMCP å·¥å ·çæçäžç«åŒè§£å³æ¹æ¡ã
| èœå | äŒ ç» RAG | PAI-RAG |
|---|---|---|
| ç¥è¯åºç®¡ç | åæä»¶äžäŒ ïŒåçåºå® | å¹¶åäžäŒ + åšæåç + å æ°æ®è¿æ»€ |
| ææ¡£è§£æ | ä» ææ¬ | 20+ æ ŒåŒïŒPDF / Office / åŸç / è§é¢ |
| æ£çŽ¢çç¥ | åéæ£çŽ¢ | åé + å šæ + æ··åæ£çŽ¢ + Rerank |
| 倿𡿠| äžæ¯æ | åŸççè§£ + è§é¢è§£æ + åŸææ··ååå€ |
| å€æä»»å¡ | ç®åé®ç | ReAct æºèœäœ + ä»»å¡è§å + å¹¶è¡å·¥å ·è°çš |
| 宿¶ä¿¡æ¯ | éæç¥è¯åº | èçœæçŽ¢ïŒé¿éäº IQS / TavilyïŒ |
| å·¥å ·çæ | æéæä»¶ | MCP 深床éæïŒå®¢æ·ç«¯ + æå¡ç«¯ïŒ |
| æ°æ®åæ | äžæ¯æ | ä»£ç æ²ç®± + Text-to-SQL |
| äŒäžèœå | é«å®å¶ææ¬ | å€ç§æ· + RBAC + å¯è§æµ + åŒç®±å³çš |
- 20+ ææ¡£æ ŒåŒïŒPDFãDOCXãPPTXãExcelãCSVãMarkdownãHTMLãJSONLãåŸçãè§é¢ç
- æºèœåççç¥ïŒå¥å级ãToken çº§ãæ®µèœçº§ãMarkdown æç¥ãç颿ç¥çå€ç§çç¥ïŒæç¥è¯åºç¬ç«é 眮
- äžå€§æ£çŽ¢æš¡åŒïŒåéæ£çŽ¢ãå šææ£çŽ¢ãæ··åæ£çŽ¢ïŒåé + BM25ïŒïŒé å Reranker 粟æ
- å æ°æ®è¿æ»€ïŒæ¯ææ çŸãæ¶éŽãæ¥æºçå€ç»ŽåºŠå€åæ¡ä»¶è¿æ»€ïŒææ·± 5 å±åµå¥
- Chunk 级管çïŒå¯è§åæ¥çãçŒèŸãæ¿æŽ»/åçšå䞪ç¥è¯ç段
- FAQ æš¡åŒïŒExcel çŽæ¥å¯Œå ¥äžºé®ç对ïŒéé 客æçåºæ¯
- åŒæ¥å€çïŒåºäº Celery + Redis çåå°ä»»å¡éåïŒå€§æ¹éæä»¶äžäŒ äžé»å¡
- ææ¡£åŸçèªåšæåïŒä» PDF/DOCX/PPTX äžæååŸçïŒéè¿å€æš¡æå€§æš¡åçææè¿°å¹¶çŽ¢åŒ
- åŸçé®çïŒçŽæ¥äžäŒ åŸçå°ç¥è¯åºæäœäžºå¯¹è¯éä»¶ïŒAI èªåšçè§£åŸçå 容
- è§é¢è§£æïŒæ¯æ MP4/AVI/MOV çè§é¢æ ŒåŒïŒèªåšæåå ³é®åž§å¹¶çææè¿°
- åŸææ··åçæïŒåçäžèªåšåµå ¥çžå ³åŸçïŒçææŽäž°å¯çŽè§çç»æ
- ReAct æ¡æ¶ïŒæè-è¡åš-è§å¯åŸªç¯ïŒæ¯æå¹¶è¡å·¥å ·è°çšïŒæå€§ 20 æ¥æšç
- æç»ŽéŸæ¯æïŒåçæ¯æ Qwen3ãDeepSeek-R1 çæèæš¡åïŒå犻æšçè¿çšäžæç»åç
- ä»»å¡è§åïŒèªåšæè§£å€æå€æ¥éª€ä»»å¡ïŒåŠ"å¯¹æ¯ 2023 幎莢æ¥äžè¡äžè¶å¿"ïŒ
- æµåŒèŸåºïŒSSE 宿¶æšéïŒå·¥å ·è°çšè¿çšéæå¯è§
- MCP 客æ·ç«¯ïŒæ¥å ¥ä»»æå€éš MCP æå¡åšïŒSSE/stdioïŒïŒå³æ¶æ©å±å·¥å ·èœå
- MCP æå¡ç«¯ïŒå°ç¥è¯åºæ£çŽ¢æŽé²äžº MCP å·¥å ·ïŒäŸå€éš AI Agent è°çš
- 峿å³çšïŒéè¿ Web UI æ API åšææ·»å /ç§»é€ MCP æå¡åš
| å·¥å · | 诎æ |
|---|---|
| ç¥è¯åºæ£çŽ¢ | 对é 眮çç¥è¯åºè¿è¡ RAG æ£çŽ¢ |
| èçœæçŽ¢ | é¿éäº IQS / Tavily 宿¶æçŽ¢ |
| çœé¡µæµè§ | 访é®å¹¶è§£ææå® URL å 容 |
| ä»£ç æ²ç®± | äºç«¯ Python æ²ç®±ïŒæ¯ææ°æ®åæååŸè¡šçæ |
| Text-to-SQL | èªç¶è¯èšæ¥è¯¢ MySQL/PostgreSQL æ°æ®åº |
| éä»¶è§£æ | 读ååæäžäŒ çæä»¶éä»¶ |
| æèæšç | ç»æåçåæäžæšç |
| ä»»å¡è§å | 倿任å¡çåè§£äžè§å |
- å€ç§æ·æ¶æïŒææèµæºæ tenant_id é犻ïŒéå SaaS å€ç§æ·éšçœ²
- RBAC æéæ§å¶ïŒçšæ·-è§è²-ææ¡£äžçº§æéïŒç²Ÿç¡®å° Chunk 级å«çè®¿é®æ§å¶
- å 容å®å šïŒéæé¿éäºå 容å®å šïŒGreenïŒïŒèªåšå®¡æ¥èŸå ¥èŸåº
- å¯è§æµæ§ïŒOpenTelemetry å šéŸè·¯è¿œèžªïŒæ¯æ OTLP/HTTP å OTLP/gRPC
- OpenAI å
Œå®¹ APIïŒ
/v1/chat/completionsæ 忥å£ïŒå¯çŽæ¥å¯¹æ¥ç°æåºçš
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Web UI (Next.js) â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â FastAPI Backend â
â âââââââââââ ââââââââââââ ââââââââââââ ââââââââââââ â
â âChat API â â RAG API â âConfig APIâ â MCP API â â
â â(OpenAI) â â(Retrievalâ â(ç®¡çæ¥å£)â â(å·¥å
·æå¡)â â
â ââââââ¬âââââ ââââââ¬ââââââ ââââââââââââ ââââââââââââ â
â â â â
â ââââââŒâââââââââââââŒââââââââââââââââââââââââââââââââââ â
â â ReAct Agent Engine â â
â â ââââââ ââââââ ââââââ âââââââ âââââ ââââââââââââ â â
â â â KB â âæçŽ¢â â代ç â âT2SQLâ âMCPâ âéä»¶/倿š¡æâ â â
â â ââââ¬ââ ââââ¬ââ ââââ¬ââ ââââ¬âââ âââ¬ââ ââââââ¬ââââââ â â
â âââââââŒâââââââŒâââââââŒââââââŒââââââŒâââââââââŒââââââââââ â
ââââââââââŒâââââââŒâââââââŒââââââŒââââââŒâââââââââŒââââââââââââââ€
â âââââââŒâââ âââŒâââ ââŒââââ ââŒâââ ââŒâââââ ââŒâââââââââ â
â âVectorDBâ âIQS/â âäºæ²â âDB â âå€éš â âæä»¶ååš â â
â â7ç§å端 â âæçŽ¢â â ç®± â â â âMCP â âLocal/OSSâ â
â ââââââââââ ââââââ ââââââ âââââ âââââââ âââââââââââ â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
| å端 | ç±»å | åéæ£çŽ¢ | å šææ£çŽ¢ | æ··åæ£çŽ¢ |
|---|---|---|---|---|
| Chroma (æ¬å°) | åµå ¥åŒ | â | â | â |
| Milvus | äº/èªå»º | â | â | â |
| Elasticsearch | äº/èªå»º | â | â | â |
| PostgreSQL (pgvector) | äº/èªå»º | â | â | â |
| Hologres | é¿éäº | â | â | â |
| OpenSearch | é¿éäº | â | â | â |
| Tablestore | é¿éäº | â | â | â |
éè¿ OpenAI å Œå®¹æ¥å£ïŒæ¯ææ¥å ¥ä»»æå€§è¯èšæš¡åïŒ
- éä¹åé®ïŒDashScopeïŒïŒQwen-Max / Qwen-Plus / Qwen-Turbo / Qwen-VL ç
- OpenAIïŒGPT-4o / GPT-4 / GPT-3.5 ç
- åŒæºèªéšçœ²ïŒéè¿ vLLM / Ollama çéšçœ²çä»»ææš¡å
- æèæš¡åïŒåçæ¯æ Qwen3ãDeepSeek-R1 çæç»ŽéŸæš¡å
git clone https://github.com/aigc-apps/PAI-RAG.git
cd PAI-RAG/docker
cp .env.example .env
# çŒèŸ .env é
çœ®äœ çåæ°
docker compose up -då¯åšåè®¿é® http://localhost:8680 å³å¯äœ¿çšã
# å建 Python 3.11 ç¯å¢
conda create -n pai-rag python=3.11 && conda activate pai-rag
# å®è£
äŸèµ
pip install poetry && poetry install
# é
眮ç¯å¢åé
cp .env.example .env
# å¯åšæå¡ïŒéèŠå
å¯åš RedisïŒ
./scripts/start.sh --devåè EAS éšçœ²æåïŒäžé®éšçœ²å°é¿éäº PAI-EASã
| åé | 诎æ | é»è®€åŒ |
|---|---|---|
DB_TYPE |
å
æ°æ®åºç±»åïŒsqlite / postgresql / mysql |
sqlite |
FILE_STORE_TYPE |
æä»¶ååšïŒlocal / oss |
local |
VECTOR_DB_TYPE |
åéåºïŒlocal / milvus / elasticsearch / postgresql / hologres / opensearch / tablestore |
local |
REDIS_HOST |
Redis å°å | localhost |
USE_CUDA |
æ¯åŠå¯çš GPU å é | false |
MAX_RECURSION_STEPS |
Agent æå€§æšçæ¥æ° | 20 |
ENABLE_MINERU |
å¯çš MinerU é«çº§ PDF è§£æ | false |
宿Žé 眮请åè ç¯å¢åéææ¡£ã
PAI-RAG æäŸ OpenAI å Œå®¹çæ å APIïŒ
# Chat CompletionsïŒæµåŒïŒ
curl http://localhost:8682/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "your-model",
"messages": [{"role": "user", "content": "äœ å¥œ"}],
"stream": true
}'| æ¥å£ | 诎æ | ææ¡£ |
|---|---|---|
POST /v1/chat/completions |
对è¯è¡¥å šïŒOpenAI å Œå®¹ïŒ | Chat API |
POST /v1/retrieval |
ç¥è¯åºæ£çŽ¢ïŒDify å Œå®¹ïŒ | Retrieval API |
POST /v1/embeddings |
ææ¬åéå | - |
GET/POST /v1/knowledgebases |
ç¥è¯åºç®¡ç | KB API |
POST /v1/mcp/* |
MCP å·¥å ·æå¡ | - |
- Agentic RAG äœ¿çšæåïŒä»»å¡è§å / èçœæçŽ¢ / MCP å·¥å ·è°çšïŒ
- 倿š¡æé®çïŒç¥è¯åºåŸççè§£ + éä»¶äžäŒ ïŒ
- 倿š¡æé件瀺äŸ
- ä»£ç æ²ç®±ïŒæ°æ®åæ / åŸè¡šçæïŒ
- æéæ§å¶ïŒRBAC ææ¡£çº§æéïŒ
PAI-RAG/
âââ backend/ # FastAPI å端
â âââ api/v1/ # REST API è·¯ç±
â âââ agent/ # ReAct æºèœäœåŒæ
â âââ tools/ # å
眮工å
·ïŒæ£çŽ¢/æçŽ¢/代ç /SQL/éä»¶çïŒ
â âââ rag/ # RAG 管线ïŒåç/åéå/éæåºïŒ
â âââ common/ # éçšç»ä»¶ïŒLLM 客æ·ç«¯/åéåºè¿æ¥åšïŒ
â âââ service/ # äžå¡é»èŸå±
â âââ evaluation/ # RAG è¯äŒ°æ¡æ¶
â âââ extensions/ # æ©å±ïŒå
容å®å
š/éŸè·¯è¿œèžªïŒ
âââ frontend/ # Next.js Web UI
âââ integrations/
â âââ pairag-file/ # æä»¶è§£æåºïŒ20+ æ ŒåŒïŒ
âââ docker/ # Docker Compose éšçœ²
âââ docs/ # ææ¡£
âââ alembic/ # æ°æ®åºè¿ç§»
PAI-RAG 宿¹éé矀å·ïŒ27370042974


