LeapfrogAI adalah platform AI yang dihosting sendiri dan dirancang untuk digunakan di lingkungan dengan celah udara. Proyek ini bertujuan untuk menghadirkan solusi AI yang canggih ke lingkungan dengan sumber daya terbatas, dengan memungkinkan hosting semua komponen tumpukan AI yang diperlukan.
Layanan kami meliputi database vektor, backend model, API, dan UI. Kemampuan ini dapat diakses dengan mudah dan diintegrasikan dengan infrastruktur yang ada, sehingga memastikan kekuatan AI dapat dimanfaatkan terlepas dari keterbatasan lingkungan Anda.
Model Bahasa Besar (LLM) adalah sumber daya yang ampuh untuk pengambilan keputusan berbasis AI, pembuatan konten, dan banyak lagi. Bagaimana LeapfrogAI dapat menghadirkan AI ke misi Anda?
Independensi Data : Mengirim informasi sensitif ke layanan pihak ketiga mungkin tidak cocok atau diperbolehkan untuk semua jenis data atau organisasi. Dengan menghosting LLM Anda sendiri, Anda memiliki kendali penuh atas data Anda.
Skalabilitas : Layanan AI bayar sesuai pemakaian bisa menjadi mahal, terutama ketika melibatkan data dalam jumlah besar dan memerlukan konektivitas yang konstan. Menjalankan LLM Anda sendiri seringkali bisa menjadi solusi yang lebih hemat biaya untuk semua ukuran misi.
Integrasi Misi : Dengan menghosting LLM Anda sendiri, Anda memiliki kemampuan untuk menyesuaikan parameter model, data pelatihan, dan banyak lagi, menyesuaikan AI dengan kebutuhan spesifik Anda.
LeapfrogAI dibangun di atas Unicorn Delivery Service (UDS), lingkungan runtime aman Defense Unicorn, dan mencakup beberapa fitur seperti:
Repositori LeapfrogAI mengikuti struktur monorepo berdasarkan API dengan masing-masing komponen disertakan dalam direktori packages
khusus. Bundel UDS yang menangani pengembangan dan penerapan terbaru LeapfrogAI ada di direktori bundles
. Strukturnya terlihat sebagai berikut:
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
└── ...
Metode pilihan untuk menjalankan LeapfrogAI adalah penerapan Kubernetes lokal menggunakan UDS.
Silakan merujuk ke bagian Mulai Cepat di situs web dokumentasi LeapfrogAI untuk persyaratan dan instruksi sistem.
LeapfrogAI menyediakan API yang sangat mirip dengan OpenAI. Fitur ini memungkinkan alat yang dibuat dengan OpenAI/ChatGPT berfungsi secara lancar dengan backend LeapfrogAI.
LeapfrogAI SDK menyediakan serangkaian protobuf standar dan utilitas Python untuk mengimplementasikan backend dengan gRPC.
LeapfrogAI menyediakan UI dengan dukungan untuk kasus penggunaan umum seperti obrolan umum dan "Tanya Jawab dengan dokumen Anda".
LeapfrogAI menyediakan beberapa backend untuk berbagai kasus penggunaan. Di bawah ini adalah matriks dukungan dan kompatibilitas backend:
Bagian belakang | AMD64 | ARM64 | CUDA | Buruh pelabuhan | Kubernet | UDS |
---|---|---|---|---|---|---|
llama-cpp-python | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
berbisik | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
penyematan teks | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
vllm | ✅ | ❌ 1 | ✅ | ✅ | ✅ | ✅ |
"Model" repeater adalah "backend" dasar yang meneruskan semua input yang diterimanya kembali ke pengguna. Itu dibangun dengan cara yang sama dengan semua backend sebenarnya dan terutama digunakan untuk menguji API.
LeapfrogAI hadir dengan kerangka evaluasi yang terintegrasi dengan DeepEval. Untuk informasi lebih lanjut tentang menjalankan dan memanfaatkan evaluasi di LeapfrogAI, silakan lihat Evals README.
Setiap komponen memiliki gambar dan nilai berbeda yang merujuk pada registri gambar tertentu dan/atau sumber pengerasan. Gambar-gambar ini dikemas menggunakan Zarf Flavours:
upstream
: menggunakan gambar vendor upstream dari registri dan repositori kontainer sumber terbukaregistry1
: menggunakan gambar IronBank yang diperkeras dari registri pelabuhan Repo1Di bawah ini adalah daftar rasa komponen saat ini:
Komponen | upstream | registry1 |
---|---|---|
api | ✅ | ✅ |
ui | ✅ | ? |
supabase | ✅ | ? |
migrasi | ✅ | ? |
llama-cpp-python | ✅ | ? |
berbisik | ✅ | ? |
penyematan teks | ✅ | ? |
vllm | ✅ | ? |
vllm | ✅ | ? |
Rasa dengan komponen apa pun yang diberi label ? belum tersedia sebagai penerapan bundel mulai cepat. Silakan merujuk ke DEVELOPMENT.md untuk instruksi tentang cara membuat paket Zarf komponen untuk pengujian lokal.
Untuk membuat bundel UDS LeapfrogAI dan menerapkannya, silakan merujuk ke Situs Web Dokumentasi LeapfrogAI. Di situs dokumentasi, Anda akan menemukan persyaratan sistem dan instruksi untuk semua hal LeapfrogAI yang tidak terkait dengan pengembangan dan kontribusi lokal.
Untuk kontribusi dan penerapan serta pengembangan lokal untuk setiap komponen di lingkungan Python atau Node.js lokal, silakan lanjutkan ke bagian berikutnya.
Catatan
Silakan mulai dengan situs dokumentasi LeapfrogAI sebelum mencoba pengembangan lokal
Masing-masing komponen LeapfrogAI juga dapat dijalankan secara individual di luar lingkungan Kubernetes atau Containerized. Hal ini berguna saat menguji perubahan pada komponen tertentu, namun tidak akan membantu penerapan LeapfrogAI secara penuh. Silakan merujuk ke bagian di atas untuk instruksi penerapan. Silakan lihat bagian berikutnya untuk mengetahui aturan berkontribusi pada LeapfrogAI.
Pertama lihat dokumen DEVELOPMENT.md untuk rincian pengembangan umum.
Kemudian lihat README tertaut untuk instruksi pengembangan lokal masing-masing subdirektori.
Semua kontributor potensial dan kontributor saat ini harus memastikan bahwa mereka telah membaca dokumentasi Kontribusi, Kebijakan Keamanan, dan Kode Etik sebelum membuka terbitan atau menarik permintaan ke repositori ini.
Saat mengajukan terbitan atau membuka PR, harap pastikan terlebih dahulu bahwa Anda telah mencari potensi terbitan atau PR Anda terhadap terbitan dan PR yang sudah ada atau yang sudah ditutup. Duplikat yang dirasakan akan ditutup, jadi harap rujuk dan bedakan kontribusi Anda dari isu dan PR yang bersifat tangensial atau serupa.
LeapfrogAI didukung oleh komunitas pengguna dan kontributor, termasuk:
Ingin menambahkan organisasi atau logo Anda ke daftar ini? Buka PR!
vLLM memerlukan PyTorch berkemampuan CUDA yang dibuat untuk ARM64, yang tidak tersedia melalui pip atau conda ↩
SDK bukanlah unit yang independen secara fungsional, dan hanya menjadi unit fungsional bila digabungkan dan dikemas dengan API dan Backend sebagai ketergantungan. ↩
Perlu diketahui bahwa API dan UI memiliki artefak di bawah 2 subdirektori. Subdirektori yang terkait dengan packages/
difokuskan pada kemasan Zarf dan bagan Helm, sedangkan subdirektori yang terkait dengan src/
berisi kode sumber aktual dan instruksi pengembangan. ↩ ↩ 2