init
This commit is contained in:
33
app/openrouter_client.py
Normal file
33
app/openrouter_client.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import os
|
||||
from openai import OpenAI
|
||||
|
||||
OPENROUTER_API_KEY = os.getenv("OPENROUTER_API_KEY")
|
||||
SITE_URL = os.getenv("WEBAPP_URL", "https://llm.byte-mate.xyz")
|
||||
SITE_NAME = "Telegram LLM Chat"
|
||||
|
||||
# инициализируем клиента
|
||||
client = OpenAI(
|
||||
base_url="https://openrouter.ai/api/v1",
|
||||
api_key=OPENROUTER_API_KEY,
|
||||
)
|
||||
|
||||
async def generate_response(messages):
|
||||
"""
|
||||
messages: список сообщений [{'role': 'user'|'assistant'|'system', 'content': str}]
|
||||
"""
|
||||
try:
|
||||
completion = client.chat.completions.create(
|
||||
# дополнительные заголовки для OpenRouter (не обязательно, но полезно)
|
||||
extra_headers={
|
||||
"HTTP-Referer": SITE_URL,
|
||||
"X-Title": SITE_NAME,
|
||||
},
|
||||
model="qwen/qwen3-235b-a22b:free", # ✅ используй модель, которая точно доступна твоему API‑ключу
|
||||
messages=messages,
|
||||
)
|
||||
return completion.choices[0].message.content
|
||||
|
||||
except Exception as e:
|
||||
# Логи и возврат ошибки
|
||||
print(f"❌ Ошибка вызова OpenRouter API: {e}")
|
||||
return "Извините, LLM сейчас недоступен. Попробуйте позже."
|
||||
Reference in New Issue
Block a user