Back to Composio

Google GenAI Provider

ts/docs/providers/google.md

0.11.12.4 KB
Original Source

Google GenAI Provider

The Google GenAI Provider allows you to integrate Google's Generative AI models (Gemini) with Composio tools.

Installation

bash
# Using npm
npm install @composio/core @composio/google @google/genai

# Using yarn
yarn add @composio/core @composio/google @google/genai

# Using pnpm
pnpm add @composio/core @composio/google @google/genai

Usage

typescript
import { Composio } from '@composio/core';
import { GoogleProvider } from '@composio/google';
import { GoogleGenAI } from '@google/genai';

// Initialize Google GenAI
const ai = new GoogleGenAI({
  apiKey: process.env.GEMINI_API_KEY,
});

// Initialize Composio with Google Provider
const composio = new Composio({
  apiKey: process.env.COMPOSIO_API_KEY,
  provider: new GoogleProvider(),
});

// Get tools
const tools = await composio.tools.get('default', 'HACKERNEWS_GET_USER');

// Define task
const task = "Fetch the details of the user 'haxzie'";

// Generate content with function calling
const response = await ai.models.generateContent({
  model: 'gemini-2.0-flash-001',
  contents: task,
  config: {
    tools: [{ functionDeclarations: tools }],
  },
});

// Handle function calls
if (response.functionCalls) {
  console.log(`Calling tool ${response.functionCalls[0].name}`);
  const result = await provider.executeToolCall(
    'default',
    {
      name: response.functionCalls[0].name,
      args: response.functionCalls[0].args
    }
  );
  console.log(JSON.parse(result).data);
}

Configuration Options

The Google GenAI provider supports various initialization options:

Gemini Developer API (API Key)

typescript
const ai = new GoogleGenAI({
  apiKey: process.env.GEMINI_API_KEY,
});

Vertex AI

typescript
const ai = new GoogleGenAI({
  vertexai: {
    project: 'your-project-id',
    location: 'us-central1',
    apiVersion: 'v1',
  },
});

Supported Models

  • gemini-2.0-flash-001 - Fast, efficient model for most use cases
  • gemini-2.0-pro-001 - Advanced model with enhanced capabilities
  • gemini-1.5-flash-001 - Legacy model for backward compatibility
  • gemini-1.5-pro-001 - Legacy model with advanced capabilities

Function Calling

The provider automatically converts Composio tools to the Google GenAI function declaration format, making it easy to use function calling with Gemini models.

Examples

See the examples/google directory for complete examples of using the Google GenAI provider with Composio.