What is the OpenAI Chat Completion API tools/functions property format?

news2024/9/24 19:10:19

题意:OpenAI 聊天完成 API 的工具/函数属性格式是什么

问题背景:

Is there any clear documentation on the format of OpenAI's Chat Completion API tools/functions object format? I understand it's JSON, but there appear to be underlying requirements of what property names/types are allowed inside of the objects.

关于 OpenAI 的聊天完成 API 工具/函数对象格式是否有明确的文档?我知道它是 JSON 格式,但似乎对对象内部允许的属性名称/类型有一些基本要求

I tried figuring out what all property types OpenAI allowed in their tools/functions definition, but their documentation isn't great (they just have links to a simple example and an explanation of JSON schema 💩). They define description and name, but leave parameters pretty much open to interpretation.

我试图弄清楚 OpenAI 在其工具/函数定义中允许的所有属性类型,但他们的文档并不太好(他们只提供了简单示例的链接和 JSON schema 的解释 💩)。他们定义了 description 和 name,但对 parameters 的解释几乎完全开放,留给用户自行理解

Image of tools property definition

问题解决:

After an hour or two of searching around, experimenting, and cobbling something together, I think I finally created a template that I could reference in the future. Hopefully this saves someone else some time in the future.

经过一两个小时的搜索、实验和拼凑,我终于创建了一个可以作为未来参考的模板。希望这能为其他人节省一些时间

{
  "description": "This is a template that you can start from to build your tool",
  "name": "new_tool",
  "parameters": {
    "properties": {
      "array_property_name": {
        "description": "A property that returns an array of items (can be any type mentioned below, including an object)",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "boolean_property_name": {
        "description": "A property that returns a boolean",
        "type": "boolean"
      },
      "enum_property_name": {
        "description": "A property that returns a value from a list of enums (can be any type)",
        "enum": [
          "option 1",
          "option 2",
          "option 3"
        ],
        "type": "string"
      },
      "number_property_name": {
        "description": "A property that returns a number",
        "type": "number"
      },
      "object_property_name": {
        "description": "A property that returns an object",
        "properties": {
          "foo": {
            "description": "A property on the object called 'foo' that returns a string",
            "type": "string"
          },
          "bar": {
            "description": "A property on the object called 'bar' that returns a number",
            "type": "number"
          }
        }
      },
      "string_property_name": {
        "description": "A property that returns a string",
        "type": "string"
      }
    },
    "required": [
      "array_property_name",
      "number_property_name"
    ],
    "type": "object"
  }
}

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

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

相关文章

tauri开发软件中,使用tauri自带的api用浏览器打开指定的url链接

有能力的可以看官方文档:shell | Tauri Apps 就是使用这个api来打开指定的url链接,要在tauri.config.json中配置打开这个api: 然后在前端页面中导入使用: import { open } from tauri-apps/api/shell; // opens the given URL o…

Cpp类和对象(下)(6)

文章目录 前言一、初始化列表概念使用注意实际运用explicit关键字初始化列表的总结 二、static成员static成员的概念static成员的特性static的一个实用场景 三、友元友元函数友元类 四、内部类概念特性 五、匿名对象六、再次理解封装和面向对象总结 前言 Hello,本篇…

redis学习(013 实战:黑马点评:优惠券秒杀——超卖问题解决方案)

黑马程序员Redis入门到实战教程,深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 总时长 42:48:00 共175P 此文章包含第52p-第p53的内容 文章目录 问题演示使用jmeter测试两百个并发请求 超卖的原因分析解决方案 加锁悲观锁介绍乐观锁介绍乐观锁…

XXL-Job 监控消息队列消息数量预警

1、什么是Basic Authentication认证 Basic Authentication 是一种常用的 HTTP 认证机制,用于保护 Web 资源免受未授权访问。在这种认证方式中,客户端(通常是浏览器)需要在 HTTP 请求头中提供用户凭据(通常是用户名和密…

Leetcode 最小覆盖子串

解题思路: 哈希表存储字符频率:首先统计字符串 t 中每个字符出现的次数。滑动窗口:用两个指针 left 和 right 来标记当前窗口的左右边界,不断右移 right,直到包含了所有 t 中的字符。然后尝试右移 left,缩…

python爬虫/引用requests/基本使用

1.安装requests 进入控制台使用该命令安装requests pip3 install requests 2.对网站使用get请求 这里用对网站进行get请求,然后打印。 import requests //引用requestsresponse requests.get(urlhttps://www.bilibili.com/)print(response.text) 3.对网站使用…

2024全国研究生数学建模竞赛(数学建模研赛)ABCDEF题深度建模+全解全析+完整文章

全国研究生数学建模竞赛(数学建模研赛)于9月21日8时正式开赛,赛程4天半,咱这边会在开赛后第一时间给出对今年的6道赛题的评价、分析和解答。包括ABCDEF题深度建模全解全析完整文章,详情可以点击底部的卡片来获取哦。 …

座椅空置状态检测系统源码分享

座椅空置状态检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

大模型之基准测试集(Benchmark)-给通义千问2.0做测评的10个权威测基准测评集

引言 在去年(2023)云栖大会上,阿里云正式发布千亿级参数大模型通义千问2.0。据现场介绍,在10个权威测评中,通义千问2.0综合性能超过GPT-3.5,正在加速追赶GPT-4。以下是通义千问在MMLU、C-Eval、GSM8K、HumanEval、MATH等10个主流…

基于Springboot共享充电宝管理系统JAVA|VUE|SSM计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解

源代码数据库LW文档(1万字以上)开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统:Window操作系统 2、开发工具:IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…

openEuler普通用户su root时Permission denied

openEuler普通用户su root时Permission denied 背景: openEuler默认普通用户是不能通过su切换到root用户的 如果想通过su切换到root,有以下两个解决办法 1、修改/etc/pam.d/su 文件 [rootlocalhost ~]# vim /etc/pam.d/su #修改21行,将“…

视频怎么制作成二维码?视频轻松生成二维码的3步操作

现在很多人为了能够更快捷的实现视频内容的分享,会通过将视频生成二维码的方式,让其他人可以通过扫描二维码来查看视频内容。这种方式不需要用户存储视频,扫码就能够在设备上查看视频,有利于提升查看视频的便捷性,可以…

图片压缩工具免费怎么找?归纳了这几个压缩工具

有哪些图片压缩工具免费?在数字化时代,图像已成为我们生活中不可或缺的一部分。无论是网站设计、社交媒体分享还是文件传输,高质量的图片都扮演着重要的角色。但高质量往往意味着大文件体积,这可能会导致加载速度变慢或存储空间不…

打造以太坊数据监控利器:InfluxDB与Grafana构建Geth可视化分析平台

前言 以太坊客户端收集大量数据,这些数据可以按时间顺序数据库的形式读取。为了简化监控,这些数据可以输入到数据可视化软件中。在此页面上,将配置 Geth 客户端以将数据推送到 InfluxDB 数据库,并使用 Grafana 来可视化数据。 一…

Android13中Android.mk和Android.bp预编译多种架构文件

需求: 1, 当前有多个架构的config文件,但是需要不同架构使用不同config文件 2, 必须将config文件拷贝到out/host目录下 常规思路 在Android.bp中, 一般在编译多架构文件时,都会使用arch属性&#xff…

Tauri 应用 input 输入自动大写问题定位解决

使用 Tauri React 开发 MinApi(http api接口测试工具) 时,在 Mac 系统中遇到一个很奇怪的问题:在 input 输入框中输入内容时,如果输入的是全小写英文字母,会自动将首字母转换为大写,效果如下图所示。 问题定位 经过排…

WebRTC关键技术及应用场景:EasyCVR视频汇聚平台高效低延迟视频监控解决方案

众所周知,WebRTC是一项开源的实时通信技术,它通过集成音频、视频和数据传输到Web浏览器中,使得实时通信变得简单且无需任何插件或第三方软件。WebRTC不仅是一个API,也是一系列关键技术和协议的集合,它的出现改变了传统…

代码随想录算法训练营Day14 | 226.翻转二叉树、101. 对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度

目录 226.翻转二叉树 101. 对称二叉树 104.二叉树的最大深度 111.二叉树的最小深度 226.翻转二叉树 题目 226. 翻转二叉树 - 力扣(LeetCode) 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例1&#…

Android下反调试与反反调试

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 反调试检测 反调试检测的几种方式。 1. TrackerId 首先,通过 IDA Pro 的调试器附加到当前 app 进程 关于IDA Pro调试android app的详细教程可以…

必应广告投放推广收费标准和流程

在当今竞争激烈的商业环境中,如何精准高效地推广产品与服务,成为企业面临的重大挑战。微软必应Bing广告平台,凭借其强大的技术实力和精准的数据分析能力,已成为众多企业广告推广的首选。云衔科技作为业界领先的数字化营销服务商&a…