Passer au contenu principal

Installation

pip install rail-score-sdk
Installez avec des extras optionnels pour les intégrations de fournisseurs :
pip install "rail-score-sdk[openai]"       # Wrapper OpenAI
pip install "rail-score-sdk[anthropic]"    # Wrapper Anthropic
pip install "rail-score-sdk[google]"       # Wrapper Gemini
pip install "rail-score-sdk[litellm]"      # Wrapper LiteLLM
pip install "rail-score-sdk[integrations]" # Tous les fournisseurs LLM
pip install "rail-score-sdk[agents]"       # CrewAI, LangGraph, AutoGen
pip install "rail-score-sdk[telemetry]"    # Support OpenTelemetry
pip install "rail-score-sdk[dev]"          # Outils de développement

Client synchrone

from rail_score_sdk import RailScoreClient

client = RailScoreClient(api_key="YOUR_RAIL_API_KEY")

result = client.eval(content="Votre texte généré par l'IA ici", mode="basic")
print(f"RAIL Score: {result.rail_score.score}/10")
RailScoreClient retourne des objets de dataclass typés. Accédez aux scores comme result.rail_score.score, result.dimension_scores["fairness"].score, etc.

Client asynchrone

import asyncio
from rail_score_sdk import AsyncRAILClient

async def main():
    client = AsyncRAILClient(api_key="YOUR_RAIL_API_KEY")
    result = await client.eval(content="Votre texte ici", mode="basic")
    print(result["rail_score"]["score"])  # Retourne des dictionnaires bruts

asyncio.run(main())
AsyncRAILClient retourne des dictionnaires bruts plutôt que des dataclasses.

Classes clés

ClasseBut
RailScoreClientClient synchrone - toutes les méthodes principales
AsyncRAILClientClient asynchrone - toutes les méthodes principales
RAILSessionSuivre la qualité à travers une conversation
PolicyRègles déclaratives pour l’application des scores
RuleRègle de politique individuelle
RAILMiddlewareEnveloppez toute fonction LLM asynchrone

Gestion des erreurs

from rail_score_sdk import (
    RailScoreClient,
    AuthenticationError,
    InsufficientCreditsError,
    RateLimitError,
    ContentTooHarmfulError,
)

client = RailScoreClient(api_key="YOUR_RAIL_API_KEY")

try:
    result = client.eval(content="...", mode="deep")
except AuthenticationError:
    print("Vérifiez votre clé API")
except InsufficientCreditsError as e:
    print(f"Besoin de {e.required} crédits, en avoir {e.balance}")
except RateLimitError:
    print("Ralentissez les requêtes")
except ContentTooHarmfulError:
    print("Contenu bloqué au niveau de sécurité")

Quelles sont les prochaines étapes

Évaluation

Exemples d’évaluation synchrones et asynchrones.

Régénération sécurisée

Correction automatique du contenu en dessous du seuil.

Sessions & Politique

Suivre la qualité à travers les conversations.

Intégrations

Wrappers de fournisseurs pour OpenAI, Gemini, Anthropic.