gemini-agent-sdk-setup

nadeemsangrasi's avatarfrom nadeemsangrasi

Integrate OpenAI Agent SDK with Google Gemini backend into FastAPI service using the official Google Gemini API via OpenAI compatibility layer.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 17, 2025⬇️1downloads

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.
nameGemini Agent SDK Setup
descriptionIntegrate 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

  1. Generate the Agent SDK client initialization in app/services/agent/client.py:

  2. 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
  3. 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
  4. 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
  5. 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