分类目录归档:上下文工程

高级 RAG 技术

前置知识:检索增强 RAG

相比于朴素 RAG,高级 RAG 在预检索过程(Pre-Retrieval Process) 和 后检索过程(Post-Retrieval Process) 两个阶段引入了一些改进措施,提高检索质量

  • 预检索过程的重点是索引优化与查询优化;前者目的是提高被索引内容的质量,包括检索粒度、索引结构优化、元数据附加、对齐优化和混合检索等操作;后者目的是优化用户的原始问题表述,比如查询重写、查询转换和查询扩展等技术
  • 后检索过程的重点是相关上下文的有效整合;比如重排序,将最相关的信息排在考前的位置;或者上下文压缩,

Read more

检索增强 RAG

上下文学习 ICL 是大模型 RAG 的前提基础

朴素 RAG

RAG(retrieval-augmented-generation):基于信息检索的提示词增强技术

RAG 的一般流程:

  1. 先对文档切分,再借助 Embedding 模型实现知识的向量化存储
  2. 通过余弦相似度等度量标准,检索与查询向量最相似的文档(召回)
  3. 重新排序检索到的文档,并只保留最相关的文档(提高 RAG 的质量)

推荐参考 MTEB 排行榜,结合个人需求选择合理的 Embedding 模型

RAG 的优点:

  • 通过事实类知识

Read more

思维链 CoT 进阶

前置知识:思维链提示 CoT自洽性 self-consistency

思维树 ToT

思维树 ToT (Tree of Thoughts,2023-05):

  • ToT 的核心思想是将问题解决过程视为在思想树中的搜索,其中每个节点代表一个部分解决方案,每个分支代表对解决方案的修改,通过多条推理路径评估实现更优的推理决策

以“24 点数字”游戏为例来说明 ToT 的实现步骤:

  • “24 点数字”是一种简单的数字推理游戏,给定 4 个数字,比如 $[4,9,10,13]$;游戏目标是将 4 个字数进行加减乘除的四

Read more

提示工程 Prompt

基础提示技巧

一个好的提示包含以下内容:系统提示、角色提示、语境提示、示例提示

提示词基础技巧

  1. 肯定式指令,减少不精确的模糊描述,提高紧迫感(PUA)
  2. 通过示例明确输出格式,必要时可引导任务的拆分或自检
  3. 找一个好的提示词框架,明确角色、目标、行为、场景与期望

系统提示

系统提示:定义模型的基本功能和总体目标

Read more

上下文学习 ICL

大语言模型(LLMs)的上下文学习:经过预训练的 LLMs 能根据文本提示或任务示例来直接对下游任务进行预测,而无需更新模型权重,这种能力也被称为上下文学习(in-context learning,ICL)或语境学习

简单来说,ICL 就是在不更新模型参数的前提下,通过输入经典示例作为提示来增强模型的能力

以情感分析为例,来说明 ICL 的一般流程(图源):

  • ICL 需要一些示例来形成一个用于情景演示的上下文,作为提示输入来增强 LLMs
  • ICL 示例一般用自然语言模板编写,并拼接真实的输入查询(Text)与结果(Label)

ICL 的分类:

  • Few-shot learning,

Read more