arrow_back

Menganalisis Ulasan Pelanggan dengan Gemini Menggunakan Notebook Python

Login Gabung
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus

Menganalisis Ulasan Pelanggan dengan Gemini Menggunakan Notebook Python

Lab 1 jam 30 menit universal_currency_alt 5 Kredit show_chart Menengah
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus

GSP1249

Lab Mandiri Google Cloud

Ringkasan

Di lab ini, Anda akan mempelajari cara mengekstrak kata kunci dan menilai sentimen pelanggan pada ulasan pelanggan menggunakan BigQuery Machine Learning dengan model jarak jauh (Gemini Pro).

BigQuery adalah platform analisis data yang terkelola sepenuhnya dengan kemampuan AI yang membantu Anda memaksimalkan nilai dari data Anda dan dirancang agar menjadi multi-engine, multi-format, dan multi-cloud. Salah satu fitur utamanya adalah BigQuery Machine Learning, yang memungkinkan Anda membuat dan menjalankan model machine learning (ML) dengan menggunakan kueri SQL atau dengan notebook Colab Enterprise.

Gemini adalah rangkaian model AI generatif yang dikembangkan oleh Google DeepMind dan dirancang untuk kasus penggunaan multimodal. Gemini API menyediakan akses ke model Gemini Pro, Gemini Pro Vision, dan Gemini Flash.

Di akhir lab ini, Anda akan membangun aplikasi layanan pelanggan berbasis Python di notebook Colab Enterprise di dalam BigQuery, menggunakan model Gemini Flash untuk merespons ulasan pelanggan berbasis audio.

Tujuan

Di lab ini, Anda akan mempelajari cara:

  • Membuat notebook Python di BigQuery menggunakan Colab Enterprise.
  • Membuat koneksi Resource Cloud di BigQuery.
  • Membuat set data dan tabel di BigQuery.
  • Membuat model jarak jauh Gemini di BigQuery.
  • Memasukkan perintah ke Gemini untuk menganalisis kata kunci dan sentimen (positif atau negatif) untuk ulasan pelanggan berbasis teks.
  • Membuat laporan berisi jumlah ulasan positif dan negatif.
  • Merespons ulasan pelanggan dalam skala besar.
  • Membuat aplikasi untuk perwakilan layanan pelanggan guna merespons ulasan pelanggan berbasis audio.

Penyiapan dan persyaratan

Sebelum mengklik tombol Mulai 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 praktik ini dapat Anda gunakan untuk melakukan sendiri 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 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: Jika Anda sudah memiliki project atau akun pribadi Google Cloud, jangan menggunakannya untuk lab ini agar terhindar dari tagihan ekstra pada akun Anda.

Cara memulai lab dan login ke Google Cloud Console

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details dengan info 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
  2. 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.
  3. 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.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. 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.
  7. 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 melihat menu dengan daftar produk dan layanan Google Cloud, klik Navigation menu di kiri atas. Ikon Navigation menu

Tugas 1. Membuat notebook Python di BigQuery dan menghubungkannya ke runtime

Dalam tugas ini, Anda akan membuat notebook Python di BigQuery dan menghubungkan notebook tersebut ke runtime.

Membuat notebook Python di BigQuery

  1. Di Konsol Google Cloud, pada Navigation menu, klik BigQuery.

  2. Klik DONE di pop-up Welcome.

  3. Klik PYTHON NOTEBOOK.

  4. Pilih untuk region.

  5. Klik SELECT.

    Anda juga akan melihat bahwa notebook Python telah ditambahkan ke bagian Notebooks di bawah project Anda pada bagian Explorer.

  6. Hapus semua sel yang ada di notebook dengan mengklik ikon sampah yang muncul saat Anda mengarahkan kursor ke setiap sel.

Setelah selesai, notebook akan menjadi kosong dan Anda siap melanjutkan ke langkah selanjutnya.

Menghubungkan notebook ke runtime

  1. Klik Connect.

  2. Klik ID siswa Qwiklabs.

    Harap tunggu. Diperlukan waktu hingga 3 menit untuk terhubung ke runtime.

    Setelah itu, Anda akan melihat pembaruan status koneksi menjadi Connected di bagian bawah jendela browser Anda.

Klik Check my progress untuk memverifikasi tujuan. Membuat notebook Python di BigQuery dan menghubungkannya ke runtime

Tugas 2. Membuat koneksi resource cloud dan memberikan peran IAM

Membuat koneksi resource cloud di BigQuery

Dalam tugas ini, Anda akan membuat koneksi resource Cloud di BigQuery, sehingga Anda dapat bekerja dengan model Gemini Pro dan Gemini Flash. Anda juga akan memberikan izin IAM akun layanan untuk koneksi resource cloud, melalui sebuah peran, untuk mengaktifkan akses ke layanan Vertex AI.

Anda akan menggunakan Python SDK dan Google Cloud CLI untuk membuat koneksi resource. Namun, Anda harus mengimpor library Python terlebih dahulu serta menentukan variabel project_id dan region.

  1. Buat sel kode baru dengan kode di bawah ini:

    # Import Python libraries import vertexai from vertexai.generative_models import GenerativeModel, Part from google.cloud import bigquery from google.cloud import storage import json import io import matplotlib.pyplot as plt from IPython.display import HTML, display from IPython.display import Audio from pprint import pprint

    Kode ini akan mengimpor library Python.

  2. Jalankan sel ini. Library kini telah dimuat dan siap digunakan.

  3. Buat sel kode baru dengan kode di bawah ini:

    # Set Python variables for project_id and region project_id = "{{{project_0.project_id|Project ID}}}" region = " {{{ project_0.default_region | "REGION" }}}" Catatan: project_id dan region disimpan di sini sebagai variabel Python, bukan variabel SQL. Jadi, Anda hanya dapat merujuknya di sel menggunakan kode Python, bukan kode SQL.
  4. Jalankan sel ini. Variabel untuk project_id dan region telah ditetapkan.

  5. Buat sel kode baru dengan kode di bawah ini:

    # Create the resource connection !bq mk --connection \ --connection_type=CLOUD_RESOURCE \ --location=US \ gemini_conn

    Kode ini akan menggunakan perintah Google Cloud CLI bq mk --connection untuk membuat koneksi resource.

  6. Jalankan sel ini. Koneksi resource kini telah dibuat.

  7. Klik tombol View actions di samping project ID Anda di Explorer.

  8. Pilih Refresh contents.

  9. Luaskan External connections. Perhatikan bahwa us.gemini_conn kini telah tercantum sebagai koneksi eksternal.

  10. Klik us.gemini_conn.

  11. Di panel Connection info, salin ID akun layanan ke file teks untuk digunakan dalam tugas berikutnya.

Memberikan peran Vertex AI User ke akun layanan koneksi

  1. Di konsol, pada Navigation menu, klik IAM & Admin.

  2. Klik Grant Access.

  3. Di kolom New principals, masukkan ID akun layanan yang Anda salin sebelumnya.

  4. Di kolom Select a role, masukkan Vertex AI, lalu pilih peran Vertex AI User.

  5. Klik Save.

    Hasilnya adalah akun layanan kini memiliki peran Vertex AI User.

Klik Check my progress untuk memverifikasi tujuan. Membuat koneksi resource cloud dan memberikan peran IAM

Tugas 3. Meninjau file audio, set data, dan memberikan peran IAM ke akun layanan

Di tugas ini, Anda akan meninjau set data dan file audio, lalu memberikan izin IAM ke akun layanan koneksi resource cloud.

Meninjau file audio, file gambar, dan set data ulasan pelanggan di Cloud Storage

Sebelum memulai tugas ini untuk memberikan izin ke akun layanan koneksi resource, tinjau set data dan file gambar.

  1. Di Konsol Google Cloud, pilih Navigation menu (Ikon Navigation menu), lalu pilih Cloud Storage.

  2. Klik bucket -bucket.

  3. Bucket ini berisi folder gsp1249. Buka folder tersebut. Anda akan melihat lima item di dalamnya:

    • Folder audio berisi semua file audio yang akan Anda analisis. Silakan akses folder audio dan tinjau file audio.
    • File customer_reviews.csv adalah set data yang berisi ulasan pelanggan berbasis teks.
    • Folder images berisi file gambar yang nanti akan Anda gunakan di lab ini. Silakan akses folder ini dan lihat file gambar yang ada di dalamnya.
    • notebook.ipynb, ini adalah salinan notebook yang Anda buat di lab ini. Anda dapat meninjaunya jika perlu.
    Catatan: Anda dapat menggunakan URL yang Diautentikasi untuk mendownload dan meninjau setiap item.

Memberikan peran IAM Storage Object Admin ke akun layanan koneksi

Memberikan izin IAM ke akun layanan koneksi resource sebelum mulai bekerja di BigQuery akan memastikan Anda tidak mengalami error akses ditolak saat menjalankan kueri.

  1. Kembali ke root bucket.

  2. Klik PERMISSIONS.

  3. Klik GRANT ACCESS.

  4. Di kolom New principals, masukkan ID akun layanan yang Anda salin sebelumnya.

  5. Di kolom Select a role, masukkan Storage Object, lalu pilih peran Storage Object Admin.

  6. Klik Save.

    Hasilnya adalah akun layanan kini memiliki peran Storage Object Admin.

Klik Check my progress untuk memverifikasi tujuan. Meninjau gambar, set data, dan memberikan peran IAM ke akun layanan

Tugas 4. Membuat set data dan tabel ulasan pelanggan di BigQuery

Dalam tugas ini, Anda akan membuat set data untuk project ini dan tabel untuk ulasan pelanggan.

Membuat set data

Untuk set data, Anda akan menggunakan properti berikut:

Kolom Nilai
Dataset ID gemini_demo
Location type pilih Multi-region
Multi-region pilih US
  1. Kembali ke notebook Python di BigQuery.

  2. Buat sel kode baru dengan kode di bawah ini:

    # Create the dataset %%bigquery CREATE SCHEMA IF NOT EXISTS `{{{project_0.project_id|Project ID}}}.gemini_demo` OPTIONS(location="US");

    Perhatikan bahwa kode dimulai dengan %%bigquery. Hal ini memberi tahu Python bahwa kode yang langsung mengikuti pernyataan ini adalah kode SQL.

  3. Jalankan sel ini.

    Hasilnya adalah kode SQL akan menghasilkan set data gemini_demo di project Anda yang berada di region US dan tercantum di bawah project Anda di BigQuery Explorer.

Membuat tabel ulasan pelanggan dengan data sampel

Untuk membuat tabel ulasan pelanggan, Anda akan menggunakan kueri SQL.

  1. Buat sel kode baru dengan kode di bawah ini:

    # Create the customer reviews table %%bigquery LOAD DATA OVERWRITE gemini_demo.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://{{{project_0.project_id|Project ID}}}-bucket/gsp1249/customer_reviews.csv']);
  2. Jalankan sel ini.

    Hasilnya adalah tabel customer_reviews dibuat dengan data sampel ulasan pelanggan, termasuk customer_review_id, customer_id, location_id, review_datetime, review_text, social_media_source, dan social_media_handle untuk setiap ulasan di set data.

  3. Di Explorer, klik tabel customer_reviews, lalu tinjau skema dan detailnya.

  4. Buat kueri tabel untuk meninjau kumpulan data dengan membuat sel kode baru dengan kode berikut.

    # Create the customer reviews table %%bigquery SELECT * FROM `gemini_demo.customer_reviews` ORDER BY review_datetime
  5. Jalankan sel ini.

    Hasilnya adalah kumpulan data akan ditampilkan dari tabel dengan menyertakan semua kolom.

Klik Check my progress untuk memverifikasi tujuan. Membuat set data dan tabel ulasan pelanggan di BigQuery

Tugas 5. Membuat model Gemini Pro di BigQuery

Setelah tabel dibuat, Anda dapat mulai menggunakannya. Dalam tugas ini, Anda membuat model Gemini Pro di BigQuery.

  1. Kembali ke notebook Python.

  2. Buat sel kode baru dengan kode di bawah ini:

    # Create the customer reviews table %%bigquery CREATE OR REPLACE MODEL `gemini_demo.gemini_pro` REMOTE WITH CONNECTION `us.gemini_conn` OPTIONS (endpoint = 'gemini-pro')
  3. Jalankan sel ini.

    Hasilnya adalah model gemini_pro dibuat dan Anda mendapati model tersebut ditambahkan ke set data gemini_demo, di bagian model.

  4. Di Explorer, klik model gemini_pro, lalu tinjau detail dan skemanya.

Klik Check my progress untuk memverifikasi tujuan. Membuat model Gemini Pro di BigQuery

Tugas 6. Memasukkan perintah ke Gemini guna menganalisis ulasan pelanggan untuk kata kunci dan sentimen

Dalam tugas ini, Anda akan menggunakan model Gemini Pro untuk menganalisis setiap ulasan pelanggan terkait sentimen, baik positif maupun negatif.

Menganalisis ulasan pelanggan untuk sentimen positif dan negatif

  1. Buat sel kode baru dengan kode di bawah ini:

    # Create the sentiment analysis table %%bigquery CREATE OR REPLACE TABLE `gemini_demo.customer_reviews_analysis` AS ( SELECT ml_generate_text_llm_result, social_media_source, review_text, customer_id, location_id, review_datetime FROM ML.GENERATE_TEXT( MODEL `gemini_demo.gemini_pro`, ( SELECT social_media_source, customer_id, location_id, review_text, review_datetime, CONCAT( 'Classify the sentiment of the following text as positive or negative.', review_text, "In your response don't include the sentiment explanation. Remove all extraneous information from your response, it should be a boolean response either positive or negative.") AS prompt FROM `gemini_demo.customer_reviews` ), STRUCT( 0.2 AS temperature, TRUE AS flatten_json_output)));
  2. Jalankan sel ini.

    Kueri ini mengambil ulasan pelanggan dari tabel customer_reviews, menyusun perintah, dan menggunakannya di dalam model gemini_pro untuk mengklasifikasikan sentimen dari setiap ulasan. Hasilnya kemudian disimpan di tabel baru customer_reviews_analysis, sehingga Anda dapat menggunakannya nanti untuk dianalisis lebih lanjut.

    Harap tunggu. Model ini memerlukan waktu sekitar 30 detik untuk memproses kumpulan data ulasan pelanggan.

    Setelah model tersebut selesai, hasilnya adalah tabel customer_reviews_analysis dibuat.

  3. Di Explorer, klik tabel customer_reviews_analysis, lalu tinjau skema dan detailnya.

  4. Buat sel kode baru dengan kode di bawah ini:

    # Pull the first 100 records from the customer_reviews_analysis table %%bigquery SELECT * FROM `gemini_demo.customer_reviews_analysis` ORDER BY review_datetime
  5. Jalankan sel ini.

    Hasilnya adalah baris dengan kolom ml_generate_text_llm_result (berisi analisis sentimen), teks ulasan pelanggan, ID pelanggan, dan ID lokasi.

    Perhatikan beberapa kumpulan data. Anda mungkin mendapati beberapa hasil untuk positif dan negatif mungkin tidak diformat dengan tepat, dengan karakter yang tidak relevan seperti titik, atau spasi berlebih. Anda dapat membersihkan kumpulan data tersebut dengan tabel virtual berikut.

Membuat tabel virtual untuk membersihkan kumpulan data

  1. Buat sel kode baru dengan kode di bawah ini:

    # Sanitize the records within a new view %%bigquery CREATE OR REPLACE VIEW gemini_demo.cleaned_data_view AS SELECT REPLACE(REPLACE(LOWER(ml_generate_text_llm_result), '.', ''), ' ', '') AS sentiment, REGEXP_REPLACE( REGEXP_REPLACE( REGEXP_REPLACE(social_media_source, r'Google(\+|\sReviews|\sLocal|\sMy\sBusiness|\sreviews|\sMaps)?', 'Google'), 'YELP', 'Yelp' ), r'SocialMedia1?', 'Social Media' ) AS social_media_source, review_text, customer_id, location_id, review_datetime FROM `gemini_demo.customer_reviews_analysis`;
  2. Jalankan sel ini.

    Kode ini membuat tabel virtual, cleaned_data_view, dan menyertakan hasil sentimen, teks ulasan, ID pelanggan, dan ID lokasi. Kode ini kemudian mengambil hasil sentimen (positif atau negatif) dan memastikan semua huruf ditulis menggunakan huruf kecil, dan karakter yang tidak relevan seperti spasi atau titik tambahan dihapus. Tabel virtual yang dihasilkan akan memudahkan analisis lebih lanjut pada langkah berikutnya dalam lab ini.

  3. Buat sel kode baru dengan kode di bawah ini:

    # Pull the first 100 records from the cleaned_data_view view %%bigquery SELECT * FROM `gemini_demo.cleaned_data_view` ORDER BY review_datetime
  4. Jalankan sel ini.

    Perhatikan bahwa kolom sentiment kini memiliki nilai yang bersih untuk ulasan positif dan negatif. Anda dapat menggunakan tabel virtual ini di langkah berikutnya untuk membuat laporan.

Membuat laporan jumlah ulasan positif dan negatif

Anda dapat menggunakan library Python dan Matplotlib untuk membuat laporan diagram batang terkait jumlah ulasan positif dan negatif.

  1. Buat sel kode baru untuk menggunakan klien BigQuery untuk mengkueri cleaned_data_view untuk ulasan positif dan negatif, mengelompokkan ulasan berdasarkan sentimen, dan menyimpan hasilnya di dataframe.

    # Task 6.5 - Create the BigQuery client, and query the cleaned data view for positive and negative reviews, store the results in a dataframe and then show the first 10 records client = bigquery.Client() query = "SELECT sentiment, COUNT(*) AS count FROM `gemini_demo.cleaned_data_view` WHERE sentiment IN ('positive', 'negative') GROUP BY sentiment;" query_job = client.query(query) results = query_job.result().to_dataframe() results.head(10)
  2. Jalankan sel ini.

    Hasil dari menjalankan sel ini adalah output tabel dengan jumlah total ulasan positif dan negatif.

  3. Buat sel baru untuk menentukan variabel pada laporan.

    # Define variable for the report. sentiment = results["sentiment"].tolist() count = results["count"].tolist()
  4. Jalankan sel ini. Tidak ada output.

  5. Buat sel baru untuk membuat laporan.

    # Task 6.7 - Build the report. plt.bar(sentiment, count, color='skyblue') plt.xlabel("Sentiment") plt.ylabel("Total Count") plt.title("Bar Chart from BigQuery Data") plt.show()
  6. Jalankan sel ini.

    Hasilnya adalah diagram batang dengan jumlah ulasan positif dan negatif.

  7. Atau, Anda dapat membuat laporan sederhana dengan kode warna untuk jumlah sentimen positif dan negatif menggunakan kode di bawah ini:

    # Create an HTML table for the counts of negative and positive sentiment and color codes the results. html_counts = f"""
    Negative Positive
    {count[0]} {count[1]}
    """ # Display the HTML tables display(HTML(html_counts))

Klik Check my progress untuk memverifikasi tujuan. Memasukkan perintah ke Gemini guna menganalisis ulasan pelanggan untuk kata kunci dan sentimen

Tugas 7. Merespons ulasan pelanggan

Data Beans ingin bereksperimen dengan ulasan pelanggan menggunakan gambar dan rekaman audio. Di bagian notebook ini, Anda akan menggunakan Cloud Storage, BigQuery, Gemini Flash, dan Python untuk melakukan analisis sentimen pada ulasan pelanggan yang diberikan ke Data Beans sebagai file gambar dan audio. Dari analisis yang dihasilkan, Anda akan membuat respons layanan pelanggan untuk dikirim kembali kepada pelanggan, yang berisi ucapan terima kasih atas ulasan mereka dan menyampaikan tindakan yang dapat diambil kedai kopi itu berdasarkan ulasan tersebut.

Anda akan melakukan ini dalam skala besar dan juga dengan satu gambar dan file audio, sehingga Anda dapat mempelajari cara membuat aplikasi Bukti Konsep untuk perwakilan layanan pelanggan. Hal ini akan menjalankan strategi "human-in-the-loop" untuk proses masukan pelanggan, di mana perwakilan layanan pelanggan dapat mengambil tindakan terhadap pelanggan dan setiap kedai kopi.

Memproses file audio dalam skala besar dengan respons JSON

  1. Buat sel baru untuk melakukan analisis sentimen terhadap file audio dan merespons pelanggan.

    # Conduct sentiment analysis on audio files and respond to the customer. vertexai.init(project="{{{project_0.project_id|Project ID}}}", location="{{{project_0.default_region|region}}}") model = GenerativeModel(model_name="gemini-1.5-flash") prompt = """ Please provide a transcript for the audio. Then provide a summary for the audio. Then identify the keywords in the transcript. Be concise and short. Do not make up any information that is not part of the audio and do not be verbose. Then determine the sentiment of the audio: positive, neutral or negative. Also, you are a customr service representative. How would you respond to this customer review? From the customer reviews provide actions that the location can take to improve. The response and the actions should be simple, and to the point. Do not include any extraneous characters in your response. Answer in JSON format with five keys: transcript, summary, keywords, sentiment, response and actions. Transcript should be a string, summary should be a sting, keywords should be a list, sentiment should be a string, customer response should be a string and actions should be string. """ bucket_name = "{{{project_0.project_id|Project ID}}}-bucket" folder_name = 'gsp1249/audio' # Include the trailing '/' def list_mp3_files(bucket_name, folder_name): storage_client = storage.Client() bucket = storage_client.bucket(bucket_name) print('Accessing ', bucket, ' with ', storage_client) blobs = bucket.list_blobs(prefix=folder_name) mp3_files = [] for blob in blobs: if blob.name.endswith('.mp3'): mp3_files.append(blob.name) return mp3_files file_names = list_mp3_files(bucket_name, folder_name) if file_names: print("MP3 files found:") print(file_names) for file_name in file_names: audio_file_uri = f"gs://{bucket_name}/{file_name}" print('Processing file at ', audio_file_uri) audio_file = Part.from_uri(audio_file_uri, mime_type="audio/mpeg") contents = [audio_file, prompt] response = model.generate_content(contents) print(response.text) else: print("No MP3 files found in the specified folder.")

    Beberapa poin utama terkait sel ini:

    • Baris pertama melakukan inisialisasi Vertex AI dengan project ID dan region Anda. Anda harus mengisi nilai ini.
    • Baris berikutnya membuat model di BigQuery dengan nama model berdasarkan model Gemini Flash.
    • Kemudian, Anda menentukan perintah untuk digunakan oleh model Gemini Flash. Perintah ini mengonversi file audio menjadi teks secara efektif, lalu menganalisis sentimen di teks tersebut. Setelah analisis selesai, respons pelanggan akan dibuat untuk setiap file.
    • Anda harus menetapkan bucket sebagai variabel string bucket_name. Catatan: folder_name juga digunakan untuk subfolder gsp1249/audio. Jangan ubah ini.
    • Fungsi bernama list_mp3_files dibuat untuk mengidentifikasi semua file mp3 di dalam bucket. File ini kemudian diproses oleh model Gemini Flash di dalam pernyataan if.
  2. Jalankan sel ini.

    Hasilnya adalah kelima file audio dianalisis dan output dari analisis tersebut disediakan sebagai respons JSON. Respons JSON dapat diuraikan sesuai kebutuhan dan dialihkan ke aplikasi yang sesuai untuk merespons pelanggan atau lokasi dengan tindakan untuk peningkatan kualitas.

Membuat aplikasi untuk perwakilan layanan pelanggan

Di bagian lab ini, Anda akan mempelajari cara membuat aplikasi layanan pelanggan berdasarkan analisis ulasan negatif. Anda akan:

  • Menggunakan perintah yang sama di sel sebelumnya untuk menganalisis ulasan negatif tunggal.
  • Membuat transkrip dari file audio ulasan negatif, membuat objek JSON dari output model dengan format yang sesuai, dan menyimpan bagian tertentu dari objek JSON sebagai variabel Python, sehingga Anda dapat menggunakannya dengan HTML sebagai bagian dari aplikasi Anda.
  • Membuat tabel HTML, memuat gambar yang diupload pelanggan untuk ulasan, dan memuat file audio di pemutar.
  • Menampilkan tabel HTML, dengan gambar dan pemutar untuk file audio.
  1. Buat sel baru dan masukkan kode berikut, sehingga Anda dapat membuat transkrip untuk file audio ulasan negatif, membuat objek JSON, dan variabel terkait.

    # Generate the transcript for the negative review audio file, create the JSON object, and associated variables audio_file_uri = f"gs://{bucket_name}/{folder_name}/data-beans_review_7061.mp3" print(audio_file_uri) audio_file = Part.from_uri(audio_file_uri, mime_type="audio/mpeg") contents = [audio_file, prompt] response = model.generate_content(contents) print('Generating Transcript...') #print(response.text) results = response.text # print("your results are", results, type(results)) print('Transcript created...') print('Transcript ready for analysis...') json_data = results.replace('```json', '') json_data = json_data.replace('```', '') jason_data = '"""' + results + '"""' # print(json_data, type(json_data)) data = json.loads(json_data) # print(data) transcript = data["transcript"] summary = data["summary"] sentiment = data["sentiment"] keywords = data["keywords"] response = data["response"] actions = data["actions"]

    Beberapa poin utama terkait sel ini:

    • Kode di sel akan memilih file audio tertentu dari Cloud Storage (data-beans_review_7061.mp3).
    • Lalu, kode ini mengirim file tersebut ke perintah di sel sebelumnya yang berlabel Task 7.1 untuk diproses oleh model Gemini Flash.
    • Respons model diekstrak ke format JSON.
    • Data JSON kemudian diuraikan, dan menyimpan variabel Python untuk transkrip, ringkasan, sentimen, kata kunci, respons pelanggan, dan tindakan.
  2. Jalankan sel.

    Outputnya sederhana, hanya berupa URI file audio yang diproses dan pesan pemrosesan.

  3. Buat tabel berbasis HTML dari nilai yang dipilih dan muat file audio yang berisi ulasan negatif ke pemutar.

    # Create an HTML table (including the image) from the selected values. html_string = f"""
    customer_id: 7061 - @coffee_lover789  
    {transcript} {sentiment} feedback
     
    {keywords[0]}
    {keywords[1]}
    {keywords[2]}
    {keywords[3]}
    Customer summary:{summary}
    Recommended actions:{actions}
    Suggested Response:{response}
    """ print('The table has been created.')

    Beberapa poin utama terkait sel ini:

    • Kode di sel akan menyusun string tabel HTML.
    • Lalu, masukkan nilai untuk transkrip, sentimen, kata kunci, gambar, ringkasan, tindakan, dan respons ke sel tabel.
    • Kode ini juga akan menerapkan gaya tampilan ke elemen tabel.
    • Saat sel dijalankan, outputnya akan menunjukkan kapan tabel dibuat.
  4. Cari tag <td style="padding:10px;"> yang menyertakan output {summary}. Tambahkan baris kode baru sebelum tag ini.

  5. Tempel <td rowspan="3" style="padding: 10px;"><img src="<authenticated url here>" alt="Customer Image" style="max-width: 300px;"></td> ke dalam baris kode baru ini.

  6. Temukan URL yang Diautentikasi untuk file image_7061.png. Buka Cloud Storage, pilih bucket satu-satunya yang Anda miliki di sana, klik folder images, lalu klik file gambar tersebut.

  7. Pada halaman yang dihasilkan, salin URL yang Diautentikasi untuk gambar tersebut.

  8. Kembali ke notebook Python di BigQuery. Ganti <authenticated url here> dengan URL yang Diautentikasi yang sebenarnya di kode yang baru saja Anda tempel.

  9. Jalankan sel.

    Lagi-lagi, outputnya sederhana. Hanya berupa beberapa pesan pemrosesan, yang menunjukkan bahwa setiap langkah telah selesai.

  10. Buat sel baru untuk mendownload file audio dan memuatnya ke pemutar, menggunakan kode di bawah ini:

    # Download the audio file from Google Cloud Storage and load into the player storage_client = storage.Client() bucket = storage_client.bucket(bucket_name) blob = bucket.blob(f"{folder_name}/data-beans_review_7061.mp3") audio_bytes = io.BytesIO(blob.download_as_bytes()) # Assuming a sample rate of 44100 Hz (common for MP3 files) sample_rate = 44100 print('The audio file is loaded in the player.')

    Beberapa poin utama terkait sel ini:

    • Kode di sel akan mengakses bucket Cloud Storage dan mengambil file audio tertentu (data-beans_review_7061.mp3).
    • Lalu, kode ini akan mendownload file sebagai aliran data byte dan menentukan frekuensi sampel file tersebut, sehingga file ini dapat langsung diputar dalam pemutar di notebook.
    • Saat sel dijalankan, outputnya adalah pesan yang menyatakan bahwa file audio telah dimuat ke pemutar dan siap untuk diputar.
  11. Jalankan sel.

  12. Buat sel baru dan masukkan kode di bawah ini:

    # Task 7.5 - Build the mockup as output to the cell. print('Analysis complete. Review the results below.') display(HTML(html_string)) display(Audio(audio_bytes.read(), rate=sample_rate, autoplay=True))
  13. Jalankan sel.

    Di sel inilah keajaiban terjadi. Metode tampilan digunakan untuk menampilkan HTML dan file audio yang dimuat ke pemutar. Tinjau output dari sel tersebut. Hasilnya akan terlihat seperti gambar di bawah ini:

    Gambar menunjukkan aplikasi yang bekerja.

Klik Check my progress untuk memverifikasi tujuan. Merespons ulasan pelanggan

Selamat!

Anda berhasil membuat koneksi resource cloud di BigQuery. Anda juga telah membuat set data, tabel, dan model untuk memasukkan perintah ke Gemini guna menganalisis sentimen dan kata kunci pada ulasan pelanggan. Terakhir, Anda telah menggunakan Gemini untuk menganalisis ulasan pelanggan berbasis audio guna membuat ringkasan dan kata kunci untuk merespons ulasan pelanggan dalam aplikasi layanan pelanggan.

Langkah berikutnya/pelajari lebih lanjut

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 pada 26 Juli 2024

Lab Terakhir Diuji pada 26 Juli 2024

Hak cipta 2024 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.

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia