MiniMax Agent支持通过自然语言生成SQL,对本地SQLite数据库进行查询。使用前需要先创建包含products和sales两张数据表的sales.db,并插入示例数据。随后可通过上传数据库文件或手动声明表结构的方式完成接入。提问时建议明确主谓宾、限定时间范围,并指定仅输出纯SQL格式,最后再用DB Browser for SQLite验证查询结果是否正确。

让业务人员直接用自然语言查询数据库,由Agent自动生成SQL并执行分析,无需频繁依赖数据分析师,也不用长时间等待报表产出。这种Text-to-SQL数据库查询能力,现在已经可以在MiniMax Agent中直接实现。
准备本地SQLite示例库
先创建一个sales.db数据库文件,其中包含products和sales两张表,便于后续测试MiniMax Agent生成的SQL是否可执行且结果正确。打开Python终端后,复制并运行以下代码:
import sqlite3
conn = sqlite3.connect("sales.db")
cursor = conn.cursor()
cursor.execute("""CREATE TABLE IF NOT EXISTS products (id INTEGER PRIMARY KEY, name TEXT NOT NULL, category TEXT, price REAL)""")
cursor.execute("""CREATE TABLE IF NOT EXISTS sales (id INTEGER PRIMARY KEY, product_id INTEGER, quantity INTEGER, amount REAL, sale_date TEXT, region TEXT, FOREIGN KEY (product_id) REFERENCES products(id))""")
products = [(1,"智能手机A","电子产品",2999),(2,"笔记本电脑B","电子产品",5999),(3,"无线耳机C","电子产品",399)]
cursor.executemany("INSERT OR REPLACE INTO products VALUES (?,?,?,?)", products)
sales = [(1,1,120,359880,"2026-07-01","北京"),(2,2,45,269955,"2026-07-01","上海")]
cursor.executemany("INSERT OR REPLACE INTO sales VALUES (?,?,?,?,?,?)", sales)
conn.commit()
conn.close()
这一步一定要先完成,否则后续MiniMax Agent生成的SQL虽然语法可能正确,但查询不到实际数据,返回结果很可能为空。
在MiniMax Agent中接入数据库
方法一:使用内置数据库连接功能
登录 agent.minimax.io → 点击左上角「+新建」→ 选择「数据库查询」模板 → 在弹窗中点击「上传数据库文件」→ 选中刚刚创建的 sales.db → 等待系统解析完成(通常3~5秒)→ 平台会自动识别数据表结构并展示字段列表。
【注意】上传完成后不要立即提问,先打开「表结构预览」检查products和sales两张表是否都已成功加载,同时确认字段名称和字段类型是否一致,否则后续生成的SQL可能会引用错误或不存在的列。
方法二:手动声明表结构(适合不能上传数据库文件的场景)
可以直接输入这样的提示词:“数据库包含两张表:products表字段为id、name、category、price;sales表字段为id、product_id、quantity、amount、sale_date、region;其中product_id作为外键对应products.id;请严格基于上述表结构回答问题。”
这种方式虽然比直接上传文件多输入一些内容,但可以有效绕过文件上传权限限制,尤其适用于内网环境或安全策略较为严格的业务场景。
写出能执行的自然语言提问
第一步:明确主语和动作——比如问“哪个区域销量最高”,而不是笼统地说“帮我看看销售情况”。MiniMax Agent需要清晰的主谓宾结构,才能更准确地映射为SELECT、GROUP BY和ORDER BY等SQL语句。
第二步:限定时间范围——例如“最近7天”通常比“最近”更可靠,“2026年7月销量”也比“上个月”更不容易产生歧义,因为Agent并不会默认理解当前日期的上下文。
第三步:指定输出格式——建议在问题结尾补充一句“只返回SQL语句,不要解释,不要加```sql标记”,否则系统可能返回带Markdown格式的SQL代码,复制到SQLite执行时容易报错。
示例提问:“查2026年7月各区域销售额总和,按金额降序排列,只返回SQL语句,不要解释,不要加```sql标记”
执行并验证生成的SQL
① 复制Agent返回的SQL语句 → 打开DB Browser for SQLite(免费工具)→ 连接sales.db → 将SQL粘贴到执行窗口 → 点击「Execute SQL」。
② 如果执行报错,重点检查三处:FROM子句中的表名是否写错(例如误写成sale而不是sales)、WHERE中的日期格式是否为'2026-07%'(SQLite通常不识别'2026/07')、聚合查询是否遗漏GROUP BY(例如SELECT region, sum(amount) 必须搭配 GROUP BY region)。
③ 查询到结果后,还要与原始数据进行核对:例如北京7月有两条记录(359880+0),上海也有两条(269955+449850),总和应为719735。如果SQL返回结果不一致,说明Agent可能把quantity误当成了amount,这时需要在提问中明确补充“按amount求和”。
完成这一步后,就说明MiniMax Agent生成SQL并查询SQLite数据库的流程已经真正跑通。
