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

深入解析:如何利用LangChain1.0快速进行天气和数据库查询

如何利用LangChain1.0快捷进行天气和数据库查询

1. 体系概述

本系统是一个基于LangChain框架构建的智能数据库查询工具,利用通义千问大语言模型和SQL数据库工具包实现自然语言数据库查询效果。用户可以通过自然语言提问来查询SQLite数据库中的信息。

2. 系统架构

2.1 主要组件

  1. Agent代理模块([dashscope_db_example.py](file:///Users/laraveljun/big_model/langchain-learn/dashscope_db_example.py))

  2. 数据库工具模块([func_tool/db_tools.py](file:///Users/laraveljun/big_model/langchain-learn/func_tool/db_tools.py))

  3. 数据库结构

2.2 工作流程

  1. 用户提出自然语言查询(如"难度为中等有多少道题?")
  2. Agent解析用户意图并调用适当的SQL工具
  3. 软件执行相应的数据库操作(查看表结构、生成SQL查询等)
  4. 执行查询并获取结果
  5. Agent将结果格式化后返回给用户

3. 核心模块详解

3.1 Agent代理模块 ([main.py](file:///Users/laraveljun/big_model/langchain-learn/dashscope_db_example.py))

from dotenv import load_dotenv
import os
# 加载.env文件中的环境变量
load_dotenv(override=True)
from func_tool.wechat import query_weather
from func_tool.db_tools import get_sql_tools
from langchain.agents import create_agent
from langchain_community.chat_models import ChatTongyi
model = ChatTongyi(model="qwen-turbo", api_key=os.getenv("DASHSCOPE_API_KEY"))
# 创建可以同时使用天气和数据库工具的智能助手
database_uri = "sqlite:///student_quiz.db"  # 示例数据库URI
tools = get_sql_tools(database_uri, model)
# 创建智能助手,可以同时使用天气和数据库工具
agent = create_agent(
model=model,
tools=[query_weather]+tools,
system_prompt='''
1、你是一个专业的 SQL 数据分析师。
工作流程:
1. 先使用 sql_db_list_tables 查看所有表
2. 使用 sql_db_schema 获取相关表的结构
3. 生成 SQL 查询前,使用 sql_db_query_checker 检查语法
4. 使用 sql_db_query 执行查询
5. 用中文总结查询结果
注意事项:
- 只使用数据库中实际存在的表和字段
- 查询结果限制在 10 条以内
- 如果查询出错,分析错误并重新生成 SQL
- 有多个问题的时候,需要进行整理后返回
2、您是一个乐于助人的助手,您可以回答用户的问题,也可以帮助用户解决问题。
''',
)
question = "难度为中等有多少道题?"
# Run the agent with database query
response = agent.invoke(
{
"messages": [{
"role": "user", "content": question}]}
)
print(response['messages'][-1].content)

http://www.rkmt.cn/news/93109.html

相关文章:

  • Codex 相较其他模型的核心优势(含 Polocode 集成场景) - poloai
  • 在Anaconda中指定Jupyter Notebook虚拟环境和工作目录
  • 基于SpringBoot+Vue技术的二手车交易管理系统的设计与实现(毕业设计项目源码+文档)
  • 《Python学习手册》第2章 Python如何运行程序
  • text-to-svg:文本转SVG路径的终极神器
  • Lenia终极指南:快速上手连续细胞自动机的数学生命世界
  • 2025土壤墒情监测设备选型全攻略:金叶智能应用分享
  • iOS动画开发终极指南:用lottie-ios组件库打造高性能可复用动画
  • 2025年12月德国list涂层测厚仪哪家公司可定制?供应商/优秀企业/知名企业推荐 - 品牌推荐大师1
  • HarmonyOS模块配置终极指南:5步快速掌握module.json5核心技巧
  • Cursor助力Java开发,零基础入门到精通,收藏这篇就够了
  • 终极企业级权限管理方案:BootstrapAdmin让.NET开发效率飙升300%
  • 北京律师指南:2025-2026 北京法律服务机构排行榜白皮书 —— 含法律顾问专业能力、胜诉率及法律帮助方案全面推荐与解析 - 苏木2025
  • 2025彩礼问题纠纷律所TOP5权威推荐:传统与现代争议解决 - myqiye
  • 2025年重庆服务不错的知名装饰装修公司推荐,有名的装饰装修 - 工业品牌热点
  • 20、系统管理中的Python应用:数据元信息、归档压缩与SNMP基础
  • 2025年重庆装饰装修机构排名:口碑不错的装饰装修企业有哪些 - 工业推荐榜
  • 16、数据库操作与RT代码库详解
  • 大麦APP抢票技术分享
  • 2025年厦门评职称普刊发表服务公司推荐:哪些期刊容易发表? - myqiye
  • 产品经理必备的5个技术沟通技能:从零到精通实战指南
  • vavr与Kotlin终极指南:函数式Java开发深度解析
  • 11、探索 Fedora Core 中的 GNOME 桌面环境
  • 智能助手Everywhere:实现跨应用AI交互的技术指南
  • Electron WebSocket客户端终极指南:构建实时通信桌面应用
  • 食品X光机:AI与双能成像如何提升异物检测精度
  • JSMpeg数据埋点:如何从零搭建播放器健康监控体系?
  • 如何快速使用WGAI:私有AI平台搭建的完整指南
  • Markdown转PPT终极指南:用md2pptx轻松创建专业演示文稿
  • 浏览器AI智能计数:零基础构建图像物体统计系统