Skip to content

Google Gemini

Google Gemini is Google's multimodal AI model family, providing powerful text generation and understanding capabilities.

Supported Models

Gemini Pro Series

  • gemini-pro - General-purpose text model
  • gemini-pro-vision - Multimodal model (supports images and text)

Gemini 1.5 Series

  • gemini-1.5-pro - High-performance model
  • gemini-1.5-flash - Fast response model

Gemini 1.0 Series

  • gemini-1.0-pro - Original Gemini model

Configuration

Basic Configuration

Configure in config.yaml or ~/.bytebuddy/config.yaml:

yaml
models:
  - name: "gemini-pro"
    provider: "google"
    model: "gemini-pro"
    apiKey: "${GOOGLE_API_KEY}"
    roles: ["chat"]
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 8192

Multimodal Configuration

yaml
models:
  - name: "gemini-vision"
    provider: "google"
    model: "gemini-pro-vision"
    apiKey: "${GOOGLE_API_KEY}"
    roles: ["chat"]
    capabilities: ["image_input"]

Multi-Model Configuration

yaml
models:
  - name: "gemini-1.5-pro"
    provider: "google"
    model: "gemini-1.5-pro"
    apiKey: "${GOOGLE_API_KEY}"
    roles: ["chat", "edit"]
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 8192

  - name: "gemini-1.5-flash"
    provider: "google"
    model: "gemini-1.5-flash"
    apiKey: "${GOOGLE_API_KEY}"
    roles: ["chat", "autocomplete"]
    defaultCompletionOptions:
      temperature: 0.5
      maxTokens: 4096

Configuration Fields

Required Fields

  • name: Unique identifier for the model configuration
  • provider: Set to "google" or "gemini"
  • model: Model name
  • apiKey: Google AI API key

Optional Fields

  • roles: Model roles [chat, edit, apply, autocomplete]
  • capabilities: Model capabilities [image_input]
  • defaultCompletionOptions:
    • temperature: Control randomness (0-2)
    • topP: Nucleus sampling parameter (0-1)
    • topK: Sampling candidates count (1-100)
    • maxTokens: Maximum output tokens
    • candidateCount: Number of candidates to generate (1-8)

Environment Variables

bash
# ~/.bashrc or ~/.zshrc
export GOOGLE_API_KEY="your-google-api-key"
# or
export GEMINI_API_KEY="your-gemini-api-key"

Getting API Key

  1. Visit Google AI Studio
  2. Click "Create API Key"
  3. Select or create a Google Cloud project
  4. Copy the generated API key
  5. Save the key to environment variable

Use Case Configurations

Text Generation

yaml
models:
  - name: "text-gen"
    provider: "google"
    model: "gemini-1.5-pro"
    apiKey: "${GOOGLE_API_KEY}"
    roles: ["chat"]
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 8192

Code Generation

yaml
models:
  - name: "code-gen"
    provider: "google"
    model: "gemini-1.5-pro"
    apiKey: "${GOOGLE_API_KEY}"
    roles: ["chat", "edit"]
    defaultCompletionOptions:
      temperature: 0.3
      maxTokens: 4000

Quick Response

yaml
models:
  - name: "quick-response"
    provider: "google"
    model: "gemini-1.5-flash"
    apiKey: "${GOOGLE_API_KEY}"
    roles: ["chat", "autocomplete"]
    defaultCompletionOptions:
      temperature: 0.5
      maxTokens: 2000

Image Understanding

yaml
models:
  - name: "vision"
    provider: "google"
    model: "gemini-pro-vision"
    apiKey: "${GOOGLE_API_KEY}"
    roles: ["chat"]
    capabilities: ["image_input"]

Troubleshooting

Common Errors

  1. API_KEY_INVALID: Check if API key is correct
  2. QUOTA_EXCEEDED: Quota limit reached, wait or upgrade quota
  3. MODEL_NOT_FOUND: Check if model name is correct
  4. SAFETY_ERROR: Input blocked by safety filters
  5. RATE_LIMIT_EXCEEDED: Rate limit reached

Debugging Steps

  1. Verify API key format and validity
  2. Check request format and parameters
  3. Monitor quota usage
  4. View error logs
  5. Confirm model availability

Rate Limits

Free Tier

  • 15 requests per minute
  • 1500 requests per day
  • Input tokens: Depends on model
  • Output tokens: Up to 8192
  • 60 requests per minute
  • 15000 requests per day
  • Higher concurrency limits

Best Practices

1. Security

  • Use environment variables to store API keys
  • Avoid hardcoding keys in code
  • Rotate API keys regularly
  • Monitor unusual usage

2. Performance Optimization

  • Choose appropriate model for the task
  • Use Flash model for faster responses
  • Set reasonable maxTokens limits
  • Implement request caching

3. Cost Control

  • Monitor API usage
  • Use free quota for development and testing
  • Use Flash model for simple tasks
  • Set quota alerts

4. Content Safety

  • Gemini has built-in safety filtering
  • Handle filtered responses
  • Implement appropriate content moderation

Multilingual Support

Gemini supports multiple languages:

  • Chinese (Simplified/Traditional)
  • English
  • Japanese
  • Korean
  • French
  • German
  • Spanish
  • Many more...

No special configuration needed for multilingual input.

Model Comparison

FeatureGemini 1.5 ProGemini 1.5 FlashGemini Pro Vision
Text GenerationExcellentGoodGood
Response SpeedMediumFastMedium
Context LengthLongMediumMedium
Image Understanding
CostMediumLowMedium