AI 大模型基础
- Published on
by
Vychod
Prompt Engineering 与 Context Engineering
提示工程(PE)基础
核心思想
提示工程是与 AI 沟通的“沟通艺术”。清晰的指令 = 优质的输出
详细教学
- 基础结构剖析
- 角色:你是一个xx领域的资深专家
- 任务:你的任务是xxx
- 指令:请按照以下要求/步骤进行xxx
- 上下文:相关的背景信息是xxx
- 输入数据:这是你需要处理的内容:xxx
- 输出格式:请以「md/JSON/列表/报告」格式输出
- 黄金法则
- 法则一:具体明确
- 法则二:提供范例(few-short prompting)
- 当任务复杂或格式要求严格的时候。直接给出几个输入输出的例子,模型的模仿能力很强
- 法则三:分解步骤(step-by-step)
- 对于复杂问题,要求模型“一步步思考”
高级提示技巧
核心思想
利用模型的内在推理能力,解决复杂、创造性或易出错的任务
详细内容
- 思维链:通过在提示词中明确加入“让我们一步步思考”或“Think step by step”可以显著提升模型在逻辑推理、数学解题等任务上的准确性
- 自我验证与批评:让模型“自我检查”,减少事故性或逻辑性错误
- 角色扮演与视角控制:通过赋予模型机器具体的角色,获得深度、专业的输出
- 模版化与可复用:为你常用的任务类型(如周报生成、代码评审)涉及固定提示模版,只需填充变量即可
上下文工程(CE)的核心
核心思想
上下文窗口就是模型的“工作记忆区”,是稀缺资源。而CE就是指如何高效、智能地利用好这个区域,输出最相关、最结构化的信息,已得到最佳输出
详细教学
- 理解上下文窗口:你提供的提示、历史对话、以及插入的知识文档都共享这个空间
- CE 的核心策略
- 相关性过滤:将长文档交给模型前,需要进行预处理,只提取与当前问题最相关的段落
- 结构化:使用段落、列表、分隔符、键值对等让信息层次更加清晰
- 优先级排序:将更重要的指令(比如输出格式)放在开头或者结尾,因为模型对于这些位置的信息更加敏感。这是因为开头和结尾的邻居只有一边,会减少对模型理解的干扰
长上下文管理
核心思想
当文档远超模型单词处理能力的时候,如何实现“大海捞针”,如何实现“整体分析”
详细教学
- 如何“大海捞针”:先检索、后注入,而不是把整个长文档都喂进去
- 管理技术
- 摘要链:对超长文档进行分层摘要(拆块->生成块级摘要->对所有块级摘要二次摘要形成全局摘要->当用户提问的时候,先匹配相关段落块,再将具体块以及全局摘要一起注入上下文)
- 映射-归纳
- 映射:将长文档切分,让模型对每个部分都进行独立分析(比如:分析每章的情感)
- 归纳:将各部分的产出再交给模型进行综合归纳(比如:总结整篇文章的情感脉络)
- 实用工具意识:使用 langchain、llamaindex 等框架,其中包含很多文本分割、摘要和检索策略
RAG 和私有知识库的构建与作用
RAG 的核心价值
详细教学
- 什么是 RAG - Retrieval-Augmented Generation - 先查找,再回答
- 传统模型:依赖训练时的固有知识,容易出现缺乏新知识的问题,产生幻觉(编造信息)
- RAG 系统:当用户提问时,从私有知识库中去查找最相关的材料再塞入上下文中
- 核心价值三角
- 知识实时性:无需重新训练,只需更新知识库,模型就可以获得新知识
- 答案准确性:提供出处来源,减少幻觉,答案可信度高
- 成本与安全性:无需额外微调,私有知识安全可控
如果大模型是个老教授,那么 RAG 就是图书馆管理员
私有知识库构建三部曲
详细教学
- 文档加载与预处理
- 来源:PDF、word、ppt、excel、txt、网页、数据库等
- 预处理:清洗 - 提取 - 分段
- 分段的时候需要注意的是:按语义切分、保留块与块之间的少量重叠(防止完整的句子被截断)
- 文本向量化
- 计算机看不懂文本,只能看懂数学表示-向量
- 使用嵌入模型:embedding 模型等,可以将文本转换为一个固定长度的、高维的向量
- 神奇特性:语义相近的文本,在数学空间中的距离(如余弦相似度)也会更近
- 存入向量数据库
- 向量数据库可以根据一个查询向量,快速找到表中最为相似的 N 个向量
向量数据库与 RAG 工作流
详细教学
- 完整的 RAG 工作流(串联所有知识)
- 用户提问 - 问题向量化 - 数据库查询 - 组装提示词 - 大模型生成 - 返回答案
- 优化与评估
- 检索优化:如果检索结果不理想,那么需要考虑分段策略、切换嵌入模型或加入元数据过滤(比如只查询某类文档)
- 生成优化:指令设计,强调“不许捏造”、“回答需要有理有据”
- 评估指标:相关性、准确性、流畅性