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 aliasesMLFLOW_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