Passer au contenu principal
Concept : Middleware | API : Evaluation API
RAILMiddleware enveloppe toute fonction asynchrone qui génère des réponses LLM, ajoutant un score RAIL automatique sans modifier votre logique d’appel LLM.
import asyncio
from rail_score_sdk import RAILMiddleware

async def my_llm(messages, **kwargs):
    # Votre appel LLM ici — retourne une chaîne
    return "Le LLM a généré cette réponse."

async def main():
    mw = RAILMiddleware(
        api_key="YOUR_RAIL_API_KEY",
        generate_fn=my_llm,
        threshold=7.0,
        policy="block",
        eval_input=True,
        input_threshold=5.0,
    )

    result = await mw.run(
        messages=[
            {"role": "system", "content": "Vous êtes un assistant utile."},
            {"role": "user", "content": "Expliquez l'informatique quantique."},
        ]
    )
    print(f"Score : {result.score}, Seuil atteint : {result.threshold_met}")
    print(f"Contenu : {result.content}")

asyncio.run(main())

Paramètres

ParamètreTypePar défautDescription
api_keystrClé API RAIL
generate_fnasync callableVotre fonction LLM
thresholdfloatNoneBloquer/régénérer en dessous de ce score
policystr"block""block" ou "regenerate"
eval_inputboolFalseÉvaluer également les messages d’entrée
input_thresholdfloatNoneSeuil pour l’évaluation des entrées
max_iterationsint3Nombre maximal de tentatives de régénération