PyPTO-Gym 文档检索技能 pypto-docs-search 实战指南本地缓存发现、四类检索模板与离线排障索引【免费下载链接】pypto-gymPyPTO-Gym 是基于 PyPTO 编程框架构建的算子与模型样例仓库项目地址: https://gitcode.com/cann/pypto-gym导读pypto-docs-search 是 CANNBot Skills 中面向普通 PyPTOTensor算子开发的文档检索技能核心思路是按关键词在本地缓存发现资源位置再直接读取全文通过sync_devkit.py将 PyPTO 官方文档仓与 PyPTO-Gym 算子仓装配成本地纯文件缓存随后用原生Grep/Glob在缓存中检索 API 文档、算子参考实现、golden 与测试全程可离线。读完本文你将掌握缓存目录结构与环境变量配置、同步脚本的符号链接复用与 sparse-checkout 下载原理、四类检索模板的精确写法以及按错误码 / API 名 / 教程主题 / 参考实现四条入口键查索引的完整排障路径。技能定位本地优先、纯文件缓存pypto-docs-search 服务于 PyPTO 算子开发工作流中的查文档环节与 pypto-api-explore 配合后者负责 API 映射、约束检查与 Tiling 需求分析其Exploresubagent 统一使用本技能按需搜索 API 文档、参考实现与 golden。PyPTO-ProTile 算子资料则走独立的 pypto-pro-docs-search两者缓存形态与装配方式不同检索时需区分。本技能的设计取舍非常明确缓存是纯文件可用原生Grep/Glob不依赖文档站的远程检索能力可离线一次装配后即可脱离网络工作文档站不能远程检索因此缓存缺失时只能按确定路径直接取文档全文。边界同样清晰已知确定路径或 URL 的单点读取直接Read/WebFetch不经本检索本检索只用于按关键词发现、跨算子 / 跨文件定位。资源缓存结构缓存根目录由环境变量PYPTO_DEVKIT_DIR指定未设置时默认取${XDG_CACHE_HOME:-$HOME/.cache}/pypto-devkit。其下三个子目录对应三类资源子目录内容docs/API / 排障 / 教程 / 安装文档ops/算子参考实现照着写的权威范本tests/golden / 测试从缓存布局可以看出它与仓库源码的对应关系ops/直接符号链接或下载自仓库的 src/pypto_gym/ops含pypto_tensor/模型/算子实现与pypto_pro/目录tests/对应 tests/ops按模型分组的test_*.py与*_golden*.pydocs/则来自 PyPTO 主仓的docs/zh。准备缓存sync_devkit.py 装配原理首次使用或需要更新时在技能目录下运行一次python3 cannbot-skills/ops/pypto-docs-search/scripts/sync_devkit.py成功标准$PYPTO_DEVKIT_DIR下出现docs/ ops/ tests/三个目录并写入MANIFEST.json。两类资源、两条装配请求从 sync_devkit.py 源码看脚本内部构造两条装配请求ProvisionRequest标签来源仓库装配子目录复用探测 markerpyptohttps://gitcode.com/cann/pypto.gitdocs/←docs/zhdocs/zh/apigymhttps://gitcode.com/cann/pypto-gym.gitops/←src/pypto_gym/ops、tests/←tests/opssrc/pypto_gym/ops符号链接复用磁盘上每类只有一份装配的核心策略是当前工作树已含某类资源时符号链接复用、免重复下载优先检查环境变量PYPTO_SRC/PYPTO_GYM_SRC指定的本地工作树否则用find_up()从$PWD逐级向上查找含 marker 子路径的仓库根例如从当前项目往上找到含docs/zh/api的 PyPTO 工作树找到则relink()建立符号链接等价ln -sfn并在MANIFEST.json中记录mode: symlink找不到才走 sparse-checkout 下载。这样做保证了磁盘上每类只有一份grep不会命中两份不一致的副本——符号链接与真实目录在文件系统层面共享同一份数据。下载分支blobless 克隆 sparse-checkout当本地没有可复用工作树时脚本执行git clone --depth 1 --filterblob:none --no-checkout url tmp git config core.sparseCheckout true git config core.sparseCheckoutCone true git sparse-checkout set 子目录列表 git checkout --detach HEAD即一次性完成浅克隆depth 1 blobless--filterblob:none 稀疏检出只拉取docs/zh、src/pypto_gym/ops、tests/ops三条子树大幅减少下载量与磁盘占用。下载完成后记录mode: downloadshort-revisionMANIFEST.json的source字段记录远端 URL 与子路径可追溯缓存来源。环境变量与常用参数配置项作用PYPTO_DEVKIT_DIR覆盖缓存目录默认${XDG_CACHE_HOME:-$HOME/.cache}/pypto-devkitPYPTO_SRC/PYPTO_SRC_URLdocs 主仓本地已有工作树 / 远程 URL默认https://gitcode.com/cann/pypto.gitPYPTO_GYM_SRC/PYPTO_GYM_URLopstests 算子仓本地已有工作树 / 远程 URL默认https://gitcode.com/cann/pypto-gym.git--pin git-ref从远端获取指定 git ref 版本固定所有远端资源到该版本先fetch --depth 1 origin pin再检出FETCH_HEAD退出码约定0成功3表示缺少git或无法创建缓存目录4表示下载 / sparse 初始化 / pin 切换失败。检索四类模板与精确减噪缓存就绪后用原生Grep/Glob在缓存三类中按关键词发现。子串匹配即可例如搜mul会连带命中matmul已知 API 名时传精确名如pypto-rms_norm可减噪。四类模板如下kw换成关键词目标工具与 patternpath附加参数API 文档名Globpattern**/*kw*.md$PYPTO_DEVKIT_DIR/docs/api/tensor_api—算子参考实现opsGreppatternkw$PYPTO_DEVKIT_DIR/ops/pypto_tensoroutput_modecontent -n文档全文docsGreppatternkw$PYPTO_DEVKIT_DIR/docsoutput_modecontent -ngolden / 测试testsGreppatternkw$PYPTO_DEVKIT_DIR/testsoutput_modecontent -n排除规则避免命中 Pro 资料普通 PyPTO 检索需避开 PyPTO-Pro 专属内容文档检索排除docs/api/pro_api/和docs/guide/下的pro/子树测试检索排除tests/pypto_pro/。这与仓库中 src/pypto_gym/ops/pypto_proPyPTO-Pro 算子与pypto_tensor/普通 PyPTO 算子的目录分层一致两条技术栈的资料互不污染。命中后的读取与高级检索命中后直接Read全文不再二次检索。高级检索正则、大小写不敏感-i、上下文-A/-B、限定文件类型直接用Grep/Glob的对应参数即可。大范围或多角度检索如找某能力的全部参考实现、跨目录定位应派Exploresubagent并给出明确目标与范围例如在$PYPTO_DEVKIT_DIR/ops/pypto_tensor找 attention 的融合实现。缓存未就绪时的兜底路径当缓存缺docs/ops/tests时先运行python3 cannbot-skills/ops/pypto-docs-search/scripts/sync_devkit.py装配若无法装配但文档站可访问按下方索引的入口键拿到确定文档路径后直接WebFetch https://pypto.gitcode.com/_sources/sub.md.txt取全文——sub为去掉docs/前缀的路径例如api/tensor_api/operation/pypto-add工具等例外入口见对应索引注意算子参考实现与 golden 无文档站形态仅缓存在场可查此类资源必须依赖缓存。详细索引四条入口键直达资源索引文件位于 cannbot-skills/ops/pypto-docs-search/references按问题入口键分四类报错带错误码→ error-code-index.md前缀 → 组件排障文档知道算子 / API 名→ api-index.md查教程 / 安装 / 工具文档→ doc-index.md找算子参考实现 / golden→ sample-index.md。入口一按错误码排障报错带Errcode: Fxxxxx!/ErrCode: Fxxxxx!时按前缀定位组件排障文档缓存在场读$PYPTO_DEVKIT_DIR/docs/guide/appendix/trouble_shooting/doc.md无缓存则在线取https://pypto.gitcode.com/_sources/guide/appendix/trouble_shooting/doc.md.txt。例如错误码F70001前缀F7→ MACHINE →docmachine。核心前缀映射表错误码前缀组件排障文档F0XXXX外部写法问题检查算子写法无专文—F1XXXX框架内部公共—F2–F3XXXXFUNCTIONfunctionF4–F5XXXXPASSpassF6XXXXCODEGENcodegenF7–F8XXXXMACHINEmachineF9XXXXSIMULATIONsimulationFAXXXXDISTRIBUTEDdistributedFBXXXXVERIFYverifyFCXXXXOPERATIONoperationFC0–FC2XXXOPERATION · VECTOR 子类vectorFC3–FC5XXXOPERATION · MATMUL 子类matmulFC6–FC8XXXOPERATION · CONV 子类convFC9XXXOPERATION · 视图类 OP 子类view_op其中distributed、verify、operation、view_op仅旧站有专页。无错误码FFFFF/UNKNOWN/ 无码报错时从报错信息与日志入手排查教程见 doc-index.md 的guide/programming_guide/tensor/debug。入口二按 API 名查文档api-index.md 覆盖全部 API 文档按类/name两级定位类取operation / tensor / config / datatype / symbolic / controlflow / element / others之一name为区下条目已含pypto-前缀。缓存在场读$PYPTO_DEVKIT_DIR/docs/api/tensor_api/类/name.md无缓存则在线.../_sources/api/tensor_api/类/name.md.txt。各区随版本增删最新以缓存目录或_sources/api/tensor_api/类/index.md.txt为准。八类分区要点分区内容示例条目operation算子约 150 个pypto-add、pypto-rms_norm、pypto-matmul、pypto-scattertensor张量方法pypto-Tensor-introduction、pypto-Tensor-set_cache_policy、pypto-Tensor-reshapeconfig配置含 Tilingpypto-set_vec_tile_shapes、pypto-set_cube_tile_shapes、pypto-set_pass_optionsdatatype数据类型 / 枚举DataType、TileOpFormat、CastMode、ReduceModesymbolic符号 / 动态 shapepypto-SymbolicScalar-introduction、pypto-SymbolicScalar-is_concretecontrolflow控制流pypto-cond、pypto-loop、pypto-loop_unrollelement逐元素标量pypto-Element-introduction、pypto-Element-valueothers其它 / 互转pypto-from_torch、pypto-set_verify_golden_data对算子开发而言config区的 Tiling 文档set_vec_tile_shapes/set_cube_tile_shapes与others区的pypto-from_torch是约束核查的高频入口与 pypto-api-explore 中必查项一一对应。入口三教程 / 安装 / 工具文档doc-index.md 按主题组织path为去掉docs/前缀的路径缓存在场读$PYPTO_DEVKIT_DIR/docs/path.md无缓存则在线.../_sources/path.md.txt。install/安装与环境prepare_environment环境准备、build_and_install编译安装guide/教程introduction简介、quick_start/tensor/quick_start快速入门、programming_guide/tensor/program_paradigms编程范式、programming_guide/tensor/development/tensor_creation、tensor_operation、tiling、compile、loops、conditions、programming_guide/tensor/debug/debug、precision、performance、matmul_performance_guide、debug_case_ffn、performance_case_quantindexerprolog、performance_case_GDR、programming_guide/tensor/pytorch_integrationPyTorch 集成、appendix/faq/index、glossary配套可视化与分析工具工具文档走独立的官方工具站pypto-tools.gitcode.com/_sources/不在主仓缓存中涵盖introduction/简介、安装、快速入门、数据准备、control_flow/index控制流图、computation_graph/index计算图、swimlane_graph/index泳道图、three_column/three_column三栏联动视图、others/others、appendix/index。入口四算子参考实现与 goldensample-index.md 说明算子参考实现与 golden 只在缓存里无文档站形态按模型 / 算子名定位后直接Read取全文。算子参考实现常见路径为$PYPTO_DEVKIT_DIR/ops/pypto_tensor/模型/算子/算子_impl.py模型与算子名随版本增删用命令取、不写死ls $PYPTO_DEVKIT_DIR/ops/pypto_tensor # 列全部模型 find -L $PYPTO_DEVKIT_DIR/ops/pypto_tensor -ipath *算子名* # 按算子名跨模型定位如 rms_norm / attention / moe grep -RIl 符号 $PYPTO_DEVKIT_DIR/ops/pypto_tensor # 按 API/符号找哪些实现用到例如$PYPTO_DEVKIT_DIR/ops/pypto_tensor/模型/rms_norm/rms_norm_impl.pyattention / matmul 类算子含BWD/FWD、quant等变体子目录需按名称定位。golden / 测试路径为$PYPTO_DEVKIT_DIR/tests/模型/算子子目录可有可无含*_golden*.py参考实现与test_*.py。写 golden 时先在此找同类算子的现成 golden 对照grep -RIl --exclude-dirpypto_pro 算子名 $PYPTO_DEVKIT_DIR/tests这套布局与仓库实际目录完全对应模型目录在 src/pypto_gym/ops/pypto_tensor如deepseek_v4/、kimi_linear_48b_a3b/、qwen3_1_7b/测试与 golden 在 tests/ops如deepseek_v4/test_mla_prolog_v4.py、qwen3_1_7b/rms_norm_rope_golden.py开发者可直接把缓存中的实现当作照着写的权威范本。典型工作流串联一个完整的查 PyPTO 文档流程可归纳为判断入口键有错误码 → 查 error-code-index.md知道 API 名 → 查 api-index.md找教程 → 查 doc-index.md找实现范本 → 查 sample-index.md确认缓存缓存缺失时先python3 cannbot-skills/ops/pypto-docs-search/scripts/sync_devkit.py装配本地有工作树则符号链接复用否则 sparse-checkout 下载按模板检索用Glob/Grep在docs/、ops/pypto_tensor/、tests/三类范围内按关键词发现命中后直接Read全文兜底无法装配但文档站可访问时按索引拿确定路径WebFetch https://pypto.gitcode.com/_sources/sub.md.txt算子参考实现与 golden 无在线形态必须依赖缓存。这套本地纯文件缓存 原生搜索工具 索引兜底的组合让文档检索在离线环境、Agent 自动化场景下同样可靠是 PyPTO 算子开发链路中稳定可复用的资料入口。【免费下载链接】pypto-gymPyPTO-Gym 是基于 PyPTO 编程框架构建的算子与模型样例仓库项目地址: https://gitcode.com/cann/pypto-gym创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考