Proyek ini adalah penutup kecil dari AutoGen. Ini mengintegrasikan server proxy LiteLLM untuk memberi Anda akses mudah ke LLM apa pun (berpemilik atau sumber terbuka), tanpa harus meninggalkan kenyamanan terminal Anda.
Ia menggunakan perpustakaan Rich dan prompt_toolkit untuk mewarnai input/output yang membuat pembacaan respons besar di terminal biasa sedikit lebih mudah dicerna:
Masukan: Keluaran
Bagian ini memberikan petunjuk tentang cara menyiapkan lingkungan pengembangan Anda untuk mengerjakan proyek ini.
Sebelum memulai, pastikan Anda telah menginstal pyenv
atau conda
di sistem Anda untuk mengelola versi dan lingkungan Python.
Proyek ini diuji dengan Python 3.11.8
. Disarankan untuk menggunakan versi khusus ini untuk menghindari masalah kompatibilitas.
Jika Anda menggunakan pyenv
, Anda dapat menginstal Python 3.11.8
dan menetapkannya sebagai versi lokal untuk proyek tersebut menggunakan perintah berikut:
pyenv install 3.11.8
pyenv local 3.11.8
pyenv virtualenv myenv
Jika Anda lebih suka conda
, buat lingkungan baru dengan Python 3.11.8
menggunakan perintah berikut:
conda create --name myenv python=3.11.8
conda activate myenv
Ganti myenv
dengan nama pilihan Anda untuk lingkungan.
Setelah Anda menyiapkan versi Python yang benar, instal dependensi proyek dengan menjalankan:
pip install -e .
Jika Anda juga berencana untuk mengatur dan menggunakan UI dasbor proxy litellm, yang menawarkan pemantauan biaya dan statistik penggunaan yang rapi, instal dependensi tambahan melalui:
pip install -e ' .[proxy] '
Salin file .env.secrets.example
untuk membuat file .env.secrets
Anda sendiri dan isi kunci API spesifik Anda untuk layanan yang Anda rencanakan akan Anda gunakan seperti OpenAI, MistralAI, model Anthropic, atau lainnya.
cp .env.secrets.example .env.secrets
Edit file .env.secrets
dengan editor teks pilihan Anda dan perbarui kunci API sesuai kebutuhan.
Pertama, Anda perlu menyiapkan DB postgres untuk menyimpan informasi penggunaan dari litellm. Cara termudah untuk melakukannya adalah dengan membuat instance postgres Superbase gratis yang dihosting dengan AWS.
Setelah DB siap digunakan, pastikan Anda dapat menghubungkannya
psql postgresql:// < user > : < password > @ < host > : < port > / < dbname >
Jika koneksi berhasil, cukup atur DATABASE_URL
env var di file .env.secrets
Anda dan Anda siap berangkat. Saat berikutnya Anda memulai server litellm, server tersebut akan secara otomatis terhubung ke DB.
Dengan langkah-langkah ini, Anda harus siap mengerjakan proyek dan menjalankan aplikasi.
Jalankan perintah berikut
python setup.py fix
python setup.py review --file path/to/file
Salah satu keunggulan LiteLLM adalah ia menawarkan antarmuka terpadu untuk memanggil berbagai LLM di antara fitur-fitur keren lainnya. Dalam konteks ini kami menggunakannya untuk memperluas kemampuan AutoGen untuk menggunakan model AI lainnya (yang saat ini tidak didukung secara langsung, tetapi merupakan WIP).
python setup.py litellm
Autogen juga menawarkan UI yang rapi.
Perintah berikut memulai aplikasi AGS dan membuat ui tersedia di http://localhost:8083. DB sqlite AGS bersama dengan artefak terkait lainnya disimpan di src/ui
.
python setup.py ui
Secara default, permintaan model OpenAI tidak dirutekan melalui litellm. Hal ini karena, jika Anda hanya menggunakan penyedia LLM ini, tidak masuk akal untuk menambahkan lapisan tambahan karena Anda dapat dengan mudah memantau biaya di https://platform.openai.com/usage. Namun, jika Anda menggunakan beberapa penyedia LLM, masuk akal jika semua data dikumpulkan dalam satu dasbor -> LiteLLM UI
.
Jika server proxy LiteLLM aktif dan berjalan, maka semua permintaan openai akan secara otomatis dialihkan melalui proxy.
Tangga:
Setelah mengatur lingkungan dan konfigurasi, Anda dapat menjalankan aplikasi dalam direktori src/applications/
.
Menjalankan aplikasi akan membuat sesi percakapan baru berdasarkan alur yang ditentukan dalam aplikasi tersebut.
Ada 2 aplikasi percakapan umum:
start_conversation.py
memulai percakapan sederhana dengan agen yang dipilih dari daftar agen khusus yang telah ditentukan sebelumnya.start_curated_conversation.py
menambahkan AI kritik ke percakapan yang meninjau klaim agen utama Agen khusus baru dapat ditambahkan dalam file definisi agen agents/custom_agents.py
.
Anda dapat mengubah message
di dalam setiap aplikasi, atau menjalankan skrip dan memasukkan prompt Anda di baris perintah (disarankan). Perintahnya memiliki dukungan multiline jadi Enter
hanya menyisipkan baris baru. Untuk mengirimkan prompt, tekan (Meta|Esc)+Enter
.
python chef.py
Aplikasi chef.py
mendemonstrasikan cara menggunakan agen untuk memfasilitasi percakapan tentang memasak. Ini menunjukkan pengaturan obrolan grup dengan beberapa agen dan permulaan obrolan dengan permintaan pengguna.
ollama run codellama
litellm_config.yml
agar berisi referensi model lokal baru atau referensi ke layanan API lain seperti Mistral AI.Model populer lainnya: https://huggingface.co/WizardLM