メインコンテンツへスキップ

インストール

pip install "rail-score-sdk[telemetry]"

セットアップ

from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
from rail_score_sdk import RailScoreClient
from rail_score_sdk.telemetry import RAILTelemetry

# OTELエクスポータを設定
provider = TracerProvider()
exporter = OTLPSpanExporter(endpoint="http://localhost:4317")
provider.add_span_processor(BatchSpanProcessor(exporter))
trace.set_tracer_provider(provider)

# RAILテレメトリを有効にする
rail = RailScoreClient(api_key="YOUR_RAIL_API_KEY")
RAILTelemetry.instrument(rail)

# すべてのeval()呼び出しが自動的にスパンを発行します
result = rail.eval(content="Your text here", mode="basic")

スパン属性

すべての rail.eval() 呼び出しは、次の属性を持つスパンを発行します:
属性タイプ説明
rail.scorefloat全体のRAILスコア
rail.confidencefloatスコアの信頼度
rail.modestringbasic または deep
rail.credits_consumedfloat消費されたクレジット
rail.from_cachebool結果がキャッシュされたかどうか
rail.dim.{name}.scorefloat次元ごとのスコア
rail.dim.{name}.confidencefloat次元ごとの信頼度

トレースの表示

RAILスパンは、Jaeger、Tempo、Honeycomb、Datadog、New Relic、またはLangfuseなどのOTEL互換バックエンドと統合されます。
# 開発用にローカルJaegerインスタンスを起動
docker run -p 16686:16686 -p 4317:4317 jaegertracing/all-in-one
http://localhost:16686を開いてトレースを表示します。