本笔记本演示了Chat Completions API中logprobs
参数的使用。当启用logprobs
时,API会返回每个输出词元的对数概率,以及每个词元位置上有限数量的最可能词元及其对数概率。相关请求参数包括:
logprobs
: 是否返回输出标记的对数概率。如果为true,则返回消息内容中每个输出标记的对数概率。top_logprobs
: 一个介于0到5之间的整数,用于指定在每个标记位置返回的最可能标记的数量,每个标记都带有相关的对数概率。如果使用此参数,必须将logprobs
设置为true。
输出词元的对数概率表示给定上下文中每个词元在序列中出现的可能性。简单来说,对数概率就是log(p)
,其中p
= 基于上下文中前序词元,某个词元在特定位置出现的概率。关于logprobs
的一些关键点:
- 较高的对数概率表明该标记在该上下文中的出现可能性更高。这使用户能够评估模型对其输出的信心,或探索模型考虑过的替代响应。
- Logprob可以是任何负数或
0.0
。0.0
对应100%的概率。 - Logprobs使我们能够将序列的联合概率计算为各个token的logprobs之和。这对于评分和排序模型输出非常有用。另一种常见方法是取句子的每个token的平均logprob来选择最佳生成结果。
- 我们可以检查
logprobs
分配给不同候选token的情况,以了解模型认为哪些选项是合理或不合理的。
虽然logprobs
有广泛的用例,但本笔记本将重点介绍其在以下方面的应用:
- 分类任务
- 大型语言模型在众多分类任务中表现出色,但准确衡量模型对其输出的置信度可能具有挑战性。
logprobs
提供了与每个类别预测相关联的概率,使用户能够设置自己的分类或置信度阈值。
- 检索(问答)评估
logprobs
可辅助检索应用中的自我评估。在问答示例中,模型会输出一个预设的has_sufficient_context_for_answer
布尔值,该值可作为判断答案是否包含在检索内容中的置信度分数。此类评估能减少基于检索的幻觉并提高准确性。
- 自动补全
logprobs
可以帮助我们在用户输入时决定如何建议单词。
- 标记高亮和输出字节
- 用户可以利用启用
logprobs
时内置的分词功能轻松创建标记高亮器。此外,bytes参数包含每个输出字符的ASCII编码,这对于重现表情符号和特殊字符特别有用。
- 计算困惑度
logprobs
可用于帮助我们评估模型对结果的总体置信度,并比较不同提示生成结果的置信水平。