【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⭐⭐⭐。

四、参考文献

1\] \[2\][https://openrouter.ai](https://openrouter.ai/)

相关推荐
怪祝浙2 分钟前
AI实战之Langchain入门
langchain
YuanDaima204812 分钟前
贪心算法基础原理与题目说明
数据结构·人工智能·python·算法·贪心算法·手撕代码
深念Y13 分钟前
正在阅读正在阅读MiMo 突然不能用 Claude Code 了?
ai·api·agent·key·mimo·claudecode·xiaomi
constCpp15 分钟前
AI 时代的技术新人该怎么成长?
人工智能
波动几何20 分钟前
医药行业文档知识参考库技能pharma-doc-reference
人工智能
XD74297163622 分钟前
科技早报晚报|2026年5月17日:调度基础设施、自托管邮件引擎与 AI 仪表盘代码,今晚更值得跟进的 3 个技术机会
人工智能·科技·科技新闻·开发者工具·自托管
Donk_6722 分钟前
iSCSI 服务器
运维·服务器·数据库
Lyon1985052823 分钟前
【握剑之手】——《文字定律》随笔
大数据·人工智能·ai写作
程序员果子24 分钟前
LangGraph :构建复杂有状态智能体的核心框架
人工智能·python·架构·langchain·prompt·ai编程·langgraph
大得36926 分钟前
langchain使用
java·python·langchain