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

Безопасность

Конфигурацией промпта в Langfuse управляет каждый, кто может его редактировать. Библиотека не даёт этому превратиться в контроль над ключами, адресами и стоимостью: модели создаются в коде, а конфигурация меняет только то, что разрешает allowed_config_keys (см. раздел Модели и ключи конфигурации).

Начинайте со значения по умолчанию. При allowed_config_keys=None правка промпта может переключить цепочку между моделями, созданными в коде, и больше ничего.

Разрешайте параметры генерации, а не инфраструктуру. {"model", "temperature", "max_tokens"} — типичный набор. Значения проверяет только конструктор модели, поэтому каждый разрешённый ключ — это параметр в руках редакторов промпта: max_tokens и лимит на рассуждения определяют стоимость вызова. template_format в наборе позволяет им переключиться на jinja2, чью изоляцию LangChain считает защитой «по возможности» от недоверенных шаблонов.

Оставьте "any" для доверенных редакторов. Каждый ключ конфигурации попадает в конструктор модели, включая base_url, api_key, заголовки и model_kwargs. У провайдеров, которые пересобирают HTTP-клиент, правка промпта тогда способна отправить запросы — вместе с API-ключом в заголовке — на чужой хост.

Берегите метку. Последний рубеж защиты — сам Langfuse: выделите отдельную метку для эксплуатации и ограничьте круг лиц, которые могут её переносить. Ошибки сборки записываются в журнал вместе с текстом исключения, а он может содержать значения из конфигурации.