第六,七,八课笔记合集 | 豆包MarsCode AI刷题

87 阅读3分钟

提示工程(下): chain of thought是一种提示工程技术,通过给大语言模型提供推理步骤来提升解决问题的能力,主要有两种:

  1. fewer shot CoT (包含推理示例)
  2. zero shot CoT (没有示例,仅提示)

接下来的花店实战案例:

示例:

爱情象征--红玫瑰;

独特,奇特--兰花

使用给的示例来提示。

Tree of Thoughts (ToT)这种提示工程方法:

  • 基于CoT发展,但更系统化
  • 将问题分解为多个思维步骤
  • 每个步骤生成多个候选方案
  • 通过搜索算法找到最优解决方案

ToT的优势:

  • 更系统的思考过程
  • 多路径探索
  • 更全面的方案评估
  • 更可靠的决策结果

下面是fewer shot和zero shot的输出比较: image.png 这是fewer shot image.png 这是zero shot

调用模型open AI or 微调开源模型

Transformer架构是所有与训练模型的核心底层架构,基于Transformer训练的大语言模型为基础模型Foundation Model

训练成本高遂采用预训练+微调的模式

预训练(Pre-training):

  • 在大规模无标注数据上训练
  • 学习基础语言知识
  • 获取通用语言表达能力
  • 资源需求大,主要由大厂完成

微调(Fine-tuning):

  • 基于预训练模型调整
  • 针对特定任务或领域
  • 数据需求小,训练快
  • 适合普通团队使用

优势:开发成本低,部署方便

第八章:输出解析

langchain的输出解析基于几个主要方法:

get_format_instructions()返回格式化知道说明

parse()将模型输出解析为特定数据结构

parse_with_prompt() 结合原始提示来解析输出

同时langchain也提供了多种专用解析器:

列表解析器

日期时间解析器

枚举解析器

结构化输出解析器

Pydantic解析器-基于Pydantic处理JSON格式数据

自动修复解析器

重试解析器

课程重点介绍了Pydantic解析器的实现流程:

  • 先创建模型实例

  • 用Pydantic定义输出数据格式

  • 创建输出解析器并获取格式指导

  • 创建包含格式要求的提示模板

  • 使用解析器处理模型输出

文中涵盖两种处理解析错误的解析器:

  1. 自动修复解析器(OutputFixingParser):
  • 主要用于修复简单的格式错误,如JSON格式不规范

  • 工作流程:

    • 先尝试用原解析器解析
    • 如果失败,将错误输出和格式要求传给大模型
    • 让大模型进行修复
  • 示例:成功修复了JSON中使用单引号而不是双引号的格式问题

  1. 重试解析器(RetryWithErrorOutputParser):
  • 用于处理更复杂的问题,如输出内容不完整

  • 特点:

    • 可以利用原始提示(prompt)的上下文
    • 能够通过大模型的推理能力补全缺失信息
  • 示例:不仅修复了格式,还根据原始提示补全了缺失的字段内容