OpenAI API - Function calling 的概念与使用(一)

目录

前言

Function calling 基本介绍

Common use cases (常见用例)

Supported models (支持的模型)

Function calling behavior (函数调用行为)

Parallel function calling (并行函数调用)

Example invoking multiple function calls in one response (多函数调用示例)

Tokens (令牌)

总结


前言

        此篇文章基于OpenAI 官方文档,用中文的方式为大家讲解 Function calling(函数调用),有需要的朋友可以收藏方便后续的学习和使用,此篇文章涵盖基础概念和实际用例,所以我打算分成2-3部分来讲解

Function calling 基本介绍

        在一次API调用中,你可以描述函数,并让模型智能地选择输出包含调用一个或多个函数参数的JSON对象。Chat Completions API并不会调用函数,而是由模型生成JSON,你可以在代码中使用这些JSON来调用函数。

        最新的模型(gpt-4o、gpt-4-turbo和gpt-3.5-turbo)已经被训练成可以根据输入来检测何时应该调用函数,并且能够生成更加符合函数签名的JSON。具备这一能力的同时也带来了潜在的风险,例如发送电子邮件、在线发布内容、进行购买等动作,所以在执行之前,最好得到用户相应授权。

注:本篇文章主使用Chat Completions API来进行函数调用。关于 Assistants API 中函数调用教程会在以后的播客中为大家更新。

Common use cases (常见用例)

        函数调用可以让你更可靠地从模型中获取结构化数据。例如,你可以:

  • 创建通过调用外部API回答问题的助手

    • 定义一些函数,例如 send_email(to: string, body: string) 或者 get_current_weather(location: string, unit: 'celsius' | 'fahrenheit')
  • 将自然语言转换为API调用

    • 例如,将“谁是我最重要的客户?”转换为 get_customers(min_revenue: int, created_before: string, limit: int),然后调用你内部的API。
  • 从文本中提取结构化数据

    • 定义一个名为 extract_data(name: string, birthday: string) 的函数,或 sql_query(query: string)

这些用例还有更多可能性!

函数调用的基本步骤如下

  1. 使用用户的查询和在 functions 参数中定义的一组函数调用模型。
  2. 模型可以选择调用一个或多个函数;如果是这样,内容将是一个符合你自定义模式的字符串化JSON对象(注意:模型可能会生成虚构的参数)。
  3. 在代码中将字符串解析为JSON,并使用提供的参数(如果存在)调用你的函数。
  4. 通过将函数响应作为新消息附加,再次调用模型,让模型将结果总结返回给用户。
Supported models (支持的模型)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值