Google Gemini 集成指南
使用 Skill Seekers 创建并部署技能到 Google Gemini 的完整指南。
概述
Skill Seekers 将文档打包成 Gemini 兼容格式,优化用于:
- Gemini 2.0 Flash 用于增强
- Files API 用于文档上传
- Grounding 用于准确的、基于源的响应
设置
1. 安装 Gemini 支持
# 安装 Gemini 依赖项
pip install skill-seekers[gemini]
# 验证安装
pip list | grep google-generativeai
2. 获取 Google API 密钥
- 访问 Google AI Studio
- 点击”获取 API 密钥”
- 创建新的 API 密钥或使用现有密钥
- 复制密钥(以
AIza开头)
3. 配置 API 密钥
# 设置为环境变量(推荐)
export GOOGLE_API_KEY=AIzaSy...
# 或直接传递给命令
skill-seekers upload --target gemini --api-key AIzaSy...
完整工作流程
步骤 1:抓取文档
# 使用任何配置(抓取与平台无关)
skill-seekers scrape --config configs/react.json
# 或使用统一配置进行多源
skill-seekers unified --config configs/react_unified.json
结果: 带引用的 output/react/ 技能目录
步骤 2:使用 Gemini 增强(可选但推荐)
# 使用 Gemini 2.0 Flash 增强 SKILL.md
skill-seekers enhance output/react/ --target gemini
# 指定 API 密钥
skill-seekers enhance output/react/ --target gemini --api-key AIzaSy...
它做什么:
- 分析所有参考文档
- 提取 5-10 个最佳代码示例
- 创建全面的快速参考
- 添加关键概念和使用指导
- 生成纯 markdown(无 YAML 前置元数据)
时间: 20-40 秒 成本: 约 $0.01-0.05(使用 Gemini 2.0 Flash) 质量提升: 3/10 → 9/10
步骤 3:为 Gemini 打包
# 为 Gemini 创建 tar.gz 包
skill-seekers package output/react/ --target gemini
# 结果:react-gemini.tar.gz
包结构:
react-gemini.tar.gz/
├── system_instructions.md # 主文档(纯 markdown)
├── references/ # 单独的参考文件
│ ├── getting_started.md
│ ├── hooks.md
│ ├── components.md
│ └── ...
└── gemini_metadata.json # 平台元数据
步骤 4:上传到 Gemini
# 上传到 Google AI Studio
skill-seekers upload react-gemini.tar.gz --target gemini
# 使用 API 密钥
skill-seekers upload react-gemini.tar.gz --target gemini --api-key AIzaSy...
输出:
✅ 上传成功!
技能 ID:files/abc123xyz
URL:https://aistudio.google.com/app/files/abc123xyz
已上传文件:15 个文件
步骤 5:在 Gemini 中使用
在 Google AI Studio 中访问您上传的文件:
- 前往 Google AI Studio
- 导航到 Files 部分
- 查找您上传的技能文件
- 与 Gemini API 或 AI Studio 一起使用
Gemini 有什么不同?
格式:纯 Markdown(无 YAML)
Claude 格式:
---
name: react
description: React 框架
---
# React 文档
...
Gemini 格式:
# React 文档
**描述:** 用于构建用户界面的 React 框架
## 快速参考
...
无 YAML 前置元数据 - Gemini 使用纯 markdown 以获得更好的兼容性。
包:tar.gz 而不是 ZIP
Gemini 使用 .tar.gz 压缩以获得更好的 Unix 兼容性和更小的文件大小。
上传:Files API + Grounding
文件上传到 Google 的 Files API,并可用于 Gemini 响应中的 grounding。
使用您的 Gemini 技能
选项 1:Google AI Studio(Web UI)
- 前往 Google AI Studio
- 创建新聊天或应用
- 在提示中引用您上传的文件:
使用 React 文档文件,解释 hooks
选项 2:Gemini API(Python)
import google.generativeai as genai
# 使用您的 API 密钥配置
genai.configure(api_key='AIzaSy...')
# 创建模型
model = genai.GenerativeModel('gemini-2.0-flash-exp')
# 与上传的文件一起使用(自动 grounding)
response = model.generate_content(
"如何使用 React hooks?",
# 文件通过 grounding 自动可用
)
print(response.text)
选项 3:带文件引用的 Gemini API
import google.generativeai as genai
# 配置
genai.configure(api_key='AIzaSy...')
# 获取您上传的文件
files = genai.list_files()
react_file = next(f for f in files if 'react' in f.display_name.lower())
# 在生成中使用文件
model = genai.GenerativeModel('gemini-2.0-flash-exp')
response = model.generate_content([
"详细解释 React hooks",
react_file
])
print(response.text)
高级用法
使用自定义提示增强
可以通过修改适配器来自定义增强过程:
from skill_seekers.cli.adaptors import get_adaptor
from pathlib import Path
# 获取 Gemini 适配器
adaptor = get_adaptor('gemini')
# 使用自定义参数增强
success = adaptor.enhance(
skill_dir=Path('output/react'),
api_key='AIzaSy...'
)
程序化上传
from skill_seekers.cli.adaptors import get_adaptor
from pathlib import Path
# 获取适配器
gemini = get_adaptor('gemini')
# 打包技能
package_path = gemini.package(
skill_dir=Path('output/react'),
output_path=Path('output/react-gemini.tar.gz')
)
# 上传
result = gemini.upload(
package_path=package_path,
api_key='AIzaSy...'
)
if result['success']:
print(f"✅ 已上传到:{result['url']}")
print(f"技能 ID:{result['skill_id']}")
else:
print(f"❌ 上传失败:{result['message']}")
手动包提取
如果您想检查或修改包:
# 提取 tar.gz
tar -xzf react-gemini.tar.gz -C extracted/
# 查看结构
tree extracted/
# 如需要修改文件
nano extracted/system_instructions.md
# 重新打包
tar -czf react-gemini-modified.tar.gz -C extracted .
Gemini 特定功能
1. Grounding 支持
Gemini 自动在您上传的文档文件中 ground 响应,提供:
- 源归属
- 准确的引用
- 减少幻觉
2. 多模态能力
Gemini 可以处理:
- 文本文档
- 代码示例
- 图像(如果包含在 PDF 中)
- 表格和图表
3. 长上下文窗口
Gemini 2.0 Flash 支持:
- 高达 1M 令牌上下文
- 单个上下文中的整个文档集
- 更好地理解交叉引用
故障排除
问题:google-generativeai not installed
解决方案:
pip install skill-seekers[gemini]
问题:Invalid API key format
错误: API 密钥不以 AIza 开头
解决方案:
- 从 Google AI Studio 获取新密钥
- 验证您使用的是 Google API 密钥,而不是 GCP 服务帐户
问题:Not a tar.gz file
错误: 包格式错误
解决方案:
# 使用 --target gemini 获取 tar.gz 格式
skill-seekers package output/react/ --target gemini
# 不要:
skill-seekers package output/react/ # 创建 .zip(Claude 格式)
问题:File upload failed
可能原因:
- API 密钥缺少权限
- 文件太大(检查限制)
- 网络连接
解决方案:
# 验证 API 密钥有效
python3 -c "import google.generativeai as genai; genai.configure(api_key='AIza...'); print(list(genai.list_models())[:2])"
# 检查文件大小
ls -lh react-gemini.tar.gz
# 尝试详细输出
skill-seekers upload react-gemini.tar.gz --target gemini --verbose
问题:增强失败
解决方案:
# 检查 API 配额
# 访问:https://aistudio.google.com/apikey
# 尝试较小的技能
skill-seekers enhance output/react/ --target gemini --max-files 5
# 不使用增强
skill-seekers package output/react/ --target gemini
# (跳过增强步骤)
最佳实践
1. 组织文档
清晰地构建您的 SKILL.md:
- 从概述开始
- 添加快速参考部分
- 组合相关概念
- 包含实用示例
2. 优化文件数量
- 将相关主题合并到单个文件中
- 使用清晰的文件命名
- 保持总数在 100 个文件以下以获得最佳性能
3. 使用 Gemini 测试
上传后,使用示例问题测试:
1. 如何开始使用 [主题]?
2. 核心概念是什么?
3. 给我看一个实用示例
4. 常见陷阱是什么?
4. 定期更新
# 重新抓取更新的文档
skill-seekers scrape --config configs/react.json
# 重新增强和上传
skill-seekers enhance output/react/ --target gemini
skill-seekers package output/react/ --target gemini
skill-seekers upload react-gemini.tar.gz --target gemini
成本估算
Gemini 2.0 Flash 定价:
- 输入:$0.075 每 1M 令牌
- 输出:$0.30 每 1M 令牌
典型技能增强:
- 输入:约 50K-200K 令牌(文档)
- 输出:约 5K-10K 令牌(增强的 SKILL.md)
- 成本:每个技能 $0.01-0.05
文件上传: 免费(无按文件收费)
下一步
- ✅ 安装 Gemini 支持:
pip install skill-seekers[gemini] - ✅ 从 Google AI Studio 获取 API 密钥
- ✅ 抓取您的文档
- ✅ 使用 Gemini 增强
- ✅ 为 Gemini 打包
- ✅ 上传和测试
资源
状态:✅ 生产就绪(v2.5.0+)
发现问题或有建议?提出问题