目录
目录
OpenAI函数调用工作原理?
快速示例:天气API
步骤1:定义函数
步骤2:使用已定义函数调用模型
步骤3:执行函数
步骤4:向模型提供结果
步骤5:获取最终响应
函数调用的最佳实践
总结
首页 科技周边 人工智能 签署OpenAI函数调用指南

签署OpenAI函数调用指南

Mar 10, 2025 am 10:07 AM

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

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

最佳AI艺术生成器(免费付款)创意项目 最佳AI艺术生成器(免费付款)创意项目 Apr 02, 2025 pm 06:10 PM

本文回顾了AI最高的艺术生成器,讨论了他们的功能,对创意项目的适用性和价值。它重点介绍了Midjourney是专业人士的最佳价值,并建议使用Dall-E 2进行高质量的可定制艺术。

开始使用Meta Llama 3.2 -Analytics Vidhya 开始使用Meta Llama 3.2 -Analytics Vidhya Apr 11, 2025 pm 12:04 PM

Meta的Llama 3.2:多模式和移动AI的飞跃 Meta最近公布了Llama 3.2,这是AI的重大进步,具有强大的视觉功能和针对移动设备优化的轻量级文本模型。 以成功为基础

最佳AI聊天机器人比较(Chatgpt,Gemini,Claude&amp;更多) 最佳AI聊天机器人比较(Chatgpt,Gemini,Claude&amp;更多) Apr 02, 2025 pm 06:09 PM

本文比较了诸如Chatgpt,Gemini和Claude之类的顶级AI聊天机器人,重点介绍了其独特功能,自定义选项以及自然语言处理和可靠性的性能。

顶级AI写作助理来增强您的内容创建 顶级AI写作助理来增强您的内容创建 Apr 02, 2025 pm 06:11 PM

文章讨论了Grammarly,Jasper,Copy.ai,Writesonic和Rytr等AI最高的写作助手,重点介绍了其独特的内容创建功能。它认为Jasper在SEO优化方面表现出色,而AI工具有助于保持音调的组成

AV字节:Meta&#039; llama 3.2,Google的双子座1.5等 AV字节:Meta&#039; llama 3.2,Google的双子座1.5等 Apr 11, 2025 pm 12:01 PM

本周的AI景观:进步,道德考虑和监管辩论的旋风。 OpenAI,Google,Meta和Microsoft等主要参与者已经释放了一系列更新,从开创性的新车型到LE的关键转变

向员工出售AI策略:Shopify首席执行官的宣言 向员工出售AI策略:Shopify首席执行官的宣言 Apr 10, 2025 am 11:19 AM

Shopify首席执行官TobiLütke最近的备忘录大胆地宣布AI对每位员工的基本期望是公司内部的重大文化转变。 这不是短暂的趋势。这是整合到P中的新操作范式

10个生成AI编码扩展,在VS代码中,您必须探索 10个生成AI编码扩展,在VS代码中,您必须探索 Apr 13, 2025 am 01:14 AM

嘿,编码忍者!您当天计划哪些与编码有关的任务?在您进一步研究此博客之前,我希望您考虑所有与编码相关的困境,这是将其列出的。 完毕? - 让&#8217

选择最佳的AI语音生成器:评论的顶级选项 选择最佳的AI语音生成器:评论的顶级选项 Apr 02, 2025 pm 06:12 PM

本文评论了Google Cloud,Amazon Polly,Microsoft Azure,IBM Watson和Discript等高级AI语音生成器,重点介绍其功能,语音质量和满足不同需求的适用性。

See all articles