Dalam repositori ini, kami menghadirkan solusi yang memanfaatkan kekuatan AI Generatif untuk menyederhanakan proses orientasi pengguna layanan keuangan melalui asisten digital. Orientasi nasabah baru ke perbankan merupakan langkah penting dalam perjalanan nasabah, yang melibatkan serangkaian aktivitas yang dirancang untuk memenuhi persyaratan Kenali Pelanggan Anda (Know-Your-Customer/KYC), melakukan verifikasi yang diperlukan, dan memperkenalkan mereka pada produk atau layanan bank. Biasanya, orientasi pengguna merupakan proses yang membosankan dan sangat manual. Solusi kami memberikan panduan praktis dalam mengatasi tantangan ini dengan memanfaatkan asisten AI Generatif di AWS.
Amazon Bedrock adalah layanan terkelola sepenuhnya yang menawarkan pilihan model fondasi (FM) berperforma tinggi dari perusahaan AI terkemuka seperti AI21 Labs, Anthropic, Cohere, Meta, Mistral AI, Stability AI, dan Amazon melalui satu API, bersama dengan a serangkaian kemampuan luas yang Anda perlukan untuk membangun aplikasi AI generatif dengan keamanan, privasi, dan AI yang bertanggung jawab. Menggunakan Anthropic Claude 3.5 Sonnet di Amazon Bedrock, kami membangun asisten digital yang mengotomatiskan dokumen, verifikasi identitas, dan melibatkan pelanggan melalui interaksi percakapan, yang disebut Amazon Penny. Hasilnya, pelanggan dapat bergabung dalam hitungan menit melalui alur kerja yang aman dan otomatis.
Alur aplikasinya adalah sebagai berikut:
Pengguna mengakses situs web front-end yang dihosting dalam AWS Amplify.
Situs web ini memanggil titik akhir Amazon CloudFront untuk berinteraksi dengan asisten digital, Penny, yang dimasukkan ke dalam container dan diterapkan di AWS Fargate.
Asisten digital menggunakan Agen Langchain khusus untuk menjawab pertanyaan tentang produk dan layanan bank dan mengatur alur orientasi. Large Language Model (LLM) yang digunakan agen adalah Anthropic Claude 3.5 Sonnet yang disediakan oleh Amazon Bedrock.
Jika pengguna mengajukan pertanyaan umum terkait produk atau layanan bank, agen akan menggunakan Alat Langchain khusus yang disebut Alat Pencarian Produk. Alat ini menggunakan Amazon Kendra yang terhubung dengan sumber data S3 yang berisi data bank.
Jika pengguna menunjukkan bahwa mereka ingin membuka akun baru, agen akan meminta email kepada pengguna. Setelah pengguna merespons, ia akan menggunakan Alat Langchain khusus yang disebut Alat Validasi Email. Alat ini memeriksa apakah ada akun di database Amazon DynamoDB bank, dengan memanggil titik akhir yang diterapkan di Amazon API Gateway.
Setelah validasi email, informasi KYC dikumpulkan seperti nama depan dan belakang. Kemudian, pengguna dimintai dokumen identitas. Ini diunggah ke Amazon S3.
Agen akan menggunakan Alat Langchain khusus yang disebut Alat Verifikasi ID. Alat ini memeriksa apakah detail pengguna yang dimasukkan selama sesi cocok dengan ID, dengan memanggil titik akhir yang diterapkan di Amazon API Gateway. Detailnya diverifikasi dengan mengekstraksi teks dokumen menggunakan Amazon Textract.
Setelah verifikasi ID, pengguna diminta untuk selfie. Gambar diunggah ke Amazon S3. Kemudian, agen akan menggunakan Alat Langchain khusus yang disebut Alat Verifikasi Selfie. Alat ini memeriksa apakah selfie yang diunggah cocok dengan wajah pada ID, dengan memanggil titik akhir yang diterapkan di Amazon API Gateway. Kecocokan wajah dideteksi menggunakan Amazon Rekognition.
Setelah verifikasi wajah berhasil, agen akan menggunakan Alat Langchain khusus yang disebut Alat Pembuatan Akun. Alat ini membuat akun baru di database Amazon DynamoDB bank, dengan memanggil titik akhir yang diterapkan di Amazon API Gateway.
Pengguna diberitahu bahwa akun baru mereka telah berhasil dibuat, menggunakan Amazon Simple Email Service (SES).
Identifikasi Akun AWS tempat Anda ingin menerapkan solusi ini dan pastikan untuk menentukan detail akun tersebut jika diperlukan dalam langkah-langkah di bawah ini. Siapkan yang berikut ini di baris perintah lokal Anda:
cdk bootstrap
dari baris perintah.Di Akun AWS pilihan Anda, selesaikan langkah-langkah berikut:
sudo docker info
. Jika Docker sedang berjalan, informasi tentang Docker akan ditampilkan.Catatan: Berdasarkan serangkaian asumsi yang dibuat setiap bulan, menjalankan beban kerja ini akan memiliki perkiraan biaya per jam sekitar $1,34. Pastikan untuk memeriksa detail harga setiap layanan untuk memahami biaya yang mungkin dikenakan kepada Anda untuk tingkat penggunaan dan konfigurasi sumber daya yang berbeda
Untuk menerapkan agen ke akun AWS Anda, ikuti petunjuk di bawah ini:
./api/llm
chmod +x script.sh
./script.sh
dan repo baru Anda akan dibuat di ECR dan gambar akan disebarkan.Untuk menerapkan infrastruktur alat ke akun AWS Anda, ikuti petunjuk di bawah ini:
./infra
npm i
untuk menginstal modul nodenpm run build
untuk mengkompilasi skrip ketikan ke javascriptLLMImageTag
adalah tag gambar buruh pelabuhan yang dapat ditemukan di konsol AWS dalam layanan ECR. Masukkan nilai parameter Anda. CloudFormation Stack akan dibuat di akun AWS Anda. cdk deploy --parameters SesBankEmail={email} --parameters SesCustomerEmail={email} --parameters LLMImageTag={tag}
Contoh penggunaan:
cdk deploy --parameters [email protected] --parameters [email protected] --parameters LLMImageTag=20240307_123456
SesBankEmail
dan SesCustomerEmail
yang Anda berikan untuk memverifikasi identitas SES baru yang dibuat. Pastikan untuk mengklik tautan verifikasi yang disediakan dalam email.CloudFrontDomainName
yang dihasilkan oleh CloudFormation StackCatatan: Jika CloudFormation Stack terhenti saat menunggu selesainya LLMDeployment, ada kemungkinan tugas ECS Anda gagal. Ini mungkin karena arsitektur mesin tempat Anda membuat gambar tidak sesuai dengan apa yang telah kami konfigurasikan untuk digunakan dalam proyek kami (ARM64). Dalam hal ini, perbarui secara manual arsitektur yang digunakan Definisi Tugas ECS (untuk kemungkinan menggunakan X86).
Untuk menerapkan aplikasi demo ke akun AWS Anda, ikuti petunjuk di bawah ini:
LLM_API_ENDPOINT
di App.js
dalam ./penny-ui/src/
dengan CloudFrontDomainName
yang dihasilkan oleh CloudFormation Stack../penny-ui
npm i
amplify init
amplify add hosting
amplify publish
Pastikan Anda telah menyelesaikan langkah Deploy the Tools Infrastructure to AWS Account
Navigasi ke ./api/llm
os.environ["kendraIndexId"]
dengan ID Indeks Kendra yang ingin Anda gunakan, di tools.py
os.environ["apiEndpoint"]
dengan API Gateway Endpoint yang dihasilkan oleh CloudFormation Stack, di tools.py
os.environ["idBucketName"]
dengan nama Bucket ID S3 yang dibuat oleh CloudFormation Stack, di main.py
Jalankan python3 -m uvicorn main:app --reload
. LLM API akan ditayangkan di http://127.0.0.1:8000/
Navigasi ke ./penny-ui
Jalankan npm i
untuk menginstal dependensi
Jalankan npm run start
untuk memulai server pengembangan/ Aplikasi Demo akan ditayangkan di http://localhost:3000/
Selesaikan langkah-langkah berikut untuk membersihkan dan menghapus lingkungan dari akun Anda:
PennyInfraStack
secara lokal dengan menjalankan perintah berikut. Ini secara otomatis akan menghapus semua tumpukan dan sumber daya yang terkait dengan PennyInfraStack
di akun AWS Anda. cd ./infra
cdk destroy
Hapus bucket S3 berikut - ID Bucket dan AnyBank Catalog Bucket. Pastikan untuk mengosongkan ember sebelum Anda menghapusnya. Temukan bucket ini dengan menelusuri awalan pennyinfrastack-idbucket
dan pennyinfrastack-anybankcatalogbucket
.
Hapus aplikasi frontend yang dihosting di Amplify dengan menjalankan amplify delete
.
Hapus artefak gambar dan repositori pribadi di ECR dengan nama penny-workshop
.
Lihat KONTRIBUSI untuk informasi lebih lanjut.
Perpustakaan ini dilisensikan di bawah Lisensi MIT-0. Lihat file LISENSI.