如何从头开始构建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">打印(查询(“英格兰与什么共享边界?”))))
打印(查询(“西蒙去过马达加斯加吗?”))))
打印(查询(“十五 *二十五”))
调试常见问题
在测试时,您可能会遇到一些常见问题。这里有一些调试的技巧:
- 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中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

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

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

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

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

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

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

Chatgpt 4当前可用并广泛使用,与诸如ChatGpt 3.5(例如ChatGpt 3.5)相比,在理解上下文和产生连贯的响应方面取得了重大改进。未来的发展可能包括更多个性化的间

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

2024年见证了从简单地使用LLM进行内容生成的转变,转变为了解其内部工作。 这种探索导致了AI代理的发现 - 自主系统处理任务和最少人工干预的决策。 Buildin

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

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