mcpField
G
gemini-api-integration

gemini-api-integration

github.com/sickn33开发48.7k71 次安装今天更新
代码仓库

关于 gemini-api-integration

指导 AI Agent 在 Node.js、Python 或浏览器应用中集成 Google Gemini API 的技能,涵盖内容生成、多模态输入、流式响应、函数调用、模型选择和错误处理。

主要功能

  1. 01配置 Google GenAI SDK
  2. 02生成文本并流式接收响应
  3. 03发送图像、音频和视频输入
  4. 04实现函数调用与聊天
  5. 05处理错误、配额和重试

适用场景

  1. 01在应用中加入 Gemini 内容生成
  2. 02处理多模态用户输入
  3. 03流式输出以降低感知延迟
  4. 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 语法、模型可用性、配额和定价都可能变化。这些示例是尚未执行过的集成模板,不能证明账户可访问性、模型质量或生产就绪状态。

评论

支持 Markdown