code / config /chabot_config.py
MuhammadSaad16's picture
Add application file
356e05f
import os
from dotenv import load_dotenv
from agents import AsyncOpenAI, OpenAIChatCompletionsModel, set_tracing_disabled
set_tracing_disabled(True)
load_dotenv()
# Get Gemini API key from environment variables
gemini_api_key = os.getenv("GEMINI_API_KEY")
# Remove quotes if present (sometimes .env files have quotes)
if gemini_api_key:
gemini_api_key = gemini_api_key.strip().strip('"').strip("'")
# Check if Gemini API key is set
if not gemini_api_key:
raise ValueError(
"GEMINI_API_KEY is not set. Please add it to your .env file: GEMINI_API_KEY=your_key_here"
)
# Validate API key format (Gemini keys typically start with AIza)
if not gemini_api_key.startswith("AIza"):
print(f"Warning: GEMINI_API_KEY format may be incorrect. Keys usually start with 'AIza'. Got: {gemini_api_key[:10]}...")
# Configure Gemini using AsyncOpenAI with Gemini's OpenAI-compatible endpoint
client_provider = AsyncOpenAI(
api_key=gemini_api_key,
base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)
# Use Gemini model - gemini-1.5-pro or gemini-1.5-flash are good options
# gemini-1.5-flash is faster, gemini-1.5-pro is more capable
model = OpenAIChatCompletionsModel(
model="gemini-1.5-flash", # Using Gemini 1.5 Flash for fast responses
openai_client=client_provider
)
print("Setup complete! Model ready with Google Gemini 1.5 Flash")
print(f"API Key status: {'Loaded' if gemini_api_key else 'Missing'} (length: {len(gemini_api_key) if gemini_api_key else 0})")