OpenAI 重磅更新,支持自定义函数调用!

简介: OpenAI 终于发力了,今天凌晨更新了一大波内容,让我们一起来看看:• Chat Completions API 中现在支持函数调用了,也就是说为 API 接口定义了一套标准的插件规范!• 新增了 gpt-4-0613 和 gpt-3.5-turbo-0613 模型• 新增了支持 16k 上下文的 gpt-3.5-turbo-16k 模型• 嵌入模型成本降低 75%• gpt-3.5-turbo 模型 tokens 成本降低 25%• gpt-3.5-turbo-0301 和 gpt-4-0314 模型即将被废弃

OpenAI 终于发力了,今天凌晨更新了一大波内容,让我们一起来看看:

  • Chat Completions API 中现在支持函数调用了,也就是说为 API 接口定义了一套标准的插件规范!
  • 新增了 gpt-4-0613gpt-3.5-turbo-0613 模型
  • 新增了支持 16k 上下文的 gpt-3.5-turbo-16k 模型
  • 嵌入模型成本降低 75%
  • gpt-3.5-turbo 模型 tokens 成本降低 25%
  • gpt-3.5-turbo-0301gpt-4-0314 模型即将被废弃


函数调用

OpenAI API 现在支持函数调用了,但仅限于 gpt-4-0613  和  gpt-3.5-turbo-0613 模型,其实就是支持插件了!应用场景:

  • 创建聊天机器人,通过调用外部工具(例如 ChatGPT 插件)来回答问题
  • 将自然语言转换为 API 调用或数据库查询
  • 从文本中提取结构化数据

函数调用举例

1、使用函数和用户的输入调用模型

请求:

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"]
      }
    }
  ]
}'

响应:

{
  "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"
  }]
}

2、调用第三方 API

请求:

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

响应:

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

3、将响应发送回模型进行汇总

请求:

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"]
      }
    }
  ]
}'

响应:

{
  "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"
  }]
}


新模型

GPT-4

GPT-4 新增了 2 个模型,gpt-4-0613  和 gpt-4-32k-0613 ,均支持函数调用,并且支持更长的上下文和更好的语义理解。

GPT-3.5 Turbo

GPT-3.5 新增了 2 个模型,gpt-3.5-turbo-0613gpt-3.5-turbo-16k

gpt-3.5-turbo-0613 支持函数调用,并且对 system 类型的消息具有更好的控制,响应速度更快!

gpt-3.5-turbo-16k 支持更长的上下文,单个请求中支持约 20 页文本输入。

废弃模型

gpt-3.5-turbo-0301gpt-4-0314 以及 gpt-4-32k-0314 即将废弃使用。


费用情况

嵌入模型

text-embedding-ada-002 成本降低 75%,现在费用是 $0.0001/1K tokens

GPT-3.5 Turbo

gpt-3.5-turbo 成本降低 25%,费用明细:

输入:$0.0015/1K input tokens

输出:$0.002/1K output tokens

gpt-3.5-turbo-16k 费用明细:

输入:$0.003/1K input tokens

输出:$0.004/1K output tokens


总的来说就是新增了函数调用功能,更长的上下文支持,更低的成本。


树先生开发的 ChatGPT 镜像网址 也在第一时间更新了上述模型,欢迎体验!函数调用功能即将更新,敬请期待~


相关文章
|
2月前
|
XML Java Maven
视觉智能开放平台操作报错合集之依赖核心库下载下来的版本,与发布报告中的版本不一致,导致调用的时候找不到方法,调用失败,该怎么解决
在使用视觉智能开放平台时,可能会遇到各种错误和问题。虽然具体的错误代码和消息会因平台而异,但以下是一些常见错误类型及其可能的原因和解决策略的概述,包括但不限于:1. 认证错误、2. 请求参数错误、3. 资源超限、4. 图像质量问题、5. 服务不可用、6. 模型不支持的场景、7. 网络连接问题,这有助于快速定位和解决问题。
|
2月前
|
JavaScript 关系型数据库 Serverless
Serverless 应用引擎操作报错合集之在调用stable Diffusion函数计算api接口返回,报错:"Not Found"一般是什么原因
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
2月前
|
运维 Serverless API
Serverless 应用引擎产品使用合集之一个函数是否可以作为另一个函数的输入或服务进行调用
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
2月前
|
机器学习/深度学习 运维 Serverless
函数计算产品使用问题之部署的API如何进行调用
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
运维 Serverless API
Serverless 应用引擎产品使用合集之哪里添加函数计算触发器能够触发某个函数work
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
2月前
|
运维 Serverless API
Serverless 应用引擎产品使用合集之函数初始化失败,一般是什么导致的
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
3月前
|
缓存 运维 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,使用签名认证调用HTTP触发器的步骤如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
325 7
|
3月前
|
运维 Serverless API
Serverless 应用引擎产品使用之在阿里函数计算中开启函数计算 API 接口如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
538 7
|
3月前
|
安全 Serverless 数据库连接
Serverless 应用引擎操作报错合集之阿里函数计算中我的3dopenpose报错 "error 预览失败" 如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
3月前
|
存储 缓存 运维
Serverless 应用引擎产品使用之阿里云函数计算3.0接入Go的框架goframe的步骤如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。