Organisasi Anda memerlukan Multi-Channel Smart Chatbot dan mesin pencari yang mampu memahami beragam jenis data yang tersebar di berbagai lokasi. Selain itu, chatbot percakapan harus dapat memberikan jawaban atas pertanyaan, beserta sumber dan penjelasan bagaimana dan di mana jawaban tersebut diperoleh. Dengan kata lain, Anda menginginkan ChatGPT yang pribadi dan aman untuk organisasi Anda yang dapat menafsirkan, memahami, dan menjawab pertanyaan tentang data bisnis Anda .
Tujuan POC adalah untuk memperlihatkan/membuktikan nilai Asisten Virtual GPT yang dibangun dengan Layanan Azure, dengan data Anda sendiri di lingkungan Anda sendiri. Kirimannya adalah:
API Bot Backend dibuat dengan Kerangka Bot dan diekspos ke berbagai saluran (Obrolan Web, Tim MS, SMS, Email, Slack, dll)
Aplikasi web frontend dengan Pencarian dan UI Bot.
Repo ini dibuat untuk mengajari Anda langkah demi langkah tentang cara membangun Mesin Pencari Cerdas berbasis OpenAI. Setiap Notebook dibuat di atas satu sama lain dan diakhiri dengan pembuatan dua aplikasi.
Untuk Microsoft FTE: Ini adalah VBD yang didanai pelanggan, di bawah aset untuk pengiriman.
Barang | Keterangan | Link |
---|---|---|
Info dan Lembar Data SKU VBD | CSAM harus mengirimkannya sebagai "Pelanggan Diinvestasikan" terhadap kredit/jam Kontrak Dukungan Terpadu. Pelanggan memutuskan apakah 3 atau 5 hari. | halaman SKU ESXP |
Akreditasi VBD untuk CSA | Tautan bagi CSA untuk mendapatkan Akreditasi yang diperlukan untuk menyelenggarakan lokakarya | Tautan 1, Tautan 2 |
VBD 3-5 hari Aset POC (IP) | MVP yang akan dikirimkan (repo GitHub ini) | Azure-Cognitive-Search-Azure-OpenAI-Accelerator |
Dek Lokakarya VBD | Dek memperkenalkan dan menjelaskan lokakarya | Pengenalan AOAI GPT Azure Smart Search Engine Accelerator.pptx |
Video Pelatihan CSA | Pelatihan 2 Jam untuk Microsoft CSA | Rekaman Pelatihan POC VBD (Video baru segera hadir!) |
Prasyarat Klien 3-5 Hari POC
Langganan Azure
Aplikasi yang Diterima untuk Azure Open AI, termasuk GPT-4o. Jika pelanggan belum memiliki persetujuan GPT-4o, CSA Microsoft dapat meminjamkannya selama lokakarya
Anggota Microsoft sebaiknya ditambahkan sebagai Tamu di klien Azure Active Directory. Jika tidak memungkinkan, maka pelanggan dapat menerbitkan ID perusahaan kepada anggota Microsoft
Grup Sumber Daya (RG) perlu diatur untuk POC Lokakarya ini, di penyewa Azure pelanggan
Tim pelanggan dan tim Microsoft harus memiliki izin Kontributor ke grup sumber daya ini sehingga mereka dapat mengatur semuanya 2 minggu sebelum lokakarya
Akun penyimpanan harus ditetapkan di RG.
Data/Dokumen Pelanggan harus diunggah ke akun penyimpanan blob, setidaknya dua minggu sebelum tanggal lokakarya
Registrasi Aplikasi Multi-Penyewa (Pimpinan Layanan) harus dibuat oleh pelanggan (simpan Id Klien dan Nilai Rahasia).
Pelanggan harus memberikan Tim Microsoft, 10-20 pertanyaan (mudah hingga sulit) yang mereka ingin agar bot merespons dengan benar.
Untuk kolaborasi dan standarisasi IDE selama lokakarya, instans komputasi AML dengan Jupyper Lab akan digunakan, untuk ini, Azure Machine Learning Workspace harus disebarkan di RG
Catatan: Pastikan Anda memiliki kuota komputasi inti yang cukup di ruang kerja Azure Machine Learning Anda
Pengguna mengajukan pertanyaan.
Dalam aplikasinya, OpenAI LLM menggunakan perintah cerdas untuk menentukan sumber mana yang akan digunakan berdasarkan masukan pengguna
Tersedia lima jenis sumber:
Transkrip dialog semua episode Acara TV: FRIENDS
90.000 abstrak publikasi Covid
4 buku PDF panjang
3a. Azure SQL Database - berisi statistik terkait COVID di AS.
3b. Titik Akhir API - API OpenAPI 3.0 yang tenang berisi statistik terkini tentang Covid.
3c. Azure Bing Search API - menyediakan akses ke internet yang memungkinkan pemandangan seperti: QnA di situs web publik.
3d. Azure AI Search - berisi dokumen yang diperkaya AI dari Blob Storage:
3f. File Tabular CSV - berisi statistik terkait COVID di AS.
Aplikasi ini mengambil hasil dari sumbernya dan menyusun jawabannya.
Tupel (Tanya Jawab) disimpan ke CosmosDB sebagai memori persisten dan untuk analisis lebih lanjut.
Jawabannya dikirimkan ke pengguna.
https://gptsmartsearchapp.azurewebsites.net/
100% Piton.
Menggunakan Azure Cognitive Services untuk mengindeks dan memperkaya dokumen tidak terstruktur: OCR pada gambar, Pemotongan, dan vektorisasi otomatis.
Menggunakan Kemampuan Pencarian Hibrid dari Pencarian Azure AI untuk memberikan jawaban semantik terbaik (gabungan pencarian Teks dan Vektor).
Menggunakan LangChain sebagai pembungkus untuk berinteraksi dengan Azure OpenAI, penyimpanan vektor, membuat perintah, dan membuat agen.
Multi-Bahasa (menelan, mengindeks, dan memahami bahasa apa pun)
Multi-Indeks -> beberapa indeks pencarian
Tanya Jawab Data Tabular dengan file CSV dan Database ragam SQL
Menggunakan Azure AI Document Intelligence SDK (sebelumnya Form Recognizer) untuk mengurai dokumen PDF yang kompleks/besar
Menggunakan Bing Search API untuk mendukung pencarian internet dan Tanya Jawab melalui situs web publik.
Terhubung ke sumber Data API dengan mengonversi pertanyaan bahasa alami menjadi panggilan API.
Menggunakan CosmosDB sebagai memori persisten untuk menyimpan percakapan pengguna.
Menggunakan Streamlit untuk membangun aplikasi web Frontend dengan python.
Menggunakan Kerangka Bot dan Layanan Bot untuk Menghosting Backend API Bot dan memaparkannya ke berbagai saluran termasuk Tim MS.
Juga menggunakan LangServe/FastAPI untuk menerapkan API backend alternatif dengan kemampuan streaming
Catatan: (Prasyarat) Anda harus sudah membuat layanan Azure OpenAI
Garpu repo ini ke akun Github Anda.
Di studio Azure OpenAI, sebarkan model berikut (model lama dari yang disebutkan di bawah tidak akan berfungsi):
"gpt-4o"
"gpt-4o-mini"
"text-embedding-ada-002 (atau lebih baru)"
Buat Grup Sumber Daya tempat semua aset akselerator ini akan berada. Azure OpenAI dapat berada dalam RG yang berbeda atau Langganan yang berbeda.
KLIK DI BAWAH untuk membuat semua Infrastruktur Azure yang diperlukan untuk menjalankan Notebook (Azure AI Search, Cognitive Services, dll):
Catatan : Jika Anda belum pernah membuat Azure AI Services Multi-Service account
sebelumnya, harap buat akun secara manual di portal Azure untuk membaca dan menerima persyaratan AI yang Bertanggung Jawab. Setelah ini diterapkan, hapus ini lalu gunakan tombol penerapan di atas.
Kloning repo Forked Anda ke Instans Komputasi AML Anda. Jika repo Anda bersifat pribadi, lihat di bawah di bagian Pemecahan Masalah cara mengkloning repo pribadi.
Pastikan Anda menjalankan notebook di lingkungan conda Python 3.10 atau yang lebih baru
Instal dependensi pada mesin Anda (pastikan Anda melakukan perintah pip di bawah ini pada lingkungan conda yang sama dengan tempat Anda akan menjalankan notebook. Misalnya, dalam instans komputasi AZML yang dijalankan:
conda activate azureml_py310_sdkv2 pip install -r ./common/requirements.txt
Anda mungkin mendapatkan beberapa kesalahan ketergantungan pip, tapi tidak apa-apa, perpustakaan telah diinstal dengan benar terlepas dari kesalahannya.
Edit file credentials.env
dengan nilai Anda sendiri dari layanan yang dibuat pada langkah 4.
Untuk BLOB_SAS_TOKEN dan BLOB_CONNECTION_STRING. Buka Akun Penyimpanan>Keamanan + jaringan>Tanda tangan akses bersama>Buat SAS
Jalankan Notebook secara berurutan . Mereka membangun di atas satu sama lain.
Mengapa menggunakan mesin Pencarian Azure AI untuk menyediakan konteks LLM dan bukan menyempurnakan LLM?
J: Mengutip dokumentasi OpenAI: "GPT-3 telah dilatih sebelumnya pada sejumlah besar teks dari internet terbuka. Saat diberi perintah hanya dengan beberapa contoh, sering kali GPT-3 dapat mengetahui tugas apa yang Anda coba lakukan dan hasilkan penyelesaian yang masuk akal. Hal ini sering disebut dengan “pembelajaran beberapa langkah”. Penyempurnaan meningkatkan pembelajaran beberapa langkah dengan melatih lebih banyak contoh daripada yang dapat ditampung dalam perintah, sehingga memungkinkan Anda mencapai hasil yang lebih baik pada sejumlah besar tugas. Setelah model disempurnakan, Anda tidak perlu lagi memberikan contoh di prompt. Hal ini menghemat biaya dan memungkinkan permintaan dengan latensi lebih rendah "
Namun, menyempurnakan model memerlukan penyediaan ratusan atau ribuan tupel Prompt dan Completion, yang pada dasarnya merupakan sampel respons kueri. Tujuan dari fine-tuning bukan untuk memberikan pengetahuan kepada LLM tentang data perusahaan, namun untuk memberikan contoh sehingga dapat melakukan tugas dengan sangat baik tanpa memerlukan contoh di setiap perintah.
Ada kalanya penyesuaian diperlukan, misalnya saat contoh berisi data hak milik yang tidak boleh diekspos saat diminta atau saat bahasa yang digunakan sangat terspesialisasi, seperti dalam layanan kesehatan, farmasi, atau industri lain, atau kasus penggunaan yang bahasanya digunakan tidak umum ditemukan di internet.
Langkah-langkah untuk mengkloning repo pribadi:
Di Terminal Anda, Tempelkan teks di bawah ini, gantikan dengan alamat email GitHub Anda. Hasilkan kunci SSH baru.
ssh-keygen -t ed25519 -C "[email protected]"
Salin kunci publik SSH ke clipboard Anda. Tambahkan kunci SSH baru.
cat ~/.ssh/id_ed25519.pub# Kemudian pilih dan salin isi file id_ed25519.pub# yang ditampilkan di terminal ke clipboard Anda
Di GitHub, buka Pengaturan-> Kunci SSH dan GPG-> Kunci SSH Baru
Di kolom "Judul", tambahkan label deskriptif untuk kunci baru. "Hitung AML". Di bidang "Kunci", tempelkan kunci publik Anda.
Kloning repo pribadi Anda
git clone [email protected]: NAMA PENGGUNA ANDA/REPOSITORY ANDA.git
Proyek ini menyambut baik kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda menyetujui Perjanjian Lisensi Kontributor (CLA) yang menyatakan bahwa Anda berhak, dan memang benar, memberi kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi https://cla.opensource.microsoft.com.
Saat Anda mengirimkan permintaan tarik, bot CLA akan secara otomatis menentukan apakah Anda perlu memberikan CLA dan menghiasi PR dengan tepat (misalnya, pemeriksaan status, komentar). Cukup ikuti instruksi yang diberikan oleh bot. Anda hanya perlu melakukan ini sekali di seluruh repo menggunakan CLA kami.
Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi lebih lanjut lihat FAQ Pedoman Perilaku atau hubungi [email protected] jika ada pertanyaan atau komentar tambahan.
Proyek ini mungkin berisi merek dagang atau logo untuk proyek, produk, atau layanan. Penggunaan resmi atas merek dagang atau logo Microsoft tunduk dan harus mengikuti Pedoman Merek Dagang & Merek Microsoft. Penggunaan merek dagang atau logo Microsoft dalam versi modifikasi proyek ini tidak boleh menimbulkan kebingungan atau menyiratkan sponsor Microsoft. Segala penggunaan merek dagang atau logo pihak ketiga tunduk pada kebijakan pihak ketiga tersebut.