凌晨两点的报表,和一个 API Key 的开始
那晚办公室只剩下空调低低的风声,窗外便利店的灯像一枚没睡着的月亮。我盯着一份 3.8MB 的销售 CSV,心里想:人类为什么总在深夜和表格谈判?如果只是把数据读出来、总结异常、写成一封给主管的邮件,能不能交给 Gemini API?这篇不是泛泛的 Gemini API教程,而是我实际跑通的一条路:从免费官方入口开始,到本地 Node.js 调用,再到一个小型办公自动化案例。
先走官方免费路线:申请 Key、跑通第一行代码
最省事的方式是用 Google AI Studio 创建 API Key。免费额度适合学习和小脚本验证,但限制在于速率、地区可用性和生产稳定性;如果你要接入公司系统,后面应改用 Google Cloud 项目管理权限、账单和配额。很多人搜索 Gemini API怎么用,卡住的不是模型能力,而是环境变量、SDK 版本和网络错误。
- 准备 Node.js 18 以上版本,终端执行:
node -v,我测试用的是 Node 20.11。 - 新建项目并安装 SDK:
mkdir gemini-demo && cd gemini-demo && npm init -y && npm i @google/generative-ai dotenv - 创建
.env:GEMINI_API_KEY=你的Key - 创建
index.js,写入下面代码。
import 'dotenv/config';
import { GoogleGenerativeAI } from '@google/generative-ai';
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({ model: 'gemini-1.5-flash' });
const prompt = '把这句话改写成一封简短、礼貌的工作邮件:今晚报表已更新,请明早查看异常项。';
const result = await model.generateContent(prompt);
console.log(result.response.text());
再把 package.json 加上 "type":"module",运行 node index.js。在我本地测试中,一段 30 字提示词平均 1.2 到 2.8 秒返回;如果超过 10 秒,先检查网络、Key 是否复制完整、模型名是否写错。
应用案例:让 Gemini 读 CSV,生成异常摘要和邮件
真正有用的地方,从“能聊天”开始转向“能处理一件具体工作”。下面这个案例假设你有一份 sales.csv,字段包括日期、城市、销售额、退款额。我们不把整份大表塞进模型,而是先用程序截取前 80 行和统计数字,这样更省 token,也更稳定。这和搜索 Claude怎么用、Claude免费使用 时常见的长文本技巧类似:先整理,再提问,而不是把混乱直接丢给模型。
import fs from 'fs';
import 'dotenv/config';
import { GoogleGenerativeAI } from '@google/generative-ai';
const csv = fs.readFileSync('./sales.csv', 'utf-8');
const rows = csv.split('\n').slice(0, 81).join('\n');
const prompt = `
你是数据助理。请基于以下CSV样本:
1. 找出可能异常的城市或日期
2. 用3条要点总结
3. 写一封100字以内的邮件给销售主管
CSV:
${rows}
`;
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({ model: 'gemini-1.5-flash' });
const res = await model.generateContent(prompt);
console.log(res.response.text());
我用一份 1,200 行 CSV 测试:直接全量输入失败率明显升高,而截取样本加本地统计后,输出更稳定。实务里你可以先用 Python 或 Excel 算出总额、均值、最大退款城市,再让 Gemini 负责解释和写邮件。若你正在比较 Claude注册方法 和 Gemini API,简单说:Claude 长文档理解体验很好,Gemini API 对开发者接入、图片与 Google 生态联动更顺手,选谁取决于任务而不是名气。
如何验证它真的可用,而不是“看起来很聪明”
别只看模型文笔,要看结果能不能复查。我的验证方法很朴素:第一,准备 10 行你已知有异常的数据,比如某城市退款额突然超过销售额 40%;第二,运行脚本 3 次,看异常是否都被指出;第三,把输出邮件里的数字和原表核对,不能凭空多出字段;第四,记录耗时,终端可用 time node index.js,如果 5 次平均超过 6 秒,就考虑缩短输入或换 flash 模型。
如果你看到 401,多半是 Key 错;看到 429,是额度或频率限制;看到输出胡编数字,就在提示词里加一句“只能引用 CSV 中出现的数据,未知请写未知”。技术有时像深夜电台:它不会替我们生活,却能把杂音降下来,让真正要做的事浮出水面。官方免费路径足够入门,愿意省配置时间的人,也可以把睿盈工具作为工具导航选项之一参考:https://wizzegroup.com 。