一、概述
本指南介绍了怎样使用示例输入和输出提示 chat model。为模型提供几个这样的例子被称为 few-shotting,这是一种简单而强大的方法来引导天生,在某些情况下可以大大提高模型性能。
对于怎样最好地进行 few-shot 提示,似乎没有达成同等意见,最佳提示编译大概会因模型而异。因此,langchain 提供 few-shot 提示模板,如 FewShotChatMessagePromptTemplate,作为一个机动的出发点,我们可以根据需要修改或更换它们。
few-shot 提示模板的目标是根据输入动态选择示例,然后在最终提示中格式化示例以提供模型。
留意,以下代码示例仅实用于 chat model,因为 FewShotChatMessagePromptTemplates 旨在输出格式化的 chat message,而不是纯字符串。
二、固定示例 Fixed Example
最根本 (也是最常见) 的 few-shot 提示技术是使用 固定提示示例。通过这种方式,您可以选择一条链,对其进行评估,并制止在生产中担心额外的 moving parts。
模板的根本组件包括:
- examples:要包含在最终提示中的辞书示例列表。
- example_prompt:通过其 format_messages 方法将每个示例转换为 1条或多条 消息。一个常见的例子是将每个示例转换为一条 human message 和一条 AI message 响应,或者一条 human message 后跟一条 function call message。
下面是一个简单的演示。首先,界说要包含的示例。让我们给 LLM 一个不熟悉的数学运算符,用“ |