OpenAI Build Hours工具调用完全指南:扩展AI能力的15个实用技巧
OpenAI Build Hours工具调用完全指南扩展AI能力的15个实用技巧【免费下载链接】build-hoursBuild hours code to share.项目地址: https://gitcode.com/gh_mirrors/bu/build-hoursOpenAI Build Hours是一个专注于分享工具调用代码的开源项目通过它你可以轻松掌握AI工具调用的核心技术让你的AI应用具备更强大的功能扩展能力。本指南将为你揭示15个实用技巧帮助你快速上手并精通工具调用。一、工具调用基础从0到1的入门指南工具调用是OpenAI API的强大功能它允许AI模型根据用户需求调用外部工具从而扩展其能力范围。在Build Hours项目中工具调用的实现主要集中在12-agentic-tool-calling/目录下。1.1 工具定义的基本结构在Build Hours项目中工具通常使用function_tool装饰器来定义。以下是一个简单的工具定义示例tool def search_policies(query: str): return mock_api.search_policies(query)这个工具定义了一个名为search_policies的函数它接受一个字符串参数query并返回搜索结果。1.2 工具调用的基本流程工具调用的基本流程包括以下几个步骤定义工具函数创建包含工具的Agent运行Agent并处理工具调用结果二、15个实用技巧提升工具调用效率2.1 技巧1合理设计工具参数工具参数的设计直接影响调用效率。在定义工具时应尽量使用可选参数以提高工具的灵活性。例如tool def get_emails(to: Optional[str] None): return mock_api.get_emails(to)2.2 技巧2使用类型注解提高代码可读性为工具函数添加类型注解可以提高代码的可读性和可维护性。Build Hours项目中的工具定义都遵循了这一最佳实践。2.3 技巧3合理设置工具调用上下文在调用工具时适当的上下文设置可以提高工具的使用效率。例如在16-built-in-tools/script/tools_final.py中设置了web搜索的上下文大小{ type: web_search_preview, user_location: { type: approximate, country: US }, search_context_size: medium }2.4 技巧4使用MCP服务器扩展工具能力MCPModel Connection Protocol服务器可以帮助你连接到更多外部服务。在Build Hours项目中你可以找到MCP服务器的配置示例{ type: mcp, server_label: stripe, server_url: https://mcp.stripe.com, headers: { Authorization: fBearer {os.getenv(STRIPE_API_KEY)} }, allowed_tools: [ retrieve_balance, list_payment_intents ], require_approval: never }2.5 技巧5实现工具调用的错误处理在工具调用过程中错误处理至关重要。以下是一个错误处理的示例console.error(Error parsing function call arguments:, error);2.6 技巧6使用工具调用跟踪提升调试效率为工具调用添加跟踪信息可以帮助你更好地调试代码。例如addBreadcrumb([supervisorAgent] function call: ${fName}, args); addBreadcrumb([supervisorAgent] function call result: ${fName}, toolRes);2.7 技巧7实现工具调用的异步处理对于可能耗时的工具调用应使用异步处理并向用户提供状态反馈- If the function call might take more than a few seconds, ALWAYS let the user know youre still working on it. (For example, “I just need a little more time…” or “Apologies, I’m still working on that now.”)2.8 技巧8合理组织工具代码结构将工具相关代码放在专门的目录中如12-agentic-tool-calling/2_tools.py可以提高代码的可维护性。2.9 技巧9使用环境变量管理敏感信息在工具配置中使用环境变量来管理API密钥等敏感信息如Authorization: fBearer {os.getenv(STRIPE_API_KEY)}2.10 技巧10实现工具调用的权限控制通过allowed_tools和require_approval等配置可以实现对工具调用的权限控制提高系统安全性。2.11 技巧11使用工具调用历史提高交互连续性保存和利用工具调用历史可以提高AI与用户交互的连续性和上下文感知能力。2.12 技巧12实现多工具协同工作通过合理设计工具之间的接口可以实现多个工具的协同工作完成更复杂的任务。2.13 技巧13为工具添加详细文档为工具添加详细的文档字符串说明工具的用途、参数和返回值有助于其他开发者理解和使用你的工具。2.14 技巧14使用工具调用模拟进行测试在开发过程中可以使用模拟工具调用的方式进行测试如Build Hours项目中的MockAPI。2.15 技巧15持续优化工具调用性能通过监控工具调用的性能指标持续优化工具实现提高系统整体效率。三、快速上手Build Hours项目实战3.1 项目克隆首先克隆Build Hours项目到本地git clone https://gitcode.com/gh_mirrors/bu/build-hours3.2 工具调用示例运行进入工具调用示例目录cd build-hours/12-agentic-tool-calling运行工具调用示例python 2_tools.py3.3 自定义工具开发你可以参考12-agentic-tool-calling/2_tools.py中的示例开发自己的工具。四、总结通过本文介绍的15个实用技巧你可以快速掌握OpenAI Build Hours项目中的工具调用技术。无论是工具定义、参数设计还是错误处理、性能优化这些技巧都能帮助你构建更强大、更高效的AI应用。工具调用是AI能力扩展的关键技术掌握它将为你的AI应用打开无限可能。立即开始探索Build Hours项目释放AI的全部潜力吧希望本指南能帮助你在OpenAI工具调用的学习之路上取得进步。如果你有任何问题或建议欢迎在项目中提交issue或PR让我们一起完善这个工具调用的知识库。【免费下载链接】build-hoursBuild hours code to share.项目地址: https://gitcode.com/gh_mirrors/bu/build-hours创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

如何快速掌握大麦自动抢票神器:面向新手的完整智能购票指南

如何快速掌握大麦自动抢票神器:面向新手的完整智能购票指南

如何快速掌握大麦自动抢票神器:面向新手的完整智能购票指南 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到心仪演唱会门票…

2026/10/18 20:35:37 阅读更多 →
WebStorageCache核心功能解析:为什么它比原生localStorage更好用?

WebStorageCache核心功能解析:为什么它比原生localStorage更好用?

WebStorageCache核心功能解析:为什么它比原生localStorage更好用? 【免费下载链接】web-storage-cache 对localStorage 和sessionStorage 进行了扩展,添加了超时时间,序列化方法 项目地址: https://gitcode.com/gh_mirrors/we/w…

2026/10/21 3:16:25 阅读更多 →
DeepTutor:打造你的终身AI学习伙伴,开启个性化智能辅导新时代

DeepTutor:打造你的终身AI学习伙伴,开启个性化智能辅导新时代

DeepTutor:打造你的终身AI学习伙伴,开启个性化智能辅导新时代 【免费下载链接】DeepTutor DeepTutor: Lifelong Personalized Tutoring. https://deeptutor.info/. 项目地址: https://gitcode.com/GitHub_Trending/dee/DeepTutor 你是否曾经在学习…

2026/10/18 11:47:49 阅读更多 →

最新新闻

HTML5视频播放实战:从video标签到编码兼容与性能优化

HTML5视频播放实战:从video标签到编码兼容与性能优化

1. 先搞清楚:为什么视频不能直接塞进网页1.1 从GIF到HTML5视频的演进前几年还经常能看到有人用GIF做演示动效,一个十几秒的录屏转成GIF之后动辄几十MB,加载起来页面卡得不行。GIF本质上是图像格式,不是为连续画面临时设计的&#…

2026/10/21 5:16:06 阅读更多 →
朴素贝叶斯与SVM同场竞技:垃圾邮件识别Python工程全解析

朴素贝叶斯与SVM同场竞技:垃圾邮件识别Python工程全解析

简介:这是一个基于朴素贝叶斯与支持向量机(SVM)的垃圾邮件识别系统,适合机器学习入门者、毕业设计及分类项目实战人群。项目通过对正常邮件和垃圾邮件进行语料训练,完成词频统计与模型对比,实现邮件自动分类…

2026/10/21 5:16:06 阅读更多 →
Ollama+通义千问本地部署大模型:三步实操与避坑指南

Ollama+通义千问本地部署大模型:三步实操与避坑指南

这两年AI大模型算是彻底走进普通开发者的视野了。不过很多人对“本地部署”这件事一直有种错觉,觉得要么需要一台几万块的服务器,要么得折腾CUDA、Docker、各种依赖环境,最后把自己劝退。直到我试了Ollama加通义千问这条组合路线,…

2026/10/21 5:16:06 阅读更多 →
D2D信道仿真MATLAB工程:从信道建模到资源分配

D2D信道仿真MATLAB工程:从信道建模到资源分配

简介:面向无线通信领域研究人员与MATLAB开发者,这套D2D信道仿真与资源分配代码包聚焦设备直连通信场景,覆盖信道建模、路径损耗计算、干扰协调及频谱资源分配等关键环节,并引入贪婪、遗传、粒子群等启发式算法对比,适合…

2026/10/21 5:16:06 阅读更多 →
逐行读懂cosmos3-nano-libero10-sdg-export-D5的config.json:VAE、FSDP并行、FP8量化与LoRA关键参数清单

逐行读懂cosmos3-nano-libero10-sdg-export-D5的config.json:VAE、FSDP并行、FP8量化与LoRA关键参数清单

人工智能大模型具身智能机器人 【免费下载链接】cosmos3-nano-libero10-sdg-export-D5 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/cosmos3-nano-libero10-sdg-export-D5 点击查看 免费下载 🤖 本文带你逐行读懂 cosmos3-nano-libero10-sdg-e…

2026/10/21 5:16:06 阅读更多 →
钢价上涨为何反而推动自动化立体库需求?成本账背后的行业逻辑

钢价上涨为何反而推动自动化立体库需求?成本账背后的行业逻辑

一个荒诞的行情,正在悄悄改变仓储物流行业的项目决策逻辑。往年钢材报价上涨,大家第一反应是“货架又要贵了”“项目成本又失控了”;但这一轮钢铁涨价之后,我反而在几个项目交流里看到另一幕:多个原本犹豫着“先上普通…

2026/10/21 5:15:05 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/21 4:27:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →