akcio
基于 CVP Stack 架构的 RAG 演示项目,通过向量数据库让大模型「读懂」私有知识
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 CVP Stack 架构的 RAG 演示项目,通过向量数据库让大模型「读懂」私有知识
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否有过这样的体验:问 ChatGPT 一个专业问题,它要么一本正经地胡说八道,要么顾左右而言他——因为它训练时根本没学过你的私有知识。解决这个问题的经典思路是 RAG(检索增强生成),但真正落地时,开发者往往要在向量数据库选型、向量化模型、提示词工程、记忆管理之间反复折腾。
Akcio 正是为了解决这个问题而来。这是一个由向量数据库公司 Zilliz(Milvus 背后的商业公司)开源的 RAG 演示项目,展示了如何用 CVP Stack(ChatGPT + Vector Database + Prompt-as-Code)构建一个真正「懂行」的智能问答系统。
大型语言模型(LLM)的知识上限取决于训练数据,而训练数据总有截止日期,更重要的是——它不了解你公司积累的内部文档、产品手册、技术方案。但企业最需要的恰恰是:让 AI 理解并准确回答与自家业务相关的专业问题。
传统的解决方案是把文档全部塞进 Prompt 里,但这受限于上下文窗口长度(成本高、效果差)。RAG 的思路则更优雅:将文档切分后存入向量数据库,用户提问时,先从数据库中检索最相关的文档片段,再将这些片段作为上下文「喂」给 LLM,让它在已有知识的基础上生成答案。
Akcio 的创新之处在于,它不仅实现了完整的 RAG 流程,还明确提出了 CVP Stack 这套技术架构范式,将向量数据库(Vector DB)作为 LLM 与知识之间的「翻译官」,通过 Prompt-as-Code 的方式灵活编排整个系统。

图1:Akcio 的 CVP Stack 架构图,展示了从用户提问到 LLM 生成答案的完整数据流
Akcio 提供了两套并行的 AI 平台——Towhee 和 LangChain,开发者可以根据自身技术水平选择不同的接入方式。
Towhee 方案更适合快速上手。它提供了预定义的流水线(Pipeline),包括数据插入流水线(Insert)和语义检索流水线(Search)。Towhee 将复杂的向量化、检索逻辑封装为可配置的算子(Operator),用户无需深入了解底层原理,通过修改配置文件就能切换不同的 embedding 模型或向量数据库。Akcio 默认使用 BAAI/bge-base-en 作为 embedding 模型,生成 768 维的文本向量,并支持 MS MARCO Cross-Encoders 进行结果重排序(Re-ranking),进一步提升检索精度。
LangChain 方案则面向需要深度定制的开发者。Akcio 基于 LangChain 的 Agent 机制,将 LLM、向量存储、标量存储和记忆存储解耦为独立模块:

图2:FastAPI 后端提供的 RESTful 接口,包括问答(/answer)、项目添加(/project/add)、文档上传等核心能力
从代码结构来看,Akcio 的工程化水平相当扎实。整体采用模块化设计,Towhee 和 LangChain 两套实现各自独立、互不干扰。
配置管理:通过 config.py 集中管理所有配置参数,包括 LLM 选项(支持 OpenAI GPT-3.5-turbo、Dolly 3B 本地模型等)、embedding 模型(默认 BAAI/bge-base-en)、向量数据库连接(Milvus / Zilliz Cloud)、标量数据库(Elasticsearch)、对话记忆(SQLite / PostgreSQL)等。所有配置优先读取环境变量,便于容器化部署。
API 服务:后端基于 FastAPI 构建,提供 /answer(问答)、/project/add(添加知识库项目)、/project/drop(删除项目)、/project/check(检查项目状态)等 RESTful 接口,并内置 Prometheus 监控指标(/metrics)。
Web UI:Gradio 封装层(gradio_demo.py)提供了开箱即用的可视化界面,用户可以直接在浏览器中上传文档、提出问题、查看对话历史,无需编写任何代码。
数据加载与切分:数据加载模块(data_parser.py)支持从 URL 或本地文件(PDF、TXT 等)导入文档,并按 chunk_size=300 字符进行重叠切分,保留语义完整性。同时提供了 generator_questions 模块,可在插入文档时自动生成问答对,增强检索相关性。
值得注意的是,Akcio 在内存管理上支持多项目隔离(通过 project 参数区分不同知识库),这对于构建多个垂直领域问答机器人非常有价值——可以在同一套系统中同时服务「产品手册助手」「技术文档助手」「客服知识库」等多个角色。
Akcio 提供 Dockerfile,支持容器化部署:
git clone https://github.com/zilliztech/akcio.git
cd akcio
docker build -f docker/Dockerfile -t akcio .
docker run -p 8000:8000 -e OPENAI_API_KEY=your_key -e ZILLIZ_URI=http://localhost:19530 akcio
部署的瓶颈不在代码本身,而在于依赖服务的准备:必须先启动 Milvus 向量数据库(或注册 Zilliz Cloud 云服务),以及准备好 LLM 的 API Key。如果选择本地部署 Dolly 等开源模型,还需要足够的 CPU/GPU 资源。
虽然没有提供 docker-compose 文件一键拉起所有依赖服务,但对于有一定 DevOps 经验的团队来说,手动编排并不困难。Gradio Web UI 的存在大大降低了演示和试用门槛——非技术人员也可以直接通过浏览器体验。
Akcio 作为演示项目(Demo),其定位是展示 CVP Stack 的可行性,因此在某些方面存在局限:
bge-base-en,对中文支持需要切换为 bge-base-zh,且不支持动态模型热切换chunk_size=300 的固定策略对某些长段落文档可能不是最优解但换个角度看,这些「局限」恰恰反映了 Akcio 的核心价值:它是一份可以直接参考的 RAG 架构范本。开发者可以在此基础上替换向量数据库、增加认证层、接入自己的 embedding 模型、调整切分策略,快速构建满足自身需求的 RAG 应用。
Akcio 背后站着 Zilliz——向量数据库领域最活跃的开源社区之一。通过开源 Akcio,Zilliz 不仅展示了 Milvus / Zilliz Cloud 在 RAG 场景下的实际应用,也在推动 CVP Stack 理念的普及。
从更宏观的视角看,RAG 正在成为企业 AI 落地的主流路径。相比微调(Fine-tuning),RAG 的优势在于:知识可更新(更新文档即可,无需重新训练模型)、可解释性强(答案可追溯到原始文档)、部署成本低(无需 GPU 集群)。Akcio 这样的开源项目降低了 RAG 的入门门槛,让更多团队能够快速验证这一路径的可行性。
截至目前,Akcio 已收获 258 个 GitHub Stars,40 个 Forks,并被收录于 Zilliz 官方产品文档中作为标杆案例。随着 LLM 应用浪潮的持续,这类 RAG 参考实现的价值只会越来越大。

图3:基于 Akcio 构建的 OSSChat 在线演示,展示了一个面向开源项目的智能问答系统
本报告由 PIFS 平台 AI 情报分析系统自动生成。数据来源:GitHub API,采集时间 2026-07-17。