微信扫码
添加专属顾问
我要投稿
AI工具让之前的不可能变成可能,曾经看过罗永浩的一次发布会,现场展示语音交互操作excel,结果演砸了,每逢demo必挂,IT界的著名定律依然有效。
现在,借助大语言模型,LangChain,我们可以把这件事情往前推进一步,使用LangChin和MiniMax构建智能体,通过自然语言跟数据库交互,查询数据。
# 建表import sqlite3# Connect to databaseconn = sqlite3.connect('demo.db')cursor = conn.cursor()#Create tablequery = '''CREATE TABLE amazon_sales (uniqId VARCHAR(255),productName VARCHAR(255),brandName VARCHAR(255),Asin VARCHAR(255),category INTEGER,upcEanCode VARCHAR(255),listPrice VARCHAR(255),sellingPrice VARCHAR(255),Quantity VARCHAR(255),modelNum VARCHAR(255),aboutProduct VARCHAR(255));'''cursor.execute(query)
使用pandas读取csv,并写入sqlite:
import pandas as pddf = pd.read_csv('marketing_sample.csv')df = df[df.columns[:11]] # 仅取前11列数据df.columns = ['uniqId', 'productName', 'brandName', 'asin', 'category','upcEanCode', 'listPrice', 'sellingPrice', 'Quantity','modelNum', 'aboutProduct']#Import the csv into databasedf.to_sql('amazon_sales', conn, if_exists='append', index=False)conn.close()
申请地址,https://api.minimax.chat/,申请后,账号内会赠送75元接口使用费,这波羊毛是薅一次的。
注册完成minimax后,记录GROUPID和APPKEY,我们使用LangChain的试验包完成主体代码。
from langchain_community.llms import Minimax# Load the model, 填充你自己的key和groupidMINMAXAPIKEY = ''MINMAXGROUPID = ''llm = Minimax(minimax_api_key=MINMAXAPIKEY, minimax_group_id=MINMAXGROUPID)# Prompt the model,验证接口可用response = minimax.invoke("What is the difference between panda and bear?")print(response)from langchain.utilities import SQLDatabasefrom langchain_experimental.sql import SQLDatabaseChain# 数据库链接db = SQLDatabase.from_uri("sqlite:///demo.db")db_chain = SQLDatabaseChain.from_llm(llm, db, verbose=True)
到此开发已经完成,接下来看看交互效果怎么样。
db_chain.run('what is the productName for uniqId 4c69b61db1fc16e7013b43fc926e502d?')db_chain.run('不同的productName有多少,如果数量超过10条数据,仅返回数量?')给的结果竟然是英文的,有些诡异。再看下原生SQL返回的结果,对比了结果是一致的。
cursor.execute('select count(distinct productName) from amazon_sales')result = cursor.fetchall()print(result)>>> [(9930,)]
实际上chain预置了prompt,使用特定的prompt,以及table相关的上下文信息,跟LLM交互,拿到SQL后,执行。
这个过程可以通过打开LangChain的debug和verbose来观察到交互过程:
import langchainlangchain.verbose = Truelangchain.debug = Truedb_chain.run('what is the productName for uniqId 4c69b61db1fc16e7013b43fc926e502d?')
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-02-15
Claude Code Skills 完全指南:从“菜鸟”到“专家”的进阶之路
2026-02-15
Peter Thiel花3500万美金投了一个销售领域的Claude Code,号称要终结Salesforce时代
2026-02-15
豆包大模型 2.0 实际场景评测,有强有弱,字节太坦诚了!附OpenClaw接入教程
2026-02-15
Cloudflare推出Markdown for Agents:AI抓取网页的方式彻底变了
2026-02-14
拆解 OpenClaw 记忆机制:当记忆不再是数据库,而是用户可读的文件
2026-02-14
国产模型再发力!刚刚,字节发布 Doubao 2.0 Pro,硬刚 GPT-5.2!
2026-02-14
试用 “全球最强模型” Gemini 3 Deep Think
2026-02-14
豆包 2.0 模型发布,全信息整理(全网最完整,另附 79 页 Model Card)
2026-01-24
2026-01-10
2025-11-19
2026-01-26
2026-01-01
2025-12-09
2025-12-21
2026-01-09
2026-02-03
2026-01-09
2026-02-14
2026-02-13
2026-02-12
2026-02-12
2026-02-11
2026-02-11
2026-02-11
2026-02-11