ไธไธช้ขๅ่ทจๅข็ตๅไธๅก็ RAG๏ผๆฃ็ดขๅขๅผบ็ๆ๏ผ็ฅ่ฏๅบ็ณป็ป๏ผไธไธบๅบๆตทไธๅกๅข้็ SOP๏ผๆ ๅๆไฝๆต็จ๏ผๆฃ็ดข่ฎพ่ฎกใ ็ซฏๅฐ็ซฏๅฏ่ท๏ผๆฌๅฐ Embedding๏ผๅฎๅ จๅ ่ดน๏ผๆ API ่ดน็จ๏ผ+ Chroma ๅ้ๅบ + Gradio Web UI + Hugging Face Space ้จ็ฝฒใ
้ข่ฏๅฎ้ฎ๏ผ"ไฝ ๅ่ฟ RAG ๅ๏ผ"
็ดๆฅ็นๅผ่ฟไธช demo๏ผhttps://huggingface.co/spaces/hhdhh/ecommerce-sop-rag
่พๅ ฅ๏ผ"ไบ้ฉฌ้ Listing ่ขซๆ่ฏ็ๆไพตๆ๏ผ็ฌฌไธๆญฅ่ฏฅๅไปไน๏ผ"
3 ็งๅ ่ฟๅ๏ผ
- โ ็ญๆก๏ผๅธฆ MiniMax ๅคงๆจกๅๆถฆ่ฒ๏ผ
- โ ๅผ็จ็ SOP ๅๆๅบๅค
- โ ็ธไผผๅบฆๅๆฐ
- โ ๆๅฑ SOP ๆๆกฃ + ็ซ ่ๅฎไฝ
- โ "ๆ็ญ"ๅ ๅบ๏ผๅฝไธญๅๆฐไฝไบ้ๅผๆถไธ็ผ้ ๏ผ
่ฟๅฐฑๆฏ JD ไธๅ็"ๅคๆๅ็ด็ตๅๅบๆฏไธ็ๅคงๆจกๅๅ็กฎ็ไธ็จณๅฎๆง"ใ
| JD ๅ่ฏ | ๆฌ้กน็ฎไฝ็ฐ |
|---|---|
| "ๆทฑๅ ฅๆ่ พ Prompt Engineering" | src/prompt.py ้ 4 ๅฅ prompt ๆจกๆฟ๏ผ็ฒพๆ / ๆ็ญ / ๅค่ทณ / ๅผ็จ |
| "RAG ๆถๆไผๅ" | ๅฌๅโ้ๆโ็ๆ ไธ้ถๆฎต๏ผๆ็ญๆบๅถ๏ผchunk ๆป็ช + ๅ ๆฐๆฎ่ฟๆปค |
| "ๅคๆๅ็ด็ตๅๅบๆฏไธ็ๅ็กฎ็ไธ็จณๅฎๆง" | 200 ๆก็ๅฎไธๅก SOP๏ผไบ้ฉฌ้ / TikTok Shop / Shopee ไพตๆ / ้ๆข่ดง / ๆต้ / ็ฉๆต๏ผ |
| "AI Native" | ๅ จ้จไปฃ็ ็ฑ Claude Code + Cursor ๅไฝๅฎๆ๏ผcommit ๅๅฒ้่ฝ็ๅฐ |
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Gradio Web UI (app.py) โ
โ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ ็จๆท้ฎ้ข โโโโโถโ Retriever โ (Chroma, top-k)โ
โ โโโโโโโโโโโโโโโโโ โโโโโโโโฌโโโโโโโโ โ
โ โ โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโ โ
โ โ Reranker โ (cross-encoder) โ
โ โโโโโโโโโโฌโโโโโโโโ โ
โ โ โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโ โ
โ โ LLM Generator โ (MiniMax-M3) โ
โ โโโโโโโโโโฌโโโโโโโโ โ
โ โ โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโ โ
โ โ ็ญๆก + ๅผ็จ โ โ
โ โโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
็ฆป็บฟ็ดขๅผๆตๆฐด็บฟ (ingest.py)๏ผ
SOP ๆๆกฃ โ ๅ็ (chunk) โ BAAI/bge-small-en-v1.5
โ Chroma ๆไน
ๅ
ไธ้ถๆฎตๆตๆฐด็บฟ๏ผ
- ๅฌๅ๏ผRecall๏ผ๏ผtop-20 ๅ้
- ้ๆ๏ผRerank๏ผ๏ผcross-encoder ็ฒพๆๅฐ top-5
- ็ๆ๏ผGeneration๏ผ๏ผMiniMax ๆผ่ฃ prompt โ ่พๅบ็ญๆก + ๅผ็จ
ๆ็ญๆบๅถ๏ผtop-1 ็ธไผผๅบฆ < 0.45 ๆถ็ดๆฅ่ฟๅ"็ฅ่ฏๅบๆ ็ธๅ ณไฟกๆฏ"๏ผไธ็ผ้ ใ
git clone https://github.com/hhdhh/ecommerce-sop-rag.git
cd ecommerce-sop-rag
pip install -r requirements.txt
# 1. ็ๅบ๏ผ้ฆๆฌกๅฟ
้กป๏ผไผไธ่ฝฝ BGE embedding ๆจกๅ ~30MB๏ผ
python -m src.ingest
# 2. ๅฏๅจ Web UI
python -m src.app
# โ http://localhost:7860MiniMax key ่ฎพ็ฝฎ๏ผๅฏ้๏ผไธ้ ็่ฏไผ็จๆฌๅฐ BGE ็ๆ็็ญๆกๆจกๆฟ๏ผ๏ผ
export MINIMAX_API_KEY="sk-cp-..."ecommerce-sop-rag/
โโโ src/
โ โโโ app.py # Gradio Web UI ๅ
ฅๅฃ
โ โโโ ingest.py # SOP ๆๆกฃ โ Chroma ็ๅบๆตๆฐด็บฟ
โ โโโ retriever.py # ๅฌๅ + ้ๆ
โ โโโ generator.py # LLM ็ญๆก็ๆ
โ โโโ prompt.py # 4 ๅฅ prompt ๆจกๆฟ
โ โโโ config.py # ้
็ฝฎ๏ผๆจกๅๅ / top-k / ๆ็ญ้ๅผ๏ผ
โโโ data/
โ โโโ sops/ # 200 ๆก SOP ๅๅง markdown
โ โโโ chroma/ # ๆไน
ๅๅ้ๅบ๏ผ่ชๅจ็ๆ๏ผ
โโโ docs/
โ โโโ architecture.md # ๆถๆ่ฏฆ่งฃ
โ โโโ evaluation.md # ่ฏๆต็ปๆ๏ผhit@5, MRR, ๆ็ญๅ็กฎ็๏ผ
โ โโโ sop-coverage.md # 200 ๆก SOP ่ฆ็็ไธๅกๅบๆฏ
โโโ assets/
โ โโโ demo.png
โ โโโ architecture.svg
โโโ tests/
โ โโโ test_retriever.py
โ โโโ test_evaluator.py
โ โโโ test_pipeline.py
โโโ .github/workflows/
โ โโโ ci.yml # pytest + ruff
โโโ requirements.txt
โโโ README.md
โโโ LICENSE
ๆๅจ data/eval/qa_pairs.jsonl ๅๅคไบ 50 ไธช็ๅฎไธๅก้ฎ้ข๏ผไบบๆๅ๏ผ๏ผ่ฆ็ไบๅคงไธๅก็บฟใ่ฟ่ก๏ผ
python -m src.evaluator| ๆๆ | ๆฐๅผ | ๅคๆณจ |
|---|---|---|
| Hit@5 | 0.92 | ็ญๆก็ธๅ ณ chunk ่ฟ top-5 ็ๆฏ็ |
| MRR | 0.78 | ้ฆไธช็ธๅ ณ chunk ๆๅ็ๅๆฐๅนณๅ |
| ๆ็ญๅ็กฎ็ | 0.95 | ๆ ๅ ณ้ฎ้ข่ขซๆญฃ็กฎๆ็ญ็ๆฏ็ |
| ็ซฏๅฐ็ซฏๅปถ่ฟ | 1.2s p50 / 2.4s p95 | M2 MacBook ๅฎๆต |
่ฏฆ่ง docs/evaluation.mdใ
- Embedding๏ผ
BAAI/bge-small-en-v1.5๏ผๆฌๅฐๆจ็๏ผ้ถ API ๆๆฌ๏ผ - Reranker๏ผ
cross-encoder/ms-marco-MiniLM-L-6-v2๏ผๆฌๅฐๆจ็๏ผ - Vector DB๏ผChroma๏ผๅตๅ ฅๅผ๏ผ้ถ้ ็ฝฎ๏ผ
- LLM๏ผMiniMax-M3๏ผ
openaiSDK ๅ ผๅฎนๆจกๅผ๏ผ้ ็ฝฎ base_url ๅณๅฏ๏ผ - Web UI๏ผGradio 4.x
- ้จ็ฝฒ๏ผHugging Face Spaces๏ผgradio SDK๏ผๅ ่ดนๅฑ๏ผ
MIT
