LangChain
Подключение Hubris к LangChain через официальный пакет langchain-hubris — streaming, tool calling и structured output работают без дополнительной настройки.
LangChain — фреймворк для построения приложений на LLM: агенты, RAG, цепочки вызовов, на Python и TypeScript. Hubris подключается официальным пакетом langchain-hubris — он наследует всю функциональность ChatOpenAI (streaming, tool calling, structured output), поэтому работает как любая другая модель LangChain без специальной настройки.
Требования
Установка
pip install -U langchain-hubrisКлюч можно передать явно или через переменную окружения:
export HUBRIS_API_KEY="sk-gw-ваш-ключ"Подключение
from langchain_hubris import ChatHubris
llm = ChatHubris(model="anthropic/claude-sonnet-5")
llm.invoke("Write a haiku about the sea.")ID модели — из каталога, полностью, с вендором перед косой чертой: алиасов без вендора Hubris не резолвит, claude-sonnet-5 без префикса ответит «модель не найдена».
Рекомендуемые модели
| ID | Когда подходит |
|---|---|
anthropic/claude-sonnet-5 | универсальный выбор для агентов и сложных reasoning-задач |
anthropic/claude-haiku-4.5 | быстрые ответы, классификация, дешёвые цепочки |
google/gemini-3.7-flash | мультимодальные приложения, длинный контекст |
Streaming
Работает через стандартный интерфейс LangChain:
for chunk in llm.stream("Count to five."):
print(chunk.content, end="", flush=True)Tool calling
from pydantic import BaseModel
class GetWeather(BaseModel):
"""Get the current weather for a location."""
location: str
llm_with_tools = llm.bind_tools([GetWeather])
llm_with_tools.invoke("What's the weather in Moscow?")Structured output
from pydantic import BaseModel
class Person(BaseModel):
name: str
age: int
structured_llm = llm.with_structured_output(Person)
structured_llm.invoke("Extract: John is 30 years old.")Решение проблем
ValueError: If using the default api base, HUBRIS_API_KEY must be set
Ключ не передан ни явно (ChatHubris(api_key=...)), ни через переменную окружения HUBRIS_API_KEY. Проверьте, что ключ начинается с sk-gw- и без пробелов.
AuthenticationError / 401
Ключ отозван или скопирован с ошибкой. Выпустите новый в разделе «Ключи» — полный ключ виден только при создании.
Модель не найдена
ID должен совпадать с каталогом символ в символ, включая вендора перед косой чертой. Модели с датой в конце (...-20260616) и короткие имена без вендора мы не принимаем.
Что дальше
- Исходный код пакета на GitHub
- Каталог моделей — ID для подключения
- Управление ключами — отдельный ключ под LangChain-приложение
- Расходы — детализация по запросам
- Structured output — как устроен стабильный JSON-вывод в Hubris
Обновлено: