demo ini didasarkan pada situs web Learn Microsoft
Beberapa notebook jupyter lainnya akan tersedia di repositori untuk menunjukkan cara menggunakan asisten dengan cara yang lebih kompleks.
Demo ini akan menggunakan python, perpustakaan openAi dan azure untuk membuat asisten untuk digunakan di notebook jupyter.
Kalau mau tes langsung di studio Azure Ai ada di sini Azure OpenAi studio
Dokumentasi untuk studio Azure Ai
Seorang asisten (atau banyak orang yang dapat bekerja sama!) dapat melakukan berbagai tugas, seperti menjawab pertanyaan, memberikan rekomendasi, dan menjalankan perintah dengan bantuan alat.
Seorang asisten mungkin memiliki beberapa alat:
Anda dapat menggunakan asisten untuk membangun berbagai macam aplikasi, seperti chatbot, agen virtual, dan lainnya.
Jelasnya Anda dapat membuat dalam beberapa baris kode beberapa asisten dengan alat untuk membuat alur rangkaian untuk menjawab permintaan atau permintaan dari pengguna. asisten akan mengambil alat yang tepat untuk permintaan sesuai permintaan pengguna.
dalam ide yang sama Anda dapat menggunakan model berbeda berdasarkan asisten untuk mendapatkan respons yang lebih baik atau untuk membatasi biaya asisten
Anda dapat membuat beberapa asisten dengan alat berbeda di satu thread (asinkron atau tidak) untuk menyelesaikan masalah atau memberikan respons kepada pengguna, Anda juga dapat memiliki thread berbeda dengan asisten berbeda
Thread Multi-Asisten Berjalan dengan pemanggilan fungsi paralel
Pada akhirnya dengan perpustakaan ini Anda akan mengambil respons dalam format json, format yang mudah digunakan dengan python dan melakukan beberapa proses di dalamnya.
untuk membuat orkestrasi asisten Anda harus mengelola ini:
Demo pertama di root repositori adalah asisten sederhana berdasarkan dokumentasi Microsoft.
AoaiAssistant.ipynb
Skenario nama | Buku catatan deskripsi | Link |
---|---|---|
Asisten pemecahan matematika | 1 asisten dengan hanya penerjemah kode sebagai alat | AoaiAssistant.ipynb |
Anda perlukan jika ingin menguji notebook secara lokal:
python 3.8 atau lebih baru
kode dan plugin visual studio:
Langganan Azure - $200 untuk langganan pertama
Akses ke layanan Azure OpenAi Minta akses untuk AOAI
Akses ke model gpt4 0125 terbaru (Sebenarnya tersedia Swedia Tengah, AS Barat, Jepang Timur)
Model lain kompatibel untuk fitur agen
Terapkan layanan di portal Azure untuk layanan Azure open Ai di wilayah yang sesuai
Buat penerapan model di studio Ai layanan openAi biru, beri nama penerapannya
atau
Codespace untuk menggunakan notebook di cloud dengan Github
Untuk nama penerapan model (biasanya Anda memberi nama yang mungkin berbeda dari nama model saat Anda menerapkannya) di studio Azure Ai, Anda dapat menemukannya di bagian penerapan model jika Anda tidak' jangan ingatkan itu
Anda harus mengubah dengan benar informasi di secret_env yang diganti namanya menjadi secret.env
titik akhir biru dan kunci biru untuk layanan Open Ai dapat ditemukan di portal/langganan biru Anda atau langsung di kategori percakapan di Ai studio, dengan model dipilih dan kode tombol diklik pada langkah pertama Dan setelah itu Anda harus mengklik tombol "tunjukkan rahasia" untuk mendapatkan kunci dan titik akhir ditampilkan dalam kode contoh
Anda harus mengklik setiap langkah kode dengan tombol putar di sebelah kiri setiap sel
jika tidak ada kesalahan yang akan Anda peroleh di sel terakhir json dump ini dengan hasil dan semua informasi yang dikumpulkan
Jika sudah siap, Anda dapat mengikuti langkah-langkah di buku catatan AzureAOAI.ipynb
Dalam kasus saya, penerapan model saya untuk gpt4-1106 diberi nama gpt-4turbo
Anda sekarang dapat menggunakan notebook python dalam kode visual studio (atau di dalam browser dengan codespace) jika Anda ingin membuat beberapa proses pada hasil atau orkestrasi dengan hasil asisten:
Apakah Anda telah membuat asisten? Apakah Anda ingin memahami cara mengelola thread dan pesan?
Pertama-tama lihat dokumentasi untuk pemahaman dan mulai dengan asisten
Itu menghormati aliran tertentu untuk membuat thread dan mengelola pesan di thread.
diagram urutan
peserta A sebagai Asisten Penciptaan
peserta B sebagai Pembuatan Thread
peserta C sebagai Pembuatan Pesan Pengguna
peserta D sebagai Eksekusi Thread
peserta E sebagai Run Status Retrieval
peserta F sebagai Status Check Loop
peserta G sebagai Pengambilan Pesan
A->>B: Buat Asisten dengan Model
B->>C: Buat Utas
C->>D: Tambahkan Pesan Pengguna ke Thread
D->>E: Jalankan Thread
E->>F: Ambil Status Jalankan
F->>F: Ulangi hingga status final
F-->>G: Status: selesai
Catatan di kanan G: Ambil dan tampilkan pesan
F-->>A: Status: dibatalkan
F-->>A: Status: kadaluwarsa
F-->>A: Status: gagal
{
"data" : [
{
"id" : " msg_5Oc2nmN7boHKfYuJaOnxkYrQ " ,
"assistant_id" : " asst_vid43QSBUFAVr7f7nraAwfkS " , // the id of the assistant
"content" : [
{
"text" : {
"annotations" : [],
"value" : " The solution to the equation \ (3x + 11 = 14 \ ) is \ (x = 1 \ ). " // the result of the assistant
},
"type" : " text "
}
],
"created_at" : 1706827368 ,
"file_ids" : [],
"metadata" : {},
"object" : " thread.message " ,
"role" : " assistant " ,
"run_id" : " run_VlCTYceNmV8HlQyOLQUe7Xj6 " ,
"thread_id" : " thread_KM402gTevvYxlfxYA1ONQPHP "
},
{
"id" : " msg_ZHWVk1gJT292L4YJzlbLjmFq " ,
"assistant_id" : null ,
"content" : [
{
"text" : {
"annotations" : [],
"value" : " I need to solve the equation `3x + 11 = 14`. Can you help me? " // the rquest of the user
},
"type" : " text "
}
],
"created_at" : 1706827327 ,
"file_ids" : [],
"metadata" : {},
"object" : " thread.message " ,
"role" : " user " ,
"run_id" : null ,
"thread_id" : " thread_KM402gTevvYxlfxYA1ONQPHP " // id of the thread
}
],
"object" : " list " ,
"first_id" : " msg_5Oc2nmN7boHKfYuJaOnxkYrQ " , // the id of the first message - request user
"last_id" : " msg_ZHWVk1gJT292L4YJzlbLjmFq " , // Last message of the thread
"has_more" : false
}
Alat penerjemah kode mengonversi kode python. Dalam kasus penggunaan ini, jika Anda ingin memverifikasi solusi asisten untuk masalah matematika dengan perpustakaan khusus seperti sympy atau numpy
Informasi ini diambil dari perpustakaan openAi di perpustakaan python python openai
code_interpreter
, retrieval
, atau function
.