Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

116 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

AscendC Operator Knowledge Base

ๆ˜‡่…พAscendC็ฎ—ๅญ็Ÿฅ่ฏ†ๅบ“ - ไธบCoding Agentๆไพ›ๆ˜‡่…พNPU็ฎ—ๅญๅผ€ๅ‘็Ÿฅ่ฏ†ๆ”ฏๆŒ

License


้กน็›ฎๆฆ‚่ฟฐ

AscendC Operator Knowledge Base (asc_ops) ๆ˜ฏไธ€ไธช้ขๅ‘Coding Agent็š„ๆ˜‡่…พAscendC็ฎ—ๅญ็Ÿฅ่ฏ†ๆฃ€็ดข็ณป็ปŸใ€‚

ๆ ธๅฟƒไปทๅ€ผ

  • ๅผ€ๅ‘ๅ‚่€ƒ: Agentๅผ€ๅ‘ๆ–ฐๆ˜‡่…พ็ฎ—ๅญๆ—ถ๏ผŒๅฏๆŸฅ่ฏขAPIไฝฟ็”จๆกˆไพ‹ใ€ไผ˜ๅŒ–ๆ–นๆกˆใ€ๅކๅฒbugไฟฎๅค็ป้ชŒ
  • ้—ฎ้ข˜ๆŽ’ๆŸฅ: Agent้‡ๅˆฐๆ˜‡่…พ็ฎ—ๅญ้—ฎ้ข˜ๆ—ถ๏ผŒๅฏๆœ็ดข็›ธไผผ้—ฎ้ข˜็š„่งฃๅ†ณๆ–นๆกˆ
  • ่ทจๅนณๅฐ้€‚้…: Agentๅฏๅฐ†GPU็ฎ—ๅญๅฎž็Žฐ่ฟ็งปๅˆฐๆ˜‡่…พNPUๆ—ถ๏ผŒๅ‚่€ƒGPUๅฎž็Žฐ็Ÿฅ่ฏ†ๅ’ŒAPIๆ˜ ๅฐ„

ๆ ธๅฟƒๅŠŸ่ƒฝ

ๅŠŸ่ƒฝ ่ฏดๆ˜Ž
AscendC API็Ÿฅ่ฏ†ๅบ“ 1120 ๅฎ˜ๆ–นAPI๏ผŒ100% nav_path่ฆ†็›–๏ผŒ่ฆ†็›–Vec/Matmul/Tensor็ญ‰ๆ ธๅฟƒๆŽฅๅฃ
NPU็ฎ—ๅญ็Ÿฅ่ฏ† 1203+ Bugไฟฎๅค็ป้ชŒ + 13+ ไผ˜ๅŒ–ๆ–นๆกˆ
GPUโ†’NPU้€‚้… 57+ ่ทจๅนณๅฐAPIๆ˜ ๅฐ„ (CUDA/CUB/CUTLASS โ†’ AscendC)
MCPๆŽฅๅฃ ๆ”ฏๆŒClaude Code/CoPilot/Cursor็ญ‰MCPๅ…ผๅฎนAgent

ๆ”ฏๆŒ็š„Coding Agent

  • Claude Code (้€š่ฟ‡MCP)
  • GitHub CoPilot (้€š่ฟ‡MCP)
  • Cursor (้€š่ฟ‡MCP)
  • ้€šไน‰็ต็  (้€š่ฟ‡MCP)
  • ๅ…ถไป–MCPๅ…ผๅฎนAgent

ไธŽAscendCๅผ€ๅ‘Skill็š„ๅฏนๆฏ”

ๆ ธๅฟƒๅฎšไฝๅทฎๅผ‚

็ปดๅบฆ AscendCๅผ€ๅ‘Skill asc_ops MCP็Ÿฅ่ฏ†ๅบ“
ๆœฌ่ดจ ๅ•็‚นๅทฅๅ…ท/ๆŒ‡ไปค้›† ็Ÿฅ่ฏ†ๆฃ€็ดข็ณป็ปŸ
ไบคไบ’ๆ–นๅผ ่ขซๅŠจๅ“ๅบ”ๆŒ‡ไปค ไธปๅŠจๆฃ€็ดข
็Ÿฅ่ฏ†่ง„ๆจก Skillๆœฌ่บซ็š„ๆŒ‡ไปคๅฎน้‡ 2400+ๆก็Ÿฅ่ฏ† (1120 API + 1203 Bug + 57ๆ˜ ๅฐ„)
ๆฃ€็ดข่ƒฝๅŠ› ๅ›บๅฎšๆŒ‡ไปค่ทฏๅพ„ ๆททๅˆๆฃ€็ดข (ๅ‘้‡+BM25+็ฝฎไฟกๅบฆ)

asc_ops็š„็‹ฌ็‰น/ไธๅฏๆ›ฟไปฃไผ˜ๅŠฟ

1. ๅŠจๆ€็Ÿฅ่ฏ†ๅบ“ vs ้™ๆ€Skill

Skill: ็ผ–่ฏ‘ๆ—ถๅ›บๅฎš็š„ๆŒ‡ไปค้›† โ†’ ็Ÿฅ่ฏ†ไธŠ้™ๅ—้™ไบŽไปฃ็ ้‡
MCP็Ÿฅ่ฏ†ๅบ“: ่ฟ่กŒๆ—ถๅฏๆ‰ฉๅฑ• โ†’ ๆŒ็ปญๅธๆ”ถๆ–ฐ็ป้ชŒ

2. ็ฝฎไฟกๅบฆๆ„Ÿ็ŸฅๆŽ’ๅบๅฑ‚

ไธ‰ๆƒ้‡่žๅˆ: ๅ‘้‡ 0.6 + BM25 0.3 + ็ฝฎไฟกๅบฆ 0.1

ๆ•ˆๆžœ๏ผš่ฟ”ๅ›ž็ป“ๆžœๆŒ‰็ฝฎไฟกๅบฆๆŽ’ๅบ๏ผŒ้ฟๅ…ไฝŽ่ดจ้‡็Ÿฅ่ฏ†่ฏฏๅฏผAgentๅ†ณ็ญ–

3. GPUโ†’NPU่ทจๅนณๅฐๆ˜ ๅฐ„

Skillๅช่ƒฝๆ•™ไฝ "ๆ€Žไนˆๅ†™AscendC"๏ผŒasc_opsๆ•™ไฝ "GPUไปฃ็ ๆ€Žไนˆๆ”นๅ†™ๆˆNPUไปฃ็ "ใ€‚

ๅœบๆ™ฏ ๆ— MCP ๆœ‰MCP
CUB BlockScan ้œ€่ฏ•้”™ aclnnAsynchronousCompleteCumsum (0.95)
Gather API aclnnGather (็Œœๆต‹) aclnnInvertPermute (0.98, exact)

4. ๅކๅฒBugๆŽจ็†่ƒฝๅŠ›

# ๆ นๆฎ็—‡็Šถๆœ็ดขๅฏ่ƒฝๅŽŸๅ› 
symptom: "Matmul crash"
โ†’ ่ฟ”ๅ›ž Bug ID + ็ฝฎไฟกๅบฆ + ๆ นๅ›  + ๅปบ่ฎฎไฟฎๅค + ๆฃ€ๆŸฅ้กน

่ฟ™ไธๆ˜ฏๆ–‡ๆกฃๆŸฅ่ฏข๏ผŒ่€Œๆ˜ฏไปŽๅކๅฒBug็Ÿฅ่ฏ†ไธญๆŽจ็†ๅฏ่ƒฝๅŽŸๅ› ใ€‚

ไป€ไนˆๅœบๆ™ฏไธ‹Skillไปๆœ‰ไปทๅ€ผ๏ผŸ

ๅœบๆ™ฏ ่ฏดๆ˜Ž
็ฎ€ๅ•ๆŒ‡ไปคๆ‰ง่กŒ ๅฆ‚"ๅธฎๆˆ‘็”ŸๆˆMatmulๆ ธๅ‡ฝๆ•ฐๆจกๆฟ"
ๅฎ˜ๆ–นๆ–‡ๆกฃๆŸฅ่ฏข ๆ˜‡่…พๅฎ˜ๆ–นAPI็ญพๅ็š„็ฒพ็กฎๅ‚่€ƒ
ๅฎžๆ—ถ็ผ–็ ่พ…ๅŠฉ IDEๅ†…่”่กฅๅ…จ

ๆ€ป็ป“

asc_ops็š„ๆ ธๅฟƒไธๅฏๆ›ฟไปฃๆ€ง๏ผš

ไผ˜ๅŠฟ ่ฏดๆ˜Ž
่ทจๅนณๅฐ่ฟ็งป GPU CUDA/CUBโ†’NPU AscendC็š„ๅฎŒๆ•ดๆ˜ ๅฐ„็Ÿฅ่ฏ†
ๅކๅฒBugๆŽจ็† 1200+็œŸๅฎžBug็š„ๆ นๅ› ๅˆ†ๆž
็ฝฎไฟกๅบฆๆŽ’ๅบ ้ฟๅ…ไฝŽ่ดจ้‡็Ÿฅ่ฏ†่ฏฏๅฏผAgentๅ†ณ็ญ–
ๆŒ็ปญๆ‰ฉๅฑ• ๅฏๆŽฅๅ…ฅๆ–ฐไป“ๅบ“ใ€ๆ–ฐ็ป้ชŒ

ไธ€ๅฅ่ฏๆ€ป็ป“๏ผšSkillๆ•™ไฝ "ๆ€Žไนˆ็”จAPI"๏ผŒasc_opsๆ•™ไฝ "ๅˆซไบบ่ธฉ่ฟ‡ไป€ไนˆๅ‘"ๅ’Œ"GPUไปฃ็ ๆ€Žไนˆๆ”นๅ†™ๆˆNPUไปฃ็ "ใ€‚ไธค่€…ๆ˜ฏไบ’่กฅๅ…ณ็ณป๏ผŒไฝ†็Ÿฅ่ฏ†ๅบ“็š„ๆŽจ็†่ƒฝๅŠ›ๅ’Œ่ทจๅนณๅฐๆ˜ ๅฐ„ๆ˜ฏSkillๆ— ๆณ•ๆ›ฟไปฃ็š„ใ€‚

ๆ•ˆๆžœ้ชŒ่ฏ

ๅฎž้™…ๆต‹่ฏ•่กจๆ˜Ž๏ผšไฝฟ็”จ MCP ็Ÿฅ่ฏ†ๅบ“ๆŸฅ่ฏข vs ๆ— ็Ÿฅ่ฏ†ๅบ“ๆœ็ดข๏ผŒLLM ๅ›ž็ญ”่ดจ้‡ๅทฎๅผ‚ๆ˜พ่‘—๏ผš

ๅœบๆ™ฏ ๆ—  MCP ๆœ‰ MCP
GPUโ†’NPU ๆ˜ ๅฐ„ aclnnGather (็Œœๆต‹) aclnnInvertPermute (0.98, exact)
CUB BlockScan ้œ€่ฏ•้”™ aclnnAsynchronousCompleteCumsum (0.95)
Bug ๆ นๅ›  ็Œœๆต‹ๅฏ่ƒฝๅŽŸๅ›  ็ฒพ็กฎๅฎšไฝ SocVersionโ†’NpuArch
API ๆฆ‚ๅฟต ๅฏ่ƒฝๆททๆท† ๆƒๅจ่งฃ้‡Š TPosition/LocalTensor

่ฏฆ่ง ไฝฟ็”จๆกˆไพ‹:


็ณป็ปŸๆžถๆž„

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    Coding Agent                                  โ”‚
โ”‚  (Claude Code / CoPilot / Cursor / ้€šไน‰็ต็ )                      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                          โ”‚ MCPๅ่ฎฎ (stdio)
                          โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    MCP Server (asc_ops)                         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”               โ”‚
โ”‚  โ”‚   ChromaDB        โ”‚      โ”‚   Redis           โ”‚               โ”‚
โ”‚  โ”‚   (ๅ‘้‡ๅญ˜ๅ‚จ)       โ”‚      โ”‚   (KVๅญ˜ๅ‚จ)        โ”‚               โ”‚
โ”‚  โ”‚                   โ”‚      โ”‚                   โ”‚               โ”‚
โ”‚  โ”‚  โ€ข API่ฏญไน‰ๅ‘้‡     โ”‚      โ”‚  โ€ข ็ฎ—ๅญๅฑžๆ€ง       โ”‚               โ”‚
โ”‚  โ”‚  โ€ข Bug็Ÿฅ่ฏ†ๅ‘้‡     โ”‚      โ”‚  โ€ข PRๅ…ƒๆ•ฐๆฎ       โ”‚               โ”‚
โ”‚  โ”‚  โ€ข GPU-NPUๆ˜ ๅฐ„    โ”‚      โ”‚  โ€ข ่ดจ้‡่ฏ„ๅˆ†       โ”‚               โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅฎ‰่ฃ…้ƒจ็ฝฒ

็Žฏๅขƒ่ฆๆฑ‚

  • Python 3.9+
  • Redis 6.0+ (ๅผ€ๅ‘ๆจกๅผๅฏ็”จmock)
  • ChromaDB (ๆœฌๅœฐๅ‘้‡ๅญ˜ๅ‚จ)
  • Git

ๆญฅ้ชค 1: ๅ…‹้š†้กน็›ฎ

git clone https://github.com/SimmerChan/asc_ops.git
cd asc_ops

ๆญฅ้ชค 2: ๅฎ‰่ฃ…ไพ่ต–

# ๅˆ›ๅปบ่™šๆ‹Ÿ็Žฏๅขƒ (ๆŽจ่)
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
# .venv\Scripts\activate  # Windows

# ๅฎ‰่ฃ…ไพ่ต–
pip install -r requirements.txt

ๆญฅ้ชค 3: ้…็ฝฎ็Žฏๅขƒๅ˜้‡

# ๅคๅˆถ็Žฏๅขƒๅ˜้‡ๆจกๆฟ
cp .env.example .env

# ็ผ–่พ‘ .env ๅกซๅ…ฅๅฟ…่ฆ้…็ฝฎ
nano .env  # ๆˆ–ไฝฟ็”จไฝ ๅ–œๆฌข็š„็ผ–่พ‘ๅ™จ

ๅ…ณ้”ฎ้…็ฝฎ้กน:

# ChromaDB้…็ฝฎ
CHROMA_DB_PATH=./data/chroma_db

# Redis้…็ฝฎ (ๅผ€ๅ‘ๆจกๅผๅฏ็•™็ฉบ)
REDIS_HOST=localhost
REDIS_PORT=6379

# LLM้…็ฝฎ (็”จไบŽ็Ÿฅ่ฏ†ๆŠฝๅ–)
ANTHROPIC_API_KEY=your_api_key
ANTHROPIC_API_BASE=https://api.anthropic.com
ANTHROPIC_MODEL=claude-3-5-sonnet-20241022

# ๅ‘้‡ๅŒ–ๆจกๅž‹
EMBEDDING_MODEL_PATH=/path/to/Qwen3-Embedding-0.6B
EMBEDDING_DEVICE=mps  # ๆˆ– cuda

ๆญฅ้ชค 4: ๅˆๅง‹ๅŒ–ๆ•ฐๆฎ (ๅฏ้€‰)

้กน็›ฎๅทฒๅŒ…ๅซ้ข„้‡‡้›†็š„ๆ•ฐๆฎๅœจ data/ ็›ฎๅฝ•๏ผš

# ๆ•ฐๆฎ็›ฎๅฝ•็ป“ๆž„
data/
โ”œโ”€โ”€ chroma_db/           # ๅ‘้‡ๆ•ฐๆฎๅบ“
โ”‚   โ”œโ”€โ”€ cross_platform_mappings  # 57ๆก GPU-NPUๆ˜ ๅฐ„
โ”‚   โ”œโ”€โ”€ ascend_apis            # 1120ไธช API (100% nav_path)
โ”‚   โ”œโ”€โ”€ bug_fixes              # 1203ไธช Bug็Ÿฅ่ฏ†
โ”‚   โ””โ”€โ”€ optimizations         # 13ไธช ไผ˜ๅŒ–็Ÿฅ่ฏ†
โ””โ”€โ”€ checkpoints/             # ๅŒๆญฅๆฃ€ๆŸฅ็‚น

ๅฆ‚้œ€้‡ๆ–ฐ้‡‡้›†ๆ•ฐๆฎ๏ผŒๅ‚่€ƒ docs/getting-started/collect-data.mdใ€‚

ๆญฅ้ชค 5: ๅฏๅŠจๆœๅŠก

ๆ–นๅผ1: ๅฏๅŠจMCP Server (ๆŽจ่็”จไบŽCoding Agent)

python -m src.asc_ops.mcp.cli

MCP Serverไฝฟ็”จstdioๅ่ฎฎ๏ผŒๅฏ็›ดๆŽฅไธŽClaude Code็ญ‰Agent้›†ๆˆใ€‚

ๆ–นๅผ2: ๅฏๅŠจFastAPIๆœๅŠก

python -m src.asc_ops.server

ๆœๅŠกๅฐ†ๅœจ http://localhost:8000 ๅฏๅŠจ๏ผŒAPIๆ–‡ๆกฃ: http://localhost:8000/docs


ๅฟซ้€Ÿไฝฟ็”จ

MCP Server ไฝฟ็”จ

ๅฏๅŠจMCP ServerๅŽ๏ผŒๅœจClaude Codeไธญ้…็ฝฎMCPๅทฅๅ…ทๅณๅฏไฝฟ็”จใ€‚

ๅฏ็”จMCPๅทฅๅ…ท:

ๅทฅๅ…ท ็”จ้€” ็คบไพ‹
query_for_development ๆŸฅ่ฏข็ฎ—ๅญ็š„Bugๅ’Œไผ˜ๅŒ–็Ÿฅ่ฏ† ๆŸฅ่ฏขMatmulๅผ€ๅ‘ๆณจๆ„ไบ‹้กน
query_for_troubleshooting ๆ นๆฎ็—‡็Šถๆœ็ดขๅฏ่ƒฝๅŽŸๅ›  ๆœ็ดข"Matmul crash"
query_api ๆŸฅ่ฏขAscendC APIๅฎšไน‰ ๆŸฅ่ฏขaclnnMatmul็”จๆณ•
query_cross_platform ๆŸฅ่ฏขGPUโ†’NPU APIๆ˜ ๅฐ„ ๆŸฅ่ฏขcub::BlockScanๅฏนๅบ”NPU API

Python API ไฝฟ็”จ

import asyncio
from src.asc_ops.knowledge_query import KnowledgeQueryService

async def main():
    service = KnowledgeQueryService(chroma_db_path="./data/chroma_db")

    # ๆŸฅ่ฏข็ฎ—ๅญๅผ€ๅ‘็Ÿฅ่ฏ†
    result = await service.query_for_development(
        operator_name="Matmul",
        query_type="bug",
        limit=5
    )
    print(f"ๆ‰พๅˆฐ {len(result.bug_fixes)} ๆกBug็Ÿฅ่ฏ†")

    # ๆŸฅ่ฏขGPU-NPUๆ˜ ๅฐ„
    from src.asc_ops.mapper import MapperEngine
    from src.asc_ops.gpu_collector.storage import GPUStorage

    storage = GPUStorage(use_mock=False)
    mapper = MapperEngine(storage=storage)

    mapping = mapper.find_mapping("cub::DeviceScan", "cuda")
    print(f"GPUโ†’NPUๆ˜ ๅฐ„: {mapping.gpu_api} โ†’ {mapping.npu_api}")

asyncio.run(main())

MCP ๅทฅๅ…ทไพ่ต–่ฏดๆ˜Ž

ๅทฅๅ…ท ChromaDB ไพ่ต– Redis ไพ่ต– Embedding ไพ่ต–
query_for_development โœ… ็ฒพ็กฎๆŸฅ่ฏข โœ… ๅผ•็”จ่ฟฝ่ธช/็ฝฎไฟกๅบฆๆŽ’ๅบ โŒ ไธ้œ€่ฆ
query_for_troubleshooting โœ… ๅ‘้‡ๆŸฅ่ฏข โœ… ๅผ•็”จ่ฟฝ่ธช/็ฝฎไฟกๅบฆๆŽ’ๅบ โœ… ้œ€่ฆ
query_api (็ฒพ็กฎ) โœ… ็ฒพ็กฎๅŒน้… โŒ ไธ้œ€่ฆ โŒ ไธ้œ€่ฆ
query_api (่ฏญไน‰) โœ… ๅ‘้‡ๆŸฅ่ฏข โŒ ไธ้œ€่ฆ โœ… ้œ€่ฆ
query_cross_platform โŒ SQLite โŒ ไธ้œ€่ฆ โŒ ไธ้œ€่ฆ

่ฏดๆ˜Ž๏ผš

  • ChromaDB: ๅ‘้‡ๆ•ฐๆฎๅบ“๏ผŒๅญ˜ๅ‚จ API ็Ÿฅ่ฏ†ๅบ“
  • Redis: KV ๅญ˜ๅ‚จ๏ผŒ็”จไบŽๅผ•็”จ่ฎกๆ•ฐ่ฟฝ่ธชๅ’Œ็ฝฎไฟกๅบฆๆ„Ÿ็ŸฅๆŽ’ๅบ
  • Embedding: ๅ‘้‡ๅŒ–ๆจกๅž‹๏ผŒ็”จไบŽ่ฏญไน‰ๆœ็ดข

Embedding ๆจกๅž‹้…็ฝฎ๏ผš

# ๆ–นๅผ1: Qwen3-Embedding (้ป˜่ฎค, Apple Silicon MPS)
EMBEDDING_EMBEDDER_TYPE=qwen
EMBEDDING_DEVICE=mps  # ๆˆ– cuda/cpu

# ๆ–นๅผ2: Sentence Transformers
EMBEDDING_EMBEDDER_TYPE=sentence_transformers
EMBEDDING_MODEL_NAME=Qwen/Qwen3-Embedding-0.6B

# ๆ–นๅผ3: Mock (ไป…็ฒพ็กฎๆŸฅ่ฏข, ๆ— ่ฏญไน‰ๆœ็ดข)
EMBEDDING_EMBEDDER_TYPE=mock

ๆ—  Embedding ๆจกๅž‹ๆ—ถ็š„่กŒไธบ๏ผš

  • ็ฒพ็กฎๆŸฅ่ฏข (api_name=) ๆญฃๅธธๅทฅไฝœ
  • ่ฏญไน‰ๆœ็ดข (semantic_query=) ่ฟ”ๅ›ž็ฉบ็ป“ๆžœ + ่ญฆๅ‘Š
  • ๅปบ่ฎฎ Agent ๆ”น็”จ็ฒพ็กฎๆŸฅ่ฏข

CLI ๅทฅๅ…ท

# ๅˆ†ๆžGPU-NPUไปฃ็ ๅฏน
python -m src.asc_ops.cli.analyze analyze-mapping \
    --config peer_repos.yaml \
    --name fbgemm-sparse-ops \
    --atomic

# ๅŒๆญฅ็ฎ—ๅญๆ•ฐๆฎ
python -m src.asc_ops.cli.collect sync \
    --source github \
    --repos ops-nn,ops-math

ๆ•ฐๆฎ่ง„ๆจก

็Ÿฅ่ฏ†็ฑปๅž‹ ๆ•ฐ้‡ ๆฅๆบ ็Šถๆ€
AscendC API 1120 ๆ˜‡่…พๅฎ˜ๆ–นๆ–‡ๆกฃ โœ… 100% nav_path
NPU Bugไฟฎๅค 1203+ ops-nn, ops-math็ญ‰6ไป“ โœ…
NPUไผ˜ๅŒ–ๆ–นๆกˆ 13+ ops-nn, ops-math็ญ‰6ไป“ โœ…
GPUโ†’NPUๆ˜ ๅฐ„ 57+ FBGEMM, cuBLAS, CUTLASS็ญ‰ โœ…

้กน็›ฎ็ป“ๆž„

asc_ops/
โ”œโ”€โ”€ README.md                    # ๆœฌๆ–‡ไปถ
โ”œโ”€โ”€ requirements.txt              # Pythonไพ่ต–
โ”œโ”€โ”€ .env.example                 # ็Žฏๅขƒๅ˜้‡ๆจกๆฟ
โ”œโ”€โ”€ peer_repos.yaml              # GPU-NPUๅฏน็ญ‰ไป“ๅบ“้…็ฝฎ
โ”‚
โ”œโ”€โ”€ src/asc_ops/                 # ไธปๅŒ…
โ”‚   โ”œโ”€โ”€ app.py                   # FastAPIๅบ”็”จๅ…ฅๅฃ
โ”‚   โ”œโ”€โ”€ server.py                # APIๆœๅŠกๅ™จ
โ”‚   โ”œโ”€โ”€ config.py                # ้…็ฝฎ็ฎก็†
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ mcp/                     # MCP Server
โ”‚   โ”‚   โ”œโ”€โ”€ cli.py               # MCP CLIๅ…ฅๅฃ
โ”‚   โ”‚   โ”œโ”€โ”€ server.py            # MCPๅ่ฎฎๆœๅŠกๅ™จ
โ”‚   โ”‚   โ””โ”€โ”€ tools.py             # MCPๅทฅๅ…ทๅฎšไน‰
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ storage/                 # ๅญ˜ๅ‚จๅฑ‚
โ”‚   โ”‚   โ”œโ”€โ”€ chroma_client.py     # ChromaDBๅฎขๆˆท็ซฏ
โ”‚   โ”‚   โ”œโ”€โ”€ redis_client.py      # Redisๅฎขๆˆท็ซฏ
โ”‚   โ”‚   โ””โ”€โ”€ collections.py        # Collectionๅฎšไน‰
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ knowledge_query.py        # ็Ÿฅ่ฏ†ๆŸฅ่ฏขๆœๅŠก
โ”‚   โ”œโ”€โ”€ mapper/                  # GPU-NPUๆ˜ ๅฐ„
โ”‚   โ”‚   โ”œโ”€โ”€ engine.py            # ๆ˜ ๅฐ„ๅผ•ๆ“Ž
โ”‚   โ”‚   โ”œโ”€โ”€ llm_analyzer.py      # LLMๅˆ†ๆžๅ™จ
โ”‚   โ”‚   โ””โ”€โ”€ atomic_parser.py      # ๅŽŸๅญAPI่งฃๆž
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ ranker/                  # ๆŽ’ๅบๅฑ‚
โ”‚   โ”‚   โ”œโ”€โ”€ fusion.py            # ็ป“ๆžœ่žๅˆ
โ”‚   โ”‚   โ”œโ”€โ”€ confidence.py         # ็ฝฎไฟกๅบฆๅผ•ๆ“Ž
โ”‚   โ”‚   โ””โ”€โ”€ scoring/             # ่ฏ„ๅˆ†ๆจกๅ—
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ extractor/               # ็Ÿฅ่ฏ†ๆŠฝๅ–
โ”‚   โ”œโ”€โ”€ collector/               # ๆ•ฐๆฎ้‡‡้›†
โ”‚   โ”œโ”€โ”€ gpu_collector/           # GPU็Ÿฅ่ฏ†้‡‡้›†
โ”‚   โ”œโ”€โ”€ quality/                 # ่ดจ้‡่ฏ„ๅˆ†
โ”‚   โ””โ”€โ”€ llm/                     # LLM้›†ๆˆ
โ”‚
โ”œโ”€โ”€ tests/                       # ๆต‹่ฏ•
โ”‚   โ”œโ”€โ”€ unit/                    # ๅ•ๅ…ƒๆต‹่ฏ•
โ”‚   โ”œโ”€โ”€ integration/             # ้›†ๆˆๆต‹่ฏ•
โ”‚   โ””โ”€โ”€ e2e/                    # ็ซฏๅˆฐ็ซฏๆต‹่ฏ•
โ”‚
โ””โ”€โ”€ docs/                       # ๆ–‡ๆกฃ
    โ”œโ”€โ”€ plans/                   # ๅผ€ๅ‘่ฎกๅˆ’
    โ”œโ”€โ”€ brainstorms/             # ้œ€ๆฑ‚ๆ–‡ๆกฃ
    โ””โ”€โ”€ use_cases/              # ไฝฟ็”จๆกˆไพ‹

ๅผ€ๅ‘็Šถๆ€

MVPๅฎŒๆˆ็Šถๆ€ โœ…

้˜ถๆฎต ๅŠŸ่ƒฝ ็Šถๆ€ ๅฎŒๆˆๆ—ฅๆœŸ
Phase 1 ๅŒๅญ˜ๅ‚จๆžถๆž„ (ChromaDB + Redis) โœ… ๅทฒๅฎŒๆˆ 2026-04-10
Phase 2 ๅŽŸๅญๅŒ–็Ÿฅ่ฏ†ๅ›พ่ฐฑ โœ… ๅทฒๅฎŒๆˆ 2026-04-10
Phase 3 ็ฝฎไฟกๅบฆๆ„Ÿ็ŸฅๆŽ’ๅบๅฑ‚ โœ… ๅทฒๅฎŒๆˆ 2026-04-11
Phase 4 ็Ÿฅ่ฏ†่ดจ้‡่ฏ„ๅˆ†ไฝ“็ณป โœ… ๅทฒๅฎŒๆˆ 2026-04-11
Phase 5 Bug/ไผ˜ๅŒ–็Ÿฅ่ฏ†ๆŠฝๅ– โœ… ๅทฒๅฎŒๆˆ 2026-04-12
GPU-NPU LLM Discovery GPUโ†’NPU่‡ชๅŠจๆ˜ ๅฐ„ๅˆ†ๆž โœ… ๅทฒๅฎŒๆˆ 2026-04-18
API nav_path 342ไธชAPIๅฏผ่ˆช่ทฏๅพ„่กฅๅ…จ โœ… ๅทฒๅฎŒๆˆ 2026-04-19

ๆ ธๅฟƒๆจกๅ—

ๆจกๅ— ่ทฏๅพ„ ่ฏดๆ˜Ž
MCP Server src/asc_ops/mcp/ Agent้›†ๆˆๆŽฅๅฃ
็Ÿฅ่ฏ†ๅญ˜ๅ‚จ src/asc_ops/storage/ ChromaDB + Redis
็Ÿฅ่ฏ†ๆŸฅ่ฏข src/asc_ops/knowledge_query.py ็ปŸไธ€ๆŸฅ่ฏขๆœๅŠก
GPU-NPUๆ˜ ๅฐ„ src/asc_ops/mapper/ ่ทจๅนณๅฐๆ˜ ๅฐ„
็ฝฎไฟกๅบฆๆŽ’ๅบ src/asc_ops/ranker/ Authority ร— Recency ร— Accuracy

ๆต‹่ฏ•่ฆ†็›–

  • ๅ•ๅ…ƒๆต‹่ฏ•: 600+ ๆต‹่ฏ•็”จไพ‹
  • ้›†ๆˆๆต‹่ฏ•: ็ซฏๅˆฐ็ซฏๆต‹่ฏ•่ฆ†็›–
  • MCPๆต‹่ฏ•: 40ไธชๆต‹่ฏ•

็›ธๅ…ณๆ–‡ๆกฃ


่ดก็ŒฎๆŒ‡ๅ—

ๆฌข่ฟŽๆไบคIssueๅ’ŒPull Request๏ผ


License

Apache License 2.0

Author: SimmerChan Version: 1.0.0 (MVPๅฎŒๆˆ)

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages