Понятия¶
Библиотека складывается из пяти частей. Первым трём посвящено по странице в руководстве, последние две описаны в разделе Как это работает.
Фабрика. 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. См. раздел Как это работает.