Подготавливаем демо агент

Скачайте код демо-агента

git clone https://github.com/bocharovf/langfuse-workshop.git

Создайте файл с настройками .env

Создайте копию файла .env_example с именем .env в том же каталоге.

Запустите Langfuse

Перейдите в каталог langfuse-workshop и запустите Langfuse:

docker compose up -d langfuse-web langfuse-worker

При первом запуске Langfuse создает базы данных, поэтому полностью он запустится только через несколько минут. Не ждите его - переходите к следующему разделу, Langfuse пока будет запускаться в фоне.

Если команда завершилась ошибкой dependency ... is unhealthy, просто выполните ее еще раз.

Получите доступ к LLM MWS GPT Model Hub

Чтобы ИИ-агент работал, ему нужен доступ к большой языковой модели. Разворачивать LLM локально сложно и требует значительных ресурсов.

Поэтому мы будем использовать сервис LLM от MWS Cloud - GPT Model Hub. Для работы нам понадобится пополнить баланс на 500 рублей. Этого будет достаточно, так как вам будет начислено дополнительно 3 000 бонусных рублей. Если вы проходите воркшоп на конференции и получили промокод, пополнять баланс не нужно - достаточно активировать промокод.

Вы можете использовать любой сервис, который предоставляет нужные нам модели, однако здесь мы рассмотрим именно GPT Model Hub.

Регистрация и пополнение баланса

Воспользуйтесь инструкцией.

У вас должно получиться:

  1. Создать проект в https://console.mws.ru/.
  2. Создать биллинг аккаунт.
  3. Пополнить баланс на 500 рублей. Грант на 3000 будет начислен автоматически через несколько секунд после пополнения.

    Если у вас есть промокод, вместо пополнения откройте страницу вашего проекта и в блоке Баланс и потребление нажмите кнопку Активировать промокод. В открывшемся окне введите промокод и нажмите Далее.

    Активация промокода

Деплоймент необходимых моделей

Теперь нам нужно развернуть в нашем проекте 4 модели, с которыми будет работать наш агент.

Перейдите на закладку GPT Model Hub -> Деплойменты моделей.

Создайте 4 деплоймента, выбирая модель из каталога:

  • glm-5.3 - основная модель агента
  • gpt-oss-120b - дешевая модель для простых запросов
  • qwen3.6-35b-a3b - модель-судья для оценки ответов агента
  • bge-m3 - модель эмбеддингов для поиска рецептов

Имя деплоймента подставится автоматически - не меняйте его. Агент обращается к модели по ID деплоймента, в котором точки заменены на дефисы: glm-5-3, gpt-oss-120b, qwen3-6-35b-a3b, bge-m3.

Деплоймент моделей

Интерфейс подсказывает нам, как можно обратиться к модели с помощью curl, без всякого агента. Но для этого нужен ключ доступа к LLM, которого еще нет!

Созданная модель

Создание ключа доступа к LLM

Для работы с моделями нужен ключ.

Чтобы его создать, перейдите в раздел IAM -> Сервисные аккаунты.

В меню Права доступа сервисного аккаунта найдите роль gpt.inferencer и нажмите "Создать"

Создание нового сервисного аккаунта

Теперь в нашем сервисном аккаунте на закладке Ключи доступа создаём ключ с типом API-ключ.

Деплоймент моделей

После создания вам только один раз будет показан ключ доступа, начинающийся с v1.

Деплоймент моделей

Укажите в проекте адрес проекта и ключ доступа к LLM

Укажите в файле проекта .env ключ доступа к LLM, начинающийся с v1. и адрес вашего проекта в https://console.mws.ru/:

LLM_TOKEN=v1....
LLM_URL=https://gpt.mwsapis.ru/projects/ЗАМЕНИТЬ_НА_ВАШ_ПРОЕКТ/openai

Создайте проект в Langfuse

Зарегистрируйтесь в Langfuse

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

  1. Зарегистрируйтесь (sign up) на http://localhost:3000/.
  2. Создайте для себя организацию и проект в Langfuse.

Если страница не открывается, подождите еще минуту. Проверить, запустился ли Langfuse, можно командой docker compose ps langfuse-web: когда он готов к работе, в колонке STATUS появится (healthy).

Создайте ключи доступа к вашему проекту Langfuse (API Keys)

Зайдите в Settings → API Keys → Create new API Keys.

Пропишите ключи в .env файл проекта:

LANGFUSE_PUBLIC_KEY=pk-lf-...
LANGFUSE_SECRET_KEY=sk-lf-...

API Keys

Перезапустите проект

Теперь, после заполнения .env, поднимаем все остальные контейнеры агента

docker compose up -d

Эта команда заставит Docker собрать нашего агента и скачать оставшиеся сторонние образы, что займет некоторое время.

Чтобы убедиться, что все запустилось, выполните команду:

docker compose ps -a

В колонке STATUS у сервисов должен быть статус Up (у некоторых с пометкой (healthy)) или Exited (0):

Успешный запуск

У двух сервисов, rag-loader и agent-setup, статус будет Exited (0) - это нормально. Это одноразовые задачи: rag-loader загружает рецепты в базу Qdrant, а agent-setup настраивает цены моделей в Langfuse. Они выполняют свою работу и завершаются. Ошибкой будет только другой код завершения, например Exited (1), - тогда посмотрите логи сервиса командой docker compose logs имя-сервиса.

Протестируйте агента

  1. Откройте Web-интерфейс агента http://localhost:8501/
  2. Запросите рецепт котлет и его стоимость (по умолчанию поле уже заполнено)
  3. Перейдите на закладку Tracing вашего проекта в Langfuse
  4. Проверьте, что на закладке есть трейсы.

Ожидаемый результат

  1. Агент ответил на запрос рецептом
  2. В вашем проекте Langfuse на закладке Tracing видны трейсы

Tracing

Tracing