HTTP 401
Проверьте TOKENMOST_API_KEY в процессе Python.
ChatOpenAI с base_url Токенмоста: отдельный ключ, точный ID модели, короткий invoke, проверка инструментов и расходов.
Базовый адрес — https://tokenmost.ru/v1. Создайте ключ в личном кабинете, выберите модель в каталоге и отправьте первый запрос. Методы, которые ещё не доступны, отмечены отдельно.
LangChain ChatOpenAI умеет работать с OpenAI-совместимым Chat Completions endpoint. Используйте base_url https://tokenmost.ru/v1 и отдельный ключ. Это реальный тарифицируемый запрос; сложные chains, tools и streaming проверяйте отдельно по модели.
import os
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model=os.environ["TOKENMOST_MODEL"],
api_key=os.environ["TOKENMOST_API_KEY"],
base_url="https://tokenmost.ru/v1",
timeout=20,
max_retries=0,
max_tokens=32,
)
response = llm.invoke("Ответь одним словом: работает")
print(response.content)
print(response.usage_metadata)Пример касается простого invoke. Работа агентных chains и каждой модели с tools не гарантируется; после обновления SDK проверяйте совместимость и фактический расход.
Один invoke возвращает текст, usage_metadata при наличии в ответе и одну операцию в кабинете. Перед запуском агента отдельно проверьте tool calls.
base_url заканчивается на /v1. Не передавайте параметры неподдерживаемой модели; ChatOpenAI ориентируется на контракт OpenAI и может не сохранять нестандартные поля ответа.
Chain и agent могут вызвать модель несколько раз. Тестируйте с max_retries=0 и малым бюджетом; при неизвестном исходе сверяйте историю до ручного повтора.
Проверьте TOKENMOST_API_KEY в процессе Python.
Проверьте base_url и полный model ID.
Уберите неподдерживаемые параметры и уменьшите max_tokens.
Сверьте фактическую квитанцию в кабинете и не полагайтесь только на поле SDK.
Проверьте баланс, бюджет, RPM и не запускайте цепочку повторно вслепую.