hubris

smolagents

Подключение Hubris к smolagents — компактному фреймворку агентов от HuggingFace. Агент пишет код или зовёт инструменты, модель берётся из каталога.

smolagents — компактный фреймворк агентов от HuggingFace. Главная идея — агент, который решает задачу тем, что пишет и выполняет код на Python, а не перебирает заранее описанные инструменты; есть и обычный режим с вызовом инструментов.

Hubris подключается классом OpenAIModel — отдельного пакета не нужно.

Требования

Подключение

import os

from smolagents import OpenAIModel

model = OpenAIModel(
    model_id="openai/gpt-5.6-luna",
    api_base="https://api.hubris.pw/v1",
    api_key=os.environ["HUBRIS_API_KEY"],
)

Адрес — именно api.hubris.pw, с api. в начале и /v1 в конце. Домен hubris.pw — это сайт и личный кабинет: запросы к API он не обслуживает.

ID модели передаётся в model_id полностью, вместе с вендором: openai/gpt-5.6-luna, anthropic/claude-sonnet-5.

Агент с инструментом

from smolagents import OpenAIModel, ToolCallingAgent, tool


@tool
def add(a: int, b: int) -> int:
    """Складывает два целых числа.

    Args:
        a: первое число
        b: второе число
    """
    return a + b


agent = ToolCallingAgent(tools=[add], model=model)
print(agent.run("Сколько будет 17 плюс 25? Используй инструмент."))

Агент сходит к модели, выберет инструмент, выполнит его и вернёт ответ. Модель должна поддерживать вызов инструментов — смотрите tools в supported_parameters карточки модели в каталоге.

Декоратор @tool читает исходный код функции, поэтому такой скрипт нужно запускать файлом. Если подать его в python через стандартный ввод, smolagents упадёт с OSError: could not get source code.

Агент, пишущий код

from smolagents import CodeAgent, OpenAIModel

agent = CodeAgent(tools=[], model=model, additional_authorized_imports=["math"])
print(agent.run("Посчитай площадь круга радиусом 3.7 и округли до сотых"))

CodeAgent пишет и выполняет код на вашей машине. Не запускайте его на недоверенных задачах без песочницы и держите additional_authorized_imports коротким.

Расходы

Агент делает несколько обращений к модели на одну задачу: шаг рассуждения, вызов инструмента, разбор результата — и каждый раз отправляет накопленную историю. Счёт растёт быстрее, чем в обычном чате.

  • Заведите под проект отдельный ключ с дневным лимитом — зациклившийся агент не съест весь баланс.
  • Разбор по запросам — в расходах.

Выбор моделей

IDКогда подходит
google/gemini-3.7-flashдешёвые шаги, простые инструменты
openai/gpt-5.6-lunaуниверсальный выбор для агентов
anthropic/claude-sonnet-5сложные многошаговые задачи, длинный контекст
deepseek/deepseek-v4-proнедорогое рассуждение и код

Каталог у нас открыт без ключа — список можно посмотреть прямо в браузере: api.hubris.pw/v1/models.

Раздел в документации smolagents

Мы отправили в smolagents раздел про Hubris на страницу про выбор моделей — pull request на ревью. На работу подключения это не влияет: OpenAIModel дотягивается до нас и без него, отдельного класса модели не требуется.

Решение проблем

Ошибка авторизации

Ключ неверный или отозван. Он начинается на sk-gw-, без пробелов по краям. Новый — в разделе «Ключи».

Ошибка про модель

ID должен совпадать с каталожным символ в символ, вместе с вендором перед косой чертой. Короткие имена без вендора и имена с датой на конце мы не принимаем.

OSError: could not get source code

Скрипт с декоратором @tool запущен не файлом, а через стандартный ввод. Сохраните его в .py и запустите обычным способом.

Агент не вызывает инструменты

Модель без поддержки tools. Проверьте карточку модели в каталоге.

Ошибка про недостаточный баланс

Пополните баланс в кабинете — от 300 ₽, через СБП, банковской картой или по счёту для юридических лиц.

Проверено на smolagents 1.26.0, 9 сентября 2026.

Что дальше

Обновлено: