支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


基于Cherry Studio + auto-coder.RAG实现本地知识库

发布日期:2025-04-05 17:06:11 浏览次数: 1554 作者:洲更的第二大脑
推荐语

利用Cherry Studio和auto-coder.RAG打造本地知识库,探索LLM-Native的RAG系统在源代码阅读和PDF文档知识库构建中的应用。

核心内容:
1. Cherry Studio和auto-coder.RAG搭建本地知识库的方法介绍
2. 利用LLM-Native的RAG系统辅助源代码阅读和PDF文档知识库构建
3. auto-coder项目结构的mermaid可视化及主要模块说明

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

基于 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[文档检索]

截图展示的效果如下


主要模块说明:

  1. 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:检索增强生成
    • 支持文档检索增强

    各模块通过Dispacher进行协调,根据项目类型(py/ts/regex)选择对应的处理流程,最终通过Agent模块实现自动化操作。

    Prompt:  现阶段,auto-coder.rag server 如何处理PDF,会用到哪些函数?

    输出结果:内容较多,如下主要放跟mermaid有关的截图

    环境准备

    支持Windows,MacOS和Linux全平台。

    阅读本文档,我们还假设你了解如下基本知识

    • 能在windows,Linux和MacOS中打开终端
    • 能使用命令行进行conda的安装和环境管理

    本文的操作环境是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

    命令参数解释如下:

    1. --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的版本迭代,支持本地图床)

    参考资料
    [1] 

    基于 V3+R1随手构建图文并茂的问答知识库: https://uelng8wukz.feishu.cn/wiki/IrThwbbpYiEsyIkXMMmcVl1bnqb?fromScene=spaceOverview

    [2] 

    全新小白使用Auto-Coder进行AI辅助编程的上手操作指引: https://uelng8wukz.feishu.cn/wiki/IwmGwHQaqiSHkzk6dpXcnMPSn9g?fromScene=spaceOverview


    53AI,企业落地大模型首选服务商

    产品:场景落地咨询+大模型应用平台+行业解决方案

    承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

    联系我们

    售前咨询
    186 6662 7370
    预约演示
    185 8882 0121

    微信扫码

    添加专属顾问

    回到顶部

    加载中...

    扫码咨询