Rag4jzdq
MCP server: Rag4jzdq
Installation
npx rag4jzdqAsk AI about Rag4jzdq
Powered by Claude ยท Grounded in docs
I know everything about Rag4jzdq. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
ไนๆดฒ RAG ็ฎก็ๅนณๅฐ
ๆจกๅๅ RAG๏ผๆฃ็ดขๅขๅผบ็ๆ๏ผ็ฅ่ฏ็ฎก็ๅนณๅฐ๏ผๆฏๆๅคๆ ผๅผๆๆกฃๆๅใๆททๅๆฃ็ดขใๆบ่ฝ้ฎ็ญ๏ผๅนถ้่ฟ MCP ๅ่ฎฎๅฏนๅคๆด้ฒๆ ๅๅๅทฅๅ ทๆฅๅฃใ
๐ ็จณๅฎ็ๆฌ v1.0 โ ๅผ็ฎฑๅณ็จ๏ผๅคๅถ .env.example ไธบ .env ๅนถๅกซๅ
ฅไฝ ็ API Key ๅณๅฏไฝฟ็จ๏ผ
๐ ็ฎๅฝ
- ้กน็ฎๆฆ่ฟฐ
- ็ณป็ปๆถๆ
- ๆ ธๅฟๅ่ฝ
- ๅฟซ้ๅผๅง
- ้ ็ฝฎ่ฏดๆ
- Web ็้ขไฝฟ็จๆๅ
- MCP ้ๆ
- ้กน็ฎ็ปๆ
- ๅผๅๆๅ
๐๏ธ ้กน็ฎๆฆ่ฟฐ
ไนๆดฒ RAG ็ฎก็ๅนณๅฐๆฏไธไธช้ขๅไผไธ็บง็ฅ่ฏ็ฎก็ๅบๆฏ็ๆฃ็ดขๅขๅผบ็ๆ็ณป็ป๏ผๆไพไปๆๆกฃๆๅใๅ้ๅใๆททๅๆฃ็ดขๅฐๆบ่ฝ้ฎ็ญ็ๅฎๆด้พ่ทฏใ็ณป็ป้็จๅ จ้พ่ทฏๅฏๆๆๆถๆ๏ผๆฏๆๅค็ง LLM / Embedding / VectorStore Provider ไธ้ฎๅๆขใ
ๆๆฏๆ
| ็ปไปถ | ๆๆฏ้ๅ |
|---|---|
| ๅ็ซฏ | FastAPI + Uvicorn |
| ๅ็ซฏ | Vue 3 + Vite + TypeScript + Element Plus + TailwindCSS |
| LLM | DashScope (qwen-plus) / OpenAI / Azure / DeepSeek / Ollama |
| Embedding | DashScope (text-embedding-v3) / OpenAI / Azure / Ollama |
| Vision LLM | DashScope (qwen-vl-plus) / OpenAI / Azure๏ผๅพ็ๆ่ฟฐ็ๆ๏ผ |
| ๅ้ๆฐๆฎๅบ | ChromaDB๏ผๆฌๅฐๆไน ๅ๏ผWAL ๆจกๅผ๏ผ |
| ็จ็ๆฃ็ดข | Tantivy ้ซๆง่ฝๆๆฌ็ดขๅผๅบๅบง๏ผๆฟไปฃไผ ็ป BM25๏ผ |
| ้ๆๅบ | BGE-Reranker๏ผๆฌๅฐ Cross-Encoder๏ผ/ LLM Rerank |
| ๅผๆญฅ้ๅ | Redis / Memory Queue๏ผๆตท้ๆๆกฃๅๅ็ผๅฒๅฑ๏ผ |
| ๆๆกฃ่งฃๆ | MarkItDown + LayoutPDF๏ผOCR๏ผ+ python-pptx |
| MCP ๅ่ฎฎ | ๅฎๆน Python MCP SDK๏ผstdio ไผ ่พ๏ผ |
| ้ ็ฝฎ็ฎก็ | YAML + .env ็ฏๅขๅ้ |
| ๆต่ฏ | pytest๏ผไธๅฑๆต่ฏไฝ็ณป๏ผ |
๐๏ธ ็ณป็ปๆถๆ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Vue 3 Web Dashboard (ๆ้ปๆฏ็ป็้ฃๆ ผ) โ
โ ็ฅ่ฏๅบ้ฎ็ญ โ ็ฅ่ฏๅบๆๅปบ โ ๆฐๆฎๆต่ง โ ็ณป็ป้
็ฝฎ โ ่ฏไผฐ้ขๆฟ โ
โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ HTTP / SSE
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ FastAPI Backend (Port 8001) โ
โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Core Layer โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โ โ QueryEngine โ โ Settings โ โ TraceContext โ โ
โ โ HybridSearchโ โ (YAML) โ โ (ๅฏ่งๆตๆง) โ โ
โ โ Dense+Sparseโ โ โ โ โ โ
โ โ RRF Fusion โ โ โ โ โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Ingestion Pipeline โ
โ Integrity โ Load โ Chunk โ Transform โ Encode โ Store โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ChunkRefiner โ MetadataEnricher โ ImageCaptioner โ โ
โ โโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Libs Layer (ๅฏๆๆ) โ
โ โโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโ โ
โ โ LLM โ โ Embedding โ โ Loader โ โVectorStoreโ โRerankerโ โ
โ โ โ โ โ โ โ โ โ โ โ โ
โ โOpenAIโ โ OpenAI โ โ PDF โ โ Chroma โ โCross- โ โ
โ โAzure โ โ Azure โ โ PPTX โ โ โ โEncoderโ โ
โ โOllamaโ โ Ollama โ โ DOCX โ โ โ โ LLM โ โ
โ โโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MCP Server (stdio) โ
โ query_knowledge_hub โ list_collections โ get_document_summaryโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ง ๆ ธๅฟๅ่ฝ
ๆๆกฃๆๅ็ฎก้๏ผIngestion Pipeline๏ผ
ๅบไบๆถๆฏ้ๅ๏ผRedis/Memory๏ผ็ๅๅๅผๅผๆญฅๆๅๆต็จ๏ผ
- ๅๅธๅผๆ้ โ ๅบไบๅผๆญฅ้ๅๆบๅถ็ฎก็ๆๅไปปๅก๏ผๆๅ็ณป็ป็ๅนถๅๆฟ่ฝฝ็จณๅฎๆงใ
- ๆไปถๅฎๆดๆงๆฃๆฅ โ SHA256 ๅๅธๅป้๏ผ็ธๅๆไปถๆ ็ผ็ๆญใ
- ๆๆกฃๅ ่ฝฝ โ ๆฏๆ PDF / PPTX / DOCX / MD / TXT๏ผ่ชๅจๆๅๆตๅผๅพๆๅ ๅฎนใ
- ๆบ่ฝๅๅไธๅ ๅฎนๅขๅผบ โ ้ๅฝๆๆฌๅๅฒ๏ผๅนถๅผๅ ฅ Chunk ็ฒพ็ผใๅ ๆฐๆฎๅขๅผบไธ Vision LLM ๅพ็ๆ่ฟฐ่กฅๅ ใ
- ๅผๆญฅๅ้ๅ โ Dense Embedding + Sparse Tantivy ้ซๆง่ฝ็ผ็ ๅค็ใ
- ๅ่ทฏ่ฝ็ๅญๅจ โ ChromaDB ๆไน ๅๅ้็ฉบ้ด + Tantivy ๆฌๅฐๅๅๆ็ดขๅผๅๅนถ่ฝ็ใ
ๆททๅๆฃ็ดขๅผๆ๏ผHybrid Search๏ผ
- Dense Retrieval โ ่ฏญไนๅ้็ธไผผๅบฆๆฃ็ดขใ
- Sparse Retrieval โ Tantivy ้ซๆๅๆๆฃ็ดขไฝ็ณป๏ผๆไพไบฟ็บงๆฐๆฎไธๆฏซ็ง็บง็ๅ ณ้ฎ่ฏ็ฒพ็กฎๅฌๅๅๅบใ
- RRF Fusion โ Reciprocal Rank Fusion ๅๅนถๅ่ทฏๅฌๅ็ปๆใ
- ๅฏ้ Rerank โ Cross-Encoder / LLM ้ๆๅบๅฎๆๆๅไธๅ ฌ้็ฒพๆใ
๐ค ่ชๅจๅๅทฅไฝๆตไธ AI Agent (Antigravity & ECC)
ๆฌๅนณๅฐไธไป ๆฅๆๅฎๅ็ไธๅกๅ่ฝ๏ผๆดๅ ็ฝฎไบไปฅ AI ่ชๅจๅๅๅ่ง่ ไธบๆ ธๅฟ็โ่ชๆผ่ฟๅทฅไฝๆตโ๏ผๅ จ้ขๆฅๅ ฅไบ่ทจ้กน็ฎ Agent ๅบๅบง๏ผ
- 6A ๅทฅ็จๅไฝๅๆง (6A Workflow)๏ผ่ดฏๅฝป่ฝๅฎ Align -> Architect -> Atomize -> Approve -> Automate -> Assess ็ๆบ่ฝ็ๆไธไปฃ็ ๆต่ฝฌๆบๅถใๆๆๆๆฏๆนๆกๆๆกฃๅ๏ผไบ
docs/่ฟ่กๅ จ็ๅฝๅจๆ่ฟฝๆบฏใ - ็ฝๅๅ่ฝๅๅฑๆ่ฝฝ (.agents/skills)๏ผๅ
็ฝฎ้กน็ฎ็บง็งๆ่ฝๅๅบ๏ผ่ญฌๅฆ
qa-tester่ชๅจๅๆต่ฏ้ญ็ฏ,search-firstๅทฅ็จๅๆๆฅ็ญ็ฅ๏ผไปฅๅpython-patterns่ฏญๆณๅบ็บฟ๏ผ๏ผ็กฎไฟๆ็ปญๅทฅ็จ่ฟญไปฃไธญ็ไปฃ็ ่ดจ้ๅฎๅ จไธๅฃๅ็่ณๅๅ่ต่ฝไบบ็ฑปใ
็ฅ่ฏๅบ้ฎ็ญ
- ๆตๅผ่พๅบ โ LLM ๅ็ญๅฎๆถ้ token ๆพ็คบ
- ไธไธๆๆงๅถ โ ่ชๅจๆชๆญๆฃ็ดขไธไธๆ๏ผ้ฒๆญข่ถ ๆถ
- ๅค่ฝฎ็ปญๅ โ ็ญๆกๆชๆญๆถ่ชๅจ็ปญๅ
- ๆไปถไธไผ โ ๆฏๆไธไผ ๆๆกฃไธ็ฅ่ฏๅบ่ๅ้ฎ็ญ
- ๅพ่กจ็ๆ โ ่ชๅจๆธฒๆ Mermaid ๆต็จๅพ + ๆฐๆฎๅพ่กจ
- ๅๅฒๆไน ๅ โ SQLite ๅญๅจ้ฎ็ญๅๅฒ๏ผๆฏๆๆธ ็ฉบ
MCP ๅ่ฎฎๆๅก
้่ฟๆ ๅ MCP ๅ่ฎฎๆด้ฒ 3 ไธชๅทฅๅ ท๏ผๅฏๅฏนๆฅ GitHub Copilot / Claude Desktop ็ญ AI ๅฉๆ๏ผ
| ๅทฅๅ ท | ่ฏดๆ |
|---|---|
query_knowledge_hub | ๆททๅๆฃ็ดข็ฅ่ฏๅบๅนถ่ฟๅ็ธๅ ณๆๆกฃ็ๆฎต |
list_collections | ๅๅบๆๆๅทฒๅปบ้ๅๅ็ป่ฎกไฟกๆฏ |
get_document_summary | ่ทๅๆๅฎๆๆกฃ็ๆ่ฆๅๅ ๆฐๆฎ |
ๅฏ่งๆตๆง
- ๅ จ้พ่ทฏ่ฟฝ่ธช โ Ingestion ๅ Query ๆฏไธช้ถๆฎต็ไธญ้ด็ถๆ้ๆๅฏ่ง
- ็ปๆๅๆฅๅฟ โ JSON Lines ๆ ผๅผ๏ผAPI Key ่ชๅจ่ฑๆ
- Dashboard 8 ้กต้ข โ ็ณป็ปๆป่ง / ็ฅ่ฏๅบ้ฎ็ญ / ็ฅ่ฏๅบๆๅปบ / ๆฐๆฎๆต่ง / ๆๅ็ฎก็ / ๆๅ่ฟฝ่ธช / ๆฅ่ฏข่ฟฝ่ธช / ่ฏไผฐ้ขๆฟ
๐ ๅฟซ้ๅผๅง
1. ็ฏๅข่ฆๆฑ
- Python 3.10+
- Node.js 18+๏ผๅ็ซฏๆๅปบ๏ผ
- DashScope API Key๏ผ็ณ่ฏทๅฐๅ๏ผ
2. ไธ้ฎๅฎ่ฃ
git clone <repo-url>
cd RAG
# Windows
setup.bat
# Linux / Mac
chmod +x setup.sh && ./setup.sh
ๅฎ่ฃ ่ๆฌไผ่ชๅจๅฎๆ๏ผๅๅปบ่ๆ็ฏๅข โ ๅฎ่ฃ ไพ่ต โ ็ๆ้ ็ฝฎๆไปถ โ ๆๅปบๅ็ซฏใ
้ฆๆฌกๅฎ่ฃ ๅ๏ผๅคๅถ
.env.exampleไธบ.env๏ผๅนถๅกซๅ ฅไฝ ็ DashScope / Embedding API Keyใcp .env.example .env # ็ผ่พ .env ๆไปถ๏ผๅกซๅ ฅไฝ ็ API Keyโ ๅฎๅ จๆ็คบ๏ผ
.envๆไปถๅทฒ่ขซ.gitignoreๆ้ค๏ผๅๅฟๅฐๅซๆ็ๅฎๅฏ้ฅ็.envๆไบคๅฐ Gitใ
OCR ๅ่ฝ๏ผๅฏ้๏ผ้้ขๅคๅฎ่ฃ Tesseract๏ผๅฎ่ฃ ๆถๅพ้ไธญๆ่ฏญ่จๅ ๏ผใ
3. ๅฏๅจๅนณๅฐ
# ็ไบงๆจกๅผ๏ผๆจ่๏ผ้ๅ
cd web && npm run build๏ผ
start_vue.bat # Windows
./start_vue.sh # Linux / Mac
# ่ฎฟ้ฎ http://localhost:8000
# ๅผๅๆจกๅผ๏ผๅๅ็ซฏๅ็ฆป๏ผ
# ๅ็ซฏ: python -m uvicorn api.main:app --port 8001
# ๅ็ซฏ: cd web && npm run dev
# ่ฎฟ้ฎ http://localhost:5173
4. ไฝฟ็จ MCP Server๏ผๅฏ้๏ผ
python src/mcp_server/server.py
ๅฏๅฏนๆฅ VS Code Copilot / Claude Desktop ็ญ AI ๅฉๆใ
5. Docker ้จ็ฝฒ๏ผๅฏ้๏ผ
# 1. ๅๅค้
็ฝฎ
cp .env.example .env # ็ผ่พ .env ๅกซๅ
ฅ API Key
cp config/settings.yaml.example config/settings.yaml # ๆ้ไฟฎๆน้
็ฝฎ
# 2. ไธ้ฎๅฏๅจ
docker compose up -d
# 3. ่ฎฟ้ฎ
# http://localhost:8000
ๆฐๆฎๆไน ๅ๏ผ
./data/็ฎๅฝ้่ฟ volume ่ชๅจๆ่ฝฝ๏ผๅฎนๅจ้ๅปบไธไธขๆฐๆฎใ ่ชๅฎไน็ซฏๅฃ๏ผไฟฎๆน.envไธญ็RAG_PORT=8000ๅณๅฏใ
็ฆป็บฟ้จ็ฝฒ๏ผ้ขๆๅปบ้ๅ๏ผ
ๅฆๆ็ฎๆ ็ฏๅขๆ ๆณ่็ฝๆง่ก docker build๏ผๅฏๅจๆ็ฝ็ป็ๆบๅจไธ้ขๆๅปบ้ๅๅๅฏผๅบ๏ผ
# ๆ็ฝ็ฏๅข๏ผๆๅปบๅนถๅฏผๅบ้ๅ
docker compose build
docker save jiuzhou-rag:latest | gzip > jiuzhou-rag.tar.gz
# ็ฆป็บฟ็ฏๅข๏ผๅ ่ฝฝ้ๅๅนถๅฏๅจ
docker load < jiuzhou-rag.tar.gz
docker compose up -d
โ๏ธ ้ ็ฝฎ่ฏดๆ
ๆๆ้
็ฝฎ้ไธญๅจ config/settings.yaml๏ผAPI Key ้่ฟ .env ๆไปถ็ฎก็ใ
API Key ไผๅ ็บง
settings.yamlไธญ็ๆพๅผๅผ๏ผ้็ฉบๆถไฝฟ็จ๏ผ.envๆไปถไธญ็DASHSCOPE_API_KEY- ็ณป็ป็ฏๅขๅ้
OPENAI_API_KEY
ๅ ณ้ฎ้ ็ฝฎ้กน
llm:
provider: "openai" # Provider: openai / azure / ollama / deepseek
model: "qwen-plus" # ๆจกๅๅ็งฐ
base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
embedding:
provider: "openai"
model: "text-embedding-v3"
dimensions: 1024
vector_store:
provider: "chroma"
persist_directory: "./data/db/chroma"
collection_name: "default"
retrieval:
dense_top_k: 20 # Dense ๆฃ็ดข่ฟๅๆฐ้
sparse_top_k: 20 # BM25 ๆฃ็ดข่ฟๅๆฐ้
fusion_top_k: 10 # RRF ่ๅๅๆ็ป่ฟๅๆฐ้
ingestion:
chunk_size: 1000 # ๅๅๅคงๅฐ๏ผๅญ็ฌฆ๏ผ
chunk_overlap: 200 # ๅๅ้ๅ ๏ผๅญ็ฌฆ๏ผ
๐ Web ็้ขไฝฟ็จๆๅ
็ฅ่ฏๅบ้ฎ็ญ
- ่ฟๅ ฅ ็ฅ่ฏๅบ้ฎ็ญ ้กต้ข
- ่พๅ ฅ้ฎ้ข๏ผ็ณป็ป่ชๅจๆฃ็ดข็ฅ่ฏๅบๅนถๆตๅผ็ๆๅ็ญ
- ๆฏๆ Mermaid ๆต็จๅพ่ชๅจๆธฒๆ
- ๅณไพงๆพ็คบๆฃ็ดขๆฅๆบๅ็ธๅ ณๅพ็
- ๅๅฒ่ฎฐๅฝ่ชๅจๆไน ๅ
็ฅ่ฏๅบๆๅปบ
- ่ฟๅ ฅ ็ฅ่ฏๅบๆๅปบ ้กต้ข
- ่พๅ ฅ็ฅ่ฏๅบๆไปถๅคน่ทฏๅพ๏ผ็นๅป ๆซๆ
- ็กฎ่ฎคๆไปถๅ่กจๅ็นๅป ๅผๅงๆๅปบ
- ๅฎๆถๆฅ็ๆๅ่ฟๅบฆ๏ผๆฏๆๆญ็บฟ้่ฟ๏ผๅๆข้กต้ขไธไธขๅคฑ่ฟๅบฆ๏ผ
- ๆฏๆ ๅๆญข ๆ้ฎๅฎๅ จไธญๆญ
ๆฐๆฎๆต่ง
- ๆฅ็ๅทฒๆๅๆๆกฃๅ่กจ
- ๆฏๆๆ้ๅ็ญ้
- ๅฏๅ ้คๅไธชๆๆกฃ
็ณป็ป้ ็ฝฎ
- ๅจ็บฟไฟฎๆน LLM / Embedding / ๆฃ็ดขๅๆฐ
- ๆ ้้ๅฏๅณๅฏ็ๆ
ๅฎๅ จๅ ณ้ญ
- ๆๅ่ฟ็จไธญๅฏ็นๅป ๅๆญข ๆ้ฎๅฎๅ จๅๆญข
- ็ณป็ปๆณจๅไบ
atexitไผ้ ๅ ณ้ญ๏ผCtrl+C ๆถ่ชๅจๆง่ก WAL checkpoint - ้ฟๅ ๅจๅญๅจ้ถๆฎตๅผบๅถ็ปๆญข่ฟ็จ
๐ก MCP ้ๆ
VS Code (GitHub Copilot)
ๅจ .vscode/mcp.json ไธญ้
็ฝฎ๏ผ
{
"servers": {
"rag-server": {
"command": "python",
"args": ["src/mcp_server/server.py"],
"cwd": "<้กน็ฎ่ทฏๅพ>"
}
}
}
Claude Desktop
ๅจ claude_desktop_config.json ไธญๆทปๅ ๏ผ
{
"mcpServers": {
"rag-server": {
"command": "python",
"args": ["<้กน็ฎ่ทฏๅพ>/src/mcp_server/server.py"]
}
}
}
๐ ้กน็ฎ็ปๆ
โโโ api/ # FastAPI ๅ็ซฏ
โ โโโ main.py # ๅบ็จๅ
ฅๅฃ
โ โโโ routers/ # API ่ทฏ็ฑ (chat, ingest, knowledge, config)
โ โโโ models.py # ่ฏทๆฑ/ๅๅบๆจกๅ
โ โโโ deps.py # ไพ่ตๆณจๅ
ฅ
โโโ web/ # Vue 3 ๅ็ซฏ
โ โโโ src/
โ โ โโโ views/ # ้กต้ข็ปไปถ (ChatView, KnowledgeBase, etc.)
โ โ โโโ composables/ # ็ปๅๅผๅฝๆฐ (useSSE, useApi)
โ โ โโโ stores/ # Pinia ็ถๆ็ฎก็
โ โโโ dist/ # ๆๅปบไบง็ฉ๏ผ็ไบงๆจกๅผ๏ผ
โ โโโ package.json
โโโ config/
โ โโโ settings.yaml # ่ฟ่ก้
็ฝฎ
โโโ .agents/ # ๐ค ๅญๆพ Agent ็ฝๅๅไธๅฑ่ฝๅๅบ (ECC/Skills)
โโโ src/
โ โโโ core/ # ๆ ธๅฟๅฑ
โ โ โโโ types.py # ๅ
จๅฑๆฐๆฎๅฅ็บฆ
โ โ โโโ settings.py # ้
็ฝฎๅ ่ฝฝ
โ โ โโโ query_engine/ # Dense / Sparse Tantivy ๆททๅๆฃ็ดข
โ โโโ ingestion/ # ๆๅ็ฎก้
โ โ โโโ pipeline.py # ้ๅ็ผๆๅจ
โ โ โโโ queue/ # ๆถๆฏ็ผๅฒ้ๅๆฑ (Memory/Redis)
โ โ โโโ chunking/ # Doc ๅๅๆ่งฃ
โ โ โโโ embedding/ # Dense + Sparse Tantivy ็ผ็
โ โ โโโ storage/ # ChromaDB + Tantivy ่ฝ็
โ โ โโโ transform/ # ๅ
ๅฎน็ฒพ็ผไธๅขๅผบ
โ โโโ libs/ # ๅฏๆๆ Provider ๅฑ
โ โ โโโ llm/ # LLM ๅทฅๅ
โ โ โโโ embedding/ # Embedding ๅทฅๅ
โ โ โโโ loader/ # ๆๆกฃๅ ่ฝฝๅจ
โ โ โโโ vector_store/ # ๅ้ๅญๅจ
โ โ โโโ reranker/ # ้ๆๅบๅจ
โ โโโ mcp_server/ # MCP ๅ่ฎฎๆๅก
โโโ tests/ # ไธๅฑๆต่ฏไฝ็ณป
โโโ data/ # ่ฟ่กๆถๆฐๆฎ๏ผgitignore๏ผ
โ โโโ db/ # ChromaDB + BM25 ็ดขๅผ
โ โโโ images/ # ๆๅ็ๆๆกฃๅพ็
โโโ .env # API Key๏ผๅทฒๅ
็ฝฎ๏ผ
โโโ start_vue.bat # Windows ไธ้ฎๅฏๅจ
โโโ pyproject.toml # ้กน็ฎ้
็ฝฎ
๐ ๏ธ ๅผๅๆๅ
ๆถๆ่ฎพ่ฎกๅๅ
- Config-Driven โ ๆๆ็ปไปถ้่ฟ
settings.yaml้ ็ฝฎ๏ผ้ถไปฃ็ ๅๆข Provider - Factory Pattern โ LLM / Embedding / Loader / VectorStore / Reranker ็ปไธๅทฅๅๅๅปบ
- Graceful Degradation โ LLM ่ฐ็จๅคฑ่ดฅ่ชๅจ้็บงๅฐ่งๅๅผๆ๏ผไธ้ปๅก็ฎก้
- Observable โ TraceContext ่ดฏ็ฉฟๅ จ้พ่ทฏ๏ผๆฏไธช Stage ่ฎฐๅฝ่ๆถๅ่ฏฆ็ปๆฐๆฎ
ๆทปๅ ๆฐ Provider
ไปฅๆทปๅ ๆฐ LLM Provider ไธบไพ๏ผ
- ็ปงๆฟ
src/libs/llm/base_llm.py::BaseLLM - ๅฎ็ฐ
chat()ๅๅฏ้็chat_stream()ๆนๆณ - ๅจ
LLMFactoryไธญๆณจๅ Provider - ๅจ
settings.yamlไธญ้ ็ฝฎ
่ฟ่กๆต่ฏ
# ๅ
จ้ๆต่ฏ
pytest tests/ -v
# ไป
ๅๅ
ๆต่ฏ
pytest tests/unit/ -v
# ่ทณ่ฟ้่ฆ API ็ๆต่ฏ
pytest tests/ -v -m "not llm"
ๆฐๆฎๅฎๅ จ
- API Key ๅญๅจๅจ
.envๆไปถ๏ผ้่ฟ.gitignoreๆ้ค - ๆฅๅฟ็ณป็ปๅ
็ฝฎ
_SecretFilter๏ผ่ชๅจ่ฑๆ API Key ๅ Bearer Token LoaderFactoryๅ ็ฝฎ่ทฏๅพ้ๅ้ฒๆค- SQLite ๅ จ้จไฝฟ็จๅๆฐๅๆฅ่ฏข๏ผ้ฒๆญข SQL ๆณจๅ ฅ
- ChromaDB ๅฏ็จ WAL ๆจกๅผ +
atexitไผ้ ๅ ณ้ญ๏ผ้ฒๆญข็ดขๅผๆๅ
๐ License
MIT License
