目录
学习目标
目录
先决条件
了解生成AI中的代理
代理工作流程
AI代理的组件
工具的必要性
smolagents
我们的代码库
构建我们的第一个工具
最后一步:部署
概括
常见问题
首页 科技周边 人工智能 使用Smolagents为AI代理构建自定义工具

使用Smolagents为AI代理构建自定义工具

Mar 21, 2025 am 11:17 AM

LLM正在彻底改变各个领域,超越基于Web的聊天机器人,将其集成到企业和政府中。一个重大进步是使用smolagents为AI代理创建自定义工具,从而扩大其功能。 smolagents赋予了AI代理的能力,可以利用工具,在定义的环境中执行操作,甚至与其他代理进行交互。

这种方法增强了LLM驱动的AI Systems的自主权,从而提高了其可靠性,以完成端到端任务执行。

学习目标

  • 了解AI代理,与传统LLM的区别以及使用自定义工具在现代AI应用中的作用。
  • 探索为什么AI代理需要自定义工具以实时数据访问,操作执行和改进的决策。
  • 在使用smolagents用于现实世界中的Smolagents集成和部署AI代理方面,获得实践经验。
  • 学会创建和集成使用smolagents增强AI代理功能的自定义工具。
  • 使用您的自定义工具,掌握托管和与AI代理进行互动,创建更具交互性和智能的聊天机器人体验。

*本文是***数据科学博客马拉松的一部分。

目录

  • 先决条件
  • 了解生成AI中的代理
  • 代理工作流程
  • AI代理的组件
  • 工具的必要性
  • smolagents
  • 我们的代码库
  • 构建我们的第一个工具
  • 最后一步:部署
  • 概括
  • 常见问题

先决条件

该教程针对熟悉基本LLM的中级开发人员和数据专业人员。假定以下内容:

  • 中级Python编程技能。
  • 代码中的基本LLM使用情况。
  • 熟悉Genai生态系统。
  • 对Python的拥抱面平台和transformers图书馆的基本了解。

最佳学习的进一步推荐背景:

  • 具有LLM图书馆或Ollama等LLM图书馆的经验。
  • 基本的机器学习理论知识。
  • API使用和解决问题的API响应。

了解生成AI中的代理

考虑chatgpt:它回答问题,写代码等等。此功能扩展到任务完成 - 您提供了请求,并且执行了整个任务。

例如,LLM可以搜索网络和原因;结合起来,它可以创建旅行行程。您可能会问:“计划于4月1日至7日的喜马al尔邦度假,重点关注雪,滑雪,绳索和绿色景观。找到从加尔各答的最便宜的航班。”

然后,AI将比较飞行成本,建议地点并找到酒店,并在AI中展示了一种代理方法

代理工作流程

代理使用仅通过文本与外部世界互动的LLM。

使用Smolagents为AI代理构建自定义工具

代理接收输入为文本,使用语言的原因以及输出文本。工具在这里至关重要,提供了代理商用来生成其文本响应的值。行动可以从市场交易到图像生成。

使用Smolagents为AI代理构建自定义工具

工作流程是:理解 - >原因 - >互动或更广泛:思想 - >行动 - >观察。

AI代理的组件

AI代理包括:

  • 代理商的“大脑”(像Llama3,Phi4或GPT4这样的LLM)。
  • 代理可以调用​​的外部工具(API,其他代理,计算器等)。

smolagents允许您使用调用函数调用的LLM创建任何Python函数。我们的示例将包括使用QWEN LLM的狗事实,时区检索和图像生成工具。

工具的必要性

LLM不再只是文本完成工具。它们是较大系统中的组件,通常需要非生成AI零件的输入。

使用Smolagents为AI代理构建自定义工具

工具弥合了Genai和其他系统组件之间的差距。 LLM有局限性:

  • 知识截止日期。
  • 幻觉。
  • 不可预测的拒绝回答。
  • 次优的Web搜索选择。

确定性工具解决了这些问题。

smolagents

smolagents (拥抱的脸)是建筑物代理的框架。与某些输出JSON的库不同, smolagents直接输出Python代码,从而提高效率。

我们的代码库

GitHub存储库包含:

  • Gradio_UI.py :用于用户交互的Gradio UI代码。
  • agent.json :代理配置。
  • requirements.txt :项目依赖性。
  • prompts.yaml :YAML:示例提示和响应(使用Jinja模板)。
  • app.py :核心应用程序逻辑。

构建我们的第一个工具

我们将使用狗事实API( https://www.php.cn/link/0feaf58e2a12936c84c2510541b6e75a )。使AI代理可用的Python函数:

  • 使用@tool装饰器。
  • 写一个清晰的docstring。
  • 添加类型注释。
  • 确保清晰的回报值。
  • 包括充分的评论。
 @工具
def get_amazing_dog_fact() - > str:
    “”“从公共API中获取随机的狗事实。
    #...(API呼叫和错误处理)...
登录后复制

时区工具:

 @工具
def get_current_time_in_timezone(时区:str) - > str:
    “”“在指定的时区获取当前时间。”“”
    #...(时区处理)...
登录后复制

图像生成工具也可以集成:

 image_generation_tool = load_tool(“ agestents course/text-to-image”,trust_remote_code = true)
登录后复制

使用QWEN2.5-CODER-32B-INSTRUCT模型(需要访问应用程序):

型号= hfapimodel(
    max_tokens = 2096,
    温度= 0.5,
    model_id ='qwen/qwen2.5-coder-32b-instruct',
    #...
)
登录后复制

提示从prompts.yaml加载。创建代理:

代理= codeagent(
    模型=模型,
    工具= [get_amazing_dog_fact,get_current_time_in_timezone,image_generation_tool],
    #...
)
登录后复制

tools参数列出了可用功能。

最后一步:部署

代理可以部署在拥抱面孔的空间上。

概括

AI代理通过工具集成增强LLM功能,增加自主权并实现复杂的任务完成。 smolagents简化了代理的创建,自定义工具将功能扩展到标准LLM之外。在拥抱面积之类的平台上的部署有助于易于共享和互动。

常见问题

Q1。什么是AI代理? AI代理是LLM驱动的系统,该系统与执行任务的工具相互作用。

Q2。为什么需要自定义工具?它们可以实时数据访问,命令执行和LLM功能以外的操作。

Q3。什么是smolagents使用自定义工具创建AI代理的拥抱面部框架。

Q4。如何创建自定义工具?定义功能,用@tool进行装饰,然后集成到代理中。

Q5。在哪里部署?诸如拥抱面孔的平台。

(注意:假定图像如原始输入所包含。)

以上是使用Smolagents为AI代理构建自定义工具的详细内容。更多信息请关注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

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

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1676
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
如何使用AGNO框架构建多模式AI代理? 如何使用AGNO框架构建多模式AI代理? Apr 23, 2025 am 11:30 AM

在从事代理AI时,开发人员经常发现自己在速度,灵活性和资源效率之间进行权衡。我一直在探索代理AI框架,并遇到了Agno(以前是Phi-

OpenAI以GPT-4.1的重点转移,将编码和成本效率优先考虑 OpenAI以GPT-4.1的重点转移,将编码和成本效率优先考虑 Apr 16, 2025 am 11:37 AM

该版本包括三种不同的型号,GPT-4.1,GPT-4.1 MINI和GPT-4.1 NANO,标志着向大语言模型景观内的特定任务优化迈进。这些模型并未立即替换诸如

如何在SQL中添加列? - 分析Vidhya 如何在SQL中添加列? - 分析Vidhya Apr 17, 2025 am 11:43 AM

SQL的Alter表语句:动态地将列添加到数据库 在数据管理中,SQL的适应性至关重要。 需要即时调整数据库结构吗? Alter表语句是您的解决方案。本指南的详细信息添加了Colu

Andrew Ng的新简短课程 Andrew Ng的新简短课程 Apr 15, 2025 am 11:32 AM

解锁嵌入模型的力量:深入研究安德鲁·NG的新课程 想象一个未来,机器可以完全准确地理解和回答您的问题。 这不是科幻小说;多亏了AI的进步,它已成为R

火箭发射模拟和分析使用Rocketpy -Analytics Vidhya 火箭发射模拟和分析使用Rocketpy -Analytics Vidhya Apr 19, 2025 am 11:12 AM

模拟火箭发射的火箭发射:综合指南 本文指导您使用强大的Python库Rocketpy模拟高功率火箭发射。 我们将介绍从定义火箭组件到分析模拟的所有内容

Google揭示了下一个2025年云上最全面的代理策略 Google揭示了下一个2025年云上最全面的代理策略 Apr 15, 2025 am 11:14 AM

双子座是Google AI策略的基础 双子座是Google AI代理策略的基石,它利用其先进的多模式功能来处理和生成跨文本,图像,音频,视频和代码的响应。由DeepM开发

您可以自己3D打印的开源人形机器人:拥抱面孔购买花粉机器人技术 您可以自己3D打印的开源人形机器人:拥抱面孔购买花粉机器人技术 Apr 15, 2025 am 11:25 AM

“超级乐于宣布,我们正在购买花粉机器人,以将开源机器人带到世界上,” Hugging Face在X上说:“自从Remi Cadene加入Tesla以来,我们已成为开放机器人的最广泛使用的软件平台。

DeepCoder-14b:O3-Mini和O1的开源竞赛 DeepCoder-14b:O3-Mini和O1的开源竞赛 Apr 26, 2025 am 09:07 AM

在AI社区的重大发展中,Agentica和AI共同发布了一个名为DeepCoder-14B的开源AI编码模型。与OpenAI等封闭源竞争对手提供代码生成功能

See all articles