OpenAI GPT 模型 API 接口新增参数 top_logprobs 和 logprobs

news2025/2/4 2:17:31

文章目录

  • 一、前言
  • 二、主要内容
  • 三、总结

🍉 CSDN 叶庭云https://yetingyun.blog.csdn.net/


一、前言

在最新的 OpenAI 官方 APIs 文档中,Create chat completion 中新增了 top_logprobs 和 logprobs 这两个关键参数。

在这里插入图片描述

官方文档地址:https://platform.openai.com/docs/api-reference/chat/create

  • logprobs:是否返回 output tokens 的对数概率(布尔类型,默认为 False)。如果为真,则返回消息内容中返回的每个 output token 的对数概率。目前 gpt-4-vision-preview 模型还不支持此选项。
  • top_logprobs:一个介于 0 到 5 之间的整数,指定在每个 token 位置返回最有可能的 tokens,并且每个 token 都有一个关联的对数概率。如果使用了这个参数,logprobs 就必须设置为 True

显然,这两个参数被设计为协同工作。理论上,调整 top_logprobs 和 logprobs 不应导致输出的 tokens 数量增加,从而避免了额外的 API 调用成本。


二、主要内容

OpenAI 的 GPT 模型 API 接口新增的 top_logprobs 和 logprobs 参数可以帮助我们理解和调试大模型的输出结果,减轻幻觉问题,提高输出的确定性和可靠性。

分享要点:

  • OpenAI 的 GPT 模型 API 接口新增的 top_logprobs 和 logprobs 参数可帮助理解和调试大语言模型的输出。返回每个 token 及其后续 n 个单词的概率,判断是否输出幻觉结果。
  • 使用这两个参数可减轻大模型幻觉问题。通过设置合适的 temperature 值和观察每个 token 的概率,判断输出的确定性和可靠性,避免与直觉不符的结果。
  • 在实际应用中,这两个参数非常有价值。聊天应用可设置较高 temperature 值,增加多样性;回答科学问题可设置较低 temperature 值,避免错误信息。
  • top_logprobs 和 logprobs 参数提高了大模型应用的可控性,之前无法获得每个 token 位置返回最有可能的 tokens。
  • 通过困惑度解释生成结果具有一定应用价值,根据每个 token 的对数概率计算困惑度,判断输出的确定性。
  • 这两个参数降低幻觉问题,提高输出的确定性,增强模型的实用性和可靠性。在实际应用中,可以根据需求和场景设置参数,以达到最佳输出效果和应用效果。

这个 Notebook 演示了在「Create chat completion API」中使用 logprobs 参数。启用了 logprobs,则 API 将返回每个输出令牌的对数概率,以及在每个令牌位置上最有可能的有限数量的令牌及其对数概率。logprobs 的关键点:

  • 更高的对数概率表明在该上下文中 token 生成的可能性更大。
  • logprob 可以是任何负数或 0.0,0.0 对应于 100% 概率。
  • logprobs 允许我们计算作为对数概率的单个 token 的总和的序列的联合概率
  • 此外,还重点介绍了 logprobs 在分类任务、检索评分和自动补全中的应用,以及如何基于 logprobs 评估模型的置信度和模型对特定问题的捕捉程度。

三、总结

这篇博客介绍了如何使用 Chat Completions API 的 logprobs 和 top_logprobs 参数来获取输出 tokens 的概率信息,以及如何利用这些信息来实现不同的应用场景。这篇博客的要点有:

  • logprobs 参数的作用:logprobs 参数可以让 API 返回每个输出 token 的对数概率,以及每个 token 位置的最有可能的几个候选 tokens 及其对数概率。这些信息可以帮助用户评估模型的置信度,探索模型的备选响应,计算输出序列的整体概率,以及处理特殊字符或表情符号等。
  • logprobs 参数的用例:logprobs 参数可以用于多种场景,例如:
    • 分类任务:logprobs 参数可以提供每个类别预测的概率,让用户可以设置自己的分类或置信阈值。
    • 检索任务:logprobs 参数可以用于自我评估检索内容是否包含足够的信息来回答问题,从而减少基于检索的幻觉和提高准确性。
    • 自动完成任务:logprobs 参数可以用于动态地推荐下一个单词或 token,但只在模型对下一个单词很有把握的时候。
  • bytes 参数的作用:bytes 参数可以返回每个输出 token 的 ASCII(十进制 utf-8)值,这些值可以用于编码和解码每个 token,特别是包含表情符号或特殊字符的 token。

📚️ 参考链接:

  • OpenAI 的 GPT 模型 API 接口新增的 top_logprobs 和 logprobs 参数有什么用?为什么说可以减轻大模型幻觉问题
  • OpenAI Cookbook - Using logprobs
  • API reference - Create chat completion
  • 沈向洋:致 AI 时代的我们 —— 请不要忽视写作的魅力

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1337493.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kubernetes的理论基础

k8s:kubernetes:8个字母省略,就是k8s。 自动部署,自动扩展和管理容器化部署的应用程序的一个开源系统。k8s是负责自动化运维管理多个容器化程序的集群,是一个功能强大的容器编排工具。分布式和集群化的方式进行容器管理。 1.15 1.18 1.20 1…

新版IDEA中Git的使用(二)

说明:前面介绍了在新版IDEA中Git的基本操作,本文介绍关于分支合并、拉取等操作; 例如,现在有一个项目,分支如下: main:主分支; dev:开发分支; test&#x…

Linux Fonts

/usr/share/fonts Windows Fonts-CSDN博客

【java爬虫】基于springboot+jdbcTemplate+sqlite+OkHttp获取个股的详细数据

注:本文所用技术栈为:springbootjdbcTemplatesqliteOkHttp 前面的文章我们获取过沪深300指数的成分股所属行业以及权重数据,本文我们来获取个股的详细数据。 我们的数据源是某狐财经,接口的详细信息在下面的文章中,本…

Stable Diffusion模型原理

1 Stable Diffusion概述 1.1 图像生成的发展 在Stable Diffusion诞生之前,计算机视觉和机器学习方面最重要的突破是 GAN(Generative Adversarial Networks 生成对抗网络)。GAN让超越训练数据已有内容成为可能,从而打开了一个全新…

侦探IP“去推理化”:《名侦探柯南》剧场版走过26年

2023年贺岁档,柯南剧场版的第26部《黑铁的鱼影》如期上映。 这部在日本狂卷票房128亿日元的作品,被誉为有史以来柯南剧场版在商业成绩上最好的一部。 但该作在4月份日本还未上映前,就于国内陷入了巨大的争议。 试映内容里,灰原…

使用Clion配置Qt开发过程中的很多坑

如果你想使用Clion开发Qt软件 如果你想在Windows上使用Clion开发Qt 如果你还想使用MSVC编译器开发Qt 但是却遇到了各种各种编译报错,那么恭喜你这些坑都有人帮你踩过了 报错一 CMake Error at CMakeLists.txt:25 (find_package):Could not find a package config…

基于深度学习的垃圾检测与分类系统(含UI界面,yolov8、Python代码,数据集)

项目介绍 项目中所用到的算法模型和数据集等信息如下: 算法模型:     yolov8 yolov8主要包含以下几种创新:         1. 添加注意力机制(SE、CBAM等)         2. 修改可变形卷积(DySnake-主干c…

【树莓派4b的uboot编译移植】

树莓派4b的uboot编译移植 引言 0.1、什么是uboot OS跑起来前,需要的一段引导程序负责部署整个计算机系统,引导操作系统内核启动并给内核传参提供一个命令行界面供人操作是一个开源项目,uboot就是universal bootloader(通用的启…

【基础篇】四、类加载器ClassLoader

文章目录 1、类加载器2、分类3、启动类加载器4、手动扩展启动类加载器5、扩展类加载器6、应用程序类加载器 1、类加载器 类加载器ClassLoader,是JVM提供给应用程序去获取类和接口的字节码数据的。 上面的类加载器对JVM进行了本地接口调用。本地接口即JNI&#xff0…

MySQL 中 blob 和 text 数据类型

应用场景 日志表中请求参数用的text,公告表中内容详情用的mediumblob。 1. blob 类型 blob(binary large object) 是一个可以存储二进制文件的容器,主要用于存储二进制大对象,例如可以存储图片,音视频等文件。按照可存储容量大小…

redis 从0到1完整学习 (七):ZipList 数据结构

文章目录 1. 引言2. redis 源码下载3. zipList 数据结构3.1 整体3.2 entry 数据结构分析3.3 连锁更新 4. 参考 1. 引言 前情提要: 《redis 从0到1完整学习 (一):安装&初识 redis》 《redis 从0到1完整学习 (二&am…

Python(五)—— 闭包装饰器

13. 闭包 13.1 闭包的案例 给大家提个需求,然后用函数去实现:完成一个计算不断增加的系列值的平均值的需求 例如:整个历史中的某个商品的平均收盘价。就是从这个商品一出现开始,每天记录当天价格,然后计算他的平均值…

SpringBoot源码搭建

文章目录 源码下载搭建项目构建学习博客 源码下载 需要环境 : JDK 1.8Maven 3.5Spring Boot 1.x.x: Gradle 版本建议为2.9或更高版本。Spring Boot 2.x.x: Gradle 版本建议为4.x.x或更高版本。 GitHub 从v2.3.x开始,SpringBoot开始强制用Gradle构建项…

深度解析:CRM、ERP之间的关联和区别以及双系统的联系与集成(附系统架构图)

目录 一、系统简介 1.1 CRM是什么 1.2 ERP是什么 二、发展阶段 2.1 CRM发展阶段 2.2 ERP发展阶段 三、系统架构 3.1 CRM系统架构 3.2 ERP系统架构 四、CRM与ERP的区别 4.1 目标不同 4.2 不同阶段的发展中不同的适用性 4.2.1 刚起步的小公司 4.2.2 对于更大、更成…

数字电子技术 一天速成

文章目录 一、数制与编码1. 数制转换2. BCD编码 二、逻辑代数1. 常见逻辑运算及逻辑门 三、化简逻辑表达式1. 卡诺图 求 表达式2. 表达式 画 卡诺图3. 卡诺图 化简 表达式4. 公式法 化简 表达式 ⭐⭐5. 表达式 求 反函数6. 卡诺图 求 反函数 四、组合逻辑电路的分析和设计1. 逻…

Gin框架之使用 go-ini 加载.ini 配置文件

首先,联想一个问题,我们在部署服务时,通常为了方便,对于需要迭代更新的代码进行修改,但是比对shell,可以搞一个变量将需要修改的,以及修改起来变动处多的,写在变量内,到时候如果需要变更,可以直接变更变量即可; 那么,golang有没有什么方式可以将需要变的东西保存起…

Hexo 部署 Github Pages, Github Actions自动部署

想整个静态的博客部署在github pages 历经两天的折磨终于是摸索成功了,官网的文档太简陋了,很多东西没说清楚。 欢迎大家访问我的博客! Canyue 最终实现的效果,一个项目仓库,main 分支存放源代码,gh-page…

H266/VVC帧间预测编码技术概述

帧间预测编码简述 帧间预测利用视频时间域的相关性,使用邻近已编码图像像素值预测当前图像的像素值,能有效去除视频时域冗余。 目前主要的视频编码标准中,帧间预测都采用基于块的运动补偿技术,不同的编码标准有不同的分块方式。 …

Spring企业开发核心框架

文章目录 Spring企业开发核心框架一、框架前言1. 总体技术体系2. 框架概念和理解 二、Spring Framework简介1. Spring 和 SpringFramework2. SpringFramework主要功能模块3. SpringFramework 主要优势 三、Spring IoC 容器概念1. 组件和组件管理概念2. Spring IoC容器和容器实现…