首页 > 科技周边 > 人工智能 > 签署OpenAI函数调用指南

签署OpenAI函数调用指南

尊渡假赌尊渡假赌尊渡假赌
发布: 2025-03-10 10:07:08
原创
980 人浏览过

OpenAI发布全新函数调用指南,助开发者扩展模型能力!此指南整合了用户反馈,篇幅缩短50%,内容更清晰,并包含最佳实践、文档内函数生成以及使用天气API的完整示例。OpenAI致力于简化AI工具,使其更易于开发者使用,从而更有效地利用函数调用功能。

OpenAI发布全新函数调用指南!

我们根据您的反馈做出了重要改进:

– 篇幅缩短50%,更清晰易懂 – 新增最佳实践(详情见下文?) – 支持文档内函数生成! – 提供使用天气API的完整功能示例

查看指南并分享您的想法… pic.twitter.com/Id89E9PEff

— ilan bigio (@ilanbigio) January 13, 2025

目录

  • OpenAI函数调用工作原理?
  • 快速示例:天气API
    • 步骤1:定义函数
    • 步骤2:使用已定义函数调用模型
    • 步骤3:执行函数
    • 步骤4:向模型提供结果
    • 步骤5:获取最终响应
  • 函数调用的最佳实践
  • 总结

OpenAI函数调用工作原理?

函数调用允许OpenAI模型与开发者定义的工具交互,使其能够执行超出文本或音频生成的更多任务。以下是简化的流程:

  1. 定义函数: 创建一个模型可以调用的函数(例如,get_weather)。
  2. 模型决定调用函数: 基于系统提示和用户输入,模型确定何时调用函数。
  3. 执行函数: 运行函数代码并返回结果。
  4. 整合结果: 模型使用函数的输出生成最终响应。

Checkout the OpenAI Function Calling Guide

该图片展示了开发者和AI模型之间函数调用的流程。以下是分步说明:

  • 工具定义 消息: 开发者定义工具(函数)并发送消息。在本例中,定义了get_weather(location)函数,用户询问:“巴黎的天气如何?”
  • 工具调用: 模型识别需要使用参数“paris”调用get_weather函数。
  • 执行函数代码: 开发者(或系统)执行实际的get_weather(“paris”)函数。函数返回响应,例如:{“temperature”: 14}。
  • 结果: 函数的结果({“temperature”: 14})与所有先前消息一起返回给模型。
  • 最终响应: 模型使用函数结果生成自然语言响应,例如:“巴黎目前的温度是14°C。”

另请阅读:支持函数调用的6大顶级LLM

快速示例:天气API

让我们来看一个使用get_weather函数的实际示例。此函数检索给定坐标的当前温度。

步骤1:定义函数

<code>import requests

def get_weather(latitude, longitude):
    response = requests.get(f"https://api.open-meteo.com/v1/forecast?latitude={latitude}&longitude={longitude}&current=temperature_2m,wind_speed_10m&hourly=temperature_2m,relative_humidity_2m,wind_speed_10m")
    data = response.json()
    return data['current']['temperature_2m']</code>
登录后复制

步骤2:使用已定义函数调用模型

<code>from openai import OpenAI
import json

client = OpenAI(api_key="sk-api_key”)

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "获取提供的坐标(摄氏度)的当前温度。",
        "parameters": {
            "type": "object",
            "properties": {
                "latitude": {"type": "number"},
                "longitude": {"type": "number"}
            },
            "required": ["latitude", "longitude"],
            "additionalProperties": False
        },
        "strict": True
    }
}]

messages = [{"role": "user", "content": "今天巴黎的天气怎么样?"}]

completion = client.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    tools=tools,
)</code>
登录后复制

步骤3:执行函数

<code>tool_call = completion.choices[0].message.tool_calls[0]
args = json.loads(tool_call.function.arguments)

result = get_weather(args["latitude"], args["longitude"])</code>
登录后复制

步骤4:向模型提供结果

<code># 附加模型的工具调用消息
messages.append(completion.choices[0].message)

# 将结果消息作为字符串附加
messages.append({
    "role": "tool",
    "tool_call_id": tool_call.id,
    "content": json.dumps({"temperature": result})  # 将结果转换为JSON字符串
})

# 创建第二个聊天完成
completion_2 = client.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    tools=tools,
)</code>
登录后复制

步骤5:获取最终响应

<code>print(completion_2.choices[0].message.content)</code>
登录后复制

输出:

<code>巴黎目前的温度是-2.8°C。</code>
登录后复制

函数调用的最佳实践

为了帮助您充分利用函数调用,以下是一些专业技巧:

  1. 编写清晰详细的描述
    • 清晰地描述函数的目的、参数和输出。
    • 使用系统提示指导模型何时(以及何时不)使用函数。
  2. 应用软件工程最佳实践
    • 使函数直观易懂。
    • 使用枚举和对象结构来防止无效状态。
  3. 减轻模型的负担
    • 不要让模型填写您已知的参数。
    • 合并总是按顺序调用的函数。
  4. 保持函数数量较少
    • 为了提高准确性,一次最多使用少于20个函数。
  5. 利用OpenAI资源
    • 使用Playground生成和迭代函数模式。
    • 考虑针对复杂任务或大量函数进行微调。

了解更多信息,请访问OpenAI。

总结

OpenAI改进后的函数调用指南使开发者能够无缝集成自定义工具,使AI更易于访问和使用。通过简化流程、提供清晰的示例以及优先考虑用户反馈,OpenAI使开发者能够进行创新并构建利用AI全部潜力的解决方案,从而推动现实世界的应用和创造力。

以上是签署OpenAI函数调用指南的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板