Consistente es un marco de prueba de golpes completos para indicaciones. El objetivo de consistente es crear pruebas reproducibles para aplicaciones basadas en LLM, independientemente de la FM utilizada.
pip install consistent
Consistente viene con 2 tipos de validadores (probadores)
Este tipo de validadores se utiliza para hacer afirmaciones estáticas de la salida LLM. Por ejemplo, validar si la salida está en un determinado formato JSON y afirmar el esquema. También puede usar validadores sintácticos para afirmar que algo es un código válido (JS o Python son compatibles en este momento)
Los validadores sintácticos se utilizan para afirmar la forma de la respuesta
consisTent . JsValidator (). validate ( 'console.log("Im a JS program!")' )
consisTent . PyValidator (). validate ( 'print("Im a python program!")' )
consisTent . JsonValidator (). validate ( '{"question": "is this a valid JSON?"}' )
Este tipo de validadores se utiliza para afirmar la calidad de la respuesta con más parámetros "suaves", por ejemplo, verifique si algo es de hecho correcto, verifique las alucinaciones, verifique las etiquetas como "divertida"/"interesante", etc. otro tipo El validador semántico es el validador de consistencia semántica donde proporciona una semilla de entrada validada y un umbral, y la prueba afirmará la distancia semántica de la nueva salida del clúster de semillas.
Los validadores semánticos se utilizan para afirmar el contenido de la respuesta
import consisTent
seed = [
"the cat sat on the mat" ,
"the feline layed on the carpet" ,
]
consisTent . ConsistencyValidator (
seed_size = 2 ,
consistency_threshold = 0.5 ,
). validate (
seed = seed ,
model_output = "the dog sat on the mat" ,
)
OPENAI_KEY = "XXXXXXXXXXXXXXX"
consisTent . LabelsValidator ( openai_key = OPENAI_KEY ). validate (
labels = [
"funny" ,
"short" ,
"about rabbits" ,
],
model_output = "What do you call a rabbit that tells jokes? A funny bunny!" ,
)
OPENAI_KEY = "XXXXXXXXXXXXXXX"
consisTent . FactsValidator ( openai_key = OPENAI_KEY ). validate (
facts = [ "this car weighs 1000KG" ],
model_output = "I can lift this car" ,
)