在开始用 Gemini 3.6 Flash 做数据分析前,需要先明确一点:这类模型擅长理解自然语言、识别模式、给出可读的解释,但直接面对几万行原始数据时,既容易超长文本限制,也可能在计算上出现偏差。稳妥的做法是把模型当作“分析助手”,先对数据做必要的清洗和聚合,再把样本或汇总结果交给它,最后人工核对输出。
对 Gemini 3.6 Flash 这类轻量模型,数据分析的可用路径是:先通过脚本或 SQL 完成数据清洗、抽样和汇总,再把结构化文本交给模型做趋势解读和初步判断;模型输出的数字和结论必须回到原始数据复核。这个流程适合快速探索、生成报告草稿,不适合直接作为正式统计或财务计算依据。
一、先准备数据:把数据变成模型可读的文本
Gemini 3.6 Flash 通过文本理解数据,因此需要把数据转成 CSV、JSON 或 Markdown 表格。建议先做两步:第一步,用 Pandas、SQL 或 Excel 完成去重、补空、类型转换;第二步,对全量数据做抽样或聚合。比如按月份汇总销售额和订单量,或者只看最近 100 条记录,这样能控制输入长度,也让模型更容易聚焦。
操作完成后,用文本编辑器打开生成的 CSV,确认表头和每一行都能被模型正确识别。验证方式是:让模型先复述数据中的表头和前两行数据,再开始分析。如果模型读错了,说明数据格式不适合,优先调整分隔符或去掉特殊字符。
二、写一个能“对答案”的提示词
数据分析提示词的关键是逼模型展示计算过程并引用具体数字。下面这个提示词模板可以用起来,其中的数据是虚构示例,只用来演示结构:
系统:你是一个数据分析助手。你会收到一段结构化数据,请按用户要求执行分析。所有计算过程要分步列出,每个结论必须引用数据中的具体数值。如果数据不足以支撑结论,请直接说明“数据不足”,不要猜测。
用户:以下是某店铺 2025 年 1-6 月销售数据(CSV):
month,revenue,orders
2025-01,12500,320
2025-02,13800,368
2025-03,12100,305
2025-04,15600,402
2025-05,17100,450
2025-06,18900,520
请计算每个月的客单价,分析客单价的变化趋势,并指出最值得关注的月份。请按“计算过程 / 结果 / 简要结论”三部分输出。上面模板里,“分步列出”“引用具体数值”“数据不足要明说”都是为了让输出可验证。把数据贴在用户消息里即可。如果数据量较大,建议只放抽样或聚合后的结果。
风险边界:模型依然可能算错算术或看错列名,所以提示词里要求“分步展示”是为了让你更容易定位错误,不代表结果一定正确。
三、通过 API 调用:一个通用请求骨架
如果你通过 API 调用 Gemini 3.6 Flash,可以用类似下面的 Python 请求骨架。注意 endpoints、鉴权和响应结构会随版本和平台变化,需要按你实际使用的 SDK 或接口文档调整。
import requests
import json
endpoint = 'YOUR_GEMINI_ENDPOINT'
api_key = 'YOUR_API_KEY'
headers = {
'Authorization': f'Bearer {api_key}',
'Content-Type': 'application/json'
}
payload = {
'contents': [
{
'parts': [
{'text': '你是一个数据分析助手。你会收到一段结构化数据,请按用户要求分析。计算过程要分步,结论引用数值。'},
{'text': '''以下是某店铺销售数据(CSV):
month,revenue,orders
2025-01,12500,320
...'''}
]
}
],
'generation_config': {
'temperature': 0,
'max_output_tokens': 2048
}
}
response = requests.post(endpoint, headers=headers, json=payload)
result = response.json()
text = result['candidates'][0]['content']['parts'][0]['text']
print(text)把上面的 endpoint、api_key 和用户消息内容替换成实际值。temperature 设置为 0 可以减少随机性,适合计算和逻辑分析。max_output_tokens 控制返回长度,如果分析报告较长,可以适当调大。
调用后,先检查 HTTP 状态码和返回的 candidates 字段是否完整。如果响应中出现错误,优先检查鉴权、请求格式和输入 token 是否超过模型限制。
四、解析输出并做最终核对
如果模型输出是纯文本,你可以在提示词里要求它把结果打包成 JSON,例如指定输出格式为“结果”和“结论”两个字段。这样后续用 json.loads 解析,更容易把模型回答接入到你的报表或日志中。
import json
output_text = result['candidates'][0]['content']['parts'][0]['text']
# 如果模型按约定返回 JSON,则直接解析
analysis = json.loads(output_text)
print(analysis.get('summary'))但不要盲信 JSON 结构。模型偶尔会输出多余文字,导致解析失败。你需要在解析前加一层容错:先截取第一个“{”到最后一个“}”之间的内容,再尝试 json.loads。
最终,把模型给出的关键数字(比如客单价、增长率)拿回到原始数据中,用 Excel 或 Python 重算一遍。如果差异较大,回看提示词里的数据是否有误,或检查模型是否引用了错误的行。这一步不能省,尤其是涉及决策时。
补充一句边界:Gemini 3.6 Flash 这类偏轻量的模型,适合快速验证想法、写初稿,不适合承担精确数值计算和复杂数据清洗。遇到长文本、多表关联或需要严格统计检验的任务,建议把计算拆给常规程序,只让模型做解释和总结。