LLM Flow เป็นเครื่องมือบนเว็บที่ออกแบบมาเพื่ออำนวยความสะดวกในกระบวนการพัฒนา AI เริ่มต้นที่การกำหนดกรณีการใช้ AI แบบแยก (ฟังก์ชั่น AI) การใช้พรอมต์ประเมินและปรับปรุงคุณภาพที่รวดเร็วและการสร้าง APIs เพื่อรวมฟังก์ชั่น AI เข้ากับแอปพลิเคชันของคุณเอง
สำรวจคุณสมบัติ»
(กลับไปด้านบน)
(กลับไปด้านบน)
โครงการแบ่งออกเป็นสามบริการซึ่งทั้งหมดจะต้องมีการตั้งค่าเป็นรายบุคคล:
server : แบ็กเอนด์ fastapipromptfoo-server : Backend Express.js ซึ่งรัน promptfooclient : Next.js Frontend(กลับไปด้านบน)
ใช้การตั้งค่า Docker หากคุณต้องการเรียกใช้แอปพลิเคชันโดยไม่ต้องใช้ความพยายามมาก สำหรับการพัฒนาในท้องถิ่นอ้างถึงการตั้งค่าในท้องถิ่น
ข้อกำหนดเบื้องต้น:
วิธีการตั้งค่า:
สำหรับ server และ client สร้างไฟล์ .env.docker ในโฟลเดอร์รูทที่เกี่ยวข้องโดยการคัดลอกและเปลี่ยนชื่อไฟล์. .env.docker.template สำหรับ promptfoo-server สร้างไฟล์ .env จากไฟล์. .env.template แทนที่ความลับจากเทมเพลตด้วยตัวคุณเอง
ในโฟลเดอร์รูทรันคำสั่งทั้งสองนี้:
docker compose build
docker compose up -d
client : http: // localhost: 3000/backend : http: // localhost: 4000/เอกสาร(กลับไปด้านบน)
ข้อกำหนดเบื้องต้น:
คุณอาจใช้เวอร์ชันโหนดอื่น อย่างไรก็ตามฉันทดสอบการตั้งค่าโดยใช้ Node 22 เท่านั้น
วิธีการตั้งค่า:
สำหรับบริการทั้งสามสร้างไฟล์ .env ในโฟลเดอร์รูทที่เกี่ยวข้องโดยการคัดลอกและเปลี่ยนชื่อไฟล์. .env.template แทนที่ความลับในเทมเพลตด้วยตัวคุณเอง
ในโฟลเดอร์รูทรัน:
docker compose up mongo -d
backend ในการเรียกใช้ backend คุณสามารถใช้ตัวดีบักรหัส VS เพื่อเริ่มต้นหรือเรียกใช้ต่อไปนี้ในโฟลเดอร์ backend :
pipenv install
pipenv run python3.12 wsgi.py
promptfoo-server ในโฟลเดอร์ promptfoo-server Run:
npm install
npm run start
client : ในโฟลเดอร์ client ต์รัน:
npm install
npm run dev
client : http: // localhost: 3000/backend : http: // localhost: 4000/เอกสาร(กลับไปด้านบน)
หากคุณต้องการพัฒนาโครงการให้แน่ใจว่าได้รันผ่านการตั้งค่าในท้องถิ่นก่อน
ข้อกำหนดเบื้องต้น:
นี่คือคำสั่งที่มีประโยชน์ที่จะใช้ในระหว่างการพัฒนา:
pre-commit run --all-files
sh generate_client_bindings.sh
ในโฟลเดอร์ client ต์รัน:
npm run lint
npm run pretty
(กลับไปด้านบน)
ฟังก์ชั่น AI แสดงถึงสัญญาระหว่างตรรกะทางธุรกิจของคุณและผู้ให้บริการ LLM คุณผ่านชุดพารามิเตอร์ให้พวกเขาและพวกเขาจะส่งคืนเอาต์พุตที่มีโครงสร้าง
ในเว็บอินเตอร์เฟสคุณสามารถกำหนดฟังก์ชั่น AI คุณกำหนดชื่อให้คำอธิบายกำหนดพารามิเตอร์ที่ยอมรับและเลือกผู้ให้บริการที่อาจใช้:
คุณยังกำหนดว่าฟังก์ชั่นส่งคืนการตอบสนองสตริงที่ไม่มีโครงสร้างอย่างง่ายหรือการตอบสนอง JSON ที่มีโครงสร้างหรือไม่ สำหรับหลังคุณสามารถกำหนดวัตถุ JSON ที่ซับซ้อนโดยใช้ตัวแก้ไข JSON Schema
เพื่อประโยชน์ในการประเมินคุณภาพของฟังก์ชั่น AI ของฟังก์ชั่นคุณอาจกำหนดการยืนยันและกรณีทดสอบ การยืนยันใช้เพื่อเปรียบเทียบกับค่าหรือเงื่อนไขที่คาดหวัง ฟีเจอร์นี้ใช้ PromptFoo ภายใต้ประทุน มีประเภทการยืนยันที่หลากหลายให้เลือกตั้งแต่การเปรียบเทียบแบบง่าย ๆ ไปจนถึงรูปแบบ regex ที่ซับซ้อนและแม้แต่ประเภทที่ใช้ Python หรือ JavaScript ที่กำหนดเองซึ่งสามารถกำหนด logics การยืนยันแบบกำหนดเองและซับซ้อน
กรณีทดสอบอ้างอิงข้อมูลตัวอย่างสำหรับพารามิเตอร์ของฟังก์ชัน AI พวกเขามีบทบาทสำคัญในการยืนยันคุณภาพที่รวดเร็ว หลังจากกำหนดพรอมต์แล้วจะได้รับการประเมินกับกรณีทดสอบด้วยการยืนยันที่กำหนดไว้ในฟังก์ชัน AI คุณสามารถกำหนดคำยืนยันที่ใช้กับกรณีทดสอบเดียวเท่านั้น แม้จะมีคุณสมบัติของ AI สร้างกรณีทดสอบตามกรณีทดสอบที่กำหนดไว้ก่อนหน้านี้รวมถึงชื่อและคำอธิบายของฟังก์ชัน AI
สำหรับการเริ่มต้นคุณสามารถสร้างฟังก์ชั่น AI จากหนึ่งในตัวอย่างที่ให้ไว้:
(กลับไปด้านบน)
ในการแจ้งเตือนการไหลของ LLM ถูกกำหนดไว้ในบริบทของฟังก์ชั่น AI พวกเขาจะต้องรวมถึงพารามิเตอร์ของฟังก์ชัน AI ที่เกี่ยวข้องในร่างกายของพวกเขาและได้รับการประเมินกับกรณีทดสอบและการยืนยัน
มีการประเมินพรอมต์สำหรับผู้ให้บริการแต่ละรายที่ระบุภายใต้ฟังก์ชั่น AI สิ่งนี้ช่วยให้สามารถเปรียบเทียบคุณภาพของพรอมต์ในผู้ให้บริการที่แตกต่างกัน มีการคำนวณตัวชี้วัดสามตัวในระหว่างการประเมินผล:
(กลับไปด้านบน)
โครงการเป็นวิธีการสร้าง API ซึ่งคุณสามารถเรียกฟังก์ชั่น AI ต่างๆ ในเว็บอินเตอร์เฟสเอกสาร Swagger ที่กำหนดเองถูกสร้างขึ้นสำหรับแต่ละโครงการที่คุณสามารถใช้เพื่อทดสอบ API ในไคลเอนต์เอง นอกจากนี้คุณยังสามารถส่งออกข้อกำหนด OpenAPI เพื่อสร้างการเชื่อมโยงไคลเอนต์ของคุณเองโดยใช้เครื่องกำเนิดรหัสเช่น OpenAPI-Generator
เอกสาร API จะถูกเติมโดยอัตโนมัติด้วยชื่อคำอธิบายและพารามิเตอร์ของฟังก์ชั่น AI ที่เลือกและรวมถึงหนึ่งในกรณีทดสอบที่กำหนดไว้เป็นตัวอย่าง แต่ละฟังก์ชั่น AI ภายในโครงการจะได้รับการกำหนดจุดสิ้นสุดของตัวเอง
วิธีนี้คุณสามารถรวมฟังก์ชั่น AI ที่กำหนดไว้ใน LLM Flow ในแอปพลิเคชันของคุณเอง เมื่อโครงการถูกสร้างขึ้นคุณไม่จำเป็นต้องเรียกใช้ไคลเอนต์เพื่อโทรหาจุดสิ้นสุด นี่คือตัวอย่างเกี่ยวกับวิธีการสร้างและใช้โครงการ:
(กลับไปด้านบน)
หากคุณมีข้อเสนอแนะที่จะทำให้สิ่งนี้ดีขึ้นโปรดแยก repo และสร้างคำขอดึง นอกจากนี้คุณยังสามารถเปิดปัญหาด้วยแท็ก "การปรับปรุง" อย่าลืมให้โครงการเป็นดารา! ขอบคุณอีกครั้ง!
git checkout -b feature/AmazingFeature )git commit -m 'Add some AmazingFeature' )git push origin feature/AmazingFeature )(กลับไปด้านบน)
แจกจ่ายภายใต้ใบอนุญาต MIT ดู LICENSE.txt สำหรับข้อมูลเพิ่มเติม
(กลับไปด้านบน)
Amir Mohammad - [email protected]
ลิงค์โครงการ: https://github.com/amir-mo1999/llmflow
(กลับไปด้านบน)