Files
DevGen/devgen/providers/openrouter.py
T
sankalp f70b5208ec refactor(devgen/providers): shared provider base class
Abstract out generate validation and error handling into BaseProvider, eliminating duplicated logic across Anthropic, OpenRouter, and OpenAI providers.
2026-06-06 17:10:30 +05:45

26 lines
839 B
Python

from openai import OpenAI
from devgen.providers.base import BaseProvider
class OpenrouterProvider(BaseProvider):
"""Generates content using OpenRouter (OpenAI-compatible API)."""
DISPLAY_NAME = "OpenRouter"
BASE_URL = "https://openrouter.ai/api/v1"
DEFAULT_MODEL = "openai/gpt-3.5-turbo"
def _generate(self, prompt, api_key, model, **kwargs):
kwargs.pop("debug", None)
client = OpenAI(base_url=self.BASE_URL, api_key=api_key)
response = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
extra_headers={
"HTTP-Referer": "https://github.com/S4NKALP/devgen",
"X-Title": "devgen CLI",
},
**kwargs,
)
return response.choices[0].message.content