许多现代的AI项目使用预制的API和外部库来处理任务。但是,自己建立AI代理可以使您对过程有更深入的了解。它还使您可以更好地控制代理的行为。
从头开始创建AI代理提供了无代码或低编码平台可能无法提供的灵活性和自定义,尤其是对于想要微调解决方案各个方面的开发人员。
在本指南中,我们将向您展示如何使用Python和烧瓶创建自主AI代理,并使用自然语言工具包(NLTK)提供的自然语言处理(NLP)。
我们的AI代理很简单,但强大,它可以
-
显示实时市场数据(价格,市值,交易量,OHLC)
-
在过去的24小时内获取最高促进者和失败者
-
推荐具有类似市值和贸易量的硬币
-
使用基本线性回归模型预测价格
今天的文章旨在为初学者和中级开发人员,他们希望尝试在不依赖太多第三方解决方案的情况下尝试建立AI代理。我们将仔细研究您的环境,编写代码,测试代理,并在此过程中添加一些额外的功能。
先决条件
在开始之前,请确保您已经准备好以下准备工作:
- Coingecko API对于加密价格和市场数据,尤其是 /市场和/market_chart 端点。免费演示计划足以容纳该项目。如果您还没有一个创建一个帐户尝试一下。
- Python 3.x:从官方网站安装Python 3,以无缝运行并测试您的代码。
- 基本的Python知识:熟悉功能,循环和数据类型对于理解和编写代码至关重要
- 命令行熟悉:在终端中导航目录和执行命令的能力是运行脚本所必需的
- 代码编辑器:使用Visual Studio Code,Pycharm或Notepad ++等编辑器有效地编写和管理您的项目
我们还将探索其他端点以增强我们的AI代理:
- 趋势硬币: 使用/搜索/趋势获取顶级流行的加密货币
- 全球市场数据: 使用/全球的检索全球加密货币市场统计数据,例如总市值和数量
- 支持的货币: 使用/simple/supported_vs_currencies获取所有支持的法定和加密货币的清单
- 汇率:使用/Exchange_rates访问众多货币的当前转换率
- OHLC范围: 使用/cuins/{id}/ohlc在指定的时间范围内获取历史OHLC(开放,高,低,关闭)数据
我们还将使用以下库:
- 烧瓶: Flask是Python的轻量级网络框架。它是创建API,服务网页和管理HTTP请求的理想选择。
- NLTK: 自然语言工具包(NLTK)提供用于处理和分析人类语言数据的工具。它包括用于代币化,解析等的库,这些库有助于创建AI聊天机器人。
- 请求: 这请求库有助于在Python中发送HTTP请求。它通常用于与API互动,例如检索实时加密货币价格。
- Scikit-Learn: Scikit-Learn是一个完整的机器学习库。它包括用于数据分析,预处理和建模的工具,例如价格预测的线性回归。
步骤1:设置您的环境
首先,准备您的项目环境。
创建项目目录
打开您的终端或命令提示符。
为您的项目创建一个新文件夹:
mkdir ai_agent_project
cd ai_agent_project
设置虚拟环境
使用虚拟环境有助于管理软件包,而不会影响整个系统的Python安装。
PY -M VENV VENV
激活虚拟环境:
在Windows上:
VENV \ Scripts \ Acivate
在MacOS或Linux上:
来源VENV/bin/activate
安装依赖项
创建一个名为的文件需求.txt
在您的项目文件夹中并添加以下行:
NLTK
请求
Scikit-Learn
Python-Dotenv
现在通过运行安装所有依赖项:
pip install -r要求.txt
下载NLTK数据
某些NLTK功能需要其他数据集,以便正确的功能。例如, 观点
必须下载用于将文本分解为句子或单词的常用令牌。打开Python外壳并运行:
nltk.download('punkt')
这样可以确保所需的数据可在您的项目中本地提供无缝文本处理。
步骤2:组织您的项目结构
为了正确开发和调试,需要建立清晰而有条理的项目结构。以下是我们AI代理项目的建议文件夹结构:
ai_agent_project/
├ - 应用程序##处理路线和后端逻辑的主烧瓶应用程序文件
├├├列表#列出运行该项目所需的所有python依赖关系
。
├ - 模板/
│└│─Index.html#html文件的聊天机器人界面由用户查看
└─..-静态/
└─..cs/
└─..cs.css#css文件以定义用户界面的样式
app.py
:这是包含烧瓶服务器和逻辑的核心文件。它将前端连接到后端,并处理用户请求。
需求.txt
:在此处列出的所有依赖项允许其他人使用一个命令安装它们(pip install -r要求.txt
),确保可重复性。
.env
:如果您的应用程序使用API键或其他敏感凭据,则此文件将其私密和在主代码库之外。
步骤3:创建AI代理
AI代理结合了对一般查询的静态响应和为实时加密货币价格提供的任务的动态功能。静态响应依赖于预定义的模式来解决可预测的用户输入,而动态功能连接到数据源,处理信息并提供特定的答案。他们共同创建了一个响应迅速且通用的AI系统。
编写烧瓶应用程序
让我们通过使用Python编程来构建我们的第一步。创建一个名为app.py的文件并添加以下代码:
解释
导入和设置:我们将烧瓶用于Web服务器,NLTK进行文本处理以及进行HTTP调用的请求。使用带有环境变量的敏感凭证(例如API键)Dotenv
用于安全。
静态对和聊天机器人:NLTK聊天
用于定义具有静态响应的基本对话模式。这些对使AI代理能够处理常见的查询,而后备响应可确保对未识别输入的不间断交互。
动态功能: 这get_crypto_price
功能将HTTP获取请求发送到Coingecko API以检索当前的加密货币价格。这get_crypto_ohlc
功能在指定的时间范围内获取加密货币的OHLC数据。两种功能提取并返回相关细节,同时优雅地处理错误。
请求处理: 这hander_dynamic_response
函数区分动态和静态查询。动态查询(例如“比特币的价格”或“比特币的OHLC 7天”)调用相应的功能,而静态响应依赖于预定义的模式。
烧瓶路线: /路线渲染index.html
聊天接口和/get_response
路线处理发布请求。它解析用户输入,动态生成响应,并返回JSON数据以进行无缝前端集成。
步骤4:构建用户界面
一个简单而专业的用户界面使您的AI代理更具吸引力。我们将创建两个文件:一个用于HTML(index.html
),一个用于CSS(style.css
).
HTML模板(模板/index.html)
创建一个名为的文件index.html
在模板
具有此内容的文件夹:
此HTML代码创建一个基本的聊天机器人接口。它包括一个样式的标题,一个用于显示消息的聊天框以及一个输入区域,供用户输入查询。单击“发送”按钮时,JavaScript函数将用户输入发送到服务器端点(/get_response
)使用AJAX邮政请求。用户消息和服务器响应在聊天框中动态显示,使对话可见。此外,发送消息后清除输入字段,聊天框自动滚动到最新响应中,以获得光滑的用户体验。
CSS文件(静态/CSS/style.css)
创建一个名为的文件style.css
在static/css/
有了这些内容,使您的界面具有深色,现代的外观:
步骤5:测试您的AI代理
必须测试您的AI代理以确保其正常运行。请按照以下步骤:
-
运行烧瓶应用程序:
-
打开终端并导航到您的项目目录。确保激活您的虚拟环境。跑步
python app.py
-
这将启动您的烧瓶服务器,该服务器通常在http://127.0.0.1:5000/上运行。
-
-
与聊天接口交互:
-
打开网络浏览器,然后访问http://127.0.0.1:5000/。
-
聊天机器人接口应加载,显示输入字段和聊天区域
-
-
测试动态功能:
-
输入框中的类型查询,例如“比特币价格”或“以太坊价格”
-
观察您的自定义功能是否正确获取并显示实时加密货币价格
-
键入查询,例如“比特币OHLC 7天”来测试OHLC数据功能
-
-
测试静态响应:
-
询问诸如“ Hello”或“您好吗?”之类的一般性问题。
-
确保聊天机器人的预定固定静态响应如预期。
-
通过遵循以下步骤,您可以确认动态和静态功能都按预期工作。在测试过程中,请注意任何需要改进的错误或区域。
步骤6:增强您的AI代理
一旦您的基本AI代理工作:
-
添加更多动态功能:改善加密货币数据的功能或添加更多功能(例如,预测趋势)
-
自定义静态响应:调整静态对话模式以涵盖更多用例
-
改进用户界面:更新HTML和CSS以完善外观并添加更多的交互式元素
-
考虑其他数据源:如果需要,请使用Coingecko API的替代端点来增强您的AI代理,如下
-
衍生品通过ID交换数据: 使用/衍生物/交换/{id}查询有关特定导数交换的详细数据。这包括诸如Exchange ID,名称,开放兴趣等信息。
- 资产平台: 使用/asset_platforms获取支持的区块链平台的列表。这可以帮助用户探索特定区块链的令牌和项目。
-
我们还可以使用不同的机器学习算法来提高其对特定用例的准确性,效率和适用性。您添加的每个新功能都可以帮助提高代理的总体用途。目的是为您的需求创建一个不断发展的灵活系统。
结论
在此简单指南中,您已经学习了如何使用Python和Flask从头开始构建自主AI代理。我们首先设置基本环境,组织我们的项目,并编写自定义代码以处理静态和动态响应。然后,我们使用HTML和CSS设计了一个干净,专业的用户界面,最后,我们在本地测试了应用程序。
如果您喜欢这篇文章,请务必在此上查看此文章使用Sendai Solana Agent套件建立AI代理
No comments yet