Contoh Asisten GenAI Produktivitas Karyawan adalah contoh kode inovatif yang dirancang untuk meningkatkan efisiensi dan efektivitas tugas penulisan melalui integrasi teknologi AI. Disesuaikan untuk pengguna AWS, contoh asisten ini menggunakan Amazon Bedrock dan model AI generatif untuk mengotomatiskan pembuatan templat awal, yang juga dapat disesuaikan dengan kebutuhan Anda. Pengguna dapat memasukkan teks dan gambar, memanfaatkan kemampuan multimodal AI mutakhir seperti keluarga Claude 3, yang mendukung interaksi dinamis dengan berbagai tipe data.
Contoh Asisten GenAI Produktivitas Karyawan dibangun di atas teknologi tanpa server AWS yang tangguh seperti Lambda, API Gateway, DynamoDB, dan S3, memastikan skalabilitas, ketersediaan tinggi, dan keamanan melalui Cognito. Teknologi ini memberikan landasan yang memungkinkan Contoh Asisten GenAI Produktivitas Karyawan untuk merespons kebutuhan pengguna sesuai permintaan sambil menjaga standar keamanan yang ketat. Inti dari kemampuan generatifnya berasal dari model AI canggih yang tersedia di Amazon Bedrock, yang membantu menghadirkan konten yang disesuaikan dan berkualitas tinggi dengan cepat.
Contoh Asisten GenAI Produktivitas Karyawan menampilkan fungsinya melalui serangkaian GIF interaktif, sehingga memudahkan pengguna untuk memahami dan memanfaatkan fitur-fiturnya:
Dengan menyediakan antarmuka yang disederhanakan dan alat yang komprehensif, Contoh Asisten GenAI Produktivitas Karyawan tidak hanya menyederhanakan pembuatan dokumen kompleks tetapi juga meningkatkan produktivitas dan kreativitas pengguna. Repositori GitHub ini berfungsi sebagai panduan untuk menerapkan solusi ini pada akun AWS milik pengguna, memastikan bahwa siapa pun dapat menyiapkan dan mulai memanfaatkan kemampuan lanjutan dari asisten menulis yang didukung AI ini.
Pola Arsitektur dan Komponen yang Dapat Digunakan Kembali
Selain fitur interaktif, Contoh Asisten GenAI Produktivitas Karyawan memberikan pola arsitektur yang kuat untuk membangun solusi AI Generatif di AWS. Dengan memanfaatkan layanan tanpa server Amazon Bedrock dan AWS seperti Lambda, API Gateway, dan DynamoDB, contoh ini menunjukkan pendekatan yang terukur dan aman untuk menerapkan aplikasi AI Generatif. Pola arsitektur ini dapat digunakan sebagai landasan untuk membangun berbagai solusi AI Generatif yang disesuaikan dengan kasus penggunaan berbeda. Selain itu, solusi ini mencakup UI berbasis komponen yang dapat digunakan kembali dan dibangun di atas kerangka React, memungkinkan pengembang dengan mudah memperluas dan menyesuaikan antarmuka agar sesuai dengan kebutuhan spesifik mereka. Contoh ini juga menunjukkan penerapan dukungan streaming menggunakan WebSockets, yang memungkinkan respons real-time baik dalam interaksi berbasis obrolan maupun permintaan satu kali, sehingga meningkatkan pengalaman pengguna dan daya tanggap asisten AI Generatif.
improve-employee-productivity-using-genai/
│
├── backend/ - Contains all backend related files.
│ ├── artifacts/ - Artifacts such as screenshots
│ ├── src/ - Source code for Lambda functions.
│ ├── utils/ - Utility scripts such as helper to create Cognito users
│ ├── layer/ - Code for Lambda layers.
│ └── template.yaml - Main SAM template for Infrastructure as Code (IaC) deployment.
│
└── frontend/ - Houses the frontend React application.
│ ├── src/ - Main folder for React code.
│ └── App.js - Entry point for the React application.
│ └── .env - Environment variables created on deployment (auto-generated).
│
├── deploy.sh - Single bash script for deploying both backend and frontend.
└── default_templates.json - Default templates that gets uploaded to DynamoDB at deployment for bootstrap.
Sebelum Anda memulai penerapan dan pengembangan Contoh Asisten GenAI Produktivitas Karyawan, pastikan Anda telah menyiapkan prasyarat berikut:
pip
dan berfungsiHarap pastikan ini diinstal dan dikonfigurasi dengan benar sebelum melanjutkan penerapan atau pengembangan Contoh Asisten GenAI Produktivitas Karyawan.
️ Penting : Sebelum melanjutkan penerapan, pastikan Anda telah menyelesaikan semua Prasyarat.
Penerapan Contoh Asisten GenAI Produktivitas Karyawan melibatkan eksekusi skrip bash yang menangani pengaturan backend dan frontend. Berikut adalah langkah-langkah rinci yang dilakukan skrip:
Untuk menerapkan Contoh Asisten GenAI Produktivitas Karyawan, gunakan perintah berikut di terminal Anda, termasuk wilayah AWS sebagai argumen yang diperlukan:
./deploy.sh --region=your-aws-region --email=your-email
./deploy.sh --backend --region=your-aws-region --email=your-email
./deploy.sh --frontend --region=your-aws-region --email=your-email
./deploy.sh --delete --region=your-aws-region --email=your-email
./deploy.sh --container --region=your-aws-region --email=your-email
Ganti your-aws-region
dengan wilayah AWS yang sesuai (misalnya, us-east-1
)
Pastikan untuk menjalankan perintah ini dari akar direktori proyek dan ganti your-aws-region
dengan wilayah AWS aktual yang ingin Anda gunakan.
Setelah Anda selesai menerapkan, buka petunjuk di bawah tentang Langkah-Langkah Pasca Penerapan.
Untuk beberapa detail tentang fungsi skrip, lihat di bawah:
--delete
digunakan, skrip akan meminta konfirmasi untuk menghapus tumpukan AWS yang ditentukan.--backend
ditentukan) :sam build --template "$SAM_TEMPLATE" --parallel --cached
--container
ditentukan ./deploy.sh
akan memicu untuk menjalankan SAM seperti: sam build --template "$SAM_TEMPLATE" --parallel --cached --use-container
--frontend
ditentukan) :.env
di direktori frontend dengan output ini.aws-exports.json
untuk konfigurasi AWS.AWS CloudShell memungkinkan Anda memiliki lingkungan Linux instan dan gratis yang dapat diakses dari dalam konsol AWS Anda. Untuk menginstal solusi menggunakan AWS CloudShell, ikuti langkah-langkah di bawah ini secara berurutan.
Menginstal Ketergantungan : Pertama, pastikan Anda telah menginstal alat pengembangan dan perpustakaan yang diperlukan. Buka AWS CloudShell dan jalankan perintah berikut:
# Install Development Tools
sudo yum groupinstall " Development Tools " -y &&
# Install necessary libraries
sudo yum install openssl-devel bzip2-devel libffi-devel zlib-devel xz-devel ncurses-devel readline-devel sqlite-devel -y
Menginstal Python 3.11 dengan PyEnv : AWS CloudShell tidak disertakan dengan Python 3.11, jadi kita perlu menginstal PyEnv untuk kemudian menginstal dan mengatur Python 3.11 sebagai versi Python default di shell kita.
# Install PyEnv
git clone https://github.com/pyenv/pyenv.git ~ /.pyenv
# Set .bash_profile env
echo ' ' >> ~ /.bash_profile
echo ' # Pyenv Configuration ' >> ~ /.bash_profile
echo ' export PYENV_ROOT="$HOME/.pyenv" ' >> ~ /.bash_profile
echo ' export PATH="$PYENV_ROOT/bin:$PATH" ' >> ~ /.bash_profile
echo ' eval "$(pyenv init -)" ' >> ~ /.bash_profile
# Reinitialize your Shell
source ~ /.bash_profile
# Install Python 3.11
pyenv install 3.11
# Set Python 3.11 as default with PyEnv
pyenv global 3.11
Buat Folder Kerja Baru di CloudShell : Direktori beranda AWS CloudShell hanya memiliki penyimpanan sebesar 1 GB, kita perlu menggunakan penyimpanan sementara untuk membangun dan menerapkan aplikasi ini. Pertama mari buat folder di direktori root dan atur izin pengguna yang tepat.
# Folder creation
sudo mkdir /aws-samples &&
# Setting folder permissions
sudo chown cloudshell-user -R /aws-samples
Mengkloning repositori dan solusi penerapan : Sekarang kita telah memiliki folder dan semua dependensi yang terinstal, mari kita lanjutkan langkah demi langkah tentang cara menerapkan solusi menggunakan AWS CloudShel.
# Navigate to the newly created folder
cd /aws-samples
# Clone the repo in the /aws-samples folder
git clone https://github.com/aws-samples/improve-employee-productivity-using-genai.git
# Navigate to the git folder
cd improve-employee-productivity-using-genai/
# Before running the deployment command, set the maximum npm memory to 1024MB to avoid OOM error
export NODE_OPTIONS= " --max_old_space_size=1024 "
Terapkan Backend solusi : Sekarang kita memiliki semua dependensi untuk menerapkan aplikasi kita, kita dapat menerapkan backend solusi kita dengan menggunakan perintah di bawah ini. Kami menggunakan opsi penerapan untuk backend dan kemudian frontend karena Cloudshell tidak memiliki cukup memori untuk terus menerapkan keduanya dalam perintah yang sama. Silakan ubah wilayah dan email sebelum menjalankan perintah di bawah ini.
# Run the deployment command for the backend
./deploy.sh --backend --region=your-aws-region --email=your-email
Terapkan Frontend solusi : Terakhir, hal terakhir yang tersisa adalah menerapkan Frontend solusi. Silakan gunakan wilayah dan email yang sama seperti yang Anda jalankan pada perintah Backend di atas.
# Run the deployment command for the frontend
./deploy.sh --frontend --region=your-aws-region --email=your-email
Penerapan dapat memakan waktu antara 15-30 menit, perlu diketahui bahwa jika Anda tidak berinteraksi dengan AWS CloudShell selama lebih dari 20 menit, lingkungan CloudShell Anda akan dihapus. Disarankan agar Anda membuka tab CloudShell kedua dan menjalankan beberapa perintah setiap 10 menit sekali untuk menghindari pematian otomatis.
Catatan : Jika perintah ini gagal karena CloudShell kehabisan memori, silakan jalankan kembali perintah
--frontend
lagi dan itu akan berfungsi.
Setelah penerapan selesai, Anda akan ditampilkan dengan URL CloudFront, nama pengguna, dan kata sandi sementara untuk mengakses solusi. Silakan periksa bagian Pasca Penerapan
Penerapan Contoh Asisten GenAI Produktivitas Karyawan menggunakan AWS Cloud9 memberikan pengaturan lingkungan pengembangan yang efisien dan konsisten. Ikuti langkah-langkah mendetail berikut untuk menyiapkan lingkungan Cloud9 Anda dan menerapkan aplikasi secara efisien.
Catatan: Volume EBS diubah ukurannya secara otomatis :
Buka Konsol AWS Cloud9 :
Ciptakan Lingkungan Baru :
GenAI-Productivity-Env
, dan klik Next step .Konfigurasikan Lingkungan :
t3/t3.medium
atau lebih besar untuk memastikan Anda memiliki daya komputasi yang cukup.AWS System Manager (SSM)
sebagai jenis koneksi Tinjau dan Buat :
Setelah lingkungan Anda siap, Anda perlu mempersiapkannya untuk menerapkan Contoh Asisten GenAI Produktivitas Karyawan.
Akses Lingkungan Cloud9 Anda :
Kloning Repositori Proyek :
git clone https://github.com/aws-samples/improve-employee-productivity-using-genai
cd improve-employee-productivity-using-genai
Anda dapat menerapkan backend dan frontend atau menanganinya secara terpisah.
Untuk Menerapkan Backend dan Frontend (Disarankan) :
./deploy.sh --container --region= < your-aws-region > --email= < your-email >
Ganti dengan wilayah AWS Anda (misalnya, us-east-1) dan dengan alamat email Anda yang sebenarnya.
Untuk Menerapkan Hanya Backend: :
./deploy.sh --backend --container --region= < your-aws-region > --email= < your-email >
Ganti dengan wilayah AWS Anda (misalnya, us-east-1) dan dengan alamat email Anda yang sebenarnya.
Untuk Menerapkan Hanya Frontend: :
./deploy.sh --frontend --region= < your-aws-region > --email= < your-email >
Ganti dengan wilayah AWS Anda (misalnya, us-east-1) dan dengan alamat email Anda yang sebenarnya.
Setelah skrip penerapan selesai, lanjutkan ke bagian berikutnya Langkah Pasca Penerapan
Setelah berhasil menerapkan Contoh Asisten GenAI Produktivitas Karyawan, karena penerapan tersebut secara default HANYA membuat pengguna Admin di Cognito, ikuti langkah-langkah berikut untuk membuat pengguna Cognito tambahan guna memberikan akses penerapan Contoh Asisten GenAI Produktivitas Karyawan Anda:
Akses Aplikasi :
Masuk ke Aplikasi :
<your-email>
) untuk masuk.Jelajahi Aplikasi :
Buat Pengguna Tambahan (Opsional) :
EmployeeProductivityGenAIAssistantExample
.Tetapkan Peran Pengguna (Opsional) :
? Selamat atas penerapan dan penyiapan Contoh Asisten GenAI Produktivitas Karyawan! Jelajahi kemampuannya dan nikmati pengalamannya.
.env
dan aws-exports.json
di direktori frontend. Jelajahi kemampuan Contoh Asisten GenAI Produktivitas Karyawan dengan demonstrasi menarik ini. Setiap fitur disorot melalui GIF interaktif yang menunjukkan sistem sedang beraksi:
Kegunaan Taman Bermain :
Pembuatan Templat :
Penerapan Templat dalam Aktivitas :
Fitur Riwayat Aktivitas :
Obrolan Interaktif dengan Templat :
Masukan Multi-Modalitas :
Alat-alat ini dirancang untuk meningkatkan produktivitas dan kreativitas Anda dengan menyederhanakan interaksi Anda dengan model AI dalam lingkungan tanpa server.
Biaya menjalankan Contoh Asisten GenAI Produktivitas Karyawan dapat bervariasi berdasarkan pola penggunaan Anda dan model Amazon Bedrock spesifik yang Anda pilih untuk digunakan. Untuk memberikan perkiraan kasar, kami telah membuat tautan penaksir biaya yang mempertimbangkan skenario dengan 50 pengguna, masing-masing menggunakan alat ini 5 kali sehari dengan rata-rata 500 token masukan dan 200 token keluaran.
Perkiraan biaya bulanan didasarkan pada asumsi berikut:
Harga Batuan Dasar dapat dilihat di halaman Harga Batuan Dasar AWS. Perkiraan biaya untuk skenario yang diberikan adalah sebagai berikut:
Model Haiku Claude 3 :
Model Soneta Claude 3 :
Model Soneta Claude 3.5 :
Model Karya Claude 3 :
Catatan : Meskipun perkiraan biaya dihitung menggunakan satu model, Anda memiliki fleksibilitas untuk beralih antar model sesuai kebutuhan. Misalnya, jika Anda memerlukan model yang lebih canggih seperti Opus untuk permintaan tertentu, Anda hanya akan dikenakan biaya untuk penggunaan tersebut. Untuk sebagian besar permintaan, Anda dapat menggunakan model yang lebih hemat biaya seperti Haiku, yang akan membantu menjaga biaya keseluruhan alat tetap rendah dan dioptimalkan untuk kebutuhan Anda.
Catatan : Perkiraan tersebut tidak mempertimbangkan AWS Tingkat Gratis untuk layanan yang memenuhi syarat. Biaya sebenarnya mungkin lebih rendah jika Anda masih berada dalam batas Tingkat Gratis. Harap perhatikan juga bahwa harga layanan AWS dapat berubah seiring waktu, sehingga biaya sebenarnya mungkin berbeda dari perkiraan ini.
Penting untuk diperhatikan bahwa ini hanyalah perkiraan dan tidak mewakili biaya pastinya. Tujuannya adalah untuk memberikan gambaran tingkat tinggi tentang potensi biaya berdasarkan skenario yang diberikan. Biaya sebenarnya akan bervariasi tergantung pada pola penggunaan spesifik Anda dan model Amazon Bedrock yang Anda pilih untuk digunakan.
Salah satu keuntungan besar arsitektur cloud dan tanpa server adalah kemampuan untuk meningkatkan atau menurunkan skala sumber daya berdasarkan permintaan. Akibatnya, biaya solusi akan bertambah atau berkurang, sehingga memastikan Anda hanya membayar sumber daya yang Anda konsumsi.
Selain itu, beberapa komponen solusi, seperti AWS Lambda, S3, CloudFront, DynamoDB, dan Amazon Cognito, mungkin tidak dikenakan biaya tambahan jika Anda masih berada dalam batas AWS Tingkat Gratis.
Tautan Penaksir Biaya : https://calculator.aws/#/estimate?id=5fa739dd54db78d439bb602e17bd8af8a1d78f07
Catatan : Penaksir biaya tidak termasuk biaya untuk Amazon Bedrock, karena model Claude belum didukung di kalkulator.
Proyek ini dilisensikan di bawah Lisensi MIT - lihat file LISENSI untuk detailnya.
Kami menyambut baik kontribusi pada Contoh Asisten GenAI Produktivitas Karyawan! Jika Anda mempunyai saran atau ingin melaporkan masalah, silakan buka pull request atau masalah.
Saat menerapkan solusi, penting untuk mengikuti praktik terbaik untuk memastikan keamanan, keandalan, dan kemudahan observasi. Berikut adalah beberapa rekomendasi, namun perhatikan bahwa daftar ini tidak lengkap dan mungkin masih banyak lagi yang perlu dipertimbangkan.
Untuk meningkatkan keamanan data, pertimbangkan untuk mengaktifkan enkripsi menggunakan Customer Managed Key (CMK) yang disimpan di AWS Key Management Service (KMS) untuk berbagai layanan. Ini memberikan lapisan keamanan tambahan dengan memungkinkan Anda mengontrol akses ke kunci enkripsi.
Menerapkan mekanisme observasi dan pencatatan yang kuat sangat penting untuk pemantauan, pemecahan masalah, dan audit keamanan.
AccessLogSetting
untuk mencatat permintaan akses.Untuk fungsi Lambda yang berjalan di Virtual Private Cloud (VPC), pastikan konfigurasi titik akhir VPC yang tepat untuk memfasilitasi komunikasi yang aman dan efisien. Hal ini dapat membantu menjaga semua panggilan tetap internal ke VPC dan menghindari penggunaan titik akhir publik AWS.
Dengan menerapkan praktik terbaik ini, Anda dapat meningkatkan keamanan, keandalan, dan kemampuan observasi lingkungan Anda secara signifikan. Selalu pertimbangkan kebutuhan spesifik aplikasi dan infrastruktur Anda untuk menentukan konfigurasi yang paling tepat.