OpenAI发布ChatGPT函数调用和API更新

这篇具有很好参考价值的文章主要介绍了OpenAI发布ChatGPT函数调用和API更新。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2023年6月13日,OpenAI针对开发者调用的API做了重大更新,包括更易操控的 API模型、函数调用功能、更长的上下文和更低的价格。

在今年早些时候发布gpt-3.5-turbo,gpt-4在短短几个月内,已经看到开发人员在这些模型之上构建了令人难以置信的应用程序。
今天,我们将跟进一些令人兴奋的更新:

  • Chat Completions API 中的新函数调用功能
  • gpt-4和的更新和更易于操纵的版本gpt-3.5-turbo
  • 新的 16k 上下文版本gpt-3.5-turbo(与标准 4k 版本相比)
  • 我们最先进的嵌入模型的成本降低了 75%
  • 输入令牌的成本降低,gpt-3.5-turbo模型降低了25%
  • gpt-3.5-turbo-0301和gpt-4-0314模型宣布弃用时间表

所有这些模型都具有我们在 3 月 1 日推出的相同的数据隐私和安全保证——客户拥有根据他们的请求生成的所有输出,他们的 API 数据不会用于训练。

模型更新相关

GPT-4

  • 新增了gpt-4-0613模型,这个是一个带有函数调用的更新和改进模型。
  • gpt-4-32k-0613包括与 相同的改进gpt-4-0613,以及扩展的上下文长度,以便更好地理解更大的文本。
  • 通过这些更新,我们将在未来几周内邀请候补名单中的更多人试用 GPT-4,目的是使用此模型完全删除候补名单。感谢所有耐心等待的人,我们很高兴看到您使用 GPT-4 构建的内容!

GPT-3.5 Turbo

  • gpt-3.5-turbo-0613包括与 GPT-4 相同的函数调用以及通过系统消息更可靠的可操纵性,这两个功能允许开发人员更有效地指导模型的响应。
  • gpt-3.5-turbo-16k和gpt-3.5-turbo以两倍的价格提供4倍的上下文长度:每 1K 输入令牌 0.003 美元和每 1K 输出令牌 0.004 美元。16k 上下文意味着该模型现在可以在单个请求中支持约 20 页文本。

模型弃用

今天,我们将开始对我们在三月份宣布的gpt-4和gpt-3.5-turbo的初始版本进行升级和弃用。使用稳定模型名称(gpt-3.5-turbo、gpt-4和gpt-4-32k)的应用将在6月27日自动升级到上述新模型。为了比较版本之间的模型性能,我们的 Evals 库支持公开和私有评估,以显示模型变化对您的用例的影响。

需要更多时间进行过渡的开发者可以通过在API请求的 'model' 参数中指定gpt-3.5-turbo-0301、gpt-4-0314或gpt-4-32k-0314,继续使用旧模型。这些旧模型将一直可以使用到9月13日,之后指定这些模型名称的请求将会失败。您可以通过我们的模型弃用页面来跟踪模型弃用的最新信息。这是对这些模型的第一次更新,因此,我们非常欢迎开发者提供反馈,以帮助我们确保平稳过渡。

函数调用

gpt-4-0613跟gpt-3.5-turbo-0613模型支持函数调用,让模型智能地选择输出包含参数的 JSON 对象来调用这些函数。这是一种更可靠地将 GPT 功能与外部工具和 API 连接的新方法。

这些模型已经过微调,可以检测何时需要调用函数(取决于用户的输入)并使用符合函数签名的 JSON 进行响应。函数调用允许开发人员更可靠地从模型中获取结构化数据。例如,开发人员可以:

创建通过调用外部工具(例如 ChatGPT 插件)来回答问题的聊天机器人

  • 将诸如“给 Anya 发电子邮件,看看她下周五是否想喝咖啡”之类的查询转换为函数调用
send_email(to: string, body: string)
  • 例如:波士顿的天气怎么样?
get_current_weather(location: string, unit: 'celsius' | 'fahrenheit')

从文本中提取结构化数据

定义一个名为 的函数extract_people_data(people: [{name: string, birthday: string, location: string}]),以提取维基百科文章中提到的所有人。

函数调用示例

调用OpenAI的API时,需要增加functions参数,这个参数是json格式字符串。

curl https://api.openai.com/v1/chat/completions -u :$OPENAI_API_KEY -H 'Content-Type: application/json' -d '{
  "model": "gpt-3.5-turbo-0613",
  "messages": [
    {"role": "user", "content": "What is the weather like in Boston?"}
  ],
  "functions": [
    {
      "name": "get_current_weather",
      "description": "Get the current weather in a given location",
      "parameters": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "The city and state, e.g. San Francisco, CA"
          },
          "unit": {
            "type": "string",
            "enum": ["celsius", "fahrenheit"]
          }
        },
        "required": ["location"]
      }
    }
  ]
}'

OpenAI会返回一个Json字符串:

{
  "id": "chatcmpl-123",
  ...
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": null,
      "function_call": {
        "name": "get_current_weather",
        "arguments": "{ \"location\": \"Boston, MA\"}"
      }
    },
    "finish_reason": "function_call"
  }]
}

调用第三方接口,使用模型响应调用您的 API

curl https://weatherapi.com/...

响应:

{ "temperature": 22, "unit": "celsius", "description": "Sunny" }

将响应结果发送给OpenAI进行总结

这个时候我们看到messages中的数组元素变多了,增加了上下文,并且其中有role=function的对象,在content中带上了上一步api返回的结果。

curl https://api.openai.com/v1/chat/completions -u :$OPENAI_API_KEY -H 'Content-Type: application/json' -d '{
  "model": "gpt-3.5-turbo-0613",
  "messages": [
    {"role": "user", "content": "What is the weather like in Boston?"},
    {"role": "assistant", "content": null, "function_call": {"name": "get_current_weather", "arguments": "{ \"location\": \"Boston, MA\"}"}},
    {"role": "function", "name": "get_current_weather", "content": "{\"temperature\": "22", \"unit\": \"celsius\", \"description\": \"Sunny\"}"}
  ],
  "functions": [
    {
      "name": "get_current_weather",
      "description": "Get the current weather in a given location",
      "parameters": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "The city and state, e.g. San Francisco, CA"
          },
          "unit": {
            "type": "string",
            "enum": ["celsius", "fahrenheit"]
          }
        },
        "required": ["location"]
      }
    }
  ]
}'

OpenAI将响应发送回模型进行总结,返回了一句完整的话:波士顿目前天气晴朗,气温为22摄氏度。

{
  "id": "chatcmpl-123",
  ...
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "The weather in Boston is currently sunny with a temperature of 22 degrees Celsius.",
    },
    "finish_reason": "stop"
  }]
}

函数调用相关开发文档:

函数如何调用

https://platform.openai.com/docs/guides/gpt/function-calling

了解如何在简单和高级用例中通过API使用函数调用

https://github.com/openai/openai-cookbook/blob/main/examples/How_to_call_functions_with_chat_models.ipynb

函数调用总结

自 ChatGPT 插件的 alpha 版本发布以来,我们学到了很多关于如何让工具和语言模型安全地协同工作的知识。然而,仍然存在开放的研究问题。例如,概念验证利用说明了来自工具输出的不受信任的数据如何指示模型执行意外操作。我们正在努力减轻这些和其他风险。开发人员可以通过仅使用来自可信工具的信息并在执行具有现实世界影响的操作(例如发送电子邮件、在线发布或进行购买)之前包括用户确认步骤来保护他们的应用程序。

函数调用其实跟网页版的插件功能差不多,就是让api调用有更多的扩展性,但是目前感觉调用还是比较麻烦的,查询一个天气功能要请求三次。

更低的价格

我们将继续提高我们的系统效率,并将节省下来的资金转嫁给开发人员,即日起生效。

嵌入

text-embedding-ada-002是我们最受欢迎的嵌入模型。今天,我们将成本降低 75% 至每 1K 代币 0.0001 美元。

GPT-3.5 Turbo

  • gpt-3.5-turbo是我们最受欢迎的聊天模型,为数百万用户提供 ChatGPT 支持。今天,我们将 的输入代币成本降低了25%。开发人员现在可以以每1K输入令牌0.0015美元和每1K输出令牌0.002 美元的价格使用该模型,这相当于1美元大约700页。

  • gpt-3.5-turbo-16k定价为每1K输入代币0.003 美元,每 1K 输出代币 0.004 美元。

开发者反馈是我们平台发展的基石,我们将继续根据我们听到的建议进行改进。我们很高兴看到开发人员如何在他们的应用程序中使用这些最新模型和新功能。

总结

以上就是OpenAI 2023年6月13日发布的更新内容,大家也可以去看原文:

https://openai.com/blog/function-calling-and-other-api-updates?ref=upstract.com

公众号:楚少AI
ChatGPT手机版: https://ai004.com/文章来源地址https://www.toymoban.com/news/detail-481992.html

到了这里,关于OpenAI发布ChatGPT函数调用和API更新的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ChatGPT(GPT3.5) OpenAI官方API正式发布

            OpenAI社区今天凌晨4点多发送的邮件,介绍了ChatGPT官方API的发布。官方介绍文档地址为“OpenAI API”和“OpenAI API”。         ChatGPT(GPT3.5)官方API模型名称为“gpt-3.5-turbo”和“gpt-3.5-turbo-0301”。API调用价格比GPT text-davinci-003模型便宜10倍。调用费用为0.002美元/10

    2024年02月11日
    浏览(37)
  • Chatgpt API调用报错:openai.error.RateLimitError

    Chatgpt API 调用报错: openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details. 调用OpenAI API接口 代码运行报错: 报错原因:         为了探索和试验API,所有新用户都可以获得价值5美元的免费代币。这些代币将在3个月后到期;或者你使用了所有的

    2024年02月13日
    浏览(32)
  • 【课件】Python调用OpenAI API实现ChatGPT多轮对话

    如何实现多轮对话? gpt-3.5-turbo 模型调用方法 openai.ChatCompletion.create 里传入的 message 是一个列表,列表里每个元素是字典,包含了角色和内容,我们只需将每轮对话都存储起来,然后每次提问都带上之前的问题和回答即可。 代码解析: ChatGPT 类,包含三个函数: __init__ 初始

    2024年02月03日
    浏览(40)
  • 【OpenAI】ChatGPT函数调用(Function Calling)实践

    6月13日OpenAI在Chat Completions API中添加了新的函数调用(Function Calling)能力,帮助开发者通过API方式实现类似于ChatGPT插件的数据交互能力。 本文在作者上一篇文章《私有框架代码生成实践》的基础上,依旧使用自然语言低代码搭建场景作为案例,将嵌入向量搜索(Embedding)获

    2024年02月12日
    浏览(43)
  • 【OpenAI】ChatGPT函数调用(Function Calling)实践 | 京东云技术团队

    6月13日OpenAI在Chat Completions API中添加了新的函数调用(Function Calling)能力,帮助开发者通过API方式实现类似于ChatGPT插件的数据交互能力。 本文在作者上一篇文章《私有框架代码生成实践》的基础上,依旧使用自然语言低代码搭建场景作为案例,将嵌入向量搜索(Embedding)获

    2024年02月12日
    浏览(42)
  • ChatGPT 3.5 API的调用不全指南(持续更新ing...)

    诸神缄默不语-个人CSDN博文目录 OpenAI platform:https://platform.openai.com/overview 最近更新时间:2023.6.14 最早更新时间:2023.5.17 关于怎么才能上ChatGPT、怎么才能获取API额度等等信息,建议直接见我的medium账号。 因为这不是能在内网发的内容。 本文不涉及相关网络问题。 我本来想靠

    2024年02月05日
    浏览(33)
  • Python ChatGPT API 新增的函数调用功能演示

    🍉 CSDN 叶庭云 : https://yetingyun.blog.csdn.net/ OpenAI 重磅更新,API 添加函数调用能力,能处理更长上下文,价格又有所降低 … 知乎讨论:https://www.zhihu.com/question/606520916 这次更新的主角,在我看来毫无疑问是 函数调用功能 ,过去要么依靠 Prompt Engineering 提供的信息,要么就需要

    2024年02月10日
    浏览(29)
  • 通过阿里云函数计算解决ChatGPT API的调用问题

    与其被ChatGPT取代,不如征服ChatGPT,做它的主人! 自2022年11月30日 OpenAI 发布 ChatGPT 以来,虽然时有唱衰的声音出现,但在OpenAI不断推陈出新,陆续发布了OpenAPI、GPT-4、ChatGPT Plugins之后,似乎让大家看到了一个聊天机器人往操作系统入口进军的升纬之路。 ChatGPT能被认为是操作

    2024年02月01日
    浏览(34)
  • 【网安AIGC专题11.1】12 CODEIE用于NER和RE:顶刊OpenAI API调用、CodeX比chatgpt更好:提示工程设计+控制变量对比实验(格式一致性、模型忠实度、细粒度性能)

    这次该我汇报啦 许愿明天讲的顺利,问的都会 讲+提问1个小时 但是在讨论的过程中,感觉逐步抽丝挖掘到了核心原理: 之前的理解:借助代码-LLM中的编码丰富结构化代码信息 最后的理解:如果能设置一个方法,让大模型能对自己输出的有所理解,那么效果会更好。这篇论

    2024年02月05日
    浏览(78)
  • OpenAI 开发系列(四):掌握OpenAI API调用方法

    全文共4000余字,预计阅读时间约17~30分钟 | 满满干货(附代码),建议收藏! 本文目标:明确获取OpenAI API密钥的流程,理解如何调用OpenAI的各类大模型,并了解其对应的相关参数 代码下载点这里 前提:拥有OpenAI账户,并可以魔法上网,如果涉及账户或魔法上网问题,可参考本

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包