【Agent】基于Langchain的Agent数据库查询助手

一、介绍

  1. 核心框架
  • deepagents: 创建智能代理的主要框架
  • FilesystemBackend: 代理状态和记忆的后端存储系统
  1. 语言模型
  • ChatOllama: 本地Ollama模型接口(使用gemma4:e4b模型)
  • 支持云端模型的ChatOpenAI备选方案
  1. 数据库工具
  • SQLDatabase: 连接到SQLite数据库(Chinook数据库)
  • SQLDatabaseToolkit: 为数据库操作提供专门工具
  • SQLite: 包含示例数据的轻量级数据库
  1. 开发工具
  • langchain_ollama: 与Ollama集成用于本地LLM部署
  • langchain_openai: 与OpenAI API集成
  • dotenv: 环境变量管理
  1. 技能与记忆系统
  • 技能: 存储在 ./skills/query-writing./skills/schema-exploration中的预定义程序
  • 记忆: 存储在./AGENTS.md 中的文档,用于指导代理行为

二、配置

1、本地运行电脑配置要求:

  • 内存大于24G
  • Windows或者Linux

 如不使用本地运行,可调用LLM云端API。

2、克隆项目

shell 复制代码
# Clone the repository
git clone https://github.com/Reversev/Agent-for-SQL.git
cd Agent-for-SQL

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# Set up environment variables
cp .env.example .env

3、修改API配置文件(仅使用云端API需要)

.env文件用于调用云端API,如何使用本地模型,这个文件里的内容可只增加langchain的监控助手API,即LANGCHAIN_API_KEYLANGCHAIN_PROJECT对应的内容。

python 复制代码
# OpenAI API Configuration
OPENAI_API_KEY=your_api_key_here   # 需要更改

# Optional: Custom API Base URL (if using proxy or local deployment)
# OPENAI_API_BASE=https://api.your-proxy.com/v1
OPENAI_API_BASE="https://openrouter.ai/api/v1/chat/completions"  # 需要更改

# LangSmith Configuration
LANGCHAIN_TRACING_V2=true
LANGSMITH_ENDPOINT=https://api.smith.langchain.com
LANGCHAIN_API_KEY=lsv2_pt_xxx  # 需要更改
LANGCHAIN_PROJECT=your_project_name

三、测试结果

1、本地测试结果(Ollama)

  • 修改agent.py文件内容
python 复制代码
model = ChatOllama(
    # model="qwen3.5:9b",
    model="gemma4:e4b",   # 这里用的是gemma4,推理速度更快
    validate_model=False,
    streaming=False,
    temperature=0,
    base_url=os.getenv("OLLAMA_BASE_URL", "http://localhost:11434"),  # Default Ollama URL
)
  • 确保本地的Ollama应用处于开启状态,如果需要了解怎么安装Ollama可以查看我的教程链接

  • 运行推理,在项目文件夹下运行下述代码:

shell 复制代码
python agent.py

结论:测试结果表明Agent可以根据用户指示查找对应问题的结果,但本地运行时间较慢,大约35分钟左右,可以看langsimth上的监控结果,如下图:

 监控的中间过程如下图:

2、云端API调用个测试结果(基于openrouter)

  • 访问openrouter网站,然后到API Keys侧边栏,Create一个新的Key,复制并另外保存API,注意:设置好后无法再复制API。

  • 修改agent.py文件内容

python 复制代码
model = ChatOpenAI(
    model="openrouter/free",
    temperature=0,
    openai_api_base=os.getenv("OPENAI_API_BASE"),
)
  • 运行推理,在项目文件夹下运行下述代码:
shell 复制代码
python agent.py


结论:测试结果与本地运行结果一致,但是快了不少,仅需23秒就搞定,可以看langsimth上的监控结果,如下图:

 监控的中间过程如下图:

 具体详细代码欢迎大家访问我的Github网站,如果对您有帮助的话麻烦点个star⭐⭐⭐。

四、参考文献

1https://github.com/Reversev/Agent-for-SQL

2https://openrouter.ai

相关推荐
杨江几秒前
codex开始使用
人工智能
财经资讯数据_灵砚智能2 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年6月6日
大数据·人工智能·python·ai·信息可视化·自然语言处理·灵砚智能
落羽的落羽5 分钟前
【项目】JsonRpc框架——开发实现1(细节功能、字段定义、抽象层、具象层)
linux·服务器·网络·c++·人工智能·算法·机器学习
Harvy_没救了7 分钟前
【github爆款】Headroom:AI代理的智能上下文压缩层 —— 深度解析与洞察
人工智能·github
圣殿骑士-Khtangc10 分钟前
GPT-5.5 全面上线:大模型进入“价值验证“之年,幻觉率断崖式下降52.5%
人工智能
念越18 分钟前
【数据库系统概论期末复习】第四章 数据库安全性重点与常考题整理
数据库·数据库系统概论
weixin_4684668521 分钟前
深度学习图像数据增强新手实战指南
图像处理·人工智能·深度学习·ai·数据增强·机器视觉
Swift社区22 分钟前
鸿蒙 App 集成 AI 助手:架构设计 + 实战代码
人工智能·华为·harmonyos
复利人生 复利日知录 赋能循环24 分钟前
丘孔20260606复利的认知提升
人工智能
力学与人工智能30 分钟前
AIAAJ | 西工大常宝辉、李楠等:基于径向基函数神经网络的激波串数据驱动控制方法研究
人工智能·深度学习·神经网络·数据驱动·径向基函数·激波·控制方法