Server AGI Sumber Terbuka untuk LLM Sumber Terbuka
Inikah upaya Anarchy membangun kecerdasan buatan umum yang terbuka? melalui LLM-VM: cara untuk memberikan kekuatan super pada LLM Anda? dan kecepatan super?.
Anda dapat menemukan petunjuk rinci untuk mencobanya langsung di sini: anarchy.ai
Proyek ini dalam BETA. Harapkan perbaikan dan pengembangan berkelanjutan.
Anarchy LLM-VM adalah backend yang sangat optimal dan beropini untuk menjalankan LLM dengan semua fitur modern yang kami harapkan dari penyelesaian: penggunaan alat, memori stateful persisten, augmentasi data langsung, penyesuaian data dan tugas, templating keluaran, taman bermain web, titik akhir API, penyulingan siswa-guru, sintesis data, penyeimbangan beban dan orkestrasi, mimikri jendela konteks besar.
Secara formal, ini adalah mesin virtual/penerjemah untuk bahasa manusia, yang mengoordinasikan antara data, model (CPU), perintah Anda (kode), dan alat (IO).
Dengan melakukan semua hal ini di satu tempat dengan cara yang sesuai pendapat, LLM-VM dapat mengoptimalkan panggilan batch dengan tepat yang akan memakan biaya sangat mahal dengan titik akhir terdistribusi. Lebih jauh lagi, ia mengupayakan agnostisisme model dan arsitektur, dengan mengoptimalkan model yang dipilih untuk arsitektur saat ini dengan tepat.
Sejalan dengan misi Anarchy, LLM-VM berupaya mendukung model sumber terbuka. Dengan memanfaatkan model sumber terbuka dan menjalankannya secara lokal, Anda memperoleh beberapa manfaat:
Percepat pengembangan AGI Anda : Dengan AnarchyAI, Anda hanya perlu satu antarmuka untuk berinteraksi dengan LLM terbaru yang tersedia.
Turunkan biaya Anda?: Menjalankan model secara lokal dapat mengurangi biaya pengembangan dan pengujian sesuai penggunaan.
Fleksibilitas ?♀️: Anarki memungkinkan Anda beralih dengan cepat di antara model-model populer sehingga Anda dapat menentukan alat yang tepat untuk proyek Anda.
Suasana Komunitas?: Bergabunglah dengan komunitas aktif kami yang terdiri dari para pengembang dan insinyur yang bermotivasi tinggi yang bekerja dengan penuh semangat untuk mendemokratisasi AGI
WYSIWYG?: Open source berarti tidak ada yang disembunyikan; kami mengupayakan transparansi dan efisiensi sehingga Anda dapat fokus dalam membangun.
Agen Implisit?: Anarchy LLM-VM dapat diatur untuk menggunakan alat eksternal melalui agen kami seperti REBEL hanya dengan memberikan deskripsi alat!
Optimasi Inferensi?: Anarchy LLM-VM dioptimalkan dari tingkat agen hingga perakitan pada arsitektur LLM yang dikenal untuk mendapatkan hasil maksimal. Dengan batching yang canggih, inferensi dan kuantisasi yang jarang, distilasi, dan kolokasi multi-level, kami bertujuan untuk menyediakan kerangka kerja tercepat yang tersedia.
Pengoptimalan Otomatis Tugas?: Anarchy LLM-VM akan menganalisis kasus penggunaan Anda untuk tugas berulang yang dapat mengaktifkan distilasi siswa-guru untuk melatih model kecil yang super efisien dari model yang lebih besar dan lebih umum tanpa kehilangan akurasi. Selanjutnya dapat memanfaatkan teknik sintesis data untuk meningkatkan hasil.
Library Callable : Kami menyediakan perpustakaan yang dapat digunakan dari basis kode Python apa pun secara langsung.
Titik Akhir HTTP ?️: Kami menyediakan server mandiri HTTP untuk menangani permintaan penyelesaian.
Augmentasi Data Langsung: (ROADMAP) Anda akan dapat menyediakan kumpulan data yang diperbarui secara langsung dan Anarchy LLM-VM akan menyempurnakan model Anda atau bekerja dengan DB vektor untuk memberikan informasi terkini dengan kutipan
Web Playground?: (ROADMAP) Anda akan dapat menjalankan Anarchy LLM-VM dan menguji outputnya dari browser.
Penyeimbangan Beban dan Orkestrasi ⚖️: (ROADMAP) Jika Anda memiliki beberapa LLM atau penyedia yang ingin Anda gunakan, Anda akan dapat menyerahkannya ke Anarchy LLM-VM untuk secara otomatis mengetahui mana yang akan digunakan dan kapan harus mengoptimalkannya uptime atau biaya Anda
Templat Keluaran?: (ROADMAP) Anda dapat memastikan bahwa LLM hanya mengeluarkan data dalam format tertentu dan mengisi variabel dari templat dengan ekspresi reguler, LMQL, atau bahasa templat OpenAI
Memori Stateful Persisten: (ROADMAP) Anarchy LLM-VM dapat mengingat riwayat percakapan pengguna dan bereaksi sesuai dengan itu
Python >=3.10 Didukung. Versi Python yang lebih lama didasarkan pada upaya terbaik.
Gunakan bash > python3 --version
untuk memeriksa versi apa yang Anda gunakan.
Untuk memutakhirkan python Anda, buatlah python env baru menggunakan bash > conda create -n myenv python=3.10
atau buka https://www.python.org/downloads/ untuk mengunduh versi terbaru.
If you plan on running the setup steps below, a proper Python version will be installed for you
Model yang berbeda memiliki persyaratan sistem yang berbeda. Faktor pembatas pada sebagian besar sistem kemungkinan besar adalah RAM, tetapi banyak fungsi yang dapat berfungsi bahkan pada RAM 16 GB.
Oleh karena itu, selalu cari informasi tentang model yang Anda gunakan, semuanya memiliki ukuran dan persyaratan berbeda dalam memori dan sumber daya komputasi.
Cara tercepat untuk memulai adalah dengan menjalankan pip install llm-vm
di lingkungan Python Anda.
Cara lain untuk menginstal LLM-VM adalah dengan mengkloning repositori ini dan menginstalnya dengan pip seperti:
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> ./setup.sh
Skrip bash setup.sh
di atas hanya berfungsi untuk MacOS dan Linux.
Alternatifnya, Anda dapat melakukan ini:
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> python -m venv < name >
> source < name > /bin/activate
> python -m pip install -e . " [dev] "
Jika Anda menggunakan Windows. Anda dapat mengikuti salah satu dari dua metode di bawah ini:
Sebelum melakukan salah satu langkah berikut, Anda harus terlebih dahulu membuka Powershell sebagai administrator dan menjalankan perintah di bawah ini
> Set-ExecutionPolicy RemoteSigned
> Press Y and enter
> exit
Sekarang Anda dapat mengikuti salah satu dari dua metode di bawah ini:
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> .windows_setup.ps1
atau
> winget install Python.Python.3.11
> python --version
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> python -m venv anarchyai
> anarchyaiScriptsactivate
> python -m pip install -e .
Catatan :
Jika Anda menggunakan salah satu model OpenAI, Anda perlu menyetel variabel lingkungan LLM_VM_OPENAI_API_KEY
dengan kunci API Anda.
LLM-VM kami membuat Anda bekerja langsung dengan LLM populer secara lokal hanya dalam 3 baris. Setelah Anda menginstalnya (seperti di atas), cukup muat model Anda dan mulailah membuat!
# import our client
from llm_vm . client import Client
# Select which LLM you want to use, here we have OpenAI
client = Client ( big_model = 'chat_gpt' )
# Put in your prompt and go!
response = client . complete ( prompt = 'What is Anarchy?' , context = '' , openai_key = 'ENTER_YOUR_API_KEY' )
print ( response )
# Anarchy is a political ideology that advocates for the absence of government...
# import our client
from llm_vm . client import Client
# Select the LlaMA 2 model
client = Client ( big_model = 'llama2' )
# Put in your prompt and go!
response = client . complete ( prompt = 'What is Anarchy?' , context = '' )
print ( response )
# Anarchy is a political philosophy that advocates no government...
Pilih dari model berikut
Supported_Models = [ 'chat_gpt' , 'gpt' , 'neo' , 'llama2' , 'bloom' , 'opt' , 'pythia' ]
Ukuran model default LLM-VM untuk model lokal dimaksudkan agar eksperimen dengan LLM dapat diakses oleh semua orang, namun jika Anda memiliki memori yang diperlukan, model parameter yang lebih besar akan berperforma jauh lebih baik!
misalnya, jika Anda ingin menggunakan model neo besar dan kecil untuk guru dan siswa, dan Anda memiliki cukup RAM:
# import our client
from llm_vm . client import Client
# Select the LlaMA model
client = Client ( big_model = 'neo' , big_model_config = { 'model_uri' : 'EleutherAI/gpt-neox-20b' },
small_model = 'neo' , small_model_config = { 'model_uri' : 'EleutherAI/gpt-neox-125m' })
# Put in your prompt and go!
response = client . complete ( prompt = 'What is Anarchy?' , context = '' )
print ( response )
# Anarchy is a political philosophy that advocates no government...
Berikut beberapa detail model default:
Nama | Model_Uri | Parameter model | Ukuran file pos pemeriksaan |
---|---|---|---|
Baru | EleutherAI/gpt-neo-1.3B | 1.3B | 5,31GB |
Bunga | bigscience/bloom-560m | 1.7B | 1,12 GB |
MEMILIH | facebook/opt-350m | 350m | 622 MB |
Untuk beberapa pilihan penggunaan memori dan jumlah parameter di setiap kelompok model, lihat tabel model_uri_tables.
Ada dua agen: FLAT dan REBEL.
Jalankan agen secara terpisah dengan masuk ke src/llm_vm/agents/<AGENT_FOLDER>
dan jalankan file yang berjudul agent.py
.
Alternatifnya, untuk menjalankan antarmuka sederhana dan memilih agen untuk dijalankan dari CLI, jalankan file src/llm_vm/agents/agent_interface.py
dan ikuti instruksi prompt perintah.
Kami menyambut kontributor! Untuk memulainya adalah dengan bergabung dengan komunitas perselisihan aktif kami. Jika tidak, berikut beberapa cara untuk berkontribusi dan mendapatkan bayaran:
Kami menawarkan hadiah untuk penutupan tiket tertentu! Lihatlah label tiket untuk melihat berapa banyak hadiahnya. Untuk memulai, bergabunglah dengan perselisihan dan baca panduannya
Matthew Mirman - CEO
Victor Odede - Pemburu
Abhigya Sodani - Peneliti Magang
Carter Schonwald - Kontributor yang Tak Takut
Kyle Wild - Kontributor yang Tak Takut
Aarushi Banerjee - Kontributor Tak Takut
Andrew Nelson - Kontributor yang Tak Takut
Lisensi MIT