当前位置: 首页 > news >正文

LangGraph学习笔记 (二)-10分钟搭建自己第一个Agent

LangGraph&LangChain智能体开发极速入门教程来啦!10分钟搭建高性能Data Agent,前端对话+NL2SQL+Python代码解释器全功能实现,前后端分离架构+实时状态追踪全流程实战,一站式入门LangGraph&LangChain全套开发工具!

一、软件安装及环境配置

conda create -n lg python=3.11 #创建langchain开发环境
conda activate lg

需要导入的requirements.txt库

langgraph
langchain-core
langchain-deepseek
langchain-tavily
python-dotenv
langsmith
pydantic
matplotlib
seaborn
pandas
pymysql
scikit-learn

pip安装requirements.txt库代码

pip install -r .\requirements.txt

创建一个.env文件,用于保存保密等级较高的API-KEY

DEEPSEEK_API_KEY=
LANGSMITH_TRACING=
LANGSMITH_API_KEY=
LANGSMITH_PROJECT=
DASHSCOPE_API_KEY=
OPENWEATHER_API_KEY=
TAVILY_API_KEY=
HOST=
USER=
MYSQL_PW=
DB_NAME=
PORT=

🤖 AI服务相关

DEEPSEEK_API_KEY - DeepSeek AI模型API访问密钥

DASHSCOPE_API_KEY - 阿里云通义千问模型API密钥

https://dashscope.aliyun.com/

🔍 搜索与数据服务

TAVILY_API_KEY - Tavily搜索服务API密钥

OPENWEATHER_API_KEY - OpenWeather天气服务API密钥

https://openweathermap.org/api

🛠️ 开发与监控工具

LANGSMITH_TRACING - LangSmith调用追踪开关

LANGSMITH_API_KEY - LangSmith平台认证密钥

LANGSMITH_PROJECT - LangSmith项目名称

🗄️ 数据库配置 HOST - MySQL服务器主机地址

USER - MySQL登录用户名

MYSQL_PW - MySQL登录密码

DB_NAME - 数据库名称

PORT - MySQL服务端口号

  • DeepSeek官网获取DeepSeek APl Key

  • LangSmith也需要先登录LangSmith官网进行注册,然后选择开启项目追踪功能

  • 获取用于进行网络搜索的Tavily API Key

  • 为了Data Agent能够接入本地数据库,确认MySOL服务器相关的配置,包括用户、密码、数据库名称等

二、LangSmith注册

官网网址

https://www.langchain.com/langsmith

选择开启项目追踪功能

创建API Key

三、Tavily注册

官网注册账号

https://www.tavily.com/

创建API Key

四、MySOL安装

cd /d "E:\Program Files\MySQL\MySQL Server 8.0\bin"
mysql -h localhost -u root -p

创建数据库和表:

CREATE DATABASE IF NOT EXISTS school;
USE school;CREATE TABLE IF NOT EXISTS students_scores (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50),course1 INT,course2 INT,course3 INT
);INSERT INTO students_scores (name, course1, course2, course3) VALUES
('学生1', 85, 92, 78),
('学生2', 76, 88, 91),
('学生3', 90, 85, 80),
('学生4', 65, 70, 72),
('学生5', 82, 89, 95),
('学生6', 91, 93, 87),
('学生7', 77, 78, 85),
('学生8', 88, 92, 91),
('学生9', 84, 76, 80),
('学生10', 89, 90, 92);

验证数据是否正常

SELECT * FROM students_scores;

此外,还需要刷新身份验证,使得其他库(如pymysql)可以通过密码验证登录:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';

导入完成后续可以直接看到该数据库

USE school;
SELECT * FROM students_scores;

此时对应的MySQL数据库

# .env 文件内容
HOST=localhost
USER=root
MYSQL_PW=123
DB_NAME=school
PORT=3306

五、项目部署

graph.py文件和langgraph.json文件

{"dependencies": ["./"],"graphs": {"data_agent": "./graph.py:graph"},"env": ".env"
}

Ianggraph cli进行项目部署上线,先使用pip安装langgraph cli

pip install -U "langgraph-cli[inmem]"

然后输入langgraph dev命令即可一键进行项目部署

langgraph dev

但可能会出现如下问题

因为下面这个路径跨域了,smith平台是不可能获取你本地服务API EndPoint的,访问不了很正常。

https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024

所以为了解决这个问题,我们需要改一下启动的命令,使用下面命令启动:

langgraph dev --tunnel

需要远程访问或避免浏览器限制,可以使用 --tunnel 参数。在运行langgraph dev --tunnel 在下载 Cloudflare 的 cloudflared 可执行文件时访问 GitHub 超时(WinError 10060)。

此时可以手动安装 cloudflared(绕过在线下载)

  1. 在网络可访问 GitHub 的环境手动下载:

https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-windows-amd64.exe
  1. 重命名为 cloudflared.exe,放到下面任一位置: 加入系统 PATH 的目录(如 D:\tools\cloudflared\cloudflared.exe 并把 D:\tools\cloudflared 加到 PATH) 或者直接放到当前虚拟环境目录,作者使用的是后者。

项目根\.venv\Scripts\cloudflared.exe

这样,langsmith平台就可以正常地加载了。加载后大家可以看到,你也的业务流程完全变成了可追踪的可视化工作流。

然后可以输入问题,在这个平台上进行调试,例如在对应的传递参数的地方,提问:花开花落下一句,在此平台就可以连接到你本地的工程,进行可视化调试和输出了。

同时可以在langsmith中实时追踪智能体运行状态,只需要登录LangSmith官网,找到追踪的项目,就能看到每一次智能体的响应情况,至此后端服务就已经顺利部署上线。

此时后端服务端口是2024

点击- 📚 API Docs链接即可进入如下界面,并且我们可以在这个网页中看到后端接口的功能说明列表

并且可以进行任意端口的功能测试

六、Agent chat Ul前端

官网链接

github.com/langchain-ai/agent-chat-ui

在当前项目主目录内进行解压缩

然后在cursor中再打开一个命令行,并进入到Agent chat Ul的目录下

cd .\agent-chat-ui\

使用npm命令下载pnpm,然后输入pnpm install命令安装前端的相关依赖,安装完成后即可输入pnpm dev来开启前端服务

npm install -g pnpm
pnpm install
pnpm dev

这个前端服务会默认从2024端口接入后端功能,确保后端服务是正常运行的情况下,在3000这个前端的端口登录Agent Chat主页

登陆时输入对应的agent名字以及可选输入LangSmith的API Key

进入对话页面后可以让agent进行自我介绍

如果成功的话说明demo产品成功上线

在左侧看到历史对话消息列表,同时前端的对话也能被LangSmith追踪到,任何的对话请求都可以在LangSmith主页中看到后端运行情况

若出现如下错误,意味着你的系统找不到 npm 命令,可见《Node.js前端小白入坑指南:为什么你的电脑找不到 npm 命令?》解决。

七、数据分析

将一个excel表格放在同一目录下可以进行相关数据分析,如下为例。

目前我的主目录下有一个名叫telco_data.csv的数据集,请帮我绘制一张热力图,来展示除customerlD、MonthlyCharges、TotalCharges字段外,其他离散字段和标签之间的关联关系。
非常棒,请按照上面的计划,逐步编写Python代码并运行

结果输出路径

C:\Users\Administrator\Desktop\data_agent\agent-chat-ui\agent-chat-ui-main\public\images

总结

后续运作只需要

conda activate lg  
langgraph dev --tunnel   

另起终端

cd .\agent-chat-ui\ 
pnpm dev   
http://www.dtcms.com/a/457265.html

相关文章:

  • Sutton:LLM 通往 AGI 的隐秘瓶颈
  • 吴恩达机器学习课程(PyTorch 适配)学习笔记大纲
  • 聊透自动驾驶系统:从“怎么跑”到“怎么聪明跑”
  • 网站建设属于什么职能wordpress建站教程
  • LeetCode 刷题【107. 二叉树的层序遍历 II、108. 将有序数组转换为二叉搜索树】
  • 宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
  • 9. linux shell命令(6)Linux网络配置管理
  • 专做品质游的网站河东苏州网站建设
  • Spring的三级缓存原理 笔记251008
  • Coze源码分析-资源库-编辑数据库-后端源码-应用/领域/数据访问/基础设施层
  • 北京建设网站的公司兴田德润简介济南网站建设平台官网
  • 力扣 —— 动态规划(背包问题)
  • 基础微网站开发代理商wordpress图文模板
  • bind,apply,call
  • 最新ECCV最新大感受野的小波卷积
  • 小迪web自用笔记59
  • Docker 容器核心知识总结
  • GIS+VR地理信息虚拟现实XR MR AR
  • K8s学习笔记(十四) DaemonSet
  • 视频网站建设应该注意什么北京建设网点地址查询
  • 面试技术栈 —— 简历篇
  • Python闭包内变量访问详解:从原理到高级实践
  • DNS隧道技术:隐秘通信的“毛细血管”通道
  • MySQL 性能监控与安全管理完全指南
  • 【Linux】进程控制(上)
  • 湖北省建设网站wordpress商务套餐
  • 网站建设推广的软文邢台建站企业邮箱
  • C++11并发支持库
  • 广东省省考备考(第一百一十八天10.8)——言语、资料分析、数量关系(强化训练)
  • 临沂网站制作页面如何查一个网站有没有做外链