lct-hack/backend/scripts/llm_check.py
2026-09-24 01:10:49 +03:00

43 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""Проверка активного диалогового профиля через тот же клиент, что и занятие.
В локальном режиме ключ не нужен; OFFLINE=true запрещает запрос наружу.
"""
import asyncio
import sys
import time
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT))
from app.config import get_settings # noqa: E402
from app.dialog.llm import LlmClient, LlmRequest, LlmUnavailable # noqa: E402
async def check() -> int:
settings = get_settings()
control = settings.dialogue_model_mode == "russian_control"
model = settings.llm_model_control if control else settings.llm_model_caller
address = settings.llm_control_base_url if control else settings.llm_base_url
print(f"адрес: {address}\nмодель: {model}")
client = LlmClient(base_url=address, timeout=30)
started = time.monotonic()
try:
reply = await client.complete(LlmRequest(
model=model,
messages=[{"role": "user", "content": "Ответь одним словом по-русски: работает /no_think"}],
temperature=0,
max_tokens=32,
), use_cache=False)
except LlmUnavailable as exc:
print(f"модель недоступна: {exc}")
return 1
finally:
await client.aclose()
print(f"ответ за {time.monotonic() - started:.2f} с: {reply}")
return 0
if __name__ == "__main__":
raise SystemExit(asyncio.run(check()))