メインコンテンツまでスキップ

プロンプトキャッシュ

MLflow は、読み込まれたプロンプトをメモリに自動的にキャッシュして、パフォーマンスを向上させ、繰り返しの API 呼び出しを減らします。キャッシュ戦略は、プロンプトにバージョン別にアクセスするか、エイリアス別にアクセスするかによって異なります。

前提条件

  • プロンプト キャッシュは、MLflow バージョン 3.8 以降でサポートされています。

デフォルトのキャッシュ動作

MLflow は差別化されたキャッシュを実装します。

  • バージョンベースのプロンプト : プロンプトのバージョンは作成後に変更できないため、無期限にキャッシュされます。たとえば、 prompts:/summarization-prompt/1
  • エイリアスベースのプロンプト : エイリアスは時間の経過とともに異なるバージョンを指す可能性があるため、デフォルトでは 60 秒間キャッシュされます。たとえば、 prompts:/summarization-prompt@production

リクエストごとのキャッシュ制御

load_prompt() cache_ttl_seconds問題を使用してキャッシュ動作をオーバーライドします。

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")
)

グローバルキャッシュ構成

環境変数を使用してシステム全体のキャッシュのデフォルトを設定します。

  • MLFLOW_ALIAS_PROMPT_CACHE_TTL_SECONDS: エイリアスベースのプロンプトのデフォルトのTTL
  • MLFLOW_VERSION_PROMPT_CACHE_TTL_SECONDS: バージョンベースのプロンプトのデフォルトのTTL

キャッシュをグローバルに無効にするには、変数を0に設定します。

キャッシュの無効化

次のようなプロンプトが変更されると、キャッシュは自動的にクリアされます。

  • タグの更新
  • エイリアスの変更
  • バージョンの削除

次のステップ