查看原文
其他

OpenAI 重磅更新:函数调用功能、更长上下文和更低价格等

Chris AI工具派 2023-08-23

关注 “AI 工具派”

探索最新 AI 工具,发现 AI 带来的无限可能性!


今天 Open AI 发布了一堆重磅更新,Chris 为大家总结一下:

  • 更加灵活可控制的新版 GPT-4 和 3.5 Turbo 模型
  • 新的 16k 上下文 3.5 Turbo 模型(今天向所有人提供)
  • Embeddings 和 GPT-3.5 Turbo 降价
  • 新增 Chat Completions API 中的函数调用功能
  • GPT-4 的 API 权限将开放给更多的人
  • 多个模型即将弃用

看完更新内容 Chris 最大的感受就是「非常良心」「加量减价」

接下来一起详细看看,如果需要的话,你也可以查看更新原文[1]

1. 函数调用

开发人员现在可以向 「gpt-4-0613」「gpt-3.5-turbo-0613」 发送所需要描述的函数,并让 GPT 模型智能地选择输出一个包含调用该函数所需参数的 JSON 对象。这是 GPT 能力更可靠地连接到外部工具和 API 的新方法。

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

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

比如将问题“_给 Anya 发邮件,看她下周五是否想喝咖啡_”这样的查询转换为“send_email(to: string, body: string)”的函数调用方式,或者将问题“_波士顿的天气如何?_”转换为“get_current_weather(location: string, unit: 'celsius' | 'fahrenheit')”的函数调用方式。

  • 将自然语言转换为 API 调用或数据库查询

比如将问题“_谁是我这个月的十大客户?_”转换为内部 API 调用,比如 get_customers_by_revenue(start_date: string, end_date: string, limit: int),或者将问题“_Acme, Inc.上个月有多少订单?_”转换成 SQL 查询,使用sql_query(query: string)

  • 从文本中提取结构化数据

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

这些用例由 OpenAI 在 /v1/chat/completions 端点中的新 API 参数、functionsfunction_call 实现,使开发人员能够通过 JSON Schema 通过 JSON 描述函数,并可选地要求它调用特定函数。如果开发者发现函数调用可以改进的话,可以使用 OpenAI 的开发者文档[2]并添加评估。

函数调用示例

这里以问题“_波士顿现在的天气怎么样?_”进行介绍,只需要通过 3 个步骤即可完成调用:

  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"
  }]
}
  1. 使用模型响应调用 API

请求报文:

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

响应报文:

"temperature": 22, "unit""celsius""description""Sunny" }
  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?"},
    {"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"
  }]
}
  1. 完成调用,返回回答内容“_波士顿目前天气晴朗,气温为 22 摄氏度。_”。

2. 新模型

GPT-4 更新

  • 「gpt-4-0613」 版本包含一个更新和改进的模型,支持函数调用。
  • 「gpt-4-32k-0613」 版本与 「gpt-4-0613」 版本相同,但具有「更长的上下文长度」并且能「更好地理解更大的文本」

接下来的几周内 OpenAI 将会邀请更多候补名单上的用户尝试 GPT-4,并希望最终完全取消等待名单。

GPT-3.5 Turbo 更新

  • 「gpt-3.5-turbo-0613」 版本包含与 「GPT-4」 相同的「函数调用功能」,并且可以通过系统消息提供更可靠的引导能力,这两个功能使开发者能够更有效地引导模型的响应。
  • 「gpt-3.5-turbo-16k」 提供了 「gpt-3.5-turbo」 的四倍上下文长度,价格为 「$0.003/1K」 输入 token 和 「$0.004/1K」 输出 token。16k 上下文意味着该模型现在可以在单个请求中支持大约 20 页文本。

模型弃用

OpenAI 将开始升级和弃用在三月份宣布的初始版本的 gpt-4 和 gpt-3.5-turbo。在 6 月 27 日之前,使用稳定模型名称(「gpt-3.5-turbo」「gpt-4」「gpt-4-32k」)的应用程序将自动升级到上述新模型。「gpt-3.5-turbo-0301」「gpt-4-0314」 和 **gpt-4-32k-0314 **这些旧模型将于 9 月 13 日后无法使用,在此之后指定这些模型名称的请求将失败。

更低的定价

这些定价将从今天(2023.06.13)开始生效:

Embeddings 定价

**text-embedding-ada-002 **是使用最广泛的嵌入模型。今天开始,其价格将降低了 75%,降至 「$0.0001/1K」 token。

GPT-3.5 Turbo 定价

「gpt-3.5-turbo」 是 OpenAI 最受欢迎的聊天模型,为数百万用户提供 ChatGPT 服务。今天开始,其价格将降低了 25%。开发人员现在可以使用该模型,仅需支付 $0.0015/1K 输入 token 和 「$0.002/1K」 输出 token,相当于每 1 美元大约可获得 700 页内容。「gpt-3.5-turbo-16k」 将定价为 「$0.003/1K」 输入 token 和 「$0.004/1K」 输出 token。

以上就是 OpenAI 这次的重要更新内容,这让 Chris 更加期待不同应用场景使用这些最新模型和新功能了。

Reference

[1]

更新原文: https://openai.com/blog/function-calling-and-other-api-updates

[2]

开发者文档: https://platform.openai.com/docs/guides/gpt/function-calling

这里是“「AI工具派」”,探索最新AI工具,发现AI带来的无限可能性。我们下一期见。

HISTORY/往期推荐

拯救设计师的神器!15 款 AI 工具让你设计更高效、更优秀!



ChatGPT 轻松扮演 10 个常见角色,让你的内容与众不同!



12个火爆AI提示词工具,点燃你的创意灵感



ChatGPT 多功能利器:24 个应用场景大盘点



Midjourney中文版来啦🇨🇳速度超快⚡️

这 5 款 AI 绘图工具,让你的绘图更高效!

高效办公!5款腾讯免费AI工具

推荐 20 款顶级 AI 聊天机器人,轻松畅聊未来


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存