以下の内容はhttps://nikkie-ftnext.hatenablog.com/entry/dspy-gepa-aime-tutorial-enable-mlflow-autologgingより取得しました。


DSPy を使う際に MLflow の自動ロギングも有効にする

はじめに

七尾百合子さん、お誕生日 230日目 おめでとうございます! nikkieです。

DSPy + GEPA のチュートリアルに取り組んでいるのですが、その途中の寄り道です

目次

DSPy + GEPA のチュートリアルの冒頭でお勧めされていました。

dspy.ai

コードは以下を設定するだけです。

import mlflow

mlflow.set_tracking_uri("http://0.0.0.0:5000")
mlflow.set_experiment("Default")  # MLflow を起動したらできていた experiment をそのまま使います

mlflow.dspy.autolog(
    log_compiles=True,
    log_evals=True,
    log_traces=True,
)

MLflow も起動します。

$ uvx --python 3.13 mlflow ui --port 5000 --backend-store-uri sqlite:///mlruns.db
  • uv (0.9.0) が Python 3.14 を使う時、mlflow 3.5.1 が依存する pyarrow がインストールできなかった(ビルドエラー。macOS 環境)ので、深追いせずに 3.13 にしました
  • mlflow.set_tracking_uri() ですが、ドキュメント通り "http://localhost:5000" を設定すると MLflow の API から 403 が返ってきました1
    • 起動ログに「Security middleware enabled with default settings (localhost-only). To allow connections from other hosts, use --host 0.0.0.0 and configure --allowed-hosts and --cors-allowed-origins.
    • 0.0.0.0 指定だけ試して、うまくいっています

MLflow に自動ロギング!

GPT-4.1 mini に CoT で AIME を解かせたログが記録されます!
http://localhost:5000/#/experiments/0/traces

example あたりの入出力を見て、CoT という指定に対して DSPy がどんなプロンプトを組んでいるかが垣間見えました。
User が problem を与えるので、Assistant (LLM) が reasoning して answer を返す

autolog()のドキュメントによると、デフォルト値はlog_traces=Trueで、log_compileslog_evalsを今回有効にしています。
https://mlflow.org/docs/latest/api_reference/python_api/mlflow.dspy.html#mlflow.dspy.autolog
GEPA で効いてくるのでしょうね。楽しみです。

なお、OpenAI の platform (dashboard) にも記録はされています。
https://platform.openai.com/logs?api=chat-completions
ですが、MLflow では平均 metric が見えてますし、他にも高機能なんじゃないかと思っています。

終わりに

DSPy を使う際に、簡単に MLflow2 の自動ロギングを有効にできました。
LLM API のレスポンスだけでなく、DSPy の動き(どんなプロンプトにして LLM に入力したか)も確認できます。
今回設定した範囲の理解を深めるのによさそうなドキュメントも見つけました(積ん読

mlflow.org

どうやら marimo は、OpenAI へのリクエストをキャッシュしているような雰囲気ですね(API のレスポンスがあまりに早かったり、dashboard で usage が増えなかったり)

今回のコードの全容はこちらです:


  1. --allowed-hosts '*'を渡すのはうまくいかず
  2. そういえば過去に触ったこともありました



以上の内容はhttps://nikkie-ftnext.hatenablog.com/entry/dspy-gepa-aime-tutorial-enable-mlflow-autologgingより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14