สอดคล้องกันคือกรอบการทดสอบการระเบิดอย่างเต็มรูปแบบสำหรับการแจ้งเตือน เป้าหมายของการสอดคล้องคือการสร้างการทดสอบที่ทำซ้ำได้สำหรับแอปพลิเคชันที่ใช้ LLM โดยไม่คำนึงถึง FM ที่ใช้
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" ,
)