搜索
首页科技周边人工智能如何从头开始构建AI代理? - 分析Vidhya

有没有想过像Siri和Alexa这样的AI代理商是如何工作的?这些智能系统在我们的日常生活中变得越来越重要。本文介绍了React模式,该方法通过结合推理和动作技巧来增强AI代理的方法。我们将向您展示如何从头开始构建AI代理,涵盖基本工具,库和实现步骤。让我们开始吧!

学习目标

  • 掌握AI代理的基本概念及其在各种应用中的重要性。
  • 了解如何在AI代理中实施理性行为(REACT)模式以增强其能力。
  • 设置从头开始构建AI代理所需的必要工具和库。
  • 使用Python开发AI代理,整合各种动作并实施推理循环。
  • 有效测试和调试AI代理,以确保其正常运行。
  • 提高AI代理的鲁棒性和安全性,并增加更多功能。
  • 确定AI代理的实际应用,并了解其未来的前景。

本文作为数据科学博客马拉松的一部分发表

目录

  • 什么是AI代理?
  • 为什么AI代理很重要?
  • AI代理的申请和用例
  • 简要介绍反应模式
  • 使用React的重要性和好处
  • 需要工具和库
  • 设置环境
  • 建造AI代理
  • 实施反应模式
  • 实施动作
  • 测试和调试
  • 调试常见问题
  • 改善AI代理
  • 结论
  • 常见问题

什么是AI代理?

人工智能代理人是自治生物,可以使用传感器来关注其环境,过程信息并实现预定义的目标。从基本机器人到复杂的系统,它们可以随着时间的推移进行调整和学习。典型的实例包括Netflix和Amazon's等推荐引擎,Siri和Alexa等聊天机器人以及Tesla和Waymo的自动驾驶汽车。

这些代理也是许多领域中必不可少的:uipath和blue Prism是自动化重复过程的机器人过程自动化(RPA)程序的示例。 DeepMind和IBM Watson Health是医疗保健诊断系统的例子,可帮助诊断疾病并推荐治疗。在他们的领域,AI代理人大大提高了生产力,精度和定制。

为什么AI代理很重要?

这些代理在改善我们的日常生活和实现特定目标方面发挥着关键作用。

AI代理很重要,因为他们可以:

  • 降低完成常规操作所需的人工数量,从而提高产量和效率。
  • 分析大量数据,以提供支持决策的结论和建议。
  • 利用聊天机器人和虚拟助手提供个性化的互动和帮助。
  • 在银行,运输和医疗保健等行业中启用复杂的应用。

从本质上讲,AI代理在推动下一波技术进步方面至关重要,使系统更聪明,对用户需求更加敏感。

AI代理的申请和用例

AI代理在各个行业中都有广泛的应用。以下是一些值得注意的用例:

  • 客户服务:聊天机器人和虚拟助手的形式的AI代理人处理客户查询,解决问题并提供个性化支持。他们可以24/7全天候运营,提供一致,高效的服务。
  • 财务:财务预测,算法交易和欺诈检测是AI代理的应用。他们根据市场趋势进行交易,检查交易数据以及现货可疑模式。
  • 医疗保健: AI特工协助诊断疾病,推荐治疗和监测患者健康。他们分析医疗数据,提供见解并支持临床决策。
  • 营销: AI代理个性化营销活动,细分受众并优化广告支出。他们分析客户数据,预测行为并根据个人偏好量身定制内容。
  • 供应链管理: AI系统估计需求,提高库存水平并简化物流。他们检查制造商,供应商和零售商的信息,以保证运营平稳。

简要介绍反应模式

反应模式在经过思考的循环中运行,动作,停顿,观察,答案。

该循环允许AI代理对输入进行推理,通过利用外部资源来对其进行采取行动,然后将结果重新集成到其推理过程中。通过这样做,AI代理可以提供更准确和上下文相关的响应,从而大大扩展其效用。

React模式是一种有效的设计模式,结合了推理和动作技巧,以提高AI代理的能力。 GPT-3或GPT-4等LLM从该技术中受益匪浅,因为它允许他们与其他工具和API进行交互,从而超出其原始编程以外的活动。

React模式以由以下步骤组成的环状循环运行:

  • 思想: AI代理处理需要做什么的输入和原因。这涉及理解问题或命令并确定适当的行动。
  • 行动:基于推理,代理执行预定义的动作。这可能涉及搜索信息,执行计算或与外部API进行交互。
  • 暂停:代理等待完成该操作。这是一个至关重要的步骤,代理会停止接收执行动作的结果。
  • 观察:代理观察动作的结果。它分析了从操作中收到的输出,以了解获得的信息或结果。
  • 答:代理使用观察到的结果来生成响应。然后将此响应提供给用户,完成循环。

使用React的重要性和好处

该反应模式很重要,原因有几个:

  • 增强功能:通过集成外部操作,AI代理可以执行需要特定信息或计算的任务,从而增强其整体功能。
  • 提高精度:该模式允许AI代理获取实时信息并执行准确的计算,从而导致更精确和相关的响应。
  • 灵活性:反应模式使AI代理更加灵活和适应各种任务。他们可以与不同的API和工具进行互动以执行各种各样的动作。
  • 可伸缩性:这种模式可以随着时间的推移添加新的动作和功能,从而使AI代理可扩展且适合未来。
  • 现实世界应用: React模式使AI代理可以在现实世界中部署,在那里他们可以与动态环境进行交互并提供宝贵的见解和帮助。

需要工具和库

Python是一种多功能且功能强大的编程语言,由于其简单性和广泛的图书馆支持,可在AI和机器学习中广泛使用。对于建造AI代理,几个Python库是必不可少的:

  • OpenAI API:此库允许您与OpenAI语言模型(例如GPT-3和GPT-4)进行交互。它提供了必要的功能来生成文本,回答问题并执行与语言相关的各种任务。
  • HTTPX:这是一个强大的HTTP客户端,用于Python,支持异步请求。它用于与外部API相互作用,获取数据并执行Web搜索。
  • RE(正则表达式):此模块为Python中的正则表达式提供了支持。它用于解析字符串中的模式,这对于处理AI代理的响应非常有用。

OpenAI API和HTTPX库

OpenAI API是一个强大的平台,可访问OpenAI开发的高级语言模型。这些模型可以理解并生成类似人类的文本,使其非常适合构建AI代理。使用OpenAI API,您可以:

  • 根据提示生成文本
  • 回答问题
  • 执行语言翻译
  • 总结文本
  • 还有更多

HTTPX库是Python的HTTP客户端,支持同步和异步请求。它旨在易于使用,同时提供用于制作网络请求的功能。使用HTTPX,您可以:

  • 发送并发布请求
  • 处理JSON响应
  • 管理会议和饼干
  • 执行异步请求以提高性能

OpenAI API和HTTPX库一起提供了构建和增强AI代理所需的基础工具,使它们能够与外部资源进行交互并执行广泛的动作。

设置环境

现在让我们通过遵循某些步骤来建立环境:

步骤1:安装所需库

要开始构建AI代理,您需要安装必要的库。这是设置您的环境的步骤:

  • 安装Python:确保您在系统上安装了Python。您可以从Python官方网站下载它:
  • 设置虚拟环境:为您的项目管理依赖项创建虚拟环境是一个好习惯。运行以下命令来设置虚拟环境:
 Python -M Venv ai_agent_env
源ai_agent_env/bin/activate#在Windows上,使用`ai_agent_env \ scripts \ activate`
  • 安装OpenAI API和HTTPX:使用PIP安装所需的库:
 PIP安装OpenAI HTTPX
  • 安装其他库:您可能还需要其他库,例如RE for Re for Python标准库中,因此不需要单独的安装。

步骤2:设置API键和环境变量

要使用OpenAI API,您需要一个API键。请按照以下步骤设置您的API密钥:

  • 获取API密钥:在OpenAI网站上注册帐户,并从API部分获取您的API密钥。
  • 设置环境变量:将API密钥存储在环境变量中以确保其安全。将以下行添加到您的.bashrc或.zshrc文件(或为操作系统使用适当的方法):
导出openai_api_key ='your_openai_api_key_here'
  • 访问代码中的API键:在Python代码中,您可以使用OS模块访问API键:
导入操作系统
OpenAI.API_KEY = OS.GEGENV('OpenAi_Api_Key')

设置环境后,您现在准备开始构建您的AI代理。

建造AI代理

现在让我们建立AI代理。

创建AI代理的基本结构

为了构建AI代理,我们将创建一个可以处理与OpenAI API交互的类,并管理推理和行动。这是开始的基本结构:

进口Openai
导入
导入httpx

聊天机器人:
    def __init __(self,system =“”):
        self.System =系统
        self.messages = []
        如果Self.System:
            self.messages.append({“ crom”:“ system”,“ content”:system})
    
    def __call __(自我,消息):
        self.messages.append({“ crom”:“ user”,“ content”:message}))
        结果= self.execute()
        self.messages.append({“角色”:“助手”,“ content”:result})
        返回结果
    
    def execute(self):
        完成= openai.chatcompletion.create(model =“ gpt-3.5-turbo”,messages = self.messages)
        返回完成。选择[0] .message.content

此类使用可选的系统消息初始化AI代理并处理用户交互。 __call__方法获取用户消息并使用OpenAI API生成响应。

实施反应模式

为了实现反应模式,我们需要定义思想,行动,暂停,观察和答案的循环。这是我们可以将其纳入我们的AI代理的方式:

定义提示

提示=“”
您以思想,动作,停顿,观察的循环奔跑。
在循环结束时,您会输出答案。
使用思想来描述您对您被问到的问题的想法。
使用操作来运行可用的操作之一 - 然后返回暂停。
观察将是执行这些动作的结果。

您的可用操作是:
计算:
例如计算:4 * 7/3
运行计算并返回数字 - 使用Python,因此请确保使用浮点
如有必要,语法

维基百科:
例如Wikipedia:Django
返回搜索Wikipedia的摘要

Simon_Blog_search:
例如Simon_Blog_search:Django
搜索Simon的博客此术语

示例会话:
问题:法国的首都是什么?
思想:我应该在维基百科上查找法国
行动:维基百科:法国
暂停

您将再次被打电话给您:
观察:法国是一个国家。首都是巴黎。

然后您输出:
答:法国的首都是巴黎
“““。条()

定义查询功能

action_re = re.compile('^action:(\ w):(。*)

查询函数通过将问题发送给AI代理,解析操作,执行它们并将观测值馈回循环来运行React循环。

实施动作

现在让我们研究实施动作。

动作:Wikipedia搜索

Wikipedia搜索操作使AI代理可以搜索有关Wikipedia的信息。这是实施它的方法:

 Def Wikipedia(Q):
    响应= httpx.get(“ https://en.wikipedia.org/w/api.php”,params = {
        “动作”:“查询”,
        “列表”:“搜索”,
        “ srsearch”:q,
        “格式”:“ JSON”
    }))
    返回响应。

动作:博客搜索

博客搜索操作允许AI代理在特定博客上搜索信息。这是实施它的方法:

 def simon_blog_search(q):
    响应= httpx.get(“ https://datasette.simonwillison.net/simonwillisonblog.json”,params = {
        “ SQL”:“”“”
        选择
          blog_entry.title || ':'|| substr(html_strip_tags(blog_entry.body),0,1000)作为文本,
          blog_entry.创建
        从
          blog_entry在blog_entry.rowid = blog_entry_fts.rowid上加入blog_entry_fts
        在哪里
          blog_entry_fts匹配sevase_fts(:q)
        订购
          blog_entry_fts.rank
        限制
          1
        “““。条(),
        “ _ shape”:“ array”,
        “ q”:q,
    }))
    返回响应。JSON()[0] [“ text”]

动作:计算

计算作用允许AI代理执行数学计算。这是实施它的方法:

 DEF计算(什么):
    返回评估(什么)

向AI代理添加动作

接下来,我们需要在字典中注册这些操作,以便AI代理可以使用它们:

 nown_actions = {
    “ Wikipedia”:Wikipedia,
    “计算”:计算,
    “ simon_blog_search”:simon_blog_search
}

与AI代理集成行动

为了将操作与AI代理集成,我们需要确保查询功能可以处理不同的动作并将观测值馈回推理循环中。这是完成整合的方法:

 def查询(问题,max_turns = 5):
    i = 0
    bot =聊天机器人(提示)
    next_prompt =问题
    当我<max_turns i="1" bot action="%5Baction_re.match%EF%BC%88a%EF%BC%89for" in result.split n .groups print next_prompt="f“观察:{观察}”"><p>通过此设置,AI代理可以推理输入,执行操作,观察结果并生成响应。</p>
<h2 id="测试和调试">测试和调试</h2>
<p>现在让我们遵循测试和调试的步骤。</p>
<h4 id="运行示例查询">运行示例查询</h4>
<p>要测试AI代理,您可以运行样本查询并观察结果。这里有几个例子:</p>
<pre class="brush:php;toolbar:false">打印(查询(“英格兰与什么共享边界?”))))

如何从头开始构建AI代理? - 分析Vidhya

打印(查询(“西蒙去过马达加斯加吗?”))))

如何从头开始构建AI代理? - 分析Vidhya

打印(查询(“十五 *二十五”))

如何从头开始构建AI代理? - 分析Vidhya

调试常见问题

在测试时,您可能会遇到一些常见问题。这里有一些调试的技巧:

  • API错误:确保正确设置API键并具有必要的权限。
  • 网络问题:检查您的Internet连接,并确保您呼叫的端点是可触及的。
  • 输出不正确:验证操作功能中的逻辑并确保它们返回正确的结果。
  • 未经处理的动作:确保在已知_actions词典中定义所有可能的动作。

改善AI代理

现在让我们改善AI代理。

增强鲁棒性和安全性

使AI代理更强大和安全:

  • 验证输入:确保对所有输入进行正确验证以防止注射攻击,尤其是在计算功能中。
  • 错误处理:在操作功能中实现错误处理以优雅地管理异常。
  • 记录:添加日志记录以跟踪代理的操作和观察值,以便更轻松的调试。

添加更多动作和功能

为了增强AI代理的功能,您可以添加更多动作,例如:

  • 天气信息:与天气API集成以获取实时天气数据。
  • 新闻搜索:实施新闻搜索动作以获取最新的新闻文章。
  • 翻译:使用翻译API添加翻译操作来支持多语言查询。

现实世界应用

  • 客户支持: AI代理可以处理客户查询,解决问题并提供个性化建议。
  • 医疗保健: AI特工协助诊断疾病,推荐治疗和监测患者健康。
  • 财务: AI代理人发现欺诈,执行交易并提供财务建议。
  • 营销: AI代理个性化营销活动,细分受众并优化广告支出。

未来的前景和进步

AI代理商的未来是有希望的,随着机器学习,自然语言处理和AI伦理的进步。新兴趋势包括:

  • 自主系统:能够处理复杂任务的更复杂的自主系统。
  • 人类合作:增强了人类与AI代理之间的合作,以改善决策。
  • 道德AI:专注于发展优先级隐私,公平和透明度的道德AI代理。

另外,请查看有关向AI代理构建的步骤的文章

结论

在本综合指南中,我们探讨了AI代理的概念,其意义以及增强其能力的反应模式。我们涵盖了必要的工具和库,设置环境,然后从头开始构建AI代理。我们还讨论了实施操作,将其与AI代理集成在一起,并测试和调试系统。最后,我们研究了AI代理商的现实应用程序和未来前景。

通过遵循本指南,您现在有知识来从头开始创建自己的构建AI代理。尝试不同的动作,增强代理商的能力,并探索令人兴奋的人工智能领域的新可能性。

关键要点

  • 了解AI代理的核心概念和意义。
  • 实施反应模式以允许AI代理执行其观察结果和理由。
  • 了解基本工具和库,例如OpenAI API,HTTPX和Python正则表达式。
  • 详细的指南从头开始构建AI代理,包括定义操作和集成。
  • 有效测试和调试AI代理的技术。
  • 增强AI代理能力并确保其稳健性和安全性的策略。
  • 实际示例说明了AI代理在各个行业及其未来的进步中如何使用的实例。

常见问题

Q1。 AI中的反应模式是什么?

答:React模式(原因法)涉及实施AI代理可以采取的其他措施,例如搜索Wikipedia或运行计算,并教给代理要求这些措施并处理其结果。

Q2。从头开始构建AI代理需要哪些工具和库?

答:要从头开始构建AI代理,您将需要必需的工具,库包括Python,OpenAI API,HTTPX用于HTTP请求以及Python的正则表达式(RE)库。

Q3。我如何确保AI代理的安全性,尤其是在使用诸如eval之类的动作时?

答:彻底验证输入以防止注射攻击,在可能的情况下使用沙箱技术,实施错误处理以及对日志操作进行监视和调试。

Q4。我可以向指南中描述的AI代理添加更多动作吗?

答:是的,您可以添加各种动作,例如获取天气信息,搜索新闻文章或使用适当的API翻译文本并将其集成到AI代理的推理循环中

以上是如何从头开始构建AI代理? - 分析Vidhya的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
特斯拉的Robovan是2024年的Robotaxi预告片中的隐藏宝石特斯拉的Robovan是2024年的Robotaxi预告片中的隐藏宝石Apr 22, 2025 am 11:48 AM

自2008年以来,我一直倡导这辆共享乘车面包车,即后来被称为“ Robotjitney”,后来是“ Vansit”,这是城市运输的未来。 我预见这些车辆是21世纪的下一代过境解决方案Surpas

Sam俱乐部在AI上押注以消除收据检查并增强零售Sam俱乐部在AI上押注以消除收据检查并增强零售Apr 22, 2025 am 11:29 AM

革新结帐体验 Sam's Club的创新性“ Just Go”系统建立在其现有的AI驱动“扫描和GO”技术的基础上,使会员可以在购物旅行期间通过Sam's Club应用程序进行扫描。

Nvidia的AI Omniverse在GTC 2025扩展Nvidia的AI Omniverse在GTC 2025扩展Apr 22, 2025 am 11:28 AM

NVIDIA在GTC 2025上的增强可预测性和新产品阵容 NVIDIA是AI基础架构的关键参与者,正在专注于提高其客户的可预测性。 这涉及一致的产品交付,达到绩效期望以及

探索Google的功能探索Google的功能Apr 22, 2025 am 11:26 AM

Google的Gemma 2:强大,高效的语言模型 Google的Gemma语言模型家族以效率和性能而庆祝,随着Gemma 2的到来而扩展。此最新版本包括两种模型:270亿个参数VER

下一波《 Genai:与Kirk Borne博士的观点》 -Analytics Vidhya下一波《 Genai:与Kirk Borne博士的观点》 -Analytics VidhyaApr 22, 2025 am 11:21 AM

这一领先的数据剧集以数据科学家,天体物理学家和TEDX演讲者Kirk Borne博士为特色。 Borne博士是大数据,AI和机器学习的著名专家,为当前状态和未来的Traje提供了宝贵的见解

AI适合跑步者和运动员:我们取得了出色的进步AI适合跑步者和运动员:我们取得了出色的进步Apr 22, 2025 am 11:12 AM

这次演讲中出现了一些非常有见地的观点——关于工程学的背景信息,这些信息向我们展示了为什么人工智能如此擅长支持人们的体育锻炼。 我将从每位贡献者的观点中概括出一个核心思想,以展示三个设计方面,这些方面是我们探索人工智能在体育运动中应用的重要组成部分。 边缘设备和原始个人数据 关于人工智能的这个想法实际上包含两个组成部分——一个与我们放置大型语言模型的位置有关,另一个与我们人类语言和我们的生命体征在实时测量时“表达”的语言之间的差异有关。 Alexander Amini 对跑步和网球都很了解,但他还

杰米·恩格斯特罗姆(Jamie Engstrom)关于卡特彼勒的技术,人才和转型杰米·恩格斯特罗姆(Jamie Engstrom)关于卡特彼勒的技术,人才和转型Apr 22, 2025 am 11:10 AM

卡特彼勒(Caterpillar)的首席信息官兼高级副总裁杰米·恩格斯特(Jamie Engstrom)领导了一支由28个国家 /地区的2200多名IT专业人员组成的全球团队。 在卡特彼勒(Caterpillar)工作了26年,其中包括她目前的四年半,Engst

新的Google照片更新使任何具有Ultra HDR质量的照片流行新的Google照片更新使任何具有Ultra HDR质量的照片流行Apr 22, 2025 am 11:09 AM

Google Photos的新Ultra HDR工具:快速指南 使用Google Photos的新型Ultra HDR工具增强照片,将标准图像转换为充满活力的高动态范围杰作。对于社交媒体而言,此工具可提高任何照片的影响,

See all articles

热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

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

热工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能