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模型与开发者定义的工具交互,使其能够执行超出文本或音频生成的更多任务。以下是简化的流程:
- 定义函数: 创建一个模型可以调用的函数(例如,get_weather)。
- 模型决定调用函数: 基于系统提示和用户输入,模型确定何时调用函数。
- 执行函数: 运行函数代码并返回结果。
- 整合结果: 模型使用函数的输出生成最终响应。
该图片展示了开发者和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}¤t=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>
函数调用的最佳实践
为了帮助您充分利用函数调用,以下是一些专业技巧:
-
编写清晰详细的描述
- 清晰地描述函数的目的、参数和输出。
- 使用系统提示指导模型何时(以及何时不)使用函数。
-
应用软件工程最佳实践
- 使函数直观易懂。
- 使用枚举和对象结构来防止无效状态。
-
减轻模型的负担
- 不要让模型填写您已知的参数。
- 合并总是按顺序调用的函数。
-
保持函数数量较少
- 为了提高准确性,一次最多使用少于20个函数。
-
利用OpenAI资源
- 使用Playground生成和迭代函数模式。
- 考虑针对复杂任务或大量函数进行微调。
了解更多信息,请访问OpenAI。
总结
OpenAI改进后的函数调用指南使开发者能够无缝集成自定义工具,使AI更易于访问和使用。通过简化流程、提供清晰的示例以及优先考虑用户反馈,OpenAI使开发者能够进行创新并构建利用AI全部潜力的解决方案,从而推动现实世界的应用和创造力。
以上是签署OpenAI函数调用指南的详细内容。更多信息请关注PHP中文网其他相关文章!
![无法使用chatgpt!解释可以立即测试的原因和解决方案[最新2025]](https://img.php.cn/upload/article/001/242/473/174717025174979.jpg?x-oss-process=image/resize,p_40)
ChatGPT无法访问?本文提供多种实用解决方案!许多用户在日常使用ChatGPT时,可能会遇到无法访问或响应缓慢等问题。本文将根据不同情况,逐步指导您解决这些问题。 ChatGPT无法访问的原因及初步排查 首先,我们需要确定问题是出在OpenAI服务器端,还是用户自身网络或设备问题。 请按照以下步骤进行排查: 步骤1:检查OpenAI官方状态 访问OpenAI Status页面 (status.openai.com),查看ChatGPT服务是否正常运行。如果显示红色或黄色警报,则表示Open

2025年5月10日,麻省理工学院物理学家Max Tegmark告诉《卫报》,AI实验室应在释放人工超级智能之前模仿Oppenheimer的三位一体测试演算。 “我的评估是'康普顿常数',这是一场比赛的可能性

AI音乐创作技术日新月异,本文将以ChatGPT等AI模型为例,详细讲解如何利用AI辅助音乐创作,并辅以实际案例进行说明。我们将分别介绍如何通过SunoAI、Hugging Face上的AI jukebox以及Python的Music21库进行音乐创作。 通过这些技术,每个人都能轻松创作原创音乐。但需注意,AI生成内容的版权问题不容忽视,使用时务必谨慎。 让我们一起探索AI在音乐领域的无限可能! OpenAI最新AI代理“OpenAI Deep Research”介绍: [ChatGPT]Ope

ChatGPT-4的出现,极大地拓展了AI应用的可能性。相较于GPT-3.5,ChatGPT-4有了显着提升,它具备强大的语境理解能力,还能识别和生成图像,堪称万能的AI助手。在提高商业效率、辅助创作等诸多领域,它都展现出巨大的潜力。然而,与此同时,我们也必须注意其使用上的注意事项。 本文将详细解读ChatGPT-4的特性,并介绍针对不同场景的有效使用方法。文中包含充分利用最新AI技术的技巧,敬请参考。 OpenAI发布的最新AI代理,“OpenAI Deep Research”详情请点击下方链

CHATGPT应用程序:与AI助手释放您的创造力!初学者指南 ChatGpt应用程序是一位创新的AI助手,可处理各种任务,包括写作,翻译和答案。它是一种具有无限可能性的工具,可用于创意活动和信息收集。 在本文中,我们将以一种易于理解的方式解释初学者,从如何安装chatgpt智能手机应用程序到语音输入功能和插件等应用程序所独有的功能,以及在使用该应用时要牢记的要点。我们还将仔细研究插件限制和设备对设备配置同步

ChatGPT中文版:解锁中文AI对话新体验 ChatGPT风靡全球,您知道它也提供中文版本吗?这款强大的AI工具不仅支持日常对话,还能处理专业内容,并兼容简体中文和繁体中文。无论是中国地区的使用者,还是正在学习中文的朋友,都能从中受益。 本文将详细介绍ChatGPT中文版的使用方法,包括账户设置、中文提示词输入、过滤器的使用、以及不同套餐的选择,并分析潜在风险及应对策略。此外,我们还将对比ChatGPT中文版和其他中文AI工具,帮助您更好地了解其优势和应用场景。 OpenAI最新发布的AI智能

这些可以将其视为生成AI领域的下一个飞跃,这为我们提供了Chatgpt和其他大型语言模型聊天机器人。他们可以代表我们采取行动,而不是简单地回答问题或产生信息

使用chatgpt有效的多个帐户管理技术|关于如何使用商业和私人生活的详尽解释! Chatgpt在各种情况下都使用,但是有些人可能担心管理多个帐户。本文将详细解释如何为ChatGpt创建多个帐户,使用时该怎么做以及如何安全有效地操作它。我们还介绍了重要的一点,例如业务和私人使用差异,并遵守OpenAI的使用条款,并提供指南,以帮助您安全地利用多个帐户。 Openai


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

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

SublimeText3汉化版
中文版,非常好用