Poyro เป็นส่วนขยายที่มีน้ำหนักเบาของ Vitest (เฟรมเวิร์กการทดสอบที่ทันสมัยพร้อม API แบบ jest-like) สำหรับการทดสอบแอปพลิเคชัน LLM การทำความคุ้นเคยกับ Vitest สามารถช่วยให้คุณได้รับมากขึ้นจาก Poyro
Poyro ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดในการใช้ LLM เพื่อประเมินผลลัพธ์ของแอปพลิเคชัน LLM ของคุณ Poyro แปลงสภาพภาษาธรรมชาติเป็นแบบทดสอบหน่วยไบนารี การทดสอบหน่วยควรเป็นอิสระและโอเพ่นซอร์สโดยค่าเริ่มต้นซึ่งมีแอพ AI - ดังนั้นเราจึงใช้ LLM ขนาดเล็กที่รันในเครื่องเพื่อประเมินผลลัพธ์ของแอปพลิเคชันของคุณ
สำหรับบริบทเพิ่มเติมเกี่ยวกับสาเหตุที่ใช้ Poyro และตัวอย่างเกี่ยวกับวิธีการใช้งานพร้อมกับ Apps Test Test Apps ของหน่วยอ่านบทความของเรา:
การทดสอบ AI เป็นส่วนหนึ่งของวิศวกรรมเต็มรูปแบบ
วิธีการเขียนการทดสอบหน่วยสำหรับแอป AI Web ของคุณ
กรณีศึกษา - การทดสอบหน่วยแอพ AI ตามกฎหมาย
ตัวอย่างรหัสที่รันได้สำหรับบทความนี้
node.js 20 หรือใหม่กว่า
Vitest 1.6.0 หรือใหม่กว่า
โครงการของคุณต้องมี "ประเภท": "โมดูล" ใน package.json (ไลบรารีนี้เป็น ESM เท่านั้น)
แนะนำ: GPU ที่เข้ากันได้กับ CUDA (NVIDIA) หรือ GPU ที่เข้ากันได้กับโลหะ (Apple Silicon) เพื่อประสิทธิภาพที่ดีที่สุด แต่ไม่จำเป็น
เพื่อเริ่มต้นอย่างรวดเร็วเพียงแค่วิ่ง:
NPX Poyro Init
หากต้องการใช้ตัวจับคู่ให้สร้างไฟล์ด้วยส่วนขยาย .test.ts
ทุกที่ภายในโครงการของคุณ นี่คือตัวอย่าง:
// myfirsttest.test.tsimport {อธิบายคาดหวัง} จาก "vitest"; อธิบาย ("myfirsttest", () => { มัน ("ควรเป็นจริง", async () => {// แทนที่สิ่งนี้ด้วย outputConst llmoutput ของแอป LLM ของแอพ LLM = "สวัสดีโลก!"; // เกณฑ์ในภาษาธรรมชาติ: จริงหรือคาดหวัง กล่าวสวัสดี "); }, 10,000); // เพิ่มการหมดเวลาตามความจำเป็นด้วยอาร์กิวเมนต์ที่สาม});
toFulfillCriterion
สามารถกำหนดได้ว่าเอาท์พุท LLM ตรงกับหรือไม่ตรงตามเกณฑ์ภาษาธรรมชาติ
ครั้งแรกที่คุณเรียกใช้การทดสอบเช่นเดียวกับที่ด้านบนไฟล์รุ่นสำหรับ LLM ที่รันในพื้นที่ของเราจะถูกดาวน์โหลด ควรใช้เวลาสองสามนาที
เรียกใช้ Vitest กับตัวจัดการแพ็คเกจของคุณเช่น npm
:
การทดสอบ NPM
คำสั่งที่คล้ายกันทำงานกับ yarn
และ pnpm
เราให้บริการแก้ไขปัญหาทั่วไปในหน้าการแก้ไขปัญหาของเรา ดูวิธีแก้ปัญหาที่นั่นและหากคุณยังคงพบปัญหาต่อไปโปรดอย่าลังเลที่จะติดต่อเรา
คุณสามารถส่งปัญหาได้โดยไปที่ที่เก็บ GitHub ของเราและสร้างปัญหาใหม่ ก่อนที่จะส่งปัญหาโปรดตรวจสอบว่ามีการส่งปัญหาที่คล้ายกันแล้วหรือไม่
หากคุณต้องการได้รับความช่วยเหลือระดมความคิดเกี่ยวกับ Evals ที่ดีหรือถ้าคุณต้องการแชทกับนักพัฒนา Poyro คนอื่น ๆ เข้าร่วมชุมชนของเราใน Discord!
หากคุณต้องการมีส่วนร่วมใน Poyro โปรดอ่านคู่มือการสนับสนุนของเรา
เริ่มต้นด้วยการโคลนนิ่งที่เก็บ:
git clone https://github.com/poyro/poyro.git
ถัดไปติดตั้งการอ้างอิงทั้งหมด:
การติดตั้ง PNPM
เมื่อพัฒนาคุณสามารถเรียกใช้ pnpm dev
ที่รูทซึ่งจะสร้างแพ็คเกจที่เกี่ยวข้องทั้งหมดโดยอัตโนมัติเมื่อทำการเปลี่ยนแปลงหรือคุณสามารถเรียกใช้ pnpm dev
ภายในแพ็คเกจที่คุณกำลังทำงานอยู่