【人工智能】《从零搭建AI问答助手项目(一):核心理论与整体架构》
这是AI问答助手项目系列第一篇,先讲理论架构与选型,后续会逐步更新代码实现、部署方案、踩坑总结。
一、项目要做什么
1、表层:对话系统(用户看到的)
实现一个对话系统,用户输入问题,系统输出答案,类似 ChatGPT 界面。
2、中层:推理与生成(大模型)
通过用户输入的问题和检索到资料进行推理,最后生成给用户的答案,核心能力来自大语言模型(LLM)、 Prompt(提示词工程),负责“理解问题 + 生成回答”。
3、底层:知识增强(关键差异点)
让AI回答“你的数据”而不是“它训练过的东西”,这里才是项目的核心价值:
- 知识库(文档 / 数据)
- 检索系统(RAG)
- 向量数据库
二、整个项目的宏观流程
1、技术调研(Why + How)
目标:搞清楚要用什么技术路线
回答3个问题:
(1)用不用大模型?
✔ 必须用(OpenAI / 开源模型)
(2)要不要私有知识?
✔ 要 → 必须用 RAG
(3)实时性要求?
实时性要求高,那么就选 → API模型
实时性要求低,那么就选 → 本地模型
最常见方案(推荐用):
大模型选择LLM(OpenAI / DeepSeek),需要自己实现的部分:
- RAG(检索增强生成)
- 向量数据库(FAISS / Chroma)
- 后端(Python)
- 前端(简单页面或CLI)
2、系统架构设计(最关键)
搭建一个标准RAG架构 :
用户问题
↓
Embedding(向量化)
↓
向量数据库检索(找相关文档)
↓
拼接Prompt
↓
LLM生成答案
↓
返回用户
可以理解成一句话: “先查资料,再让AI回答”
3、工程搭建(开始动手)
技术选型(推荐新手),本人实现这个AI问答助手项目就是按照下面的技术选型搭建的。
| 模块 | 技术 |
|---|---|
| 语言 | Python |
| LLM | OpenAI / DeepSeek |
| 向量库 | FAISS |
| 框架 | LangChain(可选) |
| Web | FastAPI |
4、核心功能实现
一共分成4个子模块:
(1) 文档处理(数据准备)
其实就是你自己的本地知识库,自己搭建的测试验证的,可以先用txt文件,里面塞上你想作为本地知识库的文本内容。
关键点:每块 300~500 字,保证语义完整
输入:
PDF / Word / txt / 网页
输出:
切分后的文本块(chunk)
(2) 向量化(Embedding)
用 embedding 模型把文本变成向量,把一段文字翻译成一组“有意义”的数字。这组数字像地图上的经纬度一样,标记了这句话的“语义位置”。语义相似的话,位置就靠得近。比如:
"Java 是一种编程语言"
↓
[0.123, -0.88, 0.55, ...]
(3) 向量数据库(检索核心)
向量数据库的作用就是找到用户输入问题的“最相关内容”,接上面的类比,就是找到跟用户输入问题的“语义位置”靠的最近的内容。
比如用户问:
Java 有什么特点?
系统会找:
“Java 是面向对象语言”
“Java 跨平台”
(4) LLM生成(最后一步)
大模型生成答案的过程:咱们自己搭建的这个系统拼接"问题 + 检索结果 → Prompt"发送给大模型,让模型生成回答。
5、测试与验证
完成上述4步以后,还必须验证3件事(测试):
(1)是否能答对?
正确率。测试AI问答助手回答问题正确的占总问题数的比例。
(2)是否胡说?
幻觉问题。测试AI问答助手看是否会“胡说”,明明本地知识库里没有答案的问题,它还给出了答案。
是否稳定?
多次提问一致性。多次提问同一个问题,看每次的答案是否都一样。
6、优化(进阶)
前面的步骤是搭建一个初步能用的AI问答助手,还有很多可以优化的地方,包括:
- Prompt优化
- 检索优化
- Chunk优化
- 多轮对话
- Agent能力
核心难点
1、为什么要切分文本?
因为模型有上下文限制(简单理解为一个对话窗口可以输入和输出的最大内容限制),如果不切,那么搜索的结果可能不精准或者Token爆炸(模型要么直接报错说“输入太长”,要么只截取前面一小部分,后面的内容全丢了。)
2、RAG本质是什么?
RAG全称:Retrieval-Augmented Generation,是指对大语言模型输出进行优化,使其能够在生成响应之前引用训练数据来源之外的权威知识库。
RAG = 检索 + 生成。“模型先去找内容,再根据找到的内容回答问题。”不是“让AI变聪明”,而是 “把正确答案喂给AI”。
3、为什么不用数据库查?
如果用普通数据库→只能精确匹配。
如果用向量数据库→能理解语义。
➡️下一步
了解完核心理论与项目的整体架构后,下一步,我们聊聊模型选择的问题——【人工智能】《从零搭建AI问答助手项目(二):模型选择》
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)