gemini-agent-sdk-setup
Integrate OpenAI Agent SDK with Google Gemini backend into FastAPI service using the official Google Gemini API via OpenAI compatibility layer.
When & Why to Use This Skill
This Claude skill streamlines the integration of the OpenAI Agent SDK with Google Gemini backends into FastAPI services. By leveraging the OpenAI compatibility layer, it automates the generation of boilerplate code for client initialization, tool registration, and model configuration. It ensures a standardized, production-ready architecture for building agentic applications that require high-performance reasoning and seamless tool execution using Google's Gemini models.
Use Cases
- Scenario 1: Rapidly bootstrapping a FastAPI-based AI agent that utilizes Gemini 1.5 or 2.0 Flash for low-latency tool calling and complex task orchestration.
- Scenario 2: Migrating existing agent workflows from OpenAI to Google Gemini without rewriting core SDK logic, thanks to the OpenAI compatibility layer integration.
- Scenario 3: Implementing a structured tool registration system that allows LLM agents to securely interact with external APIs and internal microservices.
- Scenario 4: Establishing a robust agent infrastructure with built-in error handling, retry logic, and deterministic output formatting for enterprise-grade AI applications.
| name | Gemini Agent SDK Setup |
|---|---|
| description | Integrate OpenAI Agent SDK with Google Gemini backend into FastAPI service using the official Google Gemini API via OpenAI compatibility layer. |
Gemini Agent SDK Setup
Instructions
Generate the Agent SDK client initialization in app/services/agent/client.py:
- Import OpenAI from openai package
- Configure client with GEMINI_API_KEY
- Set base_url to Google's Gemini OpenAI compatibility endpoint: "https://generativelanguage.googleapis.com/v1beta/openai/"
- Ensure proper error handling and retry logic
Create agent configuration in app/services/agent/config.py:
- Define model name constants (gemini-1.5-flash, gemini-2.5-flash)
- Set up default parameters for agent calls
- Include proper timeout and retry configurations
Implement tool registration system in app/services/tools/registry.py:
- Create function to register tools with the agent
- Define tool schemas following OpenAI Agent SDK specification
- Include validation for tool inputs and outputs
Create utility functions for calling Gemini models in app/services/agent/utils.py:
- Wrapper function for agent completion calls
- Error handling and logging utilities
- Response parsing and validation
Follow Context7 MCP conventions:
- Only use Gemini models (no OpenAI inference)
- Follow deterministic output formatting
- Include proper error handling and logging
Examples
Input: "Setup Gemini Agent SDK integration" Output: Creates client.py with:
from openai import OpenAI
import os
client = OpenAI(
api_key=os.getenv("GEMINI_API_KEY"),
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
def call_gemini_agent(messages, tools=None, model="gemini-1.5-flash"):
"""Call the Gemini agent with provided messages and tools."""
try:
response = client.chat.completions.create(
model=model,
messages=messages,
tools=tools,
temperature=0.1
)
return response
except Exception as e:
# Handle errors appropriately
raise e