- Outlines เป็นไลบรารีสำหรับการสร้างข้อความด้วยโครงข่ายประสาทเทียม ซึ่งออกแบบให้ยืดหยุ่นมากขึ้นเพื่อใช้แทนเมธอด
generate ของไลบรารี transformers
- ช่วยให้นักพัฒนาสร้างอินเทอร์เฟซที่มีความทนทานได้ โดยรับประกันได้ว่าเอาต์พุตจะเป็นไปตาม regular expression หรือสคีมา JSON
- ไลบรารีนี้มีองค์ประกอบพื้นฐานสำหรับการพรอมป์ต์ที่แข็งแรง โดยแยกตรรกะการพรอมป์ต์ออกจากตรรกะการทำงาน ทำให้สามารถนำ few-shot generation, ReAct, meta-prompting, agent และอื่น ๆ ไปใช้ได้อย่างง่ายดาย
- Outlines ถูกออกแบบให้เข้ากันได้กับระบบนิเวศที่กว้างขึ้น โดยใช้ abstraction ให้น้อยที่สุดเท่าที่เป็นไปได้ และสามารถสลับการสร้างผลลัพธ์ร่วมกับ control flow, conditional, ฟังก์ชัน Python แบบกำหนดเอง และการเรียกใช้ไลบรารีอื่นได้
- รองรับทุกโมเดล และเชื่อมต่อกับโมเดลผ่าน next-token logits นอกจากนี้ยังใช้ร่วมกับโมเดลแบบ API ได้ด้วย
- ไลบรารีนี้มีจุดเด่นคือองค์ประกอบพื้นฐานสำหรับการพรอมป์ต์ที่เรียบง่ายแต่ทรงพลังบนเอนจินเทมเพลต Jinja, guided generation, การสร้างแบบมีไกด์ด้วย regular expression ที่รวดเร็ว, การสร้าง JSON ที่รวดเร็วตาม JSON schema หรือโมเดล Pydantic และการผสานรวมกับโมเดล transformers ของ HuggingFace
- Outlines ใช้งานได้บน PyPi และติดตั้งได้ด้วยคำสั่ง
pip install outlines
- ไลบรารีนี้รองรับการหยุดการสร้างล่วงหน้าเมื่อพบลำดับที่กำหนด, การจำกัด completion ให้เหลือการเลือกจากหลายความเป็นไปได้ และการสั่งให้โมเดลคืนค่าเฉพาะจำนวนเต็มหรือจำนวนจริง
- นอกจากนี้ยังรวมการสร้างแบบมีไกด์ด้วย regular expression ที่รวดเร็ว และการสร้าง JSON ที่มีประสิทธิภาพตามโมเดล Pydantic
- Outlines ทำให้การเขียนและจัดการพรอมป์ต์ง่ายขึ้น โดยแยกตรรกะของพรอมป์ต์ออกจากตรรกะของโปรแกรมทั่วไปผ่านการห่อเทมเพลตไว้ภายใน "template function"
- ไลบรารีนี้เปิดโอกาสให้โมเดลภาษาสามารถเรียกใช้ฟังก์ชันภายนอกเพื่อรับข้อมูลเพิ่มเติมหรือทำงานบางอย่างได้ โดยเข้ารหัสคำอธิบายของฟังก์ชันไว้ในพรอมป์ต์
- Outlines เป็นโอเพนซอร์สและเผยแพร่ภายใต้ Apache License 2.0
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News