Pular para o conteúdo principal

cache imediato

O MLflow armazena automaticamente em cache os prompts carregados na memória para melhorar o desempenho e reduzir chamadas repetidas à API. A estratégia de armazenamento em cache varia dependendo se você acessa os prompts por versão ou por alias.

Pré-requisitos

  • O armazenamento em cache de prompts é compatível com MLflow versão 3.8 e superiores.

comportamento de cache padrão

O MLflow implementa um sistema de cache diferenciado:

  • Solicitações baseadas em versão : armazenadas em cache indefinidamente, pois as versões das solicitações são imutáveis após a criação. Por exemplo, prompts:/summarization-prompt/1.
  • Solicitações baseadas em aliases : armazenadas em cache por 60 segundos por default , pois os aliases podem apontar para versões diferentes ao longo do tempo. Por exemplo, prompts:/summarization-prompt@production.

Controle de cache por solicitação

Substitua o comportamento de cache usando o parâmetro cache_ttl_seconds em load_prompt():

Python
import mlflow

# Custom TTL: cache for 5 minutes
prompt = mlflow.genai.load_prompt(
"prompts:/summarization-prompt/1",
cache_ttl_seconds=300
)

# Bypass cache: always fetch fresh data
prompt = mlflow.genai.load_prompt(
"prompts:/summarization-prompt@production",
cache_ttl_seconds=0
)

# Infinite caching for alias-based prompts
prompt = mlflow.genai.load_prompt(
"prompts:/summarization-prompt@production",
cache_ttl_seconds=float("inf")
)

Configuração global do cache

Defina o padrão de cache para todo o sistema usando variável de ambiente:

  • MLFLOW_ALIAS_PROMPT_CACHE_TTL_SECONDS: TTL padrão para prompts baseados em aliases
  • MLFLOW_VERSION_PROMPT_CACHE_TTL_SECONDS: TTL padrão para prompts baseados em versão

Para desativar o cache globalmente, defina a variável como 0.

Invalidação de cache

O cache é limpo automaticamente quando um prompt é modificado, incluindo:

  • atualizações de tags
  • Alterações de alias
  • Exclusões de versão

Próximos passos