| from crewai import LLM |
| import os |
| from dotenv import load_dotenv |
| from pathlib import Path |
| from langchain_openai import ChatOpenAI |
| from langchain_openrouter import ChatOpenRouter |
|
|
| env_path = Path(__file__).resolve().parents[1] / ".env" |
| |
| load_dotenv(dotenv_path=env_path) |
|
|
| |
| gemini_key = os.getenv("GEMINI_API_KEY") |
| tavily_key = os.getenv("TAVILY_API_KEY") |
| openrouter_key = os.getenv("OPENROUTER_API_KEY") |
| os.environ["ANTHROPIC_API_KEY"] = openrouter_key |
| |
| |
| |
| |
| |
| |
| def llm(): |
| return LLM( |
| model="openrouter/openai/gpt-oss-20b:free", |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| ) |
| def llm_oss(): |
| return LLM( |
| model="openrouter/openai/gpt-oss-20b:free", |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| ) |
| def llm_oss_120b(): |
| return LLM( |
| model="openai/gpt-oss-120b:nitro", |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| ) |
|
|
|
|
| def llm_g(): |
| return LLM( |
| model="openrouter/google/gemini-2.5-flash", |
| temperature=0, |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| ) |
|
|
| def llm_5m(): |
| return LLM( |
| model="openrouter/openai/gpt-5-mini", |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| ) |
|
|
|
|
| def llm_4m(): |
| return LLM( |
| model="openrouter/openai/gpt-4.1-mini", |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| ) |
|
|
|
|
|
|
|
|
|
|
| |
| |
| |
| |
|
|
|
|
| |
| |
| |
| |
|
|
|
|
| |
| |
| |
| |
|
|
| def llm_open_4m(): |
| return LLM( |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| model="openrouter/openai/gpt-4.1-mini", |
| ) |
|
|
| def llm_5n(): |
| return LLM( |
| model="openrouter/openai/gpt-5-nano", |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| ) |
|
|
| def llm_open_c3(): |
| return LLM( |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| model="openrouter/anthropic/claude-3-haiku", |
| |
| ) |
|
|
| def llm_open_c35(): |
| return LLM( |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| model="openrouter/anthropic/claude-3.5-haiku", |
| |
| ) |
| def llm_open_nova(): |
| return LLM( |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| model="openrouter/amazon/nova-2-lite-v1", |
| |
| |
| ) |
|
|
| def llm_open_hermes(): |
| return LLM( |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| model="openrouter/nousresearch/hermes-3-llama-3.1-405b:free", |
| |
| ) |
|
|
| def llm_open_grok(): |
| return LLM( |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| model="openrouter/x-ai/grok-4.3", |
| max_tokens=15000, |
| |
| ) |
|
|
| def llm_open_g25pro(): |
| return LLM( |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| model="openrouter/google/gemini-2.5-pro", |
| |
| max_output_tokens=40000, |
| ) |
|
|
| |
| def model(): |
| return ChatOpenAI( |
| model="google/gemini-2.5-flash", |
| temperature=0, |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| ) |
|
|
| def llm_qwen(): |
| return LLM( |
| api_key=openrouter_key, |
| base_url="https://openrouter.ai/api/v1", |
| model="openrouter/qwen/qwen3.6-plus:free", |
| |
| ) |
|
|
| def model_open_router(): |
| return ChatOpenRouter( |
| model="x-ai/grok-4.1-fast", |
| api_key=openrouter_key, |
| temperature=0.2, |
| max_retries=2, |
| ) |
|
|
| |
| |
| |
|
|