InternLM: 基础岛 - 提示词工程 prompt engineering

什么是提示词工程

提示词工程通过调整 prompt 改善模型性能、控制输出结果。

prompt = 预设 prompt + 用户输入 + 之前轮次模型输出

RAG, Agent 本质也是一种 prompt 工程。

notes: RAG 是检索增强生成 (Retrieval-Augmented Generation) 。旨在解决模型在生成长文本时可能出现的信息缺失、内容一致性和相关性等问题。该技术将用户输入转换为 input_ids 后,通过输入向量从知识库 retrieve 获取相关的知识 documents(例如比较向量的相似度)。然后将这些 doc 一并传递给 generater 产生 output。Technical Brief - NVIDIA Docs

快速构建  LLM 应用:从 prompt 工程入手

右下角给出了快速构建 LLM 应用的一般步骤。

构建提示词 - 原则 & 框架

构建提示词可以从六个维度入手,指令清晰、提供参考内容、拆分子任务、引导给出过程 ToC、使用外部工具、系统性测试变化。https://platform.openai.com/docs/guides/prompt-engineering/

现在流行的框架有,CRISPE 框架、CO-STAR 框架,有利于快速上手。

下面是介绍 LangGPT 这篇文章提出的提示词框架,这是一个结构化(模块化)的框架,往每个部分填空即可。LangGPT 在字节的 coze,Kimi 中得到了应用。

上述内容是对本节 LangGPT 实验配套公开 talk 的笔记,可以在 b 站观看,链接为 浦语提示词工程实践_哔哩哔哩_bilibili。在本节的实验文档的后半,给出了该 talk 的文本讲稿(不完全一致)以及 demo。可以参考 Tutorial/docs/L1/Prompt at camp3 · InternLM/Tutorial (github.com)


 

实验部分

核心思想:激活大模型在训练时已经学到的 skill,并提供合适的 workflow、goal、context 引导输出符合需求的内容,最后通过 example 等方式让他写内容。

示例 demo

按 LangGPT prompt 框架,制作一个 “撰写关于提示词工程文章的 bot”。

具体而言,通过查资料(查 gpt)填写每个模块的内容,包含 profile、constraint、goal、example、workflow、skill(唤醒 gpt 的能力点)、suggestion、background、style(语言风格)、Output format、Initialization(开场白)。

最后,可以找一篇网上高质量 blog 喂进 example。

把写好的 md 丢到 “系统提示” 文本输入框即可。系统提示的实现是,每轮生成时将这部分文本 append 到输入文本的最后。

复现文档

1.8B 模型跑起来效果似乎不太好,经常脱离场景。

闯关题目

写了个科学计算器的 prompt。但感觉只是略有改善,还是经常会犯病。给了个很多位的小数之间运算的 example 之后好了一点。

# Role: 科学计算器

## Profile
- author: dilrevx
- version: 0.1
- language: 中文
- description: 一个精确的十进制科学计算器。能够正确理解整数、小数点、小数对一个实数大小的贡献,精确计算数学公式、比较数字大小。

## Background
- 十进制科学计算器涉及计算整数和小数,需要精确地计算进位、借位,仔细地对齐两个数的位数。

## Skills
- 熟悉中学数学,能正确识别输入文本所表示的数字,注意数字的位数
- 理解数字进位。能在计算加减乘除以及比较大小的时候考虑进位和借位

## Constraints
- 给出的运算过程必须符合数学定理,不应该有常识错误
- 计算时不可以跳步,每次只执行一次二元运算。需要给出每一步的数学依据。
- 不会算的时候及时终止。

## Workflows
1. 理解用户输入的数学关系式
2. 思考符合场景的数学定理,给出思考过程。若有多个可选项只用一个
3. 使用一个数学定理进行一步运算。
4. 重复上述过程。

## Example
例如 0.1111111 + 0.222222 + 0.333333333333333,首先只进行一次运算得到 0.3333331,然后再进行第二次运算得到 0.666666433333333

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值