ErdemTheFixer commited on
Commit
6495d7b
·
verified ·
1 Parent(s): 4b5bb72

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -4
app.py CHANGED
@@ -81,17 +81,47 @@ class WikipediaTool(Tool):
81
  class BasicAgent:
82
  def __init__(self):
83
  print("BasicAgent initialized.")
84
- # Initialize the model (requires OPENAI_API_KEY env)
85
- model_id = os.getenv("OPENAI_MODEL", "gpt-4o")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  model = OpenAIServerModel(model_id=model_id)
87
 
88
- # Initialize tools
89
  search_tool = DuckDuckGoSearchTool()
90
  wiki_top_k = int(os.getenv("WIKI_TOP_K", "3"))
91
  wiki_lang = os.getenv("WIKI_LANG", "en")
92
  wikipedia_tool = WikipediaTool(top_k=wiki_top_k, language=wiki_lang)
93
 
94
- # Initialize Agent
95
  self.agent = CodeAgent(
96
  model=model,
97
  tools=[search_tool, wikipedia_tool]
 
81
  class BasicAgent:
82
  def __init__(self):
83
  print("BasicAgent initialized.")
84
+
85
+ # Prefer OpenRouter, then Together, else fallback to OpenAI (if key exists)
86
+ openrouter_key = os.getenv("OPENROUTER_API_KEY")
87
+ together_key = os.getenv("TOGETHER_API_KEY")
88
+ openai_key = os.getenv("OPENAI_API_KEY")
89
+
90
+ if openrouter_key:
91
+ # Configure OpenAIServerModel to use OpenRouter
92
+ os.environ["OPENAI_API_KEY"] = openrouter_key
93
+ os.environ["OPENAI_API_BASE"] = "https://openrouter.ai/api/v1"
94
+ os.environ["OPENAI_BASE_URL"] = "https://openrouter.ai/api/v1"
95
+ model_id = os.getenv("OPENROUTER_MODEL", "meta-llama/llama-3.1-8b-instruct:free")
96
+ provider = "openrouter"
97
+ elif together_key:
98
+ # Configure OpenAIServerModel to use Together.ai
99
+ os.environ["OPENAI_API_KEY"] = together_key
100
+ os.environ["OPENAI_API_BASE"] = "https://api.together.xyz/v1"
101
+ os.environ["OPENAI_BASE_URL"] = "https://api.together.xyz/v1"
102
+ model_id = os.getenv("TOGETHER_MODEL", "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo")
103
+ provider = "together"
104
+ elif openai_key:
105
+ # Fallback to OpenAI if still available
106
+ os.environ.setdefault("OPENAI_API_BASE", "https://api.openai.com/v1")
107
+ os.environ.setdefault("OPENAI_BASE_URL", "https://api.openai.com/v1")
108
+ model_id = os.getenv("OPENAI_MODEL", "gpt-4o-mini")
109
+ provider = "openai"
110
+ else:
111
+ raise ValueError("No API key found. Set one of: OPENROUTER_API_KEY, TOGETHER_API_KEY, or OPENAI_API_KEY.")
112
+
113
+ print(f"Using provider={provider}, model_id={model_id}")
114
+
115
+ # Initialize the model routed via OpenAI-compatible server
116
  model = OpenAIServerModel(model_id=model_id)
117
 
118
+ # Tools
119
  search_tool = DuckDuckGoSearchTool()
120
  wiki_top_k = int(os.getenv("WIKI_TOP_K", "3"))
121
  wiki_lang = os.getenv("WIKI_LANG", "en")
122
  wikipedia_tool = WikipediaTool(top_k=wiki_top_k, language=wiki_lang)
123
 
124
+ # Agent
125
  self.agent = CodeAgent(
126
  model=model,
127
  tools=[search_tool, wikipedia_tool]