Skip to content

hhdhh/ecommerce-sop-rag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ›’ Ecommerce SOP RAG Assistant

ไธ€ไธช้ขๅ‘่ทจๅขƒ็”ตๅ•†ไธšๅŠก็š„ RAG๏ผˆๆฃ€็ดขๅขžๅผบ็”Ÿๆˆ๏ผ‰็Ÿฅ่ฏ†ๅบ“็ณป็ปŸ๏ผŒไธ“ไธบๅ‡บๆตทไธšๅŠกๅ›ข้˜Ÿ็š„ SOP๏ผˆๆ ‡ๅ‡†ๆ“ไฝœๆต็จ‹๏ผ‰ๆฃ€็ดข่ฎพ่ฎกใ€‚ ็ซฏๅˆฐ็ซฏๅฏ่ท‘๏ผšๆœฌๅœฐ Embedding๏ผˆๅฎŒๅ…จๅ…่ดน๏ผŒๆ—  API ่ดน็”จ๏ผ‰+ Chroma ๅ‘้‡ๅบ“ + Gradio Web UI + Hugging Face Space ้ƒจ็ฝฒใ€‚

demo


โœจ ่ฟ™ไธช้กน็›ฎๆ˜ฏไป€ไนˆ

้ข่ฏ•ๅฎ˜้—ฎ๏ผš"ไฝ ๅš่ฟ‡ RAG ๅ—๏ผŸ"

็›ดๆŽฅ็‚นๅผ€่ฟ™ไธช demo๏ผšhttps://huggingface.co/spaces/hhdhh/ecommerce-sop-rag

่พ“ๅ…ฅ๏ผš"ไบš้ฉฌ้€Š Listing ่ขซๆŠ•่ฏ‰็‰ˆๆƒไพตๆƒ๏ผŒ็ฌฌไธ€ๆญฅ่ฏฅๅšไป€ไนˆ๏ผŸ"

3 ็ง’ๅ†…่ฟ”ๅ›ž๏ผš

  • โœ… ็ญ”ๆกˆ๏ผˆๅธฆ MiniMax ๅคงๆจกๅž‹ๆถฆ่‰ฒ๏ผ‰
  • โœ… ๅผ•็”จ็š„ SOP ๅŽŸๆ–‡ๅ‡บๅค„
  • โœ… ็›ธไผผๅบฆๅˆ†ๆ•ฐ
  • โœ… ๆ‰€ๅฑž SOP ๆ–‡ๆกฃ + ็ซ ่Š‚ๅฎšไฝ
  • โœ… "ๆ‹’็ญ”"ๅ…œๅบ•๏ผˆๅ‘ฝไธญๅˆ†ๆ•ฐไฝŽไบŽ้˜ˆๅ€ผๆ—ถไธ็ผ–้€ ๏ผ‰

่ฟ™ๅฐฑๆ˜ฏ JD ไธŠๅ†™็š„"ๅคๆ‚ๅž‚็›ด็”ตๅ•†ๅœบๆ™ฏไธ‹็š„ๅคงๆจกๅž‹ๅ‡†็กฎ็އไธŽ็จณๅฎšๆ€ง"ใ€‚


๐ŸŽฏ ๅฏนๅบ” 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 ๆŒไน…ๅŒ–

ไธ‰้˜ถๆฎตๆตๆฐด็บฟ๏ผš

  1. ๅฌๅ›ž๏ผˆRecall๏ผ‰๏ผštop-20 ๅ€™้€‰
  2. ้‡ๆŽ’๏ผˆRerank๏ผ‰๏ผšcross-encoder ็ฒพๆŽ’ๅˆฐ top-5
  3. ็”Ÿๆˆ๏ผˆGeneration๏ผ‰๏ผšMiniMax ๆ‹ผ่ฃ… prompt โ†’ ่พ“ๅ‡บ็ญ”ๆกˆ + ๅผ•็”จ

ๆ‹’็ญ”ๆœบๅˆถ๏ผštop-1 ็›ธไผผๅบฆ < 0.45 ๆ—ถ็›ดๆŽฅ่ฟ”ๅ›ž"็Ÿฅ่ฏ†ๅบ“ๆ— ็›ธๅ…ณไฟกๆฏ"๏ผŒไธ็ผ–้€ ใ€‚


๐Ÿš€ ๆœฌๅœฐ 30 ็ง’่ท‘่ตทๆฅ

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:7860

MiniMax 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๏ผˆopenai SDK ๅ…ผๅฎนๆจกๅผ๏ผŒ้…็ฝฎ base_url ๅณๅฏ๏ผ‰
  • Web UI๏ผšGradio 4.x
  • ้ƒจ็ฝฒ๏ผšHugging Face Spaces๏ผˆgradio SDK๏ผŒๅ…่ดนๅฑ‚๏ผ‰

๐Ÿ“ License

MIT

About

๐Ÿ›’ ่ทจๅขƒ็”ตๅ•† SOP RAG ๅŠฉๆ‰‹๏ผš200+ ไธšๅŠก SOP ยท BM25 ๅฌๅ›ž ยท ๆ‹’็ญ”ๆœบๅˆถ ยท MiniMax-M3 LLM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages