Ini adalah panduan tentang cara membuat Bot Telegram yang didukung oleh LLM (yaitu llama2-chat, llama2-chat-32k, vicuna). Bot dihosting di instans EC2 tingkat gratis, inferensi llm dihosting di Beam Cloud sebagai REST API tanpa server, yang gratis untuk 10 jam pertama komputasi. Semuanya berjalan cukup lambat, tapi ini hanyalah titik awal.
Anda dapat mengikuti panduan ini untuk membuat Bot Telegram Python:
Cara Membuat Bot Telegram menggunakan Python
Di sini saya akan memberi Anda langkah-langkah utamanya:
Anda sekarang dapat memulai percakapan dengan bot Anda dengan mencari nama pengguna di Telegram.
Sedangkan untuk menghosting inferensi llm, opsi terbaik yang saya temukan saat ini adalah Beam Cloud. Harga komputasi mereka termasuk yang termurah dan mereka menawarkan 10 jam komputasi gratis dengan GPU yang bagus. Tawaran penyimpanan gratis, yang sangat dihargai.
Chatbot dibuat menggunakan langchain dan huggingface. Jadi, jika Anda ingin menggunakan model keluarga Llama 2, Anda memerlukan akses ke model tersebut. Ini sangat mudah dilakukan dan mereka sangat cepat dalam menyetujui permintaan tersebut.
TODO Saya menggunakan beberapa sumber untuk mengumpulkan langchain dan HF, saya akan menambahkannya secepatnya.
Jika Anda ingin menggunakan model yang terjaga keamanannya, Anda perlu menyetel token wajah pelukan. Ini ada di dalam kode, saya akan memperbaikinya di hari-hari berikutnya.
Ini adalah panduan untuk menghasilkan token:
Token akses Pengguna HuggingFace
Setelah Anda membuat akun, tidak diperlukan metode pembayaran, buka dasbor dan di bawah tab Pengaturan di menu kanan Anda dapat menemukan Rahasia. Jika Anda menggunakan model seperti llama 2 yang memerlukan token wajah pelukan maka Anda perlu mengatur variabel HF_TOKEN dengan token wajah pelukan.
Kemudian Anda dapat melakukan semuanya secara lokal. Pindah ke subdirektori lm.
cd ./src/telegram_llm_bot/shared/llm/beam
Ikuti panduan instalasi Beam Instalasi Beam.
Di dalam file app.py Anda dapat mengubah variabel berikut atau membiarkannya apa adanya. Saya akan segera memindahkannya ke file konfigurasi:
HF_CACHE = "./models"
MODEL_ID = "meta-llama/Llama-2-7b-chat-hf"
APP_NAME = "travel-guru"
GPU = "T4"
MEMORY = "16Gi"
Anda siap menerapkan aplikasi:
beam deploy app.py
Aplikasi seharusnya sudah aktif dan berjalan sekarang. Buka Beam Dashboard dan di bawah tab Aplikasi Anda dapat menemukan aplikasi Anda.
Anda dapat menghosting bot Anda secara gratis di instans EC2 tingkat gratis. Ini adalah panduan yang dapat Anda ikuti:
Tutorial: Memulai instans Amazon EC2 Linux
Selama pembuatan instance, Anda harus ingat untuk membuat pasangan kunci yang akan Anda gunakan untuk terhubung melalui ssh ke instance Anda dari jarak jauh.
Saya sarankan untuk mengatur Ubuntu sebagai OS.
Setelah Anda mengatur pasangan kunci, .pem akan diunduh secara otomatis.
Sekarang Anda dapat terhubung ke instance EC2 melalui baris perintah menggunakan ssh:
ssh -i " {filename}.pem " ubuntu@{address}.{region}.compute.amazonaws.com
Kloning repositori ini pada instans EC2. Kami hanya memerlukan folder bot, kami memerlukan sisanya, jadi saya mungkin akan memisahkannya dari yang lain di masa mendatang, untuk saat ini ini bukan masalah besar:
git clone https://github.com/ma2za/telegram-llm-bot.git
Pindah ke direktori bot
cd telegram-llm-bot
Buat file .env untuk menyetel variabel lingkungan yang umum untuk semua bot Anda
touch .env
Via nano ubah konten .env dengan konten berikut.
MONGO_HOST=telegram-mongo
MONGO_PORT=27017
Ini diperlukan untuk menyiapkan database MongoDB untuk menyimpan percakapan.
Buat file .env lain khusus untuk bot guna mengatur variabel lingkungan
touch ./src/telegram_llm_bot/bots/base_chatbot/.env
Via nano ubah konten .env dengan konten berikut.
TELEGRAM_BOT_TOKEN =
BEAM_TOKEN =
BEAM_URL = https://apps.beam.cloud/{something}
SETTINGS_FILE=telegram_llm_bot.bots.base_chatbot.settings
BOT_NAME=travel-guru
TELEGRAM_BOT_TOKEN adalah token yang kami terima sebelumnya dari Botfather.
BEAM_TOKEN : di bawah Kunci API di dasbor aplikasi Beam Anda dapat membuat token Beam.
BEAM_URL diperoleh dari ikhtisar aplikasi di mana Anda dapat mengklik Call API dan di sana Anda dapat dengan mudah mengetahui urlnya
Kami akhirnya dapat menggunakan penulisan buruh pelabuhan untuk membuat image dan menjalankan container.
Instal Docker dan penulisan Docker. Berikut panduan resminya:
Instal Mesin Docker di Ubuntu
Bangun, buat, dan mulai penampung:
sudo docker compose up -d --build
Kita sudah selesai di sini!
Perintah sistem terdapat di config.yml .
Anda siap mengobrol!