0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LangflowでLangfuse(self-host)を使ってLLMOps試す・後編 LLM-as-a-judgeを試す

0
Posted at

はじめに

LangflowでLangfuse(self-host)を使ってLLMOps試す・前編

LangflowでTraceを発生させ、Langfuse側のEvaluatorでそのTrace/Observationを自動採点する形の実装を試してみたいと思います。

全体像

Langflow
  ↓
回答生成フローを実行
  ↓
LangfuseにTrace/Observationが記録される
  ↓
Langfuse Evaluatorが対象Traceを拾う
  ↓
Judge LLMが回答品質を採点
  ↓
Langfuse Scoresに結果が保存される

LangfuseのLLM-as-a-Judgeは、入力、アプリケーションの出力、評価ルーブリック、必要に応じて正解例をJudge LLMへ渡し、スコアと理由を生成する仕組みです。スコアはnumeric、categorical、booleanで扱えます。
https://langfuse.com/docs/evaluation/evaluation-methods/llm-as-a-judge

LLM-as-a-judgeの設定

1. Langfuse側でLLM Connectionを作る

まずLangfuse UIでJudge用モデルを設定します。

設定画面は次の場所にあります。

Project Settings
→ LLM Connections
→ Add connection

対応しているLLMプロバイダーは次のものになります。

  • OpenAI
  • Anthropic
  • MS Azure
  • AWS Bedrock
  • google vertex AI
  • google AI studio

Judgeモデルは、可能ならOpenAI、Claude、Geminiなどの構造化出力に強いモデルがおすすめです。Langfuseのドキュメントでも、Evaluatorのdefault modelにはLLM Connectionが必要で、評価結果を正しく解釈するためにstructured output対応が重要とされています。
https://langfuse.com/docs/evaluation/evaluation-methods/llm-as-a-judge

今回は小遣い自腹課金のOpenAIを利用して検証してみます。

image.png

2. LangfuseでEvaluatorを作る

1. Evaluatorを作る

それではEvaluator(評価者)を作っていきましょう。
ダッシュボード左側から次の順番で作成ができます。

Evaluation
→ LLM-as-a-Judge
→ Create Evaluator

image.png

2. 評価者モデルを選択する

Set default evaluator model画面でデフォルトの評価モデルを選択します。
image.png
今回はGPT-5.4を選択してみました。
image.png
選択後、次の画面に遷移します。

3. 評価を選択する

Langfuseには、デフォルトで様々な指標が作成されています。
image.png
今回は回答の親切さを指標とした「Helpfulness」を選択してみました。他にもいろいろな指標があります。
指標の横に赤と青のLangfuseアイコンが出ているものはLangfuseが設定した指標、他にもLLMの評価指標として利用されている、RAGASというフレームワークに基づいたものもあります。これは、三角定規のアイコンが表示されているものです。
もちろん、プリセット以外にも独自の指標を作ることが可能です。

4. 評価の実行

評価を選択すると、設定パラメータが出てきます。
image.png
LLMへのクエリーとして、Langfuseが取得しているどのフィールドを利用するか、生成された文章はどのフィールドかを指定したり、評価に利用するプロンプトを確認することができます。
image.png
設定完了後、「Execute」ボタンを押します。

5. 評価の状態を確認

前のステップを終えると、「Helpfulness」が「Active」になっています。
この状態でLangflowのフローを実行して、評価ができるようになります。
image.png

6. 評価テスト

前編でも利用したフローを再利用して、テストをしていきます。
「Langflowについてわかりやすく教えてください。」が共通クエリーです。
プロンプトはシンプルなものにしています。
image.png
GPT-OSS20Bでの実行結果です。
image.png
かなり詳しく説明してくれています。

LangfuseのUIに戻ると「Result」が一件入っていることが分かります。「Logs」の「View」ボタンを押して、どのような評価がされたのかを見てみましょう。
image.png
まず、標準状態ではコメントが切れてしまっているので、右上の行幅調整からMediumかLargeに切り替えましょう。
「Score Value」には0.94という高得点が入っています。「Score Comment」には評価理由が入っています。
image.png
image.png
次に、OllamaノードでLangflowの事をおそらく知らないであろうモデルに切り替えます。
今回はllama3.2-visionを利用しました。
image.png
やはり回答はLangflowを知らないものでした。
image.png
llama3.2のスコアは0.32。やはり低スコアで評価されています。
image.png
以上で簡単な検証は終わりです。

まとめ

今回はシンプルなLLMのモデルの評価を行いましたが、RAGを利用したLLMアプリの評価にもLLM-as-a-Judgeは有効です。忠実性(回答は取得したコンテキストに基づいているか?)、関連性(回答は質問に答えているか?)、完全性(回答は関連するすべての情報を網羅しているか?)を評価できます。
インストールから検証までかなり短期間でできるので、今後のLLMアプリケーションの開発やユースケース検証でも利用していきたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?