news 2026/4/23 11:18:58

LangChain-09 Query SQL DB With RUN GPT 查询数据库 并 执行SQL 返回结果

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LangChain-09 Query SQL DB With RUN GPT 查询数据库 并 执行SQL 返回结果

安装依赖

pip install --upgrade --quiet langchain-core langchain-community langchain-openai

编写代码

from langchain_core.prompts import ChatPromptTemplate from langchain_community.utilities import SQLDatabase from langchain_core.output_parsers import StrOutputParser from langchain_core.runnables import RunnablePassthrough from langchain_openai import ChatOpenAI template = """Based on the table schema below, write a SQL query that would answer the user's question: {schema} Question: {question} SQL Query:""" prompt = ChatPromptTemplate.from_template(template) db = SQLDatabase.from_uri("sqlite:///./Chinook.db") def get_schema(_): return db.get_table_info() def run_query(query): return db.run(query) model = ChatOpenAI( model="gpt-3.5-turbo", ) sql_response = ( RunnablePassthrough.assign(schema=get_schema) | prompt | model.bind(stop=[" SQLResult:"]) | StrOutputParser() ) template = """Based on the table schema below, question, sql query, and sql response, write a natural language response: {schema} Question: {question} SQL Query: {query} SQL Response: {response}""" prompt_response = ChatPromptTemplate.from_template(template) full_chain = ( RunnablePassthrough.assign(query=sql_response).assign( schema=get_schema, response=lambda x: db.run(x["query"]), ) | prompt_response | model ) message = full_chain.invoke({"question": "How many employees are there?"}) print(f"message: {message}")

运行结果

? python3 test09.py message: content='There are a total of 8 employees in the database.' response_metadata={'finish_reason': 'stop', 'logprobs': None}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 21:27:23

【水箱】水箱液位级联控制的动态系统模型Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

作者头像 李华
网站建设 2026/3/22 3:04:24

数据科学为大数据领域的业务增长赋能

数据科学为大数据领域的业务增长赋能 关键词:数据科学、大数据、业务增长、机器学习、数据分析、数据挖掘、商业智能 摘要:本文探讨了数据科学如何在大数据时代为企业业务增长提供强大动力。我们将从基础概念入手,分析数据科学的核心技术栈,展示实际应用案例,并展望未来发…

作者头像 李华
网站建设 2026/4/17 18:56:15

【计算机毕业设计案例】基于python深度学习的苹果和西红柿识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/21 20:00:42

深度学习毕设选题推荐:基于机器学习python深度学习的道路坑洼识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华