Spaces:
No application file
No application file
| # LLM client initialization moved from _agents.py | |
| import os | |
| from browser_use import ChatGoogle, ChatOpenAI as ChatOpenAIBrowserUse | |
| from agents import OpenAIChatCompletionsModel, AsyncOpenAI | |
| from dotenv import load_dotenv, find_dotenv | |
| import os | |
| _: bool = load_dotenv(find_dotenv()) | |
| # deepseek_api_key = os.getenv("DEEPSEEK_API_KEY") | |
| google_api_key = os.getenv("GOOGLE_API_KEY") | |
| # grok_api_key = os.getenv("GROK_API_KEY") | |
| openrouter_api_key = os.getenv("OPENROUTER_API_KEY") | |
| openai_api_key = os.getenv("OPENAI_API_KEY") | |
| DEEPSEEK_BASE_URL = "https://api.deepseek.com/v1" | |
| GROK_BASE_URL = "https://api.x.ai/v1" | |
| GEMINI_BASE_URL = "https://generativelanguage.googleapis.com/v1beta/openai/" | |
| OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1" | |
| # QWEN_BASE_URL = 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1' | |
| openrouter_client = AsyncOpenAI(base_url=OPENROUTER_BASE_URL, api_key=openrouter_api_key) | |
| # deepseek_client = AsyncOpenAI(base_url=DEEPSEEK_BASE_URL, api_key=deepseek_api_key) | |
| # grok_client = AsyncOpenAI(base_url=GROK_BASE_URL, api_key=grok_api_key) | |
| # gemini_client = AsyncOpenAI(base_url=GEMINI_BASE_URL, api_key=google_api_key) | |
| openai_client = AsyncOpenAI(api_key=openai_api_key) | |
| # llm = ChatOpenAI(model='qwen-vl-max', api_key=api_key, base_url=base_url) | |
| def get_model(model_name: str) -> ChatGoogle | ChatOpenAIBrowserUse | OpenAIChatCompletionsModel | str: | |
| if model_name.startswith("openrouter:"): | |
| # Use the text after ':' as the model name | |
| actual_model = model_name.split(":", 1)[1] | |
| return OpenAIChatCompletionsModel(model=actual_model, openai_client=openrouter_client) | |
| if model_name == "llm_browser_google": | |
| return ChatGoogle(model="gemini-flash-latest", api_key=os.getenv("google_api_key")) | |
| elif model_name.startswith("browser_agent_openrouter:"): | |
| actual_model = model_name.split(":", 1)[1] | |
| return ChatOpenAIBrowserUse( | |
| model=actual_model, | |
| base_url=OPENROUTER_BASE_URL, | |
| api_key=openrouter_api_key, | |
| ) | |
| if "/" in model_name: | |
| return OpenAIChatCompletionsModel(model=model_name, openai_client=openrouter_client) | |
| # elif "deepseek" in model_name: | |
| # return OpenAIChatCompletionsModel(model=model_name, openai_client=deepseek_client) | |
| # elif "grok" in model_name: | |
| # return OpenAIChatCompletionsModel(model=model_name, openai_client=grok_client) | |
| elif "gpt" in model_name: | |
| return OpenAIChatCompletionsModel(model=model_name, openai_client=openai_client) | |
| else: | |
| return model_name | |