要使workbuddy准确调用私有库函数,需配置本地知识库索引:一、构建结构化函数文档;二、用faiss生成并存储向量嵌入;三、在config.yaml中指定索引路径;四、将匹配函数签名注入prompt模板。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望WorkBuddy能够准确识别并调用您项目中定义的私有库函数,必须为其配置可检索的工程级本地知识库索引。以下是实现该目标的具体操作路径:
一、构建函数签名结构化文档
WorkBuddy依赖结构化文本理解函数语义,需将私有库函数按统一格式提取为可索引文档。该步骤确保函数名称、参数类型、返回值、作用域及示例调用被明确标注,避免仅依赖源码注释带来的解析歧义。
1、在项目根目录下新建docs/api/文件夹。
2、为每个私有模块创建独立Markdown文件,如utils_math.md。
3、每份文件以YAML Front Matter开头,声明函数元数据:name: clamp_int, params: [value: int, min_val: int, max_val: int], returns: int, scope: public。
4、紧随其后用代码块展示典型调用:clamp_int(15, 0, 10) → 10。
二、生成向量嵌入并持久化到本地FAISS索引
WorkBuddy通过向量相似度匹配用户提问与私有函数描述,需将结构化文档转换为嵌入向量并存入轻量级本地索引库。FAISS支持单机毫秒级检索,无需网络依赖。
1、安装Python依赖:pip install faiss-cpu sentence-transformers。
2、运行脚本build_index.py,加载所有docs/api/*.md文件内容。
3、使用all-MiniLM-L6-v2模型对每段函数描述生成384维向量。
使用 draw.io(.drawio 格式)和 SVG 生成兼容 Microsoft Visio 的架构图。当用户需要以下任一场景时触发: - 用于 Visio 或技术文档的架构/系统/网络图 - 带连接标注的分层控制系统图 - 将 draw.io XML 转换为稳定、可嵌入的 SVG - 修复 Visio 或 draw.io 无法打开的故障排查类图表 - 任何需专业级布局且文本可编辑的图表
4、将向量与对应文件路径、函数名绑定,写入workbuddy_index.faiss二进制文件。
三、配置WorkBuddy加载本地索引路径
WorkBuddy默认仅访问内置知识源,需显式指定本地FAISS索引位置及关联的文档映射表,使其在响应阶段主动查询私有函数上下文。
1、编辑~/.workbuddy/config.yaml,添加字段:local_knowledge: {index_path: "./workbuddy_index.faiss", doc_map: "./docs/api/"}。
2、确认doc_map路径下所有Markdown文件名与FAISS索引中记录的原始路径一致。
3、重启WorkBuddy服务进程,触发索引加载日志:Loaded 47 private functions from local FAISS index。
四、注入函数调用上下文至Prompt模板
仅索引不足以驱动准确生成,还需在LLM推理前动态注入匹配函数的完整签名与约束说明,防止参数错位或类型误用。
1、修改prompt_templates/function_call.jinja,在{% if local_match %}分支内插入:{{ local_match.signature }} // {{ local_match.description }}。
2、确保local_match对象包含signature字段,格式为:clamp_int(value: int, min_val: int, max_val: int) -> int。
3、验证时输入“将变量x限制在0到100之间”,检查输出是否含clamp_int(x, 0, 100)且无类型转换提示。









