consisTent
v0.0.10
일관성은 프롬프트를위한 완전한 타격 테스트 프레임 워크입니다. 일관된 목표는 사용 된 FM에 관계없이 LLM 기반 응용 프로그램에 대한 재현 가능한 테스트를 만드는 것입니다.
pip install consistent
일관성은 2 가지 유형의 유효성 검사기 (테스터)와 함께 제공됩니다.
이 유형의 유효성 검사기는 LLM 출력의 정적 주장을 수행하는 데 사용됩니다. 예를 들어 출력이 특정 JSON 형식인지 확인하고 스키마를 주장합니다. 구문 유효성 검사기를 사용하여 무언가가 유효한 코드라고 주장 할 수 있습니다 (현재 JS 또는 Python이 지원됩니다).
구문 유효성 검사기는 응답의 형태를 주장하는 데 사용됩니다.
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?"}' )
이 유형의 유효성 검사기는 예를 들어 더 "소프트"매개 변수로 응답의 품질을 주장하는 데 사용됩니다. 예를 들어, 무언가가 정확한지 확인하고, 환각을 확인하고, "재미있는"/"흥미로운"등 라벨을 확인하십시오 ... 다른 유형. 시맨틱 유효성 검사기는 검증 된 입력의 시드와 임계 값을 제공하는 시맨틱 일관성 유효성 검증 자이며 테스트는 시드 클러스터에서 새로운 출력의 의미 론적 거리를 주장합니다.
시맨틱 유효성 검사기는 응답의 내용을 주장하는 데 사용됩니다.
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" ,
)