Tugas bisa juga diatur untuk bekerja dengan satu atau lebih deployment Large Language Model (LLM) melalui penyedia layanan yang didukung seperti OpenAI, Azure, atau Hugging Face. Penyedia ini menawarkan hosted endpoint (API) yang bisa kita akses secara programatis dengan kredensial yang sesuai (API key atau token). Di kursus ini, kita membahas penyedia berikut:
- OpenAI dengan berbagai model termasuk seri inti GPT.
- Azure OpenAI untuk model OpenAI dengan fokus pada kesiapan enterprise
- Hugging Face untuk model open-source dan inference server
Kamu perlu menggunakan akunmu sendiri untuk latihan ini. Tugas bersifat opsional, jadi kamu bisa memilih untuk mengatur satu, semua, atau tidak sama sekali penyedia sesuai minatmu. Berikut beberapa panduan untuk pendaftaran:
| Daftar | Biaya | API Key | Playground | Komentar |
|---|---|---|---|---|
| OpenAI | Harga | Berdasarkan Proyek | Tanpa Kode, Web | Tersedia Banyak Model |
| Azure | Harga | SDK Quickstart | Studio Quickstart | Harus Ajukan Akses Terlebih Dahulu |
| Hugging Face | Harga | Access Tokens | Hugging Chat | Model di Hugging Chat terbatas |
Ikuti petunjuk di bawah untuk mengonfigurasi repository ini agar bisa digunakan dengan berbagai penyedia. Tugas yang membutuhkan penyedia tertentu akan memiliki salah satu tag berikut di nama filenya:
aoai- membutuhkan endpoint dan key Azure OpenAIoai- membutuhkan endpoint dan key OpenAIhf- membutuhkan token Hugging Face
Kamu bisa mengonfigurasi satu, tidak sama sekali, atau semua penyedia. Tugas terkait akan error jika kredensial tidak tersedia.
Kami mengasumsikan kamu sudah membaca panduan di atas, mendaftar ke penyedia yang relevan, dan mendapatkan kredensial autentikasi yang dibutuhkan (API_KEY atau token). Untuk Azure OpenAI, kami juga mengasumsikan kamu sudah memiliki deployment Azure OpenAI Service (endpoint) yang valid dengan minimal satu model GPT yang sudah dideploy untuk chat completion.
Langkah selanjutnya adalah mengonfigurasi environment variable lokal seperti berikut:
-
Cari file
.env.copydi folder root yang seharusnya berisi seperti ini:# OpenAI Provider OPENAI_API_KEY='<add your OpenAI API key here>' ## Azure OpenAI AZURE_OPENAI_API_VERSION='2024-02-01' # Default is set! AZURE_OPENAI_API_KEY='<add your AOAI key here>' AZURE_OPENAI_ENDPOINT='<add your AOIA service endpoint here>' AZURE_OPENAI_DEPLOYMENT='<add your chat completion model name here>' AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='<add your embeddings model name here>' ## Hugging Face HUGGING_FACE_API_KEY='<add your HuggingFace API or token here>'
-
Salin file tersebut menjadi
.envdengan perintah di bawah. File ini sudah gitignore, jadi rahasia tetap aman.cp .env.copy .env
-
Isi nilai-nilainya (ganti placeholder di sisi kanan
=) sesuai penjelasan di bagian berikutnya. -
(Opsional) Jika kamu menggunakan GitHub Codespaces, kamu bisa menyimpan environment variable sebagai Codespaces secrets yang terhubung dengan repository ini. Dengan cara ini, kamu tidak perlu mengatur file .env lokal. Namun, opsi ini hanya berlaku jika kamu menggunakan GitHub Codespaces. Kamu tetap perlu mengatur file .env jika menggunakan Docker Desktop.
Mari kita lihat nama variabelnya agar paham fungsinya:
| Variabel | Deskripsi |
|---|---|
| HUGGING_FACE_API_KEY | Ini adalah access token pengguna yang kamu atur di profilmu |
| OPENAI_API_KEY | Ini adalah key otorisasi untuk menggunakan layanan endpoint OpenAI non-Azure |
| AZURE_OPENAI_API_KEY | Ini adalah key otorisasi untuk menggunakan layanan tersebut |
| AZURE_OPENAI_ENDPOINT | Ini adalah endpoint yang sudah dideploy untuk resource Azure OpenAI |
| AZURE_OPENAI_DEPLOYMENT | Ini adalah endpoint deployment model text generation |
| AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | Ini adalah endpoint deployment model text embeddings |
Catatan: Dua variabel Azure OpenAI terakhir merepresentasikan model default untuk chat completion (text generation) dan pencarian vektor (embeddings). Instruksi pengaturannya akan dijelaskan di tugas terkait.
Nilai endpoint dan key Azure OpenAI bisa ditemukan di Azure Portal, jadi mari mulai dari sana.
- Buka Azure Portal
- Klik opsi Keys and Endpoint di sidebar (menu kiri).
- Klik Show Keys - kamu akan melihat: KEY 1, KEY 2, dan Endpoint.
- Gunakan nilai KEY 1 untuk AZURE_OPENAI_API_KEY
- Gunakan nilai Endpoint untuk AZURE_OPENAI_ENDPOINT
Selanjutnya, kita butuh endpoint untuk model spesifik yang sudah dideploy.
- Klik opsi Model deployments di sidebar (menu kiri) untuk resource Azure OpenAI.
- Di halaman tujuan, klik Manage Deployments
Ini akan membawamu ke website Azure OpenAI Studio, di mana kita akan menemukan nilai lain seperti dijelaskan di bawah.
- Akses Azure OpenAI Studio dari resource-mu seperti dijelaskan di atas.
- Klik tab Deployments (sidebar kiri) untuk melihat model yang sudah dideploy.
- Jika model yang diinginkan belum dideploy, gunakan Create new deployment untuk mendeply-nya.
- Kamu butuh model text-generation - kami rekomendasikan: gpt-35-turbo
- Kamu butuh model text-embedding - kami rekomendasikan text-embedding-ada-002
Sekarang, update environment variable sesuai Deployment name yang digunakan. Biasanya sama dengan nama model kecuali kamu mengubahnya. Sebagai contoh, kamu mungkin punya:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'Jangan lupa simpan file .env setelah selesai. Kamu bisa keluar dari file dan kembali ke instruksi menjalankan notebook.
API key OpenAI-mu bisa ditemukan di akun OpenAI. Jika belum punya, kamu bisa daftar akun dan membuat API key. Setelah punya key-nya, gunakan untuk mengisi variabel OPENAI_API_KEY di file .env.
Token Hugging Face-mu bisa ditemukan di profil pada bagian Access Tokens. Jangan posting atau bagikan token ini secara publik. Sebaiknya buat token baru khusus untuk proyek ini dan salin ke file .env di variabel HUGGING_FACE_API_KEY. Catatan: Secara teknis ini bukan API key, tapi digunakan untuk autentikasi jadi penamaan tetap dipakai agar konsisten.
Disclaimer: Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI Co-op Translator. Meskipun kami berupaya untuk memberikan terjemahan yang akurat, harap diketahui bahwa terjemahan otomatis dapat mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang berwenang. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemah profesional. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang timbul dari penggunaan terjemahan ini.