凌晨两点的第一个请求:先让 Gemini 回你一句话
凌晨两点,窗外的雨敲在空调外机上,像一段不太稳定的节拍。我把咖啡杯推到键盘左边,终端里只剩一个光标闪烁。很多人问我:Gemini API怎么用?其实最难的不是模型,而是让第一个请求安静地跑通。就像深夜电台开播前,先确认麦克风有声音。
这是一份偏实战的 Gemini API开发入门笔记。免费路径优先:你可以在 Google AI Studio 里创建 API Key,通常适合原型验证;限制是额度、地区可用性和速率可能变化。准备 Node.js 18 以上,新建项目:
mkdir gemini-demo && cd gemini-demo
npm init -y
npm install @google/generative-ai dotenv
创建 .env:
GEMINI_API_KEY=你的API_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 result = await model.generateContent('用三句话解释什么是水热合成反应釜。');
console.log(result.response.text());
在 package.json 加上 "type":"module",运行:
node index.js
我在一台普通家用宽带环境测试,首次响应约 1.8 到 3.5 秒,短文本输出 300 字以内通常很快。如果报 API key not valid,先检查 Key 是否复制完整;如果报 429,多半是频率或额度限制,等 30 秒再试,或降低并发。
把聊天变成应用:一个“实验设备文档问答”案例
真正有用的 Gemini API教程,不应停在“你好世界”。我做过一个小案例:把设备说明、维护记录、FAQ 文本喂给模型,让它回答“GDSZ 制冷加热循环一体机报警 E03 怎么排查”。这里先用最简单的 RAG 思路:不接数据库,只读取本地文本,适合 50KB 到 200KB 的内部资料。
创建 manual.txt,放入你的资料。然后写 qa.js:
import 'dotenv/config';
import fs from 'fs';
import { GoogleGenerativeAI } from '@google/generative-ai';
const doc = fs.readFileSync('./manual.txt', 'utf8').slice(0, 120000);
const question = process.argv.slice(2).join(' ');
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({ model: 'gemini-1.5-flash' });
const prompt = `你是设备资料问答助手。只根据资料回答;如果资料没有,就说“资料中未找到”。
资料:${doc}
问题:${question}
请给出:原因、排查步骤、注意事项。`;
const result = await model.generateContent(prompt);
console.log(result.response.text());
运行:
node qa.js "循环泵不启动应该怎么排查?"
我的经验是,第一版最容易犯两个错:一是提示词没有要求“只根据资料”,模型会凭经验补全;二是资料太长,关键信息被淹没。解决办法很朴素:把资料按“故障码、部件、维护周期”拆成多个 txt,先用关键词筛出相关段落,再发给模型。你甚至可以用 Node.js 的 includes() 做一个粗糙检索,别急着上向量数据库。技术有时像整理抽屉,先分格,再谈智能。
成本、对比与如何验证它真的可用
如果你正在比较 Claude怎么用、Claude免费使用 或 Claude注册方法,你会发现不同模型的气质不同:Claude 长文稳,Gemini 多模态和 Google 生态衔接方便。开发时别只看“谁更聪明”,要看你的任务:客服问答重稳定,报告生成重格式,图片理解重多模态。我的建议是先用官方免费额度做 20 条真实样本测试,记录正确率、平均延迟和失败原因,再决定是否付费扩容。
一个简单验证表可以这样做:准备 10 个资料内问题、5 个资料外问题、5 个含糊问题。要求资料内回答命中关键点不少于 80%,资料外必须明确说“未找到”,含糊问题要反问澄清。延迟用终端时间粗测即可:
time node qa.js "E03 报警代表什么?"
如果连续 5 次都能在 5 秒内返回,且没有编造资料外答案,就说明你的 Gemini API 小应用已经具备最小可用性。若还不稳,优先检查三件事:资料是否干净、提示词是否限定边界、输入是否超过模型上下文。
夜深的时候,代码跑通那一刻并不喧哗,只像远处电台终于对准了频率。官方文档、免费额度和自己动手调试,永远是最可靠的起点;如果你需要整理更多 AI 编程与生产力工具清单,也可以把 睿盈工具 当作一个备选索引,而不是唯一答案。