【ACP-LLM】大模型篇 5
本章介绍了大模型解决私域问题的技术方案——RAG的核心思想。
3.4 技术方案:RAG(检索增强生成)
RAG(Retrieval-Augmented Generation,检索增强生成) 就是实现上下文工程的强大技术方案。
它的核心思想是:
在用户提问时,不再将全部知识库硬塞给大模型,而是先自动检索出与问题最相关的私有知识片段,然后将这些精准的片段与用户问题合并后,一同传给大模型,从而生成最终的答案。
这样既避免了提示词过长的问题,又能确保大模型获得相关的背景信息。
构建一个 RAG 应用通常会分为两个阶段
第一阶段:建立索引

建立索引是为了将私有知识文档或片段转换为可以高效检索的形式。
通过将文件内容分割并转化为多维向量(使用专用 Embedding 模型),并结合向量存储保留文本的语义信息,方便进行相似度计算。
向量化使得模型能够高效检索和匹配相关内容,特别是在处理大规模知识库时,显著提高了查询的准确性和响应速度。
这些向量经过 Embedding 模型处理后不仅很好地捕捉文本内容的语义信息,而且由于语义已经向量化,标准化,便于之后与检索语义向量进行相关度计算。
第二阶段:检索与生成

检索生成是根据用户的提问,从索引中检索相关的文档片段,这些片段会与提问一起输入到大模型生成最终的回答。
这样大模型就能够回答私有知识问题了。
总的来说,基于 RAG 结构的应用,既避免了将整个参考文档作为背景信息输入而导致的各种问题,又通过检索提取出了与问题最相关的部分,从而提高了大模型输出的准确性与相关性。
📝 4. 本节小结
在本节课程中,我们学习了以下内容:
- 如何使用大模型
API
通过实际的代码示例,我们掌握了如何通过API调用通义千问大模型,并学习了如何通过流式输出来优化用户体验。 - 大模型的工作原理与局限性
我们初步探索了大模型如“黑盒”般的工作流程,理解了其回答具有随机性的原因,并学习了如何通过调整temperature和top_p等参数来控制生成内容。
更重要的是,我们直面了大模型的核心局限:
其知识完全依赖于训练数据,无法获知你公司的内部文档等私域知识。 - 上下文工程(
Context Engineering)与RAG的核心思想
为了解决大模型的知识局限性,我们首先尝试了直接在提示词中“投喂”知识的方法,但很快就遇到了“上下文窗口限制”的瓶颈。
这引出了一个至关重要的概念——上下文工程(Context Engineering),即智能地为大模型筛选、组织和提供最相关背景信息的核心方法论。
作为该思想的具体实现,我们学习了RAG(检索增强生成) 技术方案。
通过“先检索、后生成”的模式,RAG能有效地将精准的外部知识与大模型结合,从而在不超出限制的前提下,让模型能够回答私域知识问题。
除了本节课程中的示例展示的任务之外,你还可以让大模型完成更多类型的任务,如内容生成、结构化信息提取、文本分类、情感分析等。
同时在你的大模型应用中引入 RAG 方案能够扩展大模型所能处理的知识范围。
下一小节,我们将动手实践,学习如何创建一个完整的 RAG 应用。
🔥 课后小测验
🔍 单选题 2.1.1
以下代码片段的作用是什么❓
os.environ["OPENAI_API_KEY"] = "your-api-key-here"
- A. 从磁盘加载
API密钥 - B. 将
API密钥存储到内存中 - C. 将
API密钥设置为环境变量 - D. 创建一个新的
API密钥
📝 案例分析题 2.1.2
小明开发写作助手遇到以下两个场景,他应该如何解决问题❓
- 场景 🅰️ 生成内容缺乏创意:每次让模型写一篇关于“人工智能发展”的文章时,生成的内容都非常相似。
- 场景 🅱️ 生成内容偏离主题:让模型写一份技术文档时,生成的内容经常加入一些不相关的内容。
请问:
- 基于本节课程中学习的大模型工作流程,这两个场景的问题产生的原因可能是什么?
- 应该如何调整
temperature或top_p参数来解决这些问题?
参考答案
2.1.1:C
📝 解析:
该代码通过操作系统的环境变量接口,将API密钥注入到当前运行环境的内存空间中。
2.1.2:
| 🎯 场景A解决方案 | 🎯 场景B解决方案 | |
|---|---|---|
| 🔍 原因分析 | temperature 值过低(如0.3),导致模型选择单一,生成内容缺乏多样性。 |
temperature 过高(如1.2)或 top_p 过大 |
| ⚙️ 参数调整 | 提升创意性:temperature = 0.7~0.9 增大选词范围: top_p = 0.9 |
提高稳定性:temperature = 0.5~0.7,top_p = 0.7~0.8 |
🌟 调参小技巧
每次调整幅度建议±0.2,通过A/B测试观察效果变化。
如果需要兼顾场景A和场景B,推荐组合:temperature=0.6+top_p=0.8
更多推荐



所有评论(0)