ENCODER-RUN: Kubernetes Operator สำหรับการสร้าง embeddings เวกเตอร์โดยอัตโนมัติสำหรับซอร์สโค้ดโดยอัตโนมัติ

encoder-run เป็นผู้ให้บริการ Kubernetes ที่ออกแบบมาเพื่อทำให้วงจรชีวิตของการฝังซอร์สโค้ดโดยอัตโนมัติ นอกจากนี้ยังจัดการการจัดเก็บข้อมูลพื้นฐานและโครงสร้างพื้นฐานรุ่น โครงการนี้ทำให้มั่นใจได้ว่าเวกเตอร์ยังคงเป็นปัจจุบันด้วยการเปลี่ยนแปลงล่าสุดในที่เก็บซอร์สโค้ดเพิ่มการค้นหาการตรวจสอบความคล้ายคลึงกัน RAG และงานวิเคราะห์รหัส
คุณสมบัติ
- การปรับใช้แบบจำลอง : ปรับใช้โมเดล SentenceTransformer/การเข้ารหัสเพื่อประมวลผลการฝังตัวภายใน
- การซิงโครไนซ์อย่างต่อเนื่อง : ตรวจสอบแหล่งเก็บข้อมูลซอร์สโค้ดและทริกเกอร์กระบวนการเข้ารหัสสำหรับรหัสที่อัปเดตเพื่อให้แน่ใจว่าการฝังตัวยังคงเป็นปัจจุบัน
- ปรับขนาดได้และมีประสิทธิภาพ : ปรับให้เหมาะสมสำหรับประสิทธิภาพและความสามารถในการปรับขนาดการจัดการที่เก็บหลายแห่งและฐานข้อมูลขนาดใหญ่ได้อย่างง่ายดาย
- โมเดลการเข้ารหัสที่ปรับแต่งได้ : รองรับโมเดลการเข้ารหัสที่หลากหลายช่วยให้ผู้ใช้สามารถเลือกได้ดีที่สุดสำหรับข้อกำหนดเฉพาะของพวกเขา
สถาปัตยกรรมไปป์ไลน์

เริ่มต้น
หมายเหตุ
- ตรวจสอบให้แน่ใจว่าคุณมีหน่วยความจำที่มีอยู่มากมายในการเรียกใช้การตั้งค่า Kubernetes ตรวจสอบทรัพยากรเดสก์ท็อป Docker สำหรับหน่วยความจำและตรวจสอบให้แน่ใจว่า 24GB+ ตรวจสอบให้แน่ใจว่าดิสก์ได้รับการตั้งค่าอย่างสมเหตุสมผลเช่นกันเนื่องจากลักษณะของน้ำหนักขนาดใหญ่และภาพนักเทียบท่าขนาดใหญ่
- ขนาดของ Embeddings ในปัจจุบันมีรหัสยากถึง 768 ดังนั้นให้แน่ใจว่าหม้อแปลงที่คุณใช้งานการจับคู่
- เวลาฝังตัวในท้องถิ่นนั้นยาวกว่าการใช้การตั้งค่า GPU บางครั้งโมเดลการร้องขอ/การตอบสนองแรกนั้นช้า แต่คำขอที่ตามมาจะเร็วขึ้นและสอดคล้องกันมากขึ้น อย่าลังเลที่จะเรียกใช้การตั้งค่านี้บนเครื่องที่มีการเข้าถึง GPU เพื่อเพิ่มความเร็วในการอนุมาน
ข้อกำหนดเบื้องต้น
ก่อนที่จะตั้งค่า encoder-run ให้แน่ใจว่าได้ปฏิบัติตามข้อกำหนดเบื้องต้นต่อไปนี้:
- Golang : ต้องใช้ Goland เวอร์ชัน 1.21.*+
- Docker : ต้องติดตั้ง Docker ในระบบของคุณเนื่องจากจำเป็นต้องมีการควบคุมส่วนประกอบและการพึ่งพาของแอปพลิเคชัน เยี่ยมชมเว็บไซต์ทางการของ Docker สำหรับคำแนะนำในการติดตั้ง
- Kubernetes ชนิด : ชนิดที่ใช้ในการสร้างคลัสเตอร์ Kubernetes ท้องถิ่น หากยังไม่ได้ติดตั้งคุณสามารถเรียกใช้
make kind-install ที่จะตรวจสอบสถานะของมันและติดตั้งหากหายไป - โหนด : โหนดจะใช้เฉพาะในกรณีที่คุณกำลังพัฒนาในพื้นที่ กรุณาติดตั้ง v18.17.0
การปรับใช้
หลังจากตอบสนองความต้องการเบื้องต้นให้ใช้คำสั่งต่อไปนี้เพื่อปรับใช้แอปพลิเคชัน สิ่งนี้จะสร้างภาพทั้งหมดจากแหล่งที่มา ครั้งแรกอาจใช้เวลา 10 นาที+
หรือข้ามอาคารจากแหล่งที่มา (เร็วกว่าที่ดึงจาก DockerHub):
คำสั่งนี้จะตั้งค่าการกำหนดค่า Kubernetes ที่จำเป็นและเรียกใช้ส่วนประกอบทั้งหมด เมื่อนำไปใช้แล้วมันจะเปิดเผย:
- Console-ui บน
localhost:32081 - Gateway on
localhost:32080
เรียกใช้ส่วนหน้าด้วยข้อมูลจำลอง
ในการเรียกใช้อินเทอร์เฟซส่วนหน้าด้วยข้อมูลจำลองให้ทำตามขั้นตอนเหล่านี้:
- นำทางไปยังไดเรกทอรีคอนโซล Frontend-UI:
cd frontend/console-ui
npm install && npm run generate
cd ../mock
npm install
cd ../console-ui
npm run local
การตั้งค่านี้จะหมุน UI บน localhost:3000 และเกตเวย์จำลองบน localhost:4000 จำลองสภาพแวดล้อมเต็มรูปแบบสำหรับการพัฒนาหรือการทดสอบ
แผนงาน
นี่คือรายการสั้น ๆ ของคุณสมบัติและการปรับปรุงที่วางแผนไว้สำหรับ encoder-run :
อย่าลังเลที่จะมีส่วนร่วมหรือแนะนำคุณสมบัติใหม่โดยการเปิดปัญหาหรือส่งคำขอดึงไปยังที่เก็บ GitHub ของเรา
ชุมชนและข้อเสนอแนะ
ENCODER-RUN เป็นโครงการโอเพ่นซอร์สและเราสนับสนุนและยินดีต้อนรับการมีส่วนร่วม หากคุณต้องการมีส่วนร่วมอย่าลืมตรวจสอบแนวทางการบริจาคของเราและจรรยาบรรณ
สำหรับปัญหาเกี่ยวกับการติดตั้งและการตั้งค่าการอภิปรายเกี่ยวกับวิธีการใช้การเข้ารหัสที่ดีที่สุดโปรดใช้ปัญหา GitHub ของเราและตรวจสอบให้แน่ใจว่าได้รวมรายละเอียดให้มากที่สุด