AI Vibe Craft
← Назад к AI Vibe News

Редакция 12 мая 2026 г.

Разборы

Локальный трейсинг LLM-пайплайна: opensmith как ответ на «слепую» отладку RAG

Локальный трейсинг LLM-пайплайна: opensmith как ответ на «слепую» отладку RAG.

На Dev.to Shivnath Tathe описывает кейс: за предыдущий месяц ушло $200 на токены OpenAI при отладке RAG pipeline, без ясности, какой шаг тратил бюджет и где рвётся цепочка. В итоге он собрал opensmith — по его же формулировкам local-first LLM pipeline tracer и альтернативу LangSmith, чтобы не отправлять промпты в облако ради диагностики. https://dev.to/shivnathtathe/i-built-a-local-first-alternative-to-langsmith-after-spending-200-debugging-a-pipeline-i-couldnt-mpm

Публикация датирована 12 мая 2026 года (в источнике указано время 05:23 UTC). Ниже — сжатое изложение заявленных возможностей и акцентов по тексту той же страницы: в извлечённом материале нет отдельных ссылок на PyPI или GitHub, а точная лицензия проекта в доступном фрагменте не фигурирует.

От стоимости токенов к локальной наблюдаемости

Когда цепочка retrieval → generation растёт, без полноценного трейсинга виден счёт у провайдера, но не карта вызовов — где задержка, как токены распределяются по шагам, что ушло в ошибку. По логике заметки именно этот разрыв автор связывает с нежеланием выносить содержимое промптов в облако ради инструментов вроде LangSmith и переносит наблюдаемость на машину разработчика.

Формулирует контраст так: LangSmith полезен, но путь «отладка через облачный след» для локальной работы оказался неприемлемым; opensmith в той же подаче задуман как «zero cloud» и «zero setup» — с упором на то, что данные остаются локально.

В этой же логике автор противопоставляет облачный след LangSmith и локальное хранение данных о вызовах модели — без переноса промптов наружу ради диагностики.

Установка, декоратор @trace и контур пайплайна

В тексте материала базовая установка — через экосистему Python:

pip install opensmith

Трейсинг предлагается навешивать декоратором после импорта trace из пакета. В примере из публикации фигурирует функция pipeline с шагами в духе получения документов и генерации ответа — в терминологии автора это близко к паре retrieve / generate, то есть к привычному RAG-скелету без привязки к конкретному фреймворку оркестрации.

Что попадает в трейс и зачем это для LLM-стека

По перечню на той же странице инструмент фиксирует:

  • имя функции, входы и выходы;
  • задержку (latency) в миллисекундах;
  • использование токенов по шагам и оценку стоимости;
  • ошибки со stack trace;
  • связь parent–child для вложенных вызовов.

Для практики с большими языковыми моделями это ближе к «следу инференса», чем к логам уровня приложения: видно, где именно всплеск задержки или расход токенов, а не только итоговый ответ ассистента.

Локальный интерфейс без аккаунта

Для просмотра трасс в материале предлагается команда opensmith ui: интерфейс поднимается на localhost:7823, с live WebSocket, поиском, фильтрами и графиками, аккаунт при этом не требуется. В блоке про версию v0.1.5 добавлено, что при занятом порте инструмент подбирает следующий свободный — меньше трения при локальной разработке агентов и RAG-сервисов.

Как автор сопоставляет opensmith с LangSmith

В публикации приведена сравнительная таблица; ниже — передача смысла формулировками автора, без оценки маркетинговых ярлыков:

Аспект LangSmith (как в тексте) opensmith (как в тексте)
Настройка облачный аккаунт pip install
Данные уходят в облако целиком локально
Фреймворк лучше всего с LangChain любой Python-код
Стоимость free, затем paid «free forever»

Для читателя со своим Python-стеком под LLM, который избегает облачного контура наблюдаемости, заметным отличием выглядит заявление о «любом Python» против экосистемной привязки.

Релиз v0.1.5: бюджет токенов, CLI и стартовый конфиг

В разделе про v0.1.5 автор акцентирует контроль расхода токенов: в примере фигурирует декоратор вида @trace(token_budget=1000) и иллюстративный вывод о превышении бюджета. Для фильтрации записей из командной строки приведён образец opensmith traces с аргументами в духе запроса по тегу rag, статусу ошибок и метке production.

Также описана команда opensmith init, создающая в текущей директории файл opensmith.json — явный локальный конфиг там, где не хотят SaaS ради одного JSON с настройками трейсинга.

Autopatch и интеграции с клиентами моделей и векторными хранилищами

Отдельный блок посвящён autopatch: импорт from opensmith import autopatch и вызов вроде autopatch(only=["openai", "qdrant"]). В перечне supported на той же странице названы OpenAI, Anthropic, LiteLLM, Qdrant, ChromaDB и Pinecone. Для разработчика это сигнал, что обёртка заточена под типичный набор SDK для LLM и векторного поиска, а не под одного провайдера.

Цифры «через пять дней» — пометка о раннем отклике, не метрика площадки

В конце автор приводит блок «Stats after 5 days»: «1,500+ PyPI downloads» и «16 GitHub stars», с формулировкой про органический рост — как в исходном тексте. Отдельных URL на репозиторий или страницу пакета в извлечённом материале нет; без нового источника эти числа в собственных выводах разумно трактовать как самооценку автора, а не как независимый бенчмарк.


Источники

  • Shivnath Tathe, I Built a Local-First Alternative to LangSmith After Spending $200 Debugging a Pipeline I Couldn't See (Dev.to). URL: Dev.to — дата обращения: 2026-05-12, 09:03 UTC.