Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Karena permintaan untuk aplikasi yang diinfus LLM melonjat, organisasi memerlukan proses yang kohesif dan efisien untuk mengelola siklus hidup end-to-end aplikasi ini. Generative Artificial Intelligence Operations (GenAIOps), kadang-kadang disebut LLMOps, adalah landasan rekayasa prompt yang efisien dan pengembangan dan penyebaran aplikasi yang diinfus LLM.
Artikel ini memperlihatkan bagaimana Azure Pembelajaran Mesin memungkinkan Anda berintegrasi dengan GitHub untuk mengotomatiskan siklus hidup pengembangan aplikasi yang diinfus LLM dengan alur perintah. Alur prompt menyediakan pendekatan yang efisien dan terstruktur untuk mengembangkan aplikasi yang diinfus LLM. Proses dan siklus hidupnya yang terdefinisi dengan baik memandu Anda melalui proses membangun, menguji, mengoptimalkan, dan menyebarkan alur, yang berpuncak dalam pembuatan solusi yang diinfus LLM yang berfungsi penuh.
Fitur alur perintah GenAIOps
GenAIOps dengan alur perintah menggunakan templat dan panduan GenAIOps untuk membantu Anda membangun aplikasi yang diinfus LLM dengan menggunakan alur perintah. GenAIOps dengan alur prompt memiliki kemampuan untuk aplikasi yang diinfus LLM sederhana atau kompleks, dan dapat disesuaikan dengan kebutuhan aplikasi.
GenAIOps dengan platform alur perintah menyediakan fitur-fitur berikut:
Hosting kode terpusat. Repositori mendukung kode hosting untuk beberapa alur prompt, menyediakan satu repositori untuk semua alur Anda. Repositori ini seperti pustaka untuk alur Anda, sehingga mudah ditemukan, diakses, dan dikolaborasikan pada proyek yang berbeda.
Manajemen siklus hidup. Setiap alur memiliki siklus hidupnya sendiri, memberikan transisi yang lancar dari eksperimen lokal ke penyebaran produksi.
Eksperimen varian dan hyperparameter. Varian dan hiperparameter seperti bahan dalam resep. Platform ini memungkinkan Anda untuk bereksperimen dengan kombinasi varian yang berbeda di beberapa simpul dalam alur. Anda dapat bereksperimen dengan beberapa varian dan hiperparameter untuk mengevaluasi varian aliran dengan mudah.
Beberapa target penyebaran. Platform ini menghasilkan gambar Docker yang diinfuskan dengan alur dan sesi komputasi Anda untuk penyebaran ke platform target dan sistem operasi apa pun yang mendukung Docker. Anda dapat menyebarkan alur ke komputasi Azure App Services, Kubernetes, dan Azure Managed, dan mengonfigurasinya untuk menskalakan sesuai kebutuhan.
Penyebaran A/B. GenAIOps dengan alur perintah menerapkan penyebaran A/B dengan mulus, memungkinkan Anda membandingkan versi alur yang berbeda dengan mudah. Platform ini memfasilitasi penyebaran A/B untuk alur permintaan dengan cara yang sama seperti dalam pengujian A/B situs web tradisional. Anda dapat dengan mudah membandingkan berbagai versi alur dalam pengaturan dunia nyata untuk menentukan versi mana yang berkinerja terbaik.
Himpunan data banyak ke banyak untuk mengalirkan hubungan. GenAIOps dengan aliran perintah mengakomodasi beberapa himpunan data untuk setiap aliran standar dan evaluasi, memungkinkan fleksibilitas dalam pengujian dan evaluasi alur.
Data bersyarah dan pendaftaran model. Platform ini mendaftarkan versi himpunan data baru untuk aset dan alur data Azure Pembelajaran Mesin di registri model hanya ketika ada perubahan dalam himpunan data.
Pelaporan komprehensif. GenAIOps dengan alur perintah menghasilkan laporan terperinci untuk setiap konfigurasi varian, memungkinkan Anda membuat keputusan berdasarkan informasi. Platform ini menyediakan pengumpulan metrik terperinci, eksperimen, dan varian eksekusi massal untuk semua eksekusi dan eksperimen, memungkinkan keputusan berbasis data untuk file CSV dan HTML.
GenAIOps dengan alur prompt menyediakan fitur lain berikut untuk penyesuaian:
- Bring-your-own-flows (BYOF) menyediakan platform lengkap untuk mengembangkan beberapa kasus penggunaan yang terkait dengan aplikasi yang diinfus LLM.
- Pengembangan berbasis konfigurasi berarti tidak perlu menulis kode boilerplate yang luas.
- Eksperimen dan evaluasi prompt dijalankan baik secara lokal maupun di cloud.
- Notebook untuk evaluasi permintaan lokal menyediakan pustaka fungsi untuk eksperimen lokal.
- Pengujian titik akhir dalam alur setelah penyebaran memeriksa ketersediaan dan kesiapan titik akhir.
- Human-in-loop opsional memvalidasi metrik prompt sebelum penyebaran.
Tahapan GenAIOps
Siklus hidup GenAIOps terdiri dari empat tahap yang berbeda:
Inisialisasi. Tentukan tujuan bisnis dengan jelas, kumpulkan sampel data yang relevan, buat struktur prompt dasar, dan buat alur yang meningkatkan kemampuannya.
Eksperimen. Terapkan alur ke data sampel, nilai performa prompt, dan perbaiki alur sesuai kebutuhan. Terus berulang sampai puas dengan hasilnya.
Evaluasi dan penyempurnaan. Tolok ukur performa alur menggunakan himpunan data yang lebih besar, evaluasi efektivitas prompt, dan buat penyempurnaan yang sesuai. Lanjutkan ke tahap berikutnya jika hasilnya memenuhi standar yang diinginkan.
Penyebaran. Optimalkan alur untuk efisiensi dan efektivitas, sebarkan di lingkungan produksi termasuk penyebaran A/B, pantau performanya, kumpulkan umpan balik pengguna, dan gunakan informasi ini untuk lebih meningkatkan alur.
Dengan mematuhi metodologi terstruktur ini, alur prompt memberdayakan Anda untuk dengan percaya diri mengembangkan, menguji dengan ketat, menyempurnakan, dan menyebarkan alur, yang mengarah pada pembuatan aplikasi AI yang kuat dan canggih.
Templat alur prompt GenAIOps meresmikan metodologi terstruktur ini dengan menggunakan pendekatan code-first, dan membantu Anda membangun aplikasi yang diinfus LLM menggunakan alat alur dan proses yang cepat dan fitur alur prompt GenAIOps. Templat ini tersedia di GenAIOps dengan templat alur perintah.
Alur proses GenAIOps
- Dalam tahap inisialisasi, Anda mengembangkan alur, menyiapkan dan mengumpulkan data, dan memperbarui file konfigurasi terkait GenAIOps.
- Setelah pengembangan lokal menggunakan Visual Studio Code dengan ekstensi Prompt Flow, Anda mengajukan permintaan pull (PR) dari cabang fitur ke cabang pengembangan, yang menjalankan alur validasi build dan alur eksperimen.
- PR disetujui secara manual dan kode digabungkan ke cabang pengembangan.
- Setelah PR bergabung ke cabang pengembangan, alur integrasi berkelanjutan (CI) untuk lingkungan dev dijalankan. Alur CI menjalankan alur eksperimen dan evaluasi secara berurutan dan mendaftarkan alur di Azure Pembelajaran Mesin Registry selain dari langkah lain dalam alur.
- Setelah eksekusi alur CI selesai, pemicu penyebaran berkelanjutan (CD) menjalankan alur CD, yang menyebarkan alur standar dari Azure Pembelajaran Mesin Registry sebagai titik akhir online Azure Pembelajaran Mesin. Alur kemudian menjalankan integrasi dan uji asap pada alur yang disebarkan.
- Cabang rilis dibuat dari cabang pengembangan, atau PR dinaikkan dari cabang pengembangan ke cabang rilis.
- PR disetujui secara manual dan kode digabungkan ke cabang rilis. Setelah PR digabungkan ke cabang rilis, alur CI untuk lingkungan produksi dijalankan. Alur menjalankan alur eksperimen dan evaluasi secara berurutan dan mendaftarkan alur di Azure Pembelajaran Mesin Registry selain dari langkah-langkah lain dalam alur.
- Setelah eksekusi alur CI selesai, pemicu CD menjalankan alur CD, yang menyebarkan alur standar dari Azure Pembelajaran Mesin Registry sebagai titik akhir online Azure Pembelajaran Mesin. Alur kemudian menjalankan integrasi dan uji asap pada alur yang disebarkan.
Membuat alur prompt GenAIOps
Sisa artikel ini menunjukkan kepada Anda cara menggunakan GenAIOps dengan alur perintah dengan mengikuti sampel end-to-end di GenAIOps dengan repositori templat alur perintah, yang membantu Anda membangun aplikasi yang diinfus LLM menggunakan alur prompt dan GitHub. Tujuan utamanya adalah untuk memberikan bantuan dalam pengembangan aplikasi ini dengan menggunakan kemampuan alur prompt dan GenAIOps.
Prasyarat
- Langganan Azure dengan versi gratis atau berbayar Azure Pembelajaran Mesin.
- Ruang kerja Azure Machine Learning.
- Git versi 2.27 atau yang lebih baru berjalan di komputer lokal Anda, dengan kemampuan untuk membuat repositori kontrol sumber GitHub.
- Pemahaman tentang cara mengintegrasikan GenAIOps dengan alur prompt.
Menyiapkan koneksi alur perintah
Alur perintah menggunakan sumber daya koneksi untuk menyambungkan ke titik akhir Azure OpenAI, OpenAI, atau Azure AI Search. Anda dapat membuat koneksi melalui UI portal alur perintah atau dengan menggunakan REST API. Untuk informasi selengkapnya, lihat Koneksi dalam alur perintah.
Untuk membuat koneksi, ikuti instruksi di Menyiapkan koneksi untuk alur perintah. Alur sampel menggunakan koneksi yang disebut aoai
, jadi beri nama koneksi Anda.
Menyiapkan sesi komputasi
Alur prompt menggunakan sesi komputasi untuk menjalankan alur. Buat dan mulai sesi komputasi sebelum Anda menjalankan alur perintah.
Menyiapkan repositori GitHub
Untuk membuat repositori fork di organisasi GitHub Anda, ikuti instruksi di Menyiapkan repositori GitHub. Repositori ini menggunakan dua cabang, dan development
, main
untuk promosi kode dan eksekusi alur.
Untuk membuat repositori lokal baru, ikuti instruksi di Mengkloning repositori. Kloning ini membantu Anda membuat cabang fitur baru dari cabang pengembangan dan menggabungkan perubahan.
Menyiapkan autentikasi antara GitHub dan Azure
Proses ini mengonfigurasi rahasia GitHub yang menyimpan informasi perwakilan layanan. Untuk menyambungkan ke Azure secara otomatis, alur kerja di repositori dapat membaca informasi koneksi dengan menggunakan nama rahasia. Untuk informasi selengkapnya, lihat Menggunakan GitHub Actions untuk menyambungkan ke Azure.
- Buat perwakilan layanan dengan mengikuti instruksi di Membuat perwakilan layanan Azure.
- Gunakan perwakilan layanan untuk menyiapkan autentikasi antara repositori GitHub dan layanan Azure dengan mengikuti instruksi di Menyiapkan autentikasi dengan Azure dan GitHub.
Menguji alur
Untuk menguji alur, ikuti instruksi di Memperbarui data pengujian. Proses lengkapnya melibatkan langkah-langkah berikut:
- Anda menaikkan PR dari cabang fitur ke cabang pengembangan.
- Alur PR dijalankan secara otomatis karena konfigurasi kebijakan cabang.
- PR digabungkan ke cabang pengembangan.
- Alur terkait
dev
dijalankan, menghasilkan eksekusi dan provisi CI dan CD penuh atau memperbarui titik akhir Azure Pembelajaran Mesin.
Output akan terlihat mirip dengan contoh di Contoh eksekusi, evaluasi, dan skenario penyebaran.
Menggunakan eksekusi lokal
Untuk menggunakan kemampuan eksekusi lokal, ikuti langkah-langkah ini.
Kloning repositori sebagai berikut:
git clone https://github.com/microsoft/genaiops-promptflow-template.git
Buat file .env di tingkat folder atas. Tambahkan baris untuk setiap koneksi, memperbarui nilai untuk tempat penampung. Contoh dalam contoh repositori menggunakan koneksi AzureOpenAI bernama
aoai
dan versi2024-02-01
API .aoai={ "api_key": "<api key>","api_base": "<api base or endpoint>","api_type": "azure","api_version": "2024-02-01"} <connection2>={ "api_key": "<api key>","api_base": "<api base or endpoint>","api_type": "<api type>","api_version": "<api_version>"}
Siapkan conda lokal atau lingkungan virtual untuk menginstal dependensi.
python -m pip install promptflow promptflow-tools promptflow-sdk jinja2 promptflow[azure] openai promptflow-sdk[builtins] python-dotenv
Bawa atau tulis alur Anda ke dalam templat berdasarkan instruksi tentang Cara onboarding alur baru.
Tulis skrip Python di folder local_execution yang mirip dengan contoh yang disediakan.