Skip to main content

Google Provider

Use Google’s Gemini models including Gemini 2.0 Flash and Gemini 1.5 Pro.

Environment Variables

export GOOGLE_GENERATIVE_AI_API_KEY=AIza...
# or
export GOOGLE_API_KEY=AIza...
VariableRequiredDescription
GOOGLE_GENERATIVE_AI_API_KEYYesGoogle AI Studio API key
GOOGLE_API_KEYAltAlternative env var name

Supported Modalities

ModalitySupported
Text/Chat
Embeddings
Image
Audio
Speech
Tools

Quick Start

import { Agent } from 'praisonai';

const agent = new Agent({
  name: 'Gemini',
  instructions: 'You are a helpful assistant.',
  llm: 'google/gemini-2.0-flash'
});

const response = await agent.chat('Hello!');
console.log(response);

Available Models

ModelDescriptionContext
gemini-2.0-flashLatest fast model1M
gemini-1.5-proMost capable2M
gemini-1.5-flashFast, efficient1M
gemini-1.5-flash-8bLightweight1M

Advanced Configuration

import { Agent } from 'praisonai';

const agent = new Agent({
  name: 'GeminiPro',
  instructions: 'You are an expert analyst.',
  llm: 'google/gemini-1.5-pro',
  llmConfig: {
    temperature: 0.7,
    maxTokens: 8192,
  }
});

With Tools

import { Agent } from 'praisonai';

const weatherTool = {
  name: 'get_weather',
  description: 'Get current weather',
  parameters: {
    type: 'object',
    properties: {
      location: { type: 'string', description: 'City name' }
    },
    required: ['location']
  },
  execute: async ({ location }) => {
    return `Weather in ${location}: Sunny, 72°F`;
  }
};

const agent = new Agent({
  name: 'WeatherGemini',
  instructions: 'Help with weather queries.',
  llm: 'google/gemini-2.0-flash',
  tools: [weatherTool]
});

Vision (Image Input)

import { Agent } from 'praisonai';

const agent = new Agent({
  name: 'VisionGemini',
  instructions: 'Analyze images.',
  llm: 'google/gemini-1.5-pro'
});

const response = await agent.chat({
  content: 'Describe this image',
  images: ['https://example.com/image.jpg']
});

Streaming

import { Agent } from 'praisonai';

const agent = new Agent({
  name: 'StreamGemini',
  instructions: 'You are helpful.',
  llm: 'google/gemini-2.0-flash'
});

for await (const chunk of agent.stream('Tell me a story')) {
  process.stdout.write(chunk);
}

Troubleshooting

Invalid API Key

Error: Google Generative AI API key is missing
Solution: Set the correct environment variable:
export GOOGLE_GENERATIVE_AI_API_KEY=AIza...

Rate Limits

Error: Resource exhausted
Solution: Implement retry logic or upgrade your Google AI plan.