TL;DR: 本文档旨在指导SRE团队成员高效利用Google Gemini API进行快速原型开发与部署。涵盖API密钥获取、环境配置、Python SDK基础使用、多模态输入/输出处理及高级用例。本指南要求读者具备基础Python编程与命令行操作能力。重点在于实操,零冗余。
先决条件 (V1.0)
- Python 3.9+ 环境。
- Google Cloud Platform (GCP) 账号。
- 已启用Gemini API的GCP项目并生成API Key。
- 互联网连接。
1. Gemini API Key 获取 (V1.0)
本步骤详述如何安全获取并配置Gemini API Key。
-
访问Google AI Studio。
-
登录您的Google账户。
-
导航至 "Get API Key" 或 "Create API Key in a new project"。
-
复制生成的API Key。Warning: 此Key应视为敏感凭证。避免硬编码于代码中,推荐使用环境变量管理。
2. 开发环境配置 (V1.0)
配置Python虚拟环境并安装必要的依赖。
-
创建并激活虚拟环境。
python3 -m venv gemini_env source gemini_env/bin/activateExpected Output: 终端前缀变为
(gemini_env)。 -
安装Google Generative AI SDK。
pip install -q -U google-generativeaiExpected Output: Successfully installed google-generativeai-[version] ...。
-
配置API Key为环境变量。
export GOOGLE_API_KEY="YOUR_API_KEY"Note: 将
"YOUR_API_KEY"替换为实际获取的API Key。对于持久化配置,可将其添加到~/.bashrc或~/.zshrc。
3. Gemini API 基础使用 (V1.0)
演示如何通过Python SDK与Gemini Pro模型进行文本互动。
-
创建一个名为
gemini_test.py的Python文件。import google.generativeai as genai import os # 从环境变量加载API Key API_KEY = os.getenv("GOOGLE_API_KEY") if not API_KEY: raise ValueError("GOOGLE_API_KEY environment variable not set.") genai.configure(api_key=API_KEY) # 初始化Generative Model model = genai.GenerativeModel('gemini-pro') # 生成内容 prompt = "详细解释量子纠缠现象,并提供一个现实世界的比喻。" response = model.generate_content(prompt) # 打印结果 print(response.text) -
执行Python脚本。
python gemini_test.pyExpected Output: 输出关于量子纠缠的详细解释及比喻。
4. 多模态输入示例:文本与图像 (V1.0)
展示Gemini Pro Vision模型如何处理图像和文本混合输入。此功能在SRE故障诊断中,例如分析截图日志时,具有显著优势。
-
下载一张示例图片,例如
screenshot.png(Roxi.cc 不提供图床功能,可使用本地任意图片代替)。Note: 建议使用包含文本内容的截图,以便Gemini分析。
-
修改
gemini_test.py文件以支持多模态输入。import google.generativeai as genai import os from PIL import Image API_KEY = os.getenv("GOOGLE_API_KEY") if not API_KEY: raise ValueError("GOOGLE_API_KEY environment variable not set.") genai.configure(api_key=API_KEY) # 初始化Generative Model Vision model_vision = genai.GenerativeModel('gemini-pro-vision') # 加载图片 try: img = Image.open('screenshot.png') # 替换为您的图片路径 except FileNotFoundError: print("Error: screenshot.png not found. Please provide an image file.") exit(1) # 生成内容:同时输入文本和图片 prompt_parts = [ img, "这是什么?请描述图片内容,并指出其中可能存在的异常或日志信息。", ] response = model_vision.generate_content(prompt_parts) # 打印结果 print(response.text) -
再次执行Python脚本。
python gemini_test.pyExpected Output: Gemini对图片内容的描述以及潜在的异常或日志分析。
5. 部署考量 (V1.0)
对于SRE团队而言,原型验证后,部署是关键步骤。推荐使用容器化技术。
-
Dockerize应用程序。
创建一个
Dockerfile:# Dockerfile FROM python:3.9-slim-buster WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . ENTRYPOINT ["python", "gemini_test.py"]requirements.txt内容:google-generativeai Pillow -
构建Docker镜像。
docker build -t gemini-app:v1.0 . -
运行Docker容器(带环境变量)。
docker run -e GOOGLE_API_KEY="YOUR_API_KEY" gemini-app:v1.0Note: 在生产环境中,推荐使用Kubernetes Secret或云服务提供商的密钥管理服务来注入API Key。
References
https://ai.google.dev/docs (Gemini API 官方文档)
https://github.com/google-gemini/gemini-api-cookbook (Gemini API 示例代码库)
文档版本: V1.0
发布日期: 2024-07-29