0°

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 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-0613 和 gpt-3.5-turbo-16k。

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

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

  废弃模型

  gpt-3.5-turbo-0301,gpt-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

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

0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论