Asisten kecerdasan buatan (AI) percakapan dirancang untuk memberikan respons yang tepat dan real-time melalui perutean kueri yang cerdas ke fungsi AI yang paling sesuai. Dengan layanan AI generatif AWS seperti Batuan Dasar Amazon, pengembang dapat membuat sistem yang secara ahli mengelola dan merespons permintaan pengguna. Amazon Bedrock adalah layanan terkelola sepenuhnya yang menawarkan pilihan model fondasi (FM) berperforma tinggi dari perusahaan AI terkemuka seperti AI21 Labs, Anthropic, Cohere, Meta, Stability AI, dan Amazon menggunakan satu API, bersama dengan serangkaian luas kemampuan yang Anda perlukan untuk membangun aplikasi AI generatif dengan keamanan, privasi, dan AI yang bertanggung jawab.
Posting ini menilai dua pendekatan utama untuk mengembangkan asisten AI: menggunakan layanan terkelola seperti Agen untuk Amazon Bedrock, dan menggunakan teknologi sumber terbuka seperti LangChain. Kami mengeksplorasi kelebihan dan tantangan masing-masing, sehingga Anda dapat memilih jalur yang paling sesuai dengan kebutuhan Anda.
Apa itu asisten AI?
Asisten AI adalah sistem cerdas yang memahami kueri bahasa alami dan berinteraksi dengan berbagai alat, sumber data, dan API untuk melakukan tugas atau mengambil informasi atas nama pengguna. Asisten AI yang efektif memiliki kemampuan utama berikut:
- Pemrosesan bahasa alami (NLP) dan aliran percakapan
- Integrasi basis pengetahuan dan pencarian semantik untuk memahami dan mengambil informasi yang relevan berdasarkan nuansa konteks percakapan
- Menjalankan tugas, seperti kueri database dan kustom AWS Lambda fungsi
- Menangani percakapan khusus dan permintaan pengguna
Kami mendemonstrasikan manfaat asisten AI menggunakan manajemen perangkat Internet of Things (IoT) sebagai contoh. Dalam kasus penggunaan ini, AI dapat membantu teknisi mengelola mesin secara efisien dengan perintah yang mengambil data atau mengotomatiskan tugas, sehingga menyederhanakan operasi di bidang manufaktur.
Agen untuk pendekatan Amazon Bedrock
Agen untuk Amazon Bedrock memungkinkan Anda membangun aplikasi AI generatif yang dapat menjalankan tugas multi-langkah di seluruh sistem dan sumber data perusahaan. Ia menawarkan kemampuan utama berikut:
- Pembuatan prompt otomatis dari instruksi, detail API, dan informasi sumber data, menghemat waktu berminggu-minggu dalam upaya rekayasa cepat
- Retrieval Augmented Generation (RAG) untuk menghubungkan agen ke sumber data perusahaan dengan aman dan memberikan respons yang relevan
- Orkestrasi dan menjalankan tugas multi-langkah dengan memecah permintaan menjadi urutan logis dan memanggil API yang diperlukan
- Visibilitas ke dalam alasan agen melalui jejak rantai pemikiran (CoT), memungkinkan pemecahan masalah dan mengarahkan perilaku model
- Kemampuan teknis yang cepat untuk memodifikasi templat cepat yang dibuat secara otomatis untuk meningkatkan kontrol atas agen
Anda dapat menggunakan Agen untuk Amazon Bedrock dan Basis Pengetahuan untuk Batuan Dasar Amazon untuk membangun dan menerapkan asisten AI untuk kasus penggunaan perutean yang kompleks. Mereka memberikan keuntungan strategis bagi pengembang dan organisasi dengan menyederhanakan manajemen infrastruktur, meningkatkan skalabilitas, meningkatkan keamanan, dan mengurangi pekerjaan berat yang tidak dapat dibedakan. Mereka juga memungkinkan kode lapisan aplikasi yang lebih sederhana karena logika perutean, vektorisasi, dan memori dikelola sepenuhnya.
Ikhtisar solusi
Solusi ini memperkenalkan asisten AI percakapan yang disesuaikan untuk manajemen dan pengoperasian perangkat IoT saat menggunakan Claude v2.1 dari Anthropic di Amazon Bedrock. Fungsi inti asisten AI diatur oleh serangkaian instruksi komprehensif, yang dikenal sebagai a perintah sistem, yang menggambarkan kemampuan dan bidang keahliannya. Panduan ini memastikan asisten AI dapat menangani berbagai tugas, mulai dari mengelola informasi perangkat hingga menjalankan perintah operasional.
Dilengkapi dengan kemampuan ini, sebagaimana dijelaskan secara rinci dalam perintah sistem, asisten AI mengikuti alur kerja terstruktur untuk menjawab pertanyaan pengguna. Gambar berikut memberikan representasi visual alur kerja ini, mengilustrasikan setiap langkah dari interaksi pengguna awal hingga respons akhir.
Alur kerja terdiri dari langkah-langkah berikut:
- Prosesnya dimulai ketika pengguna meminta asisten untuk melakukan suatu tugas; misalnya, meminta titik data maksimum untuk perangkat IoT tertentu
device_xxx
. Masukan teks ini ditangkap dan dikirim ke asisten AI. - Asisten AI menafsirkan masukan teks pengguna. Ini menggunakan riwayat percakapan, kelompok tindakan, dan basis pengetahuan yang disediakan untuk memahami konteks dan menentukan tugas yang diperlukan.
- Setelah maksud pengguna diurai dan dipahami, asisten AI menentukan tugas. Hal ini didasarkan pada instruksi yang ditafsirkan oleh asisten sesuai perintah sistem dan masukan pengguna.
- Tugas tersebut kemudian dijalankan melalui serangkaian panggilan API. Ini dilakukan dengan menggunakan Reaksi prompting, yang memecah tugas menjadi serangkaian langkah yang diproses secara berurutan:
- Untuk pemeriksaan metrik perangkat, kami menggunakan
check-device-metrics
grup tindakan, yang melibatkan panggilan API ke fungsi Lambda yang kemudian melakukan kueri Amazon Athena untuk data yang diminta. - Untuk tindakan perangkat langsung seperti memulai, menghentikan, atau mem-boot ulang, kami menggunakan
action-on-device
grup tindakan, yang memanggil fungsi Lambda. Fungsi ini memulai proses yang mengirimkan perintah ke perangkat IoT. Untuk postingan ini, fungsi Lambda mengirimkan notifikasi menggunakan Layanan Email Amazon Simple (SES Amazon). - Kami menggunakan Basis Pengetahuan untuk Amazon Bedrock untuk mengambil dari data historis yang disimpan sebagai penyematan di Layanan Pencarian Terbuka Amazon basis data vektor.
- Untuk pemeriksaan metrik perangkat, kami menggunakan
- Setelah tugas selesai, respons akhir dihasilkan oleh Amazon Bedrock FM dan disampaikan kembali kepada pengguna.
- Agen untuk Amazon Bedrock secara otomatis menyimpan informasi menggunakan sesi stateful untuk mempertahankan percakapan yang sama. Status akan dihapus setelah batas waktu idle yang dapat dikonfigurasi berlalu.
Tinjauan teknis
Diagram berikut mengilustrasikan arsitektur untuk menerapkan asisten AI dengan Agen untuk Amazon Bedrock.
Ini terdiri dari komponen-komponen utama berikut:
- Antarmuka percakapan โ Antarmuka percakapan menggunakan Streamlit, pustaka Python sumber terbuka yang menyederhanakan pembuatan aplikasi web khusus yang menarik secara visual untuk pembelajaran mesin (ML) dan ilmu data. Itu dihosting di Layanan Kontainer Amazon Elastic (Amazon ECS) dengan Fargate AWS, dan diakses menggunakan Application Load Balancer. Anda dapat menggunakan Fargate dengan Amazon ECS untuk menjalankannya kontainer tanpa harus mengelola server, cluster, atau mesin virtual.
- Agen untuk Amazon Bedrock โ Agen untuk Amazon Bedrock menyelesaikan pertanyaan pengguna melalui serangkaian langkah penalaran dan tindakan yang sesuai berdasarkan Perintah Bereaksi:
- Basis Pengetahuan untuk Batuan Dasar Amazon โ Basis Pengetahuan untuk Amazon Bedrock menyediakan terkelola sepenuhnya LAP untuk memberi asisten AI akses ke data Anda. Dalam kasus penggunaan kami, kami mengunggah spesifikasi perangkat ke dalam Layanan Penyimpanan Sederhana Amazon (Amazon S3) ember. Ini berfungsi sebagai sumber data ke basis pengetahuan.
- Kelompok aksi โ Ini adalah skema API yang ditentukan yang memanggil fungsi Lambda tertentu untuk berinteraksi dengan perangkat IoT dan layanan AWS lainnya.
- Antropik Claude v2.1 di Amazon Batuan Dasar โ Model ini menafsirkan pertanyaan pengguna dan mengatur alur tugas.
- Penyematan Amazon Titan โ Model ini berfungsi sebagai model penyematan teks, mengubah teks bahasa alamiโdari satu kata menjadi dokumen kompleksโmenjadi vektor numerik. Hal ini memungkinkan kemampuan pencarian vektor, memungkinkan sistem mencocokkan kueri pengguna secara semantik dengan entri basis pengetahuan yang paling relevan untuk pencarian yang efektif.
Solusi ini terintegrasi dengan layanan AWS seperti Lambda untuk menjalankan kode sebagai respons terhadap panggilan API, Athena untuk menanyakan kumpulan data, OpenSearch Service untuk pencarian melalui basis pengetahuan, dan Amazon S3 untuk penyimpanan. Layanan-layanan ini bekerja sama untuk memberikan pengalaman yang lancar untuk manajemen operasi perangkat IoT melalui perintah bahasa alami.
manfaat
Solusi ini menawarkan manfaat berikut:
- Kompleksitas implementasi:
- Lebih sedikit baris kode yang diperlukan, karena Agen untuk Amazon Bedrock mengabstraksi sebagian besar kompleksitas yang mendasarinya, sehingga mengurangi upaya pengembangan
- Mengelola database vektor seperti OpenSearch Service disederhanakan, karena Basis Pengetahuan untuk Amazon Bedrock menangani vektorisasi dan penyimpanan
- Integrasi dengan berbagai layanan AWS lebih efisien melalui grup tindakan yang telah ditentukan sebelumnya
- Pengalaman pengembang:
- Konsol Amazon Bedrock menyediakan antarmuka yang ramah pengguna untuk pengembangan cepat, pengujian, dan analisis akar masalah (RCA), sehingga meningkatkan pengalaman pengembang secara keseluruhan
- Kelincahan dan fleksibilitas:
- Agen untuk Amazon Bedrock memungkinkan peningkatan yang lancar ke FM yang lebih baru (seperti Claude 3.0) ketika sudah tersedia, sehingga solusi Anda tetap terkini dengan kemajuan terkini
- Kuota dan batasan layanan dikelola oleh AWS, sehingga mengurangi overhead pemantauan dan penskalaan infrastruktur
- Keamanan:
- Amazon Bedrock adalah layanan yang dikelola sepenuhnya, mematuhi standar keamanan dan kepatuhan AWS yang ketat, sehingga berpotensi menyederhanakan tinjauan keamanan organisasi
Meskipun Agen untuk Amazon Bedrock menawarkan solusi yang efisien dan terkelola untuk membangun aplikasi AI percakapan, beberapa organisasi mungkin lebih memilih pendekatan sumber terbuka. Dalam kasus seperti ini, Anda dapat menggunakan kerangka kerja seperti LangChain, yang akan kita bahas di bagian selanjutnya.
Pendekatan perutean dinamis LangChain
LangChain adalah kerangka kerja sumber terbuka yang menyederhanakan pembuatan AI percakapan dengan memungkinkan integrasi model bahasa besar (LLM) dan kemampuan perutean dinamis. Dengan LangChain Expression Language (LCEL), pengembang dapat mendefinisikan rute, yang memungkinkan Anda membuat rantai non-deterministik di mana keluaran dari langkah sebelumnya menentukan langkah berikutnya. Perutean membantu memberikan struktur dan konsistensi dalam interaksi dengan LLM.
Untuk postingan ini, kami menggunakan contoh yang sama dengan asisten AI untuk manajemen perangkat IoT. Namun, perbedaan utamanya adalah kita perlu menangani perintah sistem secara terpisah dan memperlakukan setiap rantai sebagai entitas terpisah. Rantai perutean memutuskan rantai tujuan berdasarkan masukan pengguna. Keputusan dibuat dengan dukungan LLM dengan meneruskan prompt sistem, riwayat obrolan, dan pertanyaan pengguna.
Ikhtisar solusi
Diagram berikut menggambarkan alur kerja solusi perutean dinamis.
Alur kerja terdiri dari langkah-langkah berikut:
- Pengguna mengajukan pertanyaan kepada asisten AI. Misalnya, โBerapa metrik maksimal untuk perangkat 1009?โ
- LLM mengevaluasi setiap pertanyaan beserta riwayat obrolan dari sesi yang sama untuk menentukan sifat dan bidang subjeknya (seperti SQL, tindakan, pencarian, atau SME). LLM mengklasifikasikan masukan dan rantai perutean LCEL mengambil masukan tersebut.
- Rantai router memilih rantai tujuan berdasarkan masukan, dan LLM diberikan prompt sistem berikut:
LLM mengevaluasi pertanyaan pengguna beserta riwayat obrolan untuk menentukan sifat kueri dan bidang subjeknya. LLM kemudian mengklasifikasikan masukan dan keluaran respons JSON dalam format berikut:
Rantai router menggunakan respons JSON ini untuk memanggil rantai tujuan yang sesuai. Ada empat rantai tujuan khusus subjek, masing-masing dengan perintah sistemnya sendiri:
- Kueri terkait SQL dikirim ke rantai tujuan SQL untuk interaksi database. Anda dapat menggunakan LCEL untuk membangun rantai SQL.
- Pertanyaan berorientasi tindakan memanggil rantai tujuan Lambda khusus untuk menjalankan operasi. Dengan LCEL, Anda dapat menentukan sendiri fungsi kustom; dalam kasus kami, ini adalah fungsi untuk menjalankan fungsi Lambda yang telah ditentukan sebelumnya untuk mengirim email dengan ID perangkat yang diurai. Contoh masukan pengguna mungkin โMatikan perangkat 1009.โ
- Pertanyaan yang berfokus pada pencarian dilanjutkan ke LAP rantai tujuan untuk pengambilan informasi.
- Pertanyaan terkait UKM ditujukan ke rantai tujuan UKM/ahli untuk mendapatkan wawasan khusus.
- Setiap rantai tujuan mengambil masukan dan menjalankan model atau fungsi yang diperlukan:
- Rantai SQL menggunakan Athena untuk menjalankan kueri.
- Rantai RAG menggunakan Layanan OpenSearch untuk pencarian semantik.
- Rantai Lambda kustom menjalankan fungsi Lambda untuk tindakan.
- Rantai UKM/pakar memberikan wawasan menggunakan model Amazon Bedrock.
- Tanggapan dari setiap rantai destinasi dirumuskan menjadi wawasan yang koheren oleh LLM. Wawasan ini kemudian dikirimkan ke pengguna, menyelesaikan siklus kueri.
- Masukan dan tanggapan pengguna disimpan di Amazon DynamoDB untuk memberikan konteks kepada LLM untuk sesi saat ini dan dari interaksi sebelumnya. Durasi informasi yang disimpan di DynamoDB dikontrol oleh aplikasi.
Tinjauan teknis
Diagram berikut menggambarkan arsitektur solusi perutean dinamis LangChain.
Aplikasi web dibangun di Streamlit yang dihosting di Amazon ECS dengan Fargate, dan diakses menggunakan Application Load Balancer. Kami menggunakan Claude v2.1 Anthropic di Amazon Bedrock sebagai LLM kami. Aplikasi web berinteraksi dengan model menggunakan perpustakaan LangChain. Ia juga berinteraksi dengan berbagai layanan AWS lainnya, seperti OpenSearch Service, Athena, dan DynamoDB untuk memenuhi kebutuhan pengguna akhir.
manfaat
Solusi ini menawarkan manfaat berikut:
- Kompleksitas implementasi:
- Meskipun memerlukan lebih banyak kode dan pengembangan khusus, LangChain memberikan fleksibilitas dan kontrol yang lebih besar atas logika perutean dan integrasi dengan berbagai komponen.
- Mengelola database vektor seperti OpenSearch Service memerlukan upaya pengaturan dan konfigurasi tambahan. Proses vektorisasi diimplementasikan dalam kode.
- Integrasi dengan layanan AWS mungkin melibatkan lebih banyak kode dan konfigurasi khusus.
- Pengalaman pengembang:
- Pendekatan LangChain yang berbasis Python dan dokumentasi ekstensif dapat menarik bagi pengembang yang sudah terbiasa dengan Python dan alat sumber terbuka.
- Pengembangan dan debugging yang cepat mungkin memerlukan lebih banyak upaya manual dibandingkan dengan menggunakan konsol Amazon Bedrock.
- Kelincahan dan fleksibilitas:
- LangChain mendukung berbagai LLM, memungkinkan Anda beralih di antara model atau penyedia yang berbeda, sehingga mendorong fleksibilitas.
- Sifat open source dari LangChain memungkinkan perbaikan dan penyesuaian berbasis komunitas.
- Keamanan:
- Sebagai kerangka kerja sumber terbuka, LangChain mungkin memerlukan tinjauan keamanan yang lebih ketat dan pemeriksaan dalam organisasi, sehingga berpotensi menambah overhead.
Kesimpulan
Asisten AI percakapan adalah alat transformatif untuk menyederhanakan operasi dan meningkatkan pengalaman pengguna. Postingan ini mengeksplorasi dua pendekatan canggih menggunakan layanan AWS: Agen terkelola untuk Amazon Bedrock dan perutean dinamis LangChain sumber terbuka yang fleksibel. Pilihan antara pendekatan ini bergantung pada kebutuhan organisasi Anda, preferensi pengembangan, dan tingkat penyesuaian yang diinginkan. Apa pun jalur yang diambil, AWS memberdayakan Anda untuk menciptakan asisten AI cerdas yang merevolusi interaksi bisnis dan pelanggan
Temukan kode solusi dan aset penerapan di kami Repositori GitHub, tempat Anda dapat mengikuti langkah-langkah mendetail untuk setiap pendekatan AI percakapan.
Tentang Penulis
Amir Hakme adalah Arsitek Solusi AWS yang berbasis di Pennsylvania. Dia berkolaborasi dengan Vendor Perangkat Lunak Independen (ISV) di wilayah Timur Laut, membantu mereka merancang dan membangun platform yang skalabel dan modern di AWS Cloud. Sebagai pakar AI/ML dan AI generatif, Ameer membantu pelanggan membuka potensi teknologi mutakhir ini. Di waktu senggangnya, ia menikmati mengendarai sepeda motor dan menghabiskan waktu berkualitas bersama keluarga.
Sharon Li adalah Arsitek Solusi AI/ML di Amazon Web Services yang berbasis di Boston, dengan hasrat untuk merancang dan membangun aplikasi AI Generatif di AWS. Dia berkolaborasi dengan pelanggan untuk memanfaatkan layanan AWS AI/ML untuk solusi inovatif.
Kawsar Kamal adalah arsitek solusi senior di Amazon Web Services dengan pengalaman lebih dari 15 tahun di bidang otomatisasi infrastruktur dan keamanan. Dia membantu klien merancang dan membangun solusi DevSecOps dan AI/ML yang dapat diskalakan di Cloud.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/enhance-conversational-ai-with-advanced-routing-techniques-with-amazon-bedrock/