Перейти к содержанию

Понятия

Библиотека складывается из пяти частей. Первым трём посвящено по странице в руководстве, последние две описаны в разделе Как это работает.

Фабрика. LangfuseChainFactory хранит то, что общее для всех цепочек: клиент Langfuse, чат-модели, созданные в коде, белый список ключей конфигурации и значения по умолчанию для метки промпта и формата шаблона. Создайте одну при запуске и держите её.

Модели. Обычные чат-модели LangChain — ChatOpenAI(...), ChatAnthropic(...) или любые другие, — созданные в коде со своими ключами, адресами и HTTP-клиентами и переданные фабрике под именами. Конфигурация промпта обращается к модели по имени и может переопределить часть её полей. См. раздел Модели и ключи конфигурации.

Конфигурация промпта. JSON-конфигурация версии промпта в Langfuse. Два ключа выбирают: provider — модель по имени, template_format — движок рендера. Любой другой ключ переопределяет поле выбранной модели и доходит до неё, только если это разрешает allowed_config_keys. Хуки видят всю конфигурацию, разрешённую или нет. См. разделы Модели и ключи конфигурации и Безопасность.

Цепочка. factory.create(name) возвращает LangfusePromptRunnable — обычный Runnable LangChain, на вход которому подаётся словарь переменных промпта, а на выходе получается сообщение модели. Внутри — template | model, собранная по текущей версии промпта и пересобираемая при её смене. with_model, with_structured_output и bind_tools настраивают модель при каждой пересборке. См. раздел Настройка модели.

Менеджер промпта. Внутренний объект, по одному на цепочку, получает промпт через кеш SDK, сравнивает его с тем, из которого собрана цепочка, и пересобирает её под блокировкой. Он сохраняет последнюю рабочую цепочку при неисправных версиях и недоступности Langfuse. См. раздел Как это работает.