动手学大模型应用开发第二章:使用 LLM API 开发应用

系列文章目录

动手学大模型应用开发第一章:大模型简介
动手学大模型应用开发第二章:使用 LLM API 开发应用
动手学大模型应用开发第三章:搭建知识库
动手学大模型应用开发第四章:构建 RAG 应用
动手学大模型应用开发第五章:系统评估与优化



前言

  • 本文内容来自 https://datawhalechina.github.io/llm-universe

1. 基本概念

1.1 Prompt

Prompt 最初是 NLP(自然语言处理)研究者为下游任务设计出来的一种任务专属的输入模板,类似于一种任务(例如:分类,聚类等)会对应一种 Prompt。

  • 在 ChatGPT 推出并获得大量应用之后,Prompt 开始被推广为给大模型的所有输入。即,我们每一次访问大模型的输入为一个 Prompt,而大模型给我们的返回结果则被称为 Completion

1.2 Temperature

LLM 生成是具有随机性的,在模型的顶层通过选取不同预测概率的预测结果来生成最后的结果。

  • 我们一般可以通过控制 temperature 参数来控制 LLM 生成结果的随机性与创造性。

  • Temperature 一般取值在 0~1 之间

    • 当取值较低接近 0 时,预测的随机性会较低,产生更保守、可预测的文本,不太可能生成意想不到或不寻常的词。
    • 当取值较高接近 1 时,预测的随机性会较高,所有词被选择的可能性更大,会产生更有创意、多样化的文本,更有可能生成不寻常或意想不到的词。
  • 对于不同的问题与应用场景,我们可能需要设置不同的 temperature。

    • 例如,在搭建个人知识库助手项目中,我们一般将 temperature 设置为 0,从而保证助手对知识库内容的稳定使用,规避错误内容、模型幻觉;
    • 在产品智能客服、科研论文写作等场景中,我们同样更需要稳定性而不是创造性;
    • 但在个性化 AI、创意营销文案生成等场景中,我们就更需要创意性,从而更倾向于将 temperature 设置为较高的值。

1.3 System Prompt

  • System Prompt 是随着 ChatGPT API 开放并逐步得到大量使用的一个新兴概念,事实上,它并不在大模型本身训练中得到体现,而是大模型服务方为提升用户体验所设置的一种策略

  • 具体来说,在使用 ChatGPT API 时,你可以设置两种 Prompt:

  1. 一种是 System Prompt,该种 Prompt 内容会在整个会话过程中持久地影响模型的回复,且相比于普通 Prompt 具有更高的重要性
  2. 另一种是 User Prompt,这更偏向于我们平时提到的 Prompt,即需要模型做出回复的输入。
  • 我们一般设置 System Prompt 来对模型进行一些初始化设定
  • 例如,我们可以在 System Prompt 中给模型设定我们希望它具备的人设如一个个人知识库助手等。
  • System Prompt 一般在一个会话中仅有一个
  • 在通过 System Prompt 设定好模型的人设或是初始设置后,我们可以通过 User Prompt 给出模型需要遵循的指令。

2. 使用 LLM API

2.1 使用智谱 GLM

API 申请指引


3. Prompt Engineering

3.1 Prompt Engineering 的意义

  • 简单来说,prompt(提示)就是用户与大模型交互输入的代称。即我们给大模型的输入称为 Prompt,而大模型返回的输出一般称为 Completion。

  • 对于具有较强自然语言理解、生成能力,能够实现多样化任务处理的大语言模型(LLM)来说,一个好的 Prompt 设计极大地决定了其能力的上限与下限。如何去使用 Prompt,以充分发挥 LLM 的性能?首先我们需要知道设计 Prompt 的原则,它们是每一个开发者设计 Prompt 所必须知道的基础概念。

  • 本节讨论了设计高效 Prompt 的两个关键原则:编写清晰、具体的指令给予模型充足思考时间。掌握这两点,对创建可靠的语言模型交互尤为重要。

3.2 Prompt 设计的原则及使用技巧

原则一: 编写清晰、具体的指令

  1. 过于简略的 Prompt 往往使模型难以把握所要完成的具体任务,而清晰、详尽的 Prompt 能够提供更丰富的上下文和细节。
  2. 使用分隔符清晰地表示输入的不同部分
  • 使用各种标点符号作为“分隔符”,将不同的文本部分区分开来。分隔符就像是 Prompt 中的墙,将不同的指令、上下文、输入隔开,避免意外的混淆。你可以选择用 ```,“”",< >, ,: 等做分隔符,只要能明确起到隔断作用即可。

原则二:给模型时间去思考


总结

  • 19
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值