关于 gemini-api-integration
指导 AI Agent 在 Node.js、Python 或浏览器应用中集成 Google Gemini API 的技能,涵盖内容生成、多模态输入、流式响应、函数调用、模型选择和错误处理。
主要功能
- 01配置 Google GenAI SDK
- 02生成文本并流式接收响应
- 03发送图像、音频和视频输入
- 04实现函数调用与聊天
- 05处理错误、配额和重试
适用场景
- 01在应用中加入 Gemini 内容生成
- 02处理多模态用户输入
- 03流式输出以降低感知延迟
- 04将模型函数调用连接到经过校验的工具
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill gemini-api-integration安装后在 Claude Code 中输入/gemini-api-integration确认已加载。
详细介绍
Gemini API 集成
概述
此技能指导 AI Agent 将 Google Gemini API 集成到应用中,涵盖从基础文本生成到高级多模态、函数调用和流式处理用例。内容涵盖 Gemini SDK 的完整生命周期,并采用适用于生产环境的模式。
何时使用此技能
- 首次在 Node.js、Python 或浏览器项目中设置 Gemini API 时
- 实现多模态输入(文本 + 图像/音频/视频)时
- 添加流式响应以改善感知延迟时
- 使用 Gemini 实现函数调用/工具时
- 根据成本和性能优化模型选择(Flash、Pro 或 Ultra)时
- 调试 Gemini API 错误、速率限制或配额问题时
分步指南
1. 选择受支持的 SDK 和模型
使用 Google GenAI SDK(JavaScript 使用 @google/genai,Python 使用 google-genai),固定经过测试的软件包版本,并选择账户可用的模型。较旧的 @google/generative-ai/google-generativeai API 以及历史上的 1.5/2.0 模型表不是当前的设置指南。选择之前,请在官方文档中确认模型可用性、弃用情况、定价和功能支持;不要假设某个模型普遍最便宜或能力最强。
2. 服务端生成
通过密钥管理器或受保护的环境设置 GEMINI_API_KEY,并将 GEMINI_MODEL 设置为已验证的模型 ID。切勿将长期有效的密钥放入浏览器代码。
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const response = await ai.models.generateContent({
model: process.env.GEMINI_MODEL,
contents: "Explain async/await in JavaScript"
});
console.log(response.text);
import os
from google import genai
with genai.Client(api_key=os.environ["GEMINI_API_KEY"]) as client:
response = client.models.generate_content(
model=os.environ["GEMINI_MODEL"], contents="Explain async/await")
print(response.text)
3. 流式处理和多模态输入
使用固定版本 SDK 的 models.generateContentStream/models.generate_content_stream 接口,并处理部分输出、取消操作以及空响应或被拦截的响应。传输图像/音频/视频之前,请确认 MIME 类型、模型限制和文件保留期限。获取敏感内容的使用许可;不要在日志中记录私密输入或访问 URL。文件上传和生成可能会产生费用。
4. 函数调用和聊天
模型发出的函数调用只是不可信的提议。将名称与固定允许列表进行核对,并根据架构验证参数;执行用户授权检查,并在调用前限制调用次数/时间/费用。通过固定版本 SDK 文档规定的函数响应格式返回实际工具结果;切勿伪造结果。保留必需的对话轮次和函数调用标识符。聊天历史条目不是具有特权的系统指令;请使用受支持的系统指令配置字段。
5. 故障处理
检查结构化错误、拦截原因和结束原因,不要假设每个响应都包含文本。仅对暂时性错误使用有界指数退避、随机抖动以及任何 retry-after 指引进行重试;设置截止时间和重试预算。网络请求失败也可能已经产生用量费用。不要无限重试无效凭据或格式错误的请求,也不要仅为绕过被拦截的响应而降低安全设置。
示例
对于生产环境集成,先在测试项目中使用一个不敏感的提示词进行小规模测试,记录 SDK/模型版本和响应状态,然后测试流式取消、被拦截的输出、配额耗尽以及被拒绝的工具参数。报告实际测试过的内容。
来源
限制
SDK 语法、模型可用性、配额和定价都可能变化。这些示例是尚未执行过的集成模板,不能证明账户可访问性、模型质量或生产就绪状态。