Passer au contenu principal

Installation

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

Configuration

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

# Configurer l'exportateur OTEL
provider = TracerProvider()
exporter = OTLPSpanExporter(endpoint="http://localhost:4317")
provider.add_span_processor(BatchSpanProcessor(exporter))
trace.set_tracer_provider(provider)

# Activer la télémétrie RAIL
rail = RailScoreClient(api_key="YOUR_RAIL_API_KEY")
RAILTelemetry.instrument(rail)

# Tous les appels eval() émettent maintenant des spans automatiquement
result = rail.eval(content="Votre texte ici", mode="basic")

Attributs de span

Chaque appel rail.eval() émet un span avec ces attributs :
AttributTypeDescription
rail.scorefloatScore RAIL global
rail.confidencefloatConfiance dans le score
rail.modestringbasic ou deep
rail.credits_consumedfloatCrédits consommés
rail.from_cacheboolSi le résultat était mis en cache
rail.dim.{name}.scorefloatScore par dimension
rail.dim.{name}.confidencefloatConfiance par dimension

Visualisation des traces

Les spans RAIL s’intègrent à tout backend compatible OTEL : Jaeger, Tempo, Honeycomb, Datadog, New Relic ou Langfuse.
# Démarrer une instance Jaeger locale pour le développement
docker run -p 16686:16686 -p 4317:4317 jaegertracing/all-in-one
Ouvrez http://localhost:16686 pour voir les traces.