Безопасность¶
Конфигурацией промпта в 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: выделите отдельную метку для эксплуатации и ограничьте круг лиц, которые могут её переносить. Ошибки сборки записываются в журнал вместе с текстом исключения, а он может содержать значения из конфигурации.