基于 V3+R1随手构建图文并茂的问答知识库[1] 中采用的是william-toolbox构建知识库,这里提供另一种种方法,使用Cherry Studio和Aut-coder.RAG搭建本地知识库,借助强大的LLM-Native的RAG系统,辅助源代码阅读,以及基于PDF文档构建知识库。
案例 使用auto-coder.rag阅读auto-coder的源代码 Prompt: 介绍下这个项目的结构,输出的结构可以用mermaid进行可视化(如下是mermaid语法)
graph TD A[Auto-Coder项目] --> B[Common模块] A --> C[PyProject/TSProject/SuffixProject] A --> D[Dispacher模块] A --> E[Action模块] A --> F[Agent模块] A --> G[Index模块] A --> H[RAG模块] B --> B1[Printer] B --> B2[FileUtils] B --> B3[GitUtils] C --> C1[PyProject] C --> C2[TSProject] C --> C3[SuffixProject] D --> D1[ActionTranslate] D --> D2[ActionPyProject] D --> D3[ActionTSProject] D --> D4[ActionRegexProject] E --> E1[CodeAutoMerge] E --> E2[CodeAutoGenerate] F --> F1[ProjectReader] F --> F2[ReActAgent] F --> F3[工具函数] G --> G1[IndexManager] G --> G2[SearchEngine] H --> H1[RAGFactory] H --> H2[文档检索]截图展示的效果如下
主要模块说明:
Common模块 (autocoder/common/)
项目解析模块 (autocoder/pyproject/,tsproject/,suffixproject/)
调度模块 (autocoder/dispacher/)
ActionPyProject:Python项目处理 ActionRegexProject:正则匹配项目处理 核心功能模块 (autocoder/common/code_auto_*.py)
各模块通过Dispacher进行协调,根据项目类型(py/ts/regex)选择对应的处理流程,最终通过Agent模块实现自动化操作。
Prompt: 现阶段,auto-coder.rag server 如何处理PDF,会用到哪些函数?
输出结果:内容较多,如下主要放跟mermaid有关的截图
环境准备 支持Windows,MacOS和Linux全平台。
阅读本文档,我们还假设你了解如下基本知识
能在windows,Linux和MacOS中打开终端 本文的操作环境是Windows的Linux子系统,也就是WSL。
Auto-Coder.RAG安装 Auto-coder.Rag是auto-coder的一部分,最简单的安装方法如下
pip install -U auto-coder但是,我一般用conda管理不同的python环境,所以我的安装方法如下
conda create -n autocoder python=3.11 conda activate autocoder pip install -U auto-coder如果你没有conda,建议到https://mirrors.tuna.tsinghua.edu.cn/ 获取安装包
注:auto-coder的安装需要时间,如果你觉得速度不够快,可以设置镜像,如下是清华镜像的配置方案
python -m pip install --upgrade pip pip configsetglobal.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simpleCherry Studio安装 Cherry Studio是一个支持多服务商集成的AI对话客户端,详见我写的10分钟在本地接入DeepSeek-R1模型。简述如下:
在https://cherry-ai.com/download下载,更新频率比较高,点击立刻下载就能下载到对应的 exe(Windows), dmg (MacOS)和AppImage(Linux)文件。
安装之后打开的页面结构如下,后续用的最多的就是对话界面和配置页面。
其他用法见官方文档,https://docs.cherry-ai.com/
使用Auto-Coder.RAG配置后端知识库 配置模型 如果用的是conda,需要用conda activate autocoder启动环境后继续操作。 可以使用 威廉的工具箱进行全界面化配置:[auto-coder.RAG 搭配 V3+R1 组合]( "auto-coder.RAG 搭配 V3+R1 组合")。这里,我们采用命令行的方式配置模型和,选择多多益善,总有适合你的。
在操作前,你需要先参考全新小白使用Auto-Coder进行AI辅助编程的上手操作指引[2] 获取硅基流动或者是火山引擎的API,然后运行如下代码去配置LLM模型
auto-coder.chat --lite后续启动的界面如下
可以用/moldes /list查看当前配置的模型
之后用/exit退出就可。
启动后台知识库 我以阅读auto-coder为例,我们需要拉去对应的代码,注意,下面的$HOME/project/native-rag-docs是我存放代码的路径,你可以替换成你自己的实际路径
mkdir -p$HOME/project/native-rag-docs#这是我存代码的路径 cd$HOME/project/native-rag-docs gitclonehttps://github.com/allwefantasy/auto-coder.git然后使用auto-coder.rag serve启动后台服务
auto-coder.rag serve --lite --port 8102 \ --doc_dir$HOME/project/native-rag-docs/auto-coder \ --disable_inference_enhance --required_exts py,txt,md \ --model v3_chat --qa_model r1_chat命令参数解释如下:
表示以精简模式运行,对应--product_mode=lite配置 指定文档存储路径为$HOME/project/native-rag-docs/auto-coder --disable_inference_enhance对应文档中ServerArgs.disable_inference_enhance参数 --required_exts py,txt,md对应doc_build_parse_required_exts参数 主模型使用deepseek_chat模型(文档中default_models_list定义) 问答模型使用deepseek_r1_chat模型(文档中default_models_list定义) Cherry Studio设置模型 我们打开Cherry Studio,然后按照图中指引,添加一个新的模型服务商
然后我们增加一个新的模型,按照如下填写API地址
在Cherry Studio进行问答 最后,到对话界面选择我们刚才添加的模型
我一般会在对话中强调mermaid语法,例如 "介绍下这个项目的结构,输出的结构可以用mermaid进行可视化", 可以辅助我了解项目的结构
这里的mermaid是一种语法,你看用复制到其他支持这个语法的编辑器中。
PDF知识库搭建 手动将PDF转成markdown,然后把里面的图片保存到图床上,接着你把md文件放到指定目录下,例如 $HOME/project/native-rag-docs/pdf (我目前方案是一种简单地实现AI图片并茂回答的方法)
后续,跟上面的步骤类似,只不过操作前,你需要用ctrl+c退出(可能要按好几下),推荐用kill -9 $(lsof -ti :8102)确保8102端口不再被占用。
修改 --doc_dir 和--required_ext 参数,其他可以不变。
auto-coder.rag serve --lite --port 8102 \ --doc_dir$HOME/project/native-rag-docs/pdfs \ --disable_inference_enhance --required_exts md \ --model v3_chat --qa_model r1_chat效果如下(注意,doc2x提供的图床有30天的时限,过期会删除,等待后续auto-coder的版本迭代,支持本地图床)