GSP1289

Ringkasan
Khawatir dengan halusinasi AI? Meskipun AI dapat menjadi resource yang berharga, terkadang AI menghasilkan respons yang tidak akurat, sudah tidak relevan, atau terlalu umum. Fenomena ini dikenal sebagai "halusinasi". Lab ini mengajarkan Anda cara menerapkan pipeline Retrieval-Augmented Generation (RAG) untuk mengatasi masalah ini. RAG meningkatkan kualitas model bahasa besar (LLM) seperti Gemini dengan menghubungkan outputnya ke informasi yang relevan secara kontekstual dari set data tertentu.
Misalkan Anda membantu Coffee-on-Wheels, pelopor vendor kopi keliling, menganalisis masukan pelanggan tentang layanannya. Tanpa akses ke data terbaru, respons Gemini mungkin tidak akurat. Untuk mengatasi masalah ini, Anda memutuskan untuk membangun pipeline RAG yang mencakup tiga langkah:
-
Membuat embedding: Mengonversi teks masukan pelanggan menjadi embedding vektor, yang merupakan representasi numerik data yang menangkap makna semantik.
-
Menelusuri ruang vektor: Membuat indeks dari vektor tersebut, menelusuri item yang mirip, dan mengambilnya.
-
Menghasilkan jawaban yang lebih baik: Meningkatkan kemampuan Gemini dengan informasi yang diambil untuk menghasilkan respons yang lebih akurat dan relevan.
BigQuery memungkinkan koneksi yang lancar ke model AI generatif jarak jauh di Vertex AI. BigQuery juga menyediakan berbagai fungsi untuk embedding, penelusuran vektor, dan pembuatan teks secara langsung melalui kueri SQL atau notebook Python.
Untuk pembahasan lebih mendalam, lihat kursus Membuat Embedding, Penelusuran Vektor, dan RAG dengan BigQuery di Google Cloud Skills Boost.
Yang akan Anda pelajari
- Membuat koneksi sumber dan memberikan izin IAM.
- Membuat embedding dan mengonversi data teks ke embedding vektor.
- Menelusuri ruang vektor dan mengambil item yang mirip.
- Menghasilkan jawaban yang lebih baik dengan meningkatkan kemampuan Gemini dengan hasil penelusuran.
Prasyarat
Untuk menyelesaikan lab ini, Anda harus memahami BigQuery dan coding SQL.
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
-
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Tugas 1. Membuat koneksi sumber dan memberikan izin IAM
Membuat koneksi sumber
Untuk menggunakan model AI generatif jarak jauh pada Vertex AI di BigQuery, seperti Gemini dan model embedding, buat koneksi sumber eksternal baru.
- Di Konsol Google Cloud, pada Navigation menu (
), klik BigQuery.
- Buka Explorer, klik + Add, lalu pilih Connections to external data sources.
- Pada dropdown Connection type, pilih Vertex AI remote models, remote functions and BigLake (Cloud Resource).
- Di kolom Connection ID, masukkan
embedding_conn
.
- Klik Create connection.
- Setelah koneksi dibuat, klik Go to connection di konfirmasi pop-up untuk membuka koneksi tersebut, lalu salin nilai Service account id. Anda akan memerlukannya nanti untuk menetapkan izin ke akun ini.
Memberikan izin IAM
Untuk menggunakan data BigQuery dan resource Vertex AI, berikan izin IAM yang diperlukan ke akun layanan.
- Selanjutnya, Anda harus memberikan izin melalui IAM. Lakukan langkah-langkah berikut:
- Di Konsol Google Cloud, pada Navigation menu (
), buka IAM & Admin > IAM.
- Klik Grant access.
- Di bagian Add principals:
- Di kolom teks New principals, tempel nilai Service account id yang telah Anda salin sebelumnya.
- Di bagian Assign Role, pilih peran berikut (telusuri jika perlu):
- BigQuery Data Owner
- Vertex AI User
- Klik Save untuk menerapkan perubahan.
- Buka APIs and Services dari Navigation menu (
), klik + Enable APIs and services, telusuri Vertex AI API
, klik tombol Enable.
Klik Check my progress untuk memverifikasi tujuan.
Membuat koneksi sumber dan memberikan izin IAM.
Tugas 2. Membuat embedding
-
Di Konsol Google Cloud, pada Navigation menu (
), buka BigQuery.
-
Di Explorer, klik tiga titik di samping project, lalu klik Create dataset. Untuk Dataset ID, masukkan CustomerReview
. Biarkan opsi lainnya diisi dengan nilai default, lalu klik Create dataset.
-
Untuk terhubung ke model embedding, jalankan kueri SQL berikut di editor kueri:
CREATE OR REPLACE MODEL `CustomerReview.Embeddings`
REMOTE WITH CONNECTION `us.embedding_conn`
OPTIONS (ENDPOINT = 'text-embedding-005');
- Untuk mengupload set data dari file CSV, jalankan kueri SQL berikut:
LOAD DATA OVERWRITE CustomerReview.customer_reviews
(
customer_review_id INT64,
customer_id INT64,
location_id INT64,
review_datetime DATETIME,
review_text STRING,
social_media_source STRING,
social_media_handle STRING
)
FROM FILES (
format = 'CSV',
uris = ['gs://spls/gsp1249/customer_reviews.csv']
);
-
(opsional) Untuk memeriksa data yang diupload di tabel, klik Go to table. Temukan Schema tabel dan klik Preview data untuk meninjaunya.
-
Untuk membuat embedding dari masukan pelanggan terbaru dan menyimpannya dalam tabel, jalankan kueri SQL berikut di editor kueri:
CREATE OR REPLACE TABLE `CustomerReview.customer_reviews_embedded` AS
SELECT *
FROM ML.GENERATE_EMBEDDING(
MODEL `CustomerReview.Embeddings`,
(SELECT review_text AS content FROM `CustomerReview.customer_reviews`)
);
- (Opsional) Untuk memeriksa hasil embedding, klik Go to table. Temukan Schema tabel dan klik Preview data untuk meninjaunya. Perhatikan bahwa hasil embedding adalah angka floating point dan mungkin tidak dapat langsung ditafsirkan.
Klik Check my progress untuk memverifikasi tujuan.
Membuat embedding.
Tugas 3. Menelusuri ruang vektor dan mengambil item yang mirip
- Untuk membuat indeks ruang penelusuran vektor, jalankan kueri SQL berikut:
Catatan: Untuk set data dengan jumlah baris kurang dari 5.000, seperti di lab ini, pembuatan indeks tidak diperlukan. Langkah ini mendemonstrasikan kode yang diperlukan untuk membuat indeks ruang vektor jika diperlukan untuk set data yang lebih besar.
CREATE OR REPLACE VECTOR INDEX `CustomerReview.reviews_index`
ON `CustomerReview.customer_reviews_embedded`(ml_generate_embedding_result)
OPTIONS (distance_type = 'COSINE', index_type = 'IVF');
- Untuk menelusuri ruang vektor dan mengambil item yang mirip, jalankan kueri SQL berikut:
CREATE OR REPLACE TABLE `CustomerReview.vector_search_result` AS
SELECT
query.query,
base.content
FROM
VECTOR_SEARCH(
TABLE `CustomerReview.customer_reviews_embedded`,
'ml_generate_embedding_result',
(
SELECT
ml_generate_embedding_result,
content AS query
FROM
ML.GENERATE_EMBEDDING(
MODEL `CustomerReview.Embeddings`,
(SELECT 'service' AS content)
)
),
top_k => 5,
options => '{"fraction_lists_to_search": 0.01}'
);
- (Opsional) Untuk memeriksa hasil kueri, klik Go to table. Temukan Schema tabel dan klik Preview data untuk meninjaunya.
Klik Check my progress untuk memverifikasi tujuan.
Menelusuri ruang vektor dan mengambil item yang mirip.
Tugas 4. Menghasilkan jawaban yang lebih baik
-
Untuk terhubung ke model Gemini, jalankan kueri SQL berikut:
CREATE OR REPLACE MODEL `CustomerReview.Gemini`
REMOTE WITH CONNECTION `us.embedding_conn`
OPTIONS (ENDPOINT = 'gemini-pro');
-
Untuk meningkatkan kualitas respons Gemini, berikan data yang relevan dan terbaru yang diambil dari penelusuran vektor dengan menjalankan kueri berikut:
SELECT
ml_generate_text_llm_result AS generated
FROM
ML.GENERATE_TEXT(
MODEL `CustomerReview.Gemini`,
(
SELECT
CONCAT(
'Summarize what customers think about our services',
STRING_AGG(FORMAT('review text: %s', base.content), ',\n')
) AS prompt
FROM
`CustomerReview.vector_search_result` AS base
),
STRUCT(
0.4 AS temperature,
300 AS max_output_tokens,
0.5 AS top_p,
5 AS top_k,
TRUE AS flatten_json_output
)
);
- Periksa hasil yang dibuat Gemini di bagian Query results di bawah editor kueri.
Pertanyaan untuk Anda:
1. Bagaimana cara menentukan apakah Gemini menghasilkan jawaban yang lebih baik dengan RAG dibandingkan tanpa RAG? Coba uji dengan kode.
2. Bagaimana cara meningkatkan kualitas kode? Misalnya, alih-alih menyimpan hasil penelusuran vektor ke tabel (Tugas 3), dapatkah proses tersebut disematkan langsung ke pembuatan jawaban (Tugas 4) untuk pengambilan data secara real-time?
Pelajari pertanyaan ini dengan memanfaatkan waktu lab yang tersisa. Semoga berhasil!
Klik Check my progress untuk memverifikasi tujuan.
Menghasilkan respons yang lebih baik dengan data yang diambil dari penelusuran vektor.
Selamat!
Untuk membantu Coffee-on-Wheels mendapatkan insight dari masukan pelanggan tentang layanannya, Anda berhasil menerapkan pipeline RAG di BigQuery, yang memberi Gemini informasi yang relevan dan terbaru. Anda terhubung ke model AI generatif jarak jauh, termasuk model embedding dan Gemini, serta mengikuti tiga langkah: membuat embedding, menelusuri ruang vektor, dan menghasilkan jawaban yang lebih baik. Tujuannya adalah agar Anda dapat menerapkan pendekatan yang sama ini untuk mengatasi tantangan halusinasi AI Anda sendiri.
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui: 22 Januari 2025
Lab Terakhir Diuji: 22 Januari 2025
Hak cipta 2025 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.