-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.py
More file actions
39 lines (27 loc) · 1.25 KB
/
Copy pathconfig.py
File metadata and controls
39 lines (27 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import os
import logging
from dotenv import load_dotenv
from openai import AsyncOpenAI
from agents import OpenAIChatCompletionsModel
# set_tracing_disabled(True) # Uncomment if no OPENAI_API_KEY for tracing
load_dotenv()
logging.basicConfig(level=logging.INFO, format="[%(levelname)s] %(asctime)s - %(message)s")
_api_key = os.getenv("API_KEY")
_base_url = os.getenv("BASE_URL")
if not _api_key or not _base_url:
raise ValueError("Missing API_KEY or BASE_URL environment variables in .env file.")
client: AsyncOpenAI = AsyncOpenAI(api_key=_api_key, base_url=_base_url)
def get_model(model_name: str = "gemini-3.5-flash") -> OpenAIChatCompletionsModel:
"""
Constructs and returns an OpenAIChatCompletionsModel instance using the
global AsyncOpenAI client configured for the custom OpenAI-compatible endpoint.
Args:
model_name (str): Name of the target LLM model string. Defaults to "gemini-3.5-flash".
Returns:
OpenAIChatCompletionsModel: An initialized model wrapper instance compatible with agents SDK.
Example:
>>> model = get_model("gemini-3.5-flash")
>>> isinstance(model, OpenAIChatCompletionsModel)
True
"""
return OpenAIChatCompletionsModel(model=model_name, openai_client=client)