LordXido's picture
Create llm_router.py
11b34d6 verified
import time
from llm_drivers import GroqDriver, OpenAIDriver, HuggingFaceDriver
Ω_MEMORY = []
class AllProvidersFailed(Exception):
pass
class LLMRouter:
def __init__(self):
self.drivers = [
GroqDriver(),
OpenAIDriver(),
HuggingFaceDriver()
]
def generate_code(self, task):
last_error = None
for driver in self.drivers:
try:
code = driver.generate_code(task)
self._log_success(driver)
return code
except Exception as e:
self._log_failure(driver, e)
last_error = e
continue
raise AllProvidersFailed(str(last_error))
def _log_failure(self, driver, error):
Ω_MEMORY.append({
"provider": driver.name,
"status": "failure",
"error": str(error),
"timestamp": time.time()
})
def _log_success(self, driver):
Ω_MEMORY.append({
"provider": driver.name,
"status": "success",
"timestamp": time.time()
})