Menghosting aplikasi dan agen AI di Cloud Run

Halaman ini menyoroti beberapa kasus penggunaan Cloud Run sebagai platform hosting untuk kasus penggunaan AI berikut:

Menghosting aplikasi AI di Cloud Run

Aplikasi AI menggunakan model AI untuk beroperasi atau melakukan tugas tertentu. Misalnya, aplikasi AI dapat menggunakan model AI untuk meringkas dokumen, atau menjadi antarmuka chat yang menggunakan database vektor untuk mengambil lebih banyak konteks.

Cloud Run adalah salah satu infrastruktur hosting aplikasi yang menyediakan lingkungan terkelola sepenuhnya untuk workload aplikasi AI Anda. Cloud Run terintegrasi dengan model AI seperti Gemini API, endpoint Vertex AI, atau model yang dihosting di layanan Cloud Run yang mendukung GPU. Cloud Run juga terintegrasi dengan Cloud SQL untuk PostgreSQL dan AlloyDB untuk PostgreSQL, yang merupakan dua database yang menawarkan ekstensi pgvector untuk Retrieval-Augmented Generation (RAG).

Menghosting Agen AI di Cloud Run

Agen AI menggabungkan kecerdasan model AI tingkat lanjut dengan akses ke berbagai alat, untuk mengambil tindakan atas nama pengguna dan di bawah kendali pengguna.

Anda dapat menerapkan agen AI sebagai layanan Cloud Run untuk mengatur serangkaian tugas asinkron dan memberikan informasi kepada pengguna, melalui beberapa interaksi permintaan-respons.

Arsitektur agen AI di Cloud Run

Arsitektur agen AI umum yang di-deploy di Cloud Run dapat melibatkan beberapa komponen dari Google Cloud dan di luar Google Cloud:

Arsitektur agen AI di Cloud Run

  1. Penayangan dan Pengelolaan: Layanan Cloud Run bertindak sebagai endpoint API yang skalabel, dan dapat menangani beberapa pengguna serentak melalui penskalaan instance yang otomatis, sesuai permintaan, dan cepat. Layanan ini menjalankan logika agen inti, sering kali menggunakan framework orkestrasi AI seperti LangGraph atau Agent Development Kit (ADK). Lapisan ini mengoordinasikan panggilan ke komponen lain. Cloud Run mendukung streaming respons HTTP kembali ke pengguna menggunakan WebSockets. Identitas layanan bawaan Cloud Run menyediakan kredensial yang aman dan otomatis untuk memanggil Google Cloud API tanpa mengelola kunci API.

  2. Model AI: Lapisan orkestrasi memanggil model untuk kemampuan penalaran. Di antaranya yaitu:

  3. Memori: Agen sering kali memerlukan memori untuk mempertahankan konteks dan belajar dari interaksi sebelumnya.

    • Memori jangka pendek dapat diimplementasikan dengan menghubungkan Cloud Run ke Memorystore for Redis.
    • Memori jangka panjang untuk menyimpan histori percakapan atau mengingat preferensi pengguna dapat diimplementasikan dengan menghubungkan Cloud Run ke Firestore, database NoSQL serverless yang skalabel.
  4. Database dan Pengambilan: Untuk Retrieval-Augmented Generation (RAG) atau pengambilan data terstruktur:

  5. Alat: Pengelola menggunakan alat untuk melakukan tugas tertentu yang tidak sesuai untuk model atau untuk berinteraksi dengan layanan, API, atau situs eksternal. Hal ini dapat mencakup:

    • Utilitas dasar: Kalkulasi matematika yang presisi, konversi waktu, atau utilitas serupa lainnya dapat berjalan di layanan Cloud Run yang mengorkestrasi.
    • Panggilan API: Lakukan panggilan ke API internal atau pihak ketiga lainnya (akses baca atau tulis).
    • Pembuatan gambar atau diagram: Gunakan model pembuatan gambar atau jalankan library diagram untuk membuat konten visual dengan cepat dan efektif.
    • Otomatisasi browser dan OS: Jalankan Sistem Operasi grafis lengkap atau tanpa antarmuka dalam instance container untuk memungkinkan agen menjelajahi web, mengekstrak informasi dari situs, atau melakukan tindakan menggunakan klik dan input keyboard. Layanan Cloud Run menampilkan piksel layar. Gunakan library seperti Puppeteer untuk mengontrol browser.
    • Eksekusi kode: Cloud Run menyediakan lingkungan yang aman dengan sandbox berlapis-lapis dan dapat dikonfigurasi ke layanan eksekusi kode dengan izin IAM minimal atau tanpa izin. Tugas Cloud Run dapat digunakan untuk mengeksekusi kode secara asinkron dan layanan Cloud Run dengan konkurensi 1 dapat digunakan untuk eksekusi sinkron.

Langkah berikutnya