2.4 KiB
2.4 KiB
Google GenAI Provider
The Google GenAI Provider allows you to integrate Google's Generative AI models (Gemini) with Composio tools.
Installation
# 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
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)
const ai = new GoogleGenAI({
apiKey: process.env.GEMINI_API_KEY,
});
Vertex AI
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 casesgemini-2.0-pro-001- Advanced model with enhanced capabilitiesgemini-1.5-flash-001- Legacy model for backward compatibilitygemini-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.