Skip to main content
传统的软件应用是通过编写代码来构建的,而AI应用通常从提示中获取其逻辑。 本指南将介绍LangSmith中提示工程的关键概念。

为什么需要提示工程?

提示为模型设定了场景,就像即兴表演中的观众成员指导演员的下一步表演——它指导模型的行为,而不改变其底层能力。正如告诉演员“扮演一个海盗”决定他们的表现一样,提示提供了指令、示例和上下文,这些塑造了模型如何响应。 提示工程很重要,因为它允许你改变模型的行为方式。虽然还有其他方法可以改变模型的行为(如微调),但提示工程通常是入门最简单的方式,并且往往提供最高的投资回报率。 我们经常看到,提示工程是多学科的。有时候,最佳的提示工程师并不是构建应用的软件工程师,而是产品经理或另一个领域的专家。拥有适当的工具和基础设施来支持这种跨学科构建至关重要。

提示与提示模板

尽管我们经常将这些术语互换使用,但了解“提示”和“提示模板”之间的区别很重要。 提示语指的是传递给语言模型的那些消息。 提示模板指的是一种格式化信息的方式,以便让提示包含您想要的信息。提示模板可以包括用于少量示例、外部上下文或任何其他所需外部数据的变量。

LangSmith中的提示

您可以在LangSmith中存储和版本控制提示模板。了解提示模板的几个关键方面很重要。

聊天与生成

有两种不同类型的提示:chat 风格的提示和 completion 风格的提示。 聊天风格提示是一个消息列表。这是目前大多数模型API支持的提示风格,因此通常应优先选择这种风格。 完成风格提示只是一个字符串。这是一种较旧的提示风格,因此主要存在是为了兼容旧系统。

F 字符串与 Mustache

您可以使用 f-stringmustache 格式来格式化您的提示。以下是一个使用 f-string 格式的示例提示:
Hello, {name}!
这里有一个带胡子的示例:
Hello, {{name}}!
为了添加一个条件mustache提示:
{{#is_logged_in}}  Welcome back, {{name}}!{{else}}  Please log in.{{/is_logged_in}}
  • 演示场UI将获取 is_logged_in 变量,但任何嵌套变量您需要自行指定。将以下内容粘贴到输入中以确保上述条件提示正常工作:
{  "name": "Alice"}
LangSmith 操场默认使用 f-string 作为模板格式,但您可以在提示设置/模板格式部分切换到 mustache 格式。mustache 使您在条件变量、循环和嵌套键方面拥有更多灵活性。对于条件变量,您需要在“输入”部分手动添加 json 变量。请参阅文档

工具

工具是LLM可以用来与外界交互的接口。工具包括名称、描述以及用于调用工具的参数的JSON模式。

结构化输出

结构化输出是大多数最先进的LLM的功能,其中它们不是产生原始文本作为输出,而是坚持使用指定的模式。这可能在底层使用或不使用工具
结构化输出类似于工具,但在几个关键方面有所不同。在使用工具时,LLM会选择调用哪个工具(或者可能选择不调用任何工具);而在结构化输出中,LLM总是以这种格式响应。在使用工具时,LLM可能选择多个工具;而在结构化输出中,只生成一个响应。

模型

可选地,您可以将模型配置与提示模板一起存储。这包括模型名称以及任何其他参数(如温度等)。

提示版本

版本控制是迭代和协作处理不同提示的关键部分。

提交

每次保存对提示的更新都会创建一个新的提交。您可以查看以前的提交,这使得回顾早期的提示版本或必要时恢复到之前的状态变得容易。在SDK中,您可以通过指定提交哈希和提示名称(例如 prompt_name:commit_hash)来访问特定提示的提交。 在用户界面中,您可以通过切换“提交”标签页右上角的“差异”按钮来比较提交与其前一个版本。

标签

您可能希望使用可读性强的标签标记提示提交,以便即使添加了新的提交,您也能引用它。常见用例包括使用 devprod 标签标记提示。这允许您跟踪在何处使用了哪些版本的提示。

提示语游乐场

提示游乐场使迭代和测试您的提示过程变得无缝。您可以从侧边栏或直接从已保存的提示进入游乐场。 在游乐场中,您可以:
  • 更改正在使用的模型
  • 更改正在使用的提示模板
  • 更改输出模式
  • 更改可用的工具
  • 输入用于运行提示模板的输入变量
  • 将提示通过模型运行
  • 观察输出

测试多个提示

您可以将更多提示添加到您的游乐场中,以便轻松比较输出并决定哪个版本更好:

在数据集上进行测试

要测试数据集,您只需从右上角选择数据集并按“开始”按钮。您可以修改结果是否以流式传输返回,以及测试中重复的次数。 您可以点击“查看实验”按钮,深入了解测试结果。

视频指南