Обёртка над ai.reg.cloud. Протокол совместим с OpenAI, но у платформы свои особенности: ключ бывает открыт не ко всем моделям, отказ приходит отдельным кодом, картинки и речь доступны не всем. Что внутри: - синхронный и асинхронный клиенты - каскад моделей на случай, если часть закрыта или занята - ремонт оборванного json из ответов - чистка типографики и отлов иероглифов в русском тексте Claude-Session: https://claude.ai/code/session_01Loz5stgQZH6ofBdMqTxiJu
20 строки
879 B
Python
20 строки
879 B
Python
"""Каскад моделей асинхронно. Идём сверху вниз, пока кто-нибудь не ответит."""
|
|
import asyncio
|
|
from regcloud_ai import AsyncRegCloudAI
|
|
from regcloud_ai.client import normalize, foreign_chars
|
|
|
|
CASCADE = ["claude-5-sonnet", "gpt-5.5", "qwen3.7-max", "glm-5.2"]
|
|
|
|
async def main():
|
|
async with AsyncRegCloudAI() as ai:
|
|
answer = await ai.cascade(
|
|
"Напиши два живых предложения про нейросети. Без канцелярита и без двоеточий.",
|
|
models=CASCADE, max_tokens=300)
|
|
text = normalize(answer.text)
|
|
print(f"[{answer.model}, {answer.seconds}с] {text}")
|
|
bad = foreign_chars(text)
|
|
if bad:
|
|
print("внимание, чужие символы в тексте:", " ".join(bad))
|
|
|
|
asyncio.run(main())
|