基于 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/
)
-
包含基础工具类: -
Printer:终端输出格式化 -
FileUtils:文件操作工具 -
GitUtils:Git仓库操作 -
项目解析模块 (
autocoder/pyproject/
,tsproject/
,suffixproject/
) -
PyProject:处理Python项目结构 -
TSProject:处理TypeScript项目 -
SuffixProject:基于文件后缀处理项目 -
调度模块 (
autocoder/dispacher/
) -
包含多个Action实现: -
ActionTranslate:翻译功能 -
ActionPyProject:Python项目处理 -
ActionRegexProject:正则匹配项目处理 -
核心功能模块 (
autocoder/common/code_auto_*.py
) -
CodeAutoMerge:代码自动合并 -
CodeAutoGenerate:代码自动生成 -
智能代理模块 (
autocoder/agent/
) -
文件读取(read_files) -
代码执行(run_python_code) -
ProjectReader:项目结构读取 -
ReActAgent:自主任务执行代理 -
集成多种工具函数: -
索引模块 (
autocoder/index/
) -
IndexManager:索引管理 -
支持多种搜索引擎集成 -
RAG模块 (
autocoder/rag/
) -
RAGFactory:检索增强生成 -
支持文档检索增强 -
能在windows,Linux和MacOS中打开终端 -
能使用命令行进行conda的安装和环境管理
各模块通过Dispacher进行协调,根据项目类型(py/ts/regex
)选择对应的处理流程,最终通过Agent模块实现自动化操作。
Prompt: 现阶段,auto-coder.rag server 如何处理PDF,会用到哪些函数?
输出结果:内容较多,如下主要放跟mermaid有关的截图

环境准备
支持Windows,MacOS和Linux全平台。
阅读本文档,我们还假设你了解如下基本知识
本文的操作环境是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 config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
Cherry 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
git clone https://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
命令参数解释如下:
-
--lite
-
表示以精简模式运行,对应 --product_mode=lite
配置 -
该模式下直接部署SaaS模型,不依赖Ray集群
--port 8102
-
指定服务端口为8102(默认8000)
--doc_dir
-
指定文档存储路径为 $HOME/project/native-rag-docs/auto-coder
-
该目录下的文件将用于构建RAG索引
--disable_inference_enhance
-
禁用增强推理模式 -
对应文档中 ServerArgs.disable_inference_enhance
参数
--required_exts py,txt,md
-
限定只处理.py/.txt/.md三种格式的文件 -
对应 doc_build_parse_required_exts
参数
--model v3_chat
-
主模型使用 deepseek_chat
模型(文档中default_models_list定义)
--qa_model r1_chat
-
问答模型使用 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的版本迭代,支持本地图床)
