| Pembuat Aplikasi AI Generatif di AWS | ? Permintaan fitur | ? Laporan Bug | Panduan Implementasi |
CATATAN:
Solusi Generative AI Application Builder on AWS (GAAB) menyediakan dasbor manajemen berbasis web untuk menerapkan kasus penggunaan Generative AI (Gen AI) yang dapat disesuaikan. Dasbor Penerapan ini memungkinkan pelanggan menerapkan, bereksperimen, dan membandingkan berbagai kombinasi kasus penggunaan Model Bahasa Besar (LLM). Setelah pelanggan berhasil mengonfigurasi dan mengoptimalkan kasus penggunaannya, mereka dapat menerapkan penerapannya ke dalam produksi dan mengintegrasikannya ke dalam aplikasi mereka.
Pembuat Aplikasi AI Generatif diterbitkan di bawah lisensi Apache 2.0 dan ditargetkan untuk pengguna pemula hingga berpengalaman yang ingin bereksperimen dan memproduksi kasus penggunaan Gen AI yang berbeda. Solusinya menggunakan perangkat lunak sumber terbuka (OSS) LangChain untuk mengonfigurasi koneksi ke Model Bahasa Besar (LLM) pilihan Anda untuk kasus penggunaan yang berbeda. Rilis pertama GAAB memungkinkan pengguna menerapkan kasus penggunaan obrolan yang memungkinkan kemampuan untuk melakukan kueri terhadap data perusahaan pengguna dalam Antarmuka Pengguna (UI) bergaya chatbot, bersama dengan API untuk mendukung implementasi pengguna akhir khusus.
Beberapa fitur GAAB adalah:
Untuk panduan implementasi solusi terperinci, lihat Pembuat Aplikasi AI Generatif di AWS
Ada 3 persona pengguna unik yang dirujuk dalam panduan solusi di bawah ini:
CATATAN:
Ketika pengguna DevOps men-deploy Deployment Dashboard, komponen berikut di-deploy di akun AWS:
Note: Although the Deployment dashboard can be launched in most AWS regions, the deployed use cases have some restrictions based on service availability. See Supported AWS Regions in the Implementation Guide for more details.
Setelah Dasbor Penerapan diterapkan, pengguna admin kemudian dapat menerapkan beberapa tumpukan kasus penggunaan. Ketika tumpukan kasus penggunaan diterapkan oleh pengguna admin, komponen berikut diterapkan di akun AWS:
CATATAN:
Ada dua opsi untuk penerapan ke akun AWS Anda:
cdk deploy
Berikut adalah prasyarat untuk membangun dan menerapkan secara lokal:
ensurepip
dan pip
; namun, jika berjalan di lingkungan tanpa paket-paket ini, Anda perlu menginstalnya secara manual (misalnya image buruh pelabuhan minimal). Lihat panduan instalasi pip untuk detailnya. Catatan: Konfigurasikan AWS CLI dengan kredensial AWS Anda atau ekspor di lingkungan terminal CLI. Jika kredensial tidak valid atau kedaluwarsa, menjalankan cdk deploy
akan menghasilkan kesalahan.
Selain itu, jika Anda belum menjalankan cdk bootstrap
di akun dan wilayah ini, ikuti petunjuk di sini untuk menjalankan cdk bootstrap sebagai proses satu kali sebelum melanjutkan dengan langkah-langkah di bawah ini.
Setelah mengkloning repo dari GitHub, selesaikan langkah-langkah berikut:
CATATAN:
cdk-asset-bucket
di source/infrastructure/cdk.json
. Nilai properti ini harus berupa nama bucket yang dibuat oleh proses cdk bootstrap
. Kecuali jika nama bucket dikonfigurasi, proses cdk bootstrap
akan membuat bucket dalam format berikut: cdk-hnb659fds-assets--
(di mana ID Akun AWS tempat solusi diterapkan spesifik). Repo saat ini memiliki nilai yang ditetapkan sebagai berikut: "cdk-asset-bucket": "cdk-hnb659fds-assets-123456789012-us-east-1"
cd /source/infrastructure
npm install
npm run build
cdk synth
cdk deploy DeploymentPlatformStack --parameters AdminUserEmail=
Catatan: Karena cdk deploy
dijalankan dengan nama tumpukan, maka penerapan cdk tidak mensintesis tumpukan CloudFormation lainnya di folder infrastruktur. Untuk memastikan semua tumpukan disintesis berdasarkan perubahan kode infrastruktur, pastikan untuk cdk synth
. Untuk daftar lengkap perintah cdk yang dapat dijalankan, lihat Perintah Toolkit
Agar dasbor penerapan dapat menerapkan kasus penggunaan obrolan LLM, Anda juga perlu menata aset CDK yang disintesis (seperti lambda, templat CloudFormation yang disintesis, dll.) dari direktori source/infrastructure/cdk.out
ke bucket S3 yang dikonfigurasi di akun Anda dari mana sumber daya ini akan diambil pada saat penerapan. Untuk memudahkan pementasan aset ini, Anda dapat menggunakan skrip source/stage-assets.sh
. Skrip ini harus dijalankan dari direktori source
.
cd /source
./stage-assets.sh
Saat dijalankan, skripnya terlihat seperti ini:
>>> ./stage-assets.sh
This script should be run from the 'source' folder
The region to upload CDK artifacts to (default:us-east-1)?
>>> us-west-2
>>> All assets will be uploaded to cdk-hnb659fds-assets-123456789-us-west-2
>>> Do you want to proceed? (y/n) y
Anda harus memberikan nama lengkap wilayah sebagai input pertama skrip seperti yang ditunjukkan pada contoh di atas.
Catatan: Aset harus ditahtakan setiap kali ada perubahan dalam basis kode untuk mendapatkan aset bertahap yang paling mutakhir. Disarankan juga untuk menjalankan cdk synth
sebelum pementasan.
Lihat bagian Membuat build kustom
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Config
├── LICENSE.txt
├── NOTICE.txt
├── README.md
├── buildspec.yml
├── deployment
│ ├── build-open-source-dist.sh
│ ├── build-s3-dist.sh
│ ├── cdk-solution-helper
│ ├── clean-for-scan.sh
│ ├── get-cdk-version.js
│ └── manifest.yaml
| ├── run-unit-tests.sh [shell script that can run unit tests for the entire project]
├── pyproject.toml
├── pytest.ini
├── sonar-project.properties
└── source
├── images
├── infrastructure [CDK infrastructure]
├── lambda [Lambda functions for the application]
├── pre-build-lambda-layers.sh [pre-builds lambda layers for the project]
├── scripts [standalone utility scripts]
├── stage-assets.sh
├── test
├── ui-chat [Web App project for chat UI]
└── ui-deployment [Web App project for deployment dashboard UI]
└── docs
Proyek ini menyediakan folder dokumen yang memberi Anda akses ke contoh input SageMaker. Karena model SageMaker dapat menerima dan mengeluarkan berbagai skema masukan dan keluaran, solusi meminta nilai-nilai ini dari pengguna untuk memungkinkan pemanggilan model yang benar. Hal ini memungkinkan solusi untuk mendukung serangkaian model SageMaker.
Skema masukan pada dasarnya adalah payload model Anda, dengan placeholder untuk nilai sebenarnya. Placeholder memungkinkan penggantian nilai model sebenarnya pada saat run-time dan diwakili oleh kata kunci yang diapit tanda kurung sudut seperti: <
. Perhatikan bahwa <
dan <
masing-masing merupakan placeholder yang dicadangkan untuk prompt model dan suhu.
JSONPath keluaran model memberikan solusi jalur untuk mengambil respons tekstual LLM dari respons model.
Harap selalu mengacu pada dokumentasi model dan sampel notebook jupyter SageMaker JumpStart untuk melihat payload model terbaru dan parameter yang didukung.
Jalankan perintah berikut:
git clone https://github.com/aws-solutions/
cd /source/infrastructure
npm install
Catatan: Untuk menjalankan pengujian unit, buruh pelabuhan harus diinstal dan dijalankan, dan kredensial AWS yang valid harus dikonfigurasi.
cd /deployment
chmod +x ./run-unit-tests.sh
./run-unit-tests.sh
export DIST_OUTPUT_BUCKET=my-bucket-name
export VERSION=my-version
cd /deployment
chmod +x ./build-s3-dist.sh
./build-s3-dist.sh $DIST_OUTPUT_BUCKET $SOLUTION_NAME $VERSION $CF_TEMPLATE_BUCKET_NAME
Detail parameter:
$DIST_OUTPUT_BUCKET - This is the global name of the distribution. For the bucket name, the AWS Region is added to the global name (example: 'my-bucket-name-us-east-1') to create a regional bucket. The lambda
artifacts should be uploaded to the regional buckets for the CloudFormation template to pick it up for deployment.
$SOLUTION_NAME - The name of This solution (example: generative-ai-application-builder-on-aws)
$VERSION - The version number of the change
$CF_TEMPLATE_BUCKET_NAME - The name of the S3 bucket where the CloudFormation templates should be uploaded
Saat Anda membuat dan menggunakan keranjang, kami menyarankan Anda:
Catatan: Anda harus menginstal AWS CLI.
aws s3 cp ./global-s3-assets/ s3://my-bucket-name-/generative-ai-application-builder-on-aws// --recursive --acl bucket-owner-full-control --profile aws-cred-profile-name
aws s3 cp ./regional-s3-assets/ s3://my-bucket-name-/generative-ai-application-builder-on-aws// --recursive --acl bucket-owner-full-control --profile aws-cred-profile-name
Solusinya mencakup dua aplikasi web berbasis React yang terpisah: Deployment Dashboard UI dan Chat UI. Kedua antarmuka pengguna dibangun menggunakan Vite, alat pembangunan modern dan cepat untuk proyek web modern.
Buka Terminal
Arahkan ke Direktori Sumber
source
dalam root proyek: cd /source
Ambil dan Perbarui Konfigurasi Runtime
Jalankan skrip setup_local_dev_server.py
yang disediakan dengan argumen yang sesuai:
python setup_local_dev_server.py --ui-project-type --website
dengan ui-chat
atau ui-deployment
bergantung pada proyek UI mana yang ingin Anda siapkan.
dengan URL situs web tempat solusi diterapkan (misalnya https://example.com
).Skrip akan mengambil konfigurasi runtime yang digunakan untuk mengonfigurasi AWS Amplify, yang digunakan proyek. Ini juga akan memperbarui klien aplikasi Cognito dengan menambahkan alamat localhost ke daftar callbackurls dan logouturls, sehingga berfungsi dengan domain yang dihosting Cognito.
Misalnya, untuk memperbarui proyek UI Chat:
python setup_local_dev_server.py --ui-project-type ui-chat --website https://example.com
atau
python setup_local_dev_server.py -t ui-chat -w https://example.com
Untuk memperbarui proyek Penerapan UI:
python setup_local_dev_server.py --ui-project-type ui-deployment --website https://example.com
atau
python setup_local_dev_server.py -t ui-deployment -w https://example.com
Navigasi ke Direktori Proyek UI
Ubah ke direktori proyek UI yang ingin Anda kerjakan:
cd ui-chat
atau
cd ui-deployment
Instal Dependensi
Instal dependensi Node.js yang diperlukan dengan menjalankan perintah berikut di direktori proyek:
npm install
Mulai Server Pengembangan Lokal
Di direktori proyek, jalankan perintah berikut untuk memulai server pengembangan Vite lokal:
npm start
Server pengembangan UI Deployment Dashboard akan dimulai pada http://localhost:5177
, dan server pengembangan UI Obrolan akan dimulai pada http://localhost:5178
.
Jika port ini sudah digunakan di mesin Anda, Anda dapat menyesuaikan skrip setup_local_dev_server.py
untuk menggunakan port yang berbeda.
Dengan pengaturan lingkungan pengembangan lokal, Anda sekarang dapat menyesuaikan komponen React dan fungsionalitas proyek UI sesuai dengan kebutuhan Anda. Kode sumber untuk Deployment Dashboard UI terletak di direktori source/ui-deployment
, dan kode sumber untuk Chat UI terletak di direktori source/ui-chat
.
Ikuti alur kerja pengembangan React standar untuk membuat perubahan pada kode, dan gunakan server pengembangan Vite lokal untuk melihat pratinjau perubahan Anda secara real-time.
Saat Anda siap untuk men-deploy proyek UI yang disesuaikan, ikuti instruksi di file README utama untuk membangun dan men-deploy solusi menggunakan AWS CDK.
Solusi ini mengumpulkan metrik operasional anonim untuk membantu AWS meningkatkan kualitas dan fitur solusi. Untuk informasi lebih lanjut, termasuk cara menonaktifkan kemampuan ini, silakan lihat panduan penerapan.
Hak Cipta Amazon.com, Inc. atau afiliasinya. Semua Hak Dilindungi Undang-undang.
Berlisensi di bawah Lisensi Apache, Versi 2.0 ("Lisensi"); Anda tidak boleh menggunakan file ini kecuali sesuai dengan Lisensi. Anda dapat memperoleh salinan Lisensi di
http://www.apache.org/licenses/LICENSE-2.0
Kecuali diwajibkan oleh undang-undang yang berlaku atau disetujui secara tertulis, perangkat lunak yang didistribusikan berdasarkan Lisensi didistribusikan berdasarkan DASAR "APA ADANYA", TANPA JAMINAN ATAU KETENTUAN DALAM BENTUK APAPUN, baik tersurat maupun tersirat. Lihat Lisensi untuk bahasa tertentu yang mengatur izin dan batasan berdasarkan Lisensi.
Skrip disertakan untuk memigrasikan kasus penggunaan yang dibuat oleh v1.X ke penerapan v2.X yang ditingkatkan. Lihat dokumentasinya