This commit is contained in:
2025-09-14 17:15:48 +00:00
commit 4dee2bb54c
40 changed files with 739 additions and 0 deletions

33
app/openrouter_client.py Normal file
View 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 сейчас недоступен. Попробуйте позже."