LeapfrogAI เป็นแพลตฟอร์ม AI ที่โฮสต์เอง ซึ่งออกแบบมาเพื่อใช้งานในสภาพแวดล้อมที่มีช่องว่างอากาศ โครงการนี้มีจุดมุ่งหมายเพื่อนำโซลูชัน AI ที่ซับซ้อนมาสู่สภาพแวดล้อมที่มีทรัพยากรจำกัดโดยช่องว่างอากาศ โดยเปิดใช้งานการโฮสต์องค์ประกอบที่จำเป็นทั้งหมดของสแต็ก AI
บริการของเราประกอบด้วยฐานข้อมูลเวกเตอร์ แบ็กเอนด์โมเดล API และ UI ความสามารถเหล่านี้สามารถเข้าถึงและรวมเข้ากับโครงสร้างพื้นฐานที่มีอยู่ของคุณได้อย่างง่ายดาย ทำให้มั่นใจได้ว่าพลังของ AI จะสามารถควบคุมได้โดยไม่คำนึงถึงข้อจำกัดของสภาพแวดล้อมของคุณ
โมเดลภาษาขนาดใหญ่ (LLM) เป็นทรัพยากรที่มีประสิทธิภาพสำหรับการตัดสินใจที่ขับเคลื่อนด้วย AI การสร้างเนื้อหา และอื่นๆ LeapfrogAI จะนำ AI มาสู่ภารกิจของคุณได้อย่างไร?
ความเป็นอิสระของข้อมูล : การส่งข้อมูลที่ละเอียดอ่อนไปยังบริการของบุคคลที่สามอาจไม่เหมาะสมหรือไม่ได้รับอนุญาตสำหรับข้อมูลหรือองค์กรทุกประเภท ด้วยการโฮสต์ LLM ของคุณเอง คุณสามารถควบคุมข้อมูลของคุณได้อย่างเต็มที่
ความสามารถในการปรับขนาด : บริการ AI แบบจ่ายตามการใช้งานอาจมีราคาแพง โดยเฉพาะอย่างยิ่งเมื่อมีข้อมูลจำนวนมากเข้ามาเกี่ยวข้องและต้องการการเชื่อมต่ออย่างต่อเนื่อง การดำเนิน LLM ของคุณเองมักจะเป็นโซลูชันที่คุ้มค่ากว่าสำหรับภารกิจทุกขนาด
การบูรณาการภารกิจ : ด้วยการโฮสต์ LLM ของคุณเอง คุณจะสามารถปรับแต่งพารามิเตอร์ของโมเดล ข้อมูลการฝึก และอื่นๆ อีกมากมาย โดยปรับแต่ง AI ให้ตรงตามความต้องการเฉพาะของคุณ
LeapfrogAI สร้างขึ้นจาก Unicorn Delivery Service (UDS) ซึ่งเป็นสภาพแวดล้อมรันไทม์ที่ปลอดภัยของ Defense Unicorns และมีคุณสมบัติหลายอย่าง เช่น:
พื้นที่เก็บข้อมูล LeapfrogAI เป็นไปตามโครงสร้าง monorepo ที่อิงตาม API โดยแต่ละส่วนประกอบจะรวมอยู่ในไดเร็กทอรี packages
เฉพาะ ชุด UDS ที่จัดการการพัฒนาและการปรับใช้ LeapfrogAI ล่าสุดอยู่ในไดเรกทอรี bundles
โครงสร้างมีลักษณะดังนี้:
leapfrogai/
├── src/
│ ├── leapfrogai_api/ # source code for the API
│ ├── leapfrogai_evals/ # source code for the LeapfrogAI evaluation framework
│ ├── leapfrogai_sdk/ # source code for the SDK
│ └── leapfrogai_ui/ # source code for the UI
├── packages/
│ ├── api/ # deployment infrastructure for the API
│ ├── llama-cpp-python/ # source code & deployment infrastructure for the llama-cpp-python backend
│ ├── repeater/ # source code & deployment infrastructure for the repeater model backend
│ ├── supabase/ # deployment infrastructure for the Supabase backend and postgres database
│ ├── text-embeddings/ # source code & deployment infrastructure for the text-embeddings backend
│ ├── ui/ # deployment infrastructure for the UI
│ ├── vllm/ # source code & deployment infrastructure for the vllm backend
│ └── whisper/ # source code & deployment infrastructure for the whisper backend
├── bundles/
│ ├── dev/ # uds bundles for local uds dev deployments
│ └── latest/ # uds bundles for the most current uds deployments
├── Makefile
├── pyproject.toml
├── README.md
└── ...
วิธีการเรียกใช้ LeapfrogAI ที่แนะนำคือการปรับใช้ Kubernetes ในเครื่องโดยใช้ UDS
โปรดดูส่วนการเริ่มต้นอย่างรวดเร็วของเว็บไซต์เอกสาร LeapfrogAI สำหรับข้อกำหนดและคำแนะนำของระบบ
LeapfrogAI มี API ที่ใกล้เคียงกับของ OpenAI มาก ฟีเจอร์นี้ช่วยให้เครื่องมือที่สร้างด้วย OpenAI/ChatGPT ทำงานได้อย่างราบรื่นด้วยแบ็กเอนด์ LeapfrogAI
LeapfrogAI SDK มอบชุดมาตรฐานของ protobuf และยูทิลิตี้ Python สำหรับการนำแบ็กเอนด์ไปใช้งานด้วย gRPC
LeapfrogAI มอบ UI ที่รองรับกรณีการใช้งานทั่วไป เช่น การแชททั่วไป และ "ถามตอบด้วยเอกสารของคุณ"
LeapfrogAI มีแบ็กเอนด์หลายตัวสำหรับกรณีการใช้งานที่หลากหลาย ด้านล่างนี้คือเมทริกซ์การรองรับแบ็กเอนด์และความเข้ากันได้:
แบ็กเอนด์ | AMD64 | ARM64 | CUDA | นักเทียบท่า | คูเบอร์เนเตส | ยูดีเอส |
---|---|---|---|---|---|---|
ลามะ-cpp-หลาม | ||||||
กระซิบ | ||||||
การฝังข้อความ | ||||||
vllm | ❌1 |
"โมเดล" ของรีพีทเตอร์เป็น "แบ็กเอนด์" พื้นฐานที่นกแก้วป้อนข้อมูลทั้งหมดที่ได้รับกลับไปยังผู้ใช้ มันถูกสร้างขึ้นในลักษณะเดียวกับแบ็กเอนด์จริงทั้งหมด และใช้สำหรับการทดสอบ API เป็นหลัก
LeapfrogAI มาพร้อมกับกรอบการประเมินผลที่รวมเข้ากับ DeepEval สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรันและการใช้การประเมินใน LeapfrogAI โปรดดูที่ Evals README
แต่ละส่วนประกอบมีอิมเมจและค่าที่แตกต่างกันซึ่งอ้างอิงถึงรีจีสทรีอิมเมจเฉพาะและ/หรือแหล่งที่มาของการชุบแข็ง ภาพเหล่านี้บรรจุโดยใช้ Zarf Flavours:
upstream
: ใช้อิมเมจผู้ขายอัปสตรีมจากรีจีสทรีคอนเทนเนอร์โอเพ่นซอร์สและที่เก็บregistry1
: ใช้อิมเมจเสริมความแข็งแกร่งของ IronBank จากรีจิสตรีท่าเรือ Repo1ด้านล่างนี้คือรายการรสชาติส่วนประกอบปัจจุบัน:
ส่วนประกอบ | upstream | registry1 |
---|---|---|
เอพีไอ | ||
อุ้ย | - | |
ซูปาเบส | - | |
การอพยพ | - | |
ลามะ-cpp-หลาม | - | |
กระซิบ | - | |
การฝังข้อความ | - | |
vllm | - | |
vllm | - |
รสชาติที่มีส่วนประกอบใดๆ ที่มีป้ายกำกับว่า ? ยังไม่พร้อมใช้งานเป็นการปรับใช้บันเดิลเริ่มต้นอย่างรวดเร็ว โปรดดู DEVELOPMENT.md สำหรับคำแนะนำเกี่ยวกับวิธีสร้างแพ็คเกจ Zarf ของส่วนประกอบสำหรับการทดสอบในพื้นที่
หากต้องการสร้างชุด LeapfrogAI UDS และปรับใช้ โปรดดูที่เว็บไซต์เอกสารประกอบ LeapfrogAI ในเว็บไซต์เอกสารประกอบ คุณจะพบข้อกำหนดของระบบและคำแนะนำสำหรับทุกสิ่งที่ LeapfrogAI ที่ไม่เกี่ยวข้องกับการพัฒนาและการมีส่วนร่วมในท้องถิ่น
สำหรับการสนับสนุนและการปรับใช้และการพัฒนาเฉพาะที่สำหรับแต่ละองค์ประกอบในสภาพแวดล้อม Python หรือ Node.js ภายใน โปรดดำเนินการต่อในส่วนถัดไป
บันทึก
โปรดเริ่มต้นด้วยเว็บไซต์เอกสาร LeapfrogAI ก่อนที่จะพยายามพัฒนาในพื้นที่
แต่ละองค์ประกอบ LeapfrogAI สามารถทำงานแยกกันภายนอกสภาพแวดล้อม Kubernetes หรือ Containerized ได้ สิ่งนี้มีประโยชน์เมื่อทดสอบการเปลี่ยนแปลงกับส่วนประกอบเฉพาะ แต่จะไม่ช่วยในการปรับใช้ LeapfrogAI อย่างเต็มรูปแบบ โปรดดูส่วนด้านบนสำหรับคำแนะนำในการปรับใช้ โปรดดูหัวข้อถัดไปสำหรับกฎเกณฑ์เกี่ยวกับการมีส่วนร่วมใน LeapfrogAI
อันดับแรก โปรดดูเอกสาร DEVELOPMENT.md สำหรับรายละเอียดการพัฒนาทั่วไป
จากนั้น อ้างอิงถึง README ที่เชื่อมโยงสำหรับคำแนะนำการพัฒนาในเครื่องของไดเร็กทอรีย่อยแต่ละรายการ
ผู้มีส่วนร่วมและปัจจุบันทั้งหมดต้องแน่ใจว่าได้อ่านเอกสารประกอบ นโยบายความปลอดภัย และหลักปฏิบัติก่อนที่จะเปิดประเด็นหรือดึงคำขอไปยังพื้นที่เก็บข้อมูลนี้
เมื่อส่งปัญหาหรือเปิด PR โปรดตรวจสอบให้แน่ใจว่าคุณได้ค้นหาปัญหาหรือ PR ที่อาจเกิดขึ้นของคุณเทียบกับปัญหาและ PR ที่มีอยู่หรือปิดไปแล้ว รายการที่ซ้ำกันจะถูกปิด ดังนั้นโปรดอ้างอิงและแยกแยะการมีส่วนร่วมของคุณจากปัญหาและการประชาสัมพันธ์ที่เป็นรูปธรรมหรือคล้ายกัน
LeapfrogAI ได้รับการสนับสนุนจากชุมชนผู้ใช้และผู้มีส่วนร่วม รวมไปถึง:
ต้องการเพิ่มองค์กรหรือโลโก้ของคุณลงในรายการนี้หรือไม่? เปิดประชาสัมพันธ์!
vLLM ต้องการ PyTorch ที่เปิดใช้งาน CUDA ซึ่งสร้างขึ้นสำหรับ ARM64 ซึ่งไม่สามารถใช้งานได้ผ่าน pip หรือ conda ↩
SDK ไม่ใช่หน่วยการทำงานอิสระ และจะกลายเป็นหน่วยการทำงานเมื่อรวมและจัดทำแพ็กเกจกับ API และแบ็กเอนด์เป็นการพึ่งพาเท่านั้น
โปรดทราบว่า API และ UI มีอาร์ติแฟกต์อยู่ใต้ 2 ไดเร็กทอรีย่อย ไดเร็กทอรีย่อยที่เกี่ยวข้องกับ packages/
จะเน้นไปที่บรรจุภัณฑ์ Zarf และแผนภูมิ Helm ในขณะที่ไดเร็กทอรีย่อยที่เกี่ยวข้องกับ src/
มีซอร์สโค้ดจริงและคำแนะนำในการพัฒนา ↩ ↩ 2