Consistente é uma estrutura de teste de golpes completos para prompts. O objetivo de consistente é criar testes reprodutíveis para aplicativos baseados em LLM, independentemente do FM usado.
pip install consistent
Consistente vem com 2 tipos de validadores (testadores)
Esse tipo de validadores é usado para fazer afirmações estáticas da saída LLM. Por exemplo, validando se a saída estiver em um determinado formato JSON e afirme o esquema. Você também pode usar validadores sintáticos para afirmar que algo é uma peça de código válida (JS ou Python são suportados no momento)
Validadores sintáticos são usados para afirmar a forma da resposta
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?"}' )
Esse tipo de validador é usado para afirmar a qualidade da resposta com mais parâmetros "soft", por exemplo, verifique se algo está correto, verifique se há alucinações, verifique se há etiquetas como "engraçado"/"interessante" etc ... Outro tipo do validador semântico é o validador de consistência semântica, onde você fornece uma semente de entrada validada e um limite, e o teste afirmará a distância semântica da nova saída do cluster de sementes.
Validadores semânticos são usados para afirmar o conteúdo da resposta
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" ,
)