AIの動きを追跡し評価する仕組み
Build a Complete Langfuse Observability and Evaluation Pipeline for Tracing, Prompt Management, Scoring, and Experiments

LangfuseというAI開発ツールを使い、AIアプリの動きを記録・評価・改善する一連の仕組みを構築する方法が学べる記事です。
このチュートリアルでは、Langfuse(オープンソースのLLMエンジニアリングプラットフォーム)の、追跡、プロンプト管理、スコアリング、データセット、および実験のためのパイプラインを実装します。本物のOpenAIキー、または決定論的なモックLLMのどちらでも動作する完全なワークフローを構築するため、有料モデルへのアクセスに依存することなく、Langfuseの主要な機能をすべて理解できます。まず、認証情報を設定し、Langfuseに接続することから始めます。シンプルな関数呼び出しを追跡し、小さなRAGパイプラインを計測し、プロンプトを一元的に管理し、評価スコアを付与し、データセットベースの実験を実行します。また、LangfuseがLLMアプリケーションを構造化された本番環境対応の方法で監視、評価、改善するのにどのように役立つかを確認します。import subprocess, sys
def pip_install(*pkgs):
subprocess.run([sys.executable, "-m", "pip", "install", "-qU", *pkgs], check=True)
pip_install("langfuse", "openai")
import os
from getpass import getpass
def _ask(var, prompt, secret=True, default=None):
if os.environ.get(var):
return os.environ[var]
val = (getpass(prompt) if secret else input(prompt)).strip()
if not val and default is not None:
val = default
os.environ[var] = val
return val
print("Enter your Langfuse credentials (input is hidden):")
_ask("LANGFUSE_PUBLIC_KEY", " Langfuse PUBLIC key (pk-lf-...): ")
_ask("LANGFUSE_SECRET_KEY", " Langfuse SECRET key (sk-lf-...): ")
region = (input(" Region — EU (default) / US / or paste a self-hosted URL: ")
.strip().lower())
if region.startswith("http"):
HOST = region
elif region in ("2", "us"):
HOST = "https://us.cloud.langfuse.com"
else:
HOST = "https://cloud.langfuse.com"
os.environ["LANGFUSE_HOST"] = HOST
OPENAI_API_KEY = (getpass(" OpenAI key (optional, press Enter to skip): ").strip())
if OPENAI_API_KEY:
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY
USE_OPENAI = bool(OPENAI_API_KEY)
DEFAULT_MODEL = "gpt-4o-mini" if USE_OPENAI else "mock-llm-v1"
from langfuse import get_client, observe, propagate_attributes, Evaluation
langfuse = get_client() ass