菜鸟AI - 让提示词生成更简单! 全站导航 全站导航
AI工具安装 新手教程 进阶教程 辅助资源 AI提示词 热点资讯 技术资讯 产业资讯 内容生成 模型技术 AI信息库

已有账号?

首页 > 资讯 > Gemini API集成Node.js项目:从零开始环境搭建与调用示例
其他资讯 综合资讯

Gemini API集成Node.js项目:从零开始环境搭建与调用示例

2026-06-07
阅读 0
热度 0
作者 菜鸟AI编辑部
摘要

摘要

聊个技术落地的事儿。要在 Node js 项目里安全稳定地调用 Gemini API,实现文本生成或翻译对

聊个技术落地的事儿。要在 Node.js 项目里安全稳定地调用 Gemini API,实现文本生成或翻译对话,开发者需要绕过浏览器直连的限制,正确处理密钥配置和响应流式解析。下面拆开来说,每一步都有坑可踩。

获取并安全存储 API 密钥

先绕不开这一步:访问 Google AI Studio,登录你的 Google 账号,在 “API keys” 页面生成一个新密钥。复制下来后立刻存到项目根目录下的 .env 文件里,格式像这样——GEMINI_API_KEY=your_actual_key_here

很多人刚开始偷懒,习惯把密钥直接写在 .js 文件里。必须警惕的是,一旦仓库泄露,API 配额会被恶意刷爆,账单可不便宜。所以这一步不是选项,是纪律。

运行 npm install dotenv,然后在入口文件(比如 index.js)顶部加上 require('dotenv').config(),密钥就能安全地被加载了。

安装 SDK 并初始化客户端

接着装依赖,执行 npm install @google/generative-ai,这是官方提供的 Node.js SDK。

新建一个 gemini.js 文件,导入模块并初始化客户端:

const { GoogleGenerativeAI } = require("@google/generative-ai");
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

不指定 generationConfig 时,模型会按默认参数返回完整文本。但如果你需要控制输出长度或者随机性,可以追加配置,比如 generationConfig: { temperature: 0.7, maxOutputTokens: 512 }。根据自己的场景调就好。

发起基础文本生成请求

定义个异步函数来调用模型。流程很清晰:

第一步,构造输入内容数组:const contents = [{ role: "user", parts: [{ text: "用三句话解释量子纠缠" }] }];

第二步,发起请求:const result = await model.generateContent(contents);

第三步,提取响应文本:const response = result.response.text();

最后打印:console.log(response);

这种方式会阻塞等待完整响应返回,适合单次简短问答。但如果输入内容包含图片或较长文档,就别死磕了——改用流式请求,不然容易超时。

启用流式响应实时输出

流式响应有两种常见写法。第一种是 for-await-of 迭代,适合现代 Node.js 环境:

const stream = await model.generateContentStream(contents);
for await (const chunk of stream) {
process.stdout.write(chunk.text());
}

第二种是监听 data 事件,兼容旧版 Node.js:

const stream = await model.generateContentStream(contents);
stream.on("data", (chunk) => process.stdout.write(chunk.text()));
stream.on("end", () => console.log("✅ 流式响应结束"));

需要特别注意的是,流式调用必须在服务端执行。前端浏览器直接请求会触发 CORS 错误,这个坑不少人踩过。另外,如果流式请求未显式设置 responseMimeType,有可能返回空 content,所以建议在 generationConfig 里加上 responseMimeType: "text/plain",确保输出稳定。

来源:互联网

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

同类文章推荐

相关文章推荐

更多