Generator

Generator menggunakan model bahasa besar (LLM) generatif terbaru dari Google, dan perintah yang Anda berikan, untuk menghasilkan perilaku dan respons agen saat runtime. Model yang tersedia disediakan oleh Vertex AI.

Generator memungkinkan Anda melakukan panggilan ke LLM secara native dari Agen Percakapan (Dialogflow CX) tanpa perlu membuat webhook eksternal Anda sendiri. Anda dapat mengonfigurasi generator untuk melakukan apa pun yang biasanya Anda minta LLM lakukan.

Generator sangat cocok untuk tugas seperti ringkasan, ekstraksi parameter, transformasi data, dan sebagainya. Lihat contoh di bawah.

Batasan

Fitur ini tersedia untuk agen dalam bahasa Dialogflow apa pun, meskipun model yang tersedia mungkin memiliki batasan bahasa yang lebih ketat. Lihat Vertex AI untuk mengetahui informasi selengkapnya.

Memahami konsep generator

Dokumentasi Vertex AI berisi informasi yang penting untuk dipahami saat membuat generator untuk Dialogflow:

Menentukan generator

Untuk membuat generator:

  1. Buka konsol Dialogflow CX.
  2. Pilih project Google Cloud Anda.
  3. Pilih agen.
  4. Klik tab Kelola.
  5. Klik Generator.
  6. Klik Buat baru.
  7. Masukkan nama tampilan deskriptif untuk generator.
  8. Masukkan perintah teks, model, dan kontrol seperti yang dijelaskan dalam konsep.
  9. Klik Simpan.

Perintah teks dikirim ke model generatif selama fulfillment pada waktu proses. Pertanyaan atau permintaan harus jelas agar model dapat menghasilkan respons yang memuaskan.

Anda dapat membuat perintah menjadi kontekstual dengan menandai kata sebagai placeholder dengan menambahkan $ sebelum kata. Anda nantinya dapat mengaitkan placeholder perintah generator ini dengan parameter sesi dalam fulfillment dan parameter tersebut akan diganti dengan nilai parameter sesi selama eksekusi.

Menentukan generator
Menentukan generator

Ada placeholder perintah generator khusus yang tidak perlu dikaitkan dengan parameter sesi. Placeholder perintah generator bawaan ini adalah

Istilah Definisi
$conversation Percakapan antara agen dan pengguna, tidak termasuk ucapan pengguna terakhir dan ucapan agen setelahnya.
$last-user-utterance Ucapan pengguna terakhir.

Menggunakan generator dalam fulfillment

Anda dapat menggunakan generator selama fulfillment (di Rute, Pemroses peristiwa, Parameter, dan lainnya).

Buka bagian Generator di panel Fulfillment, lalu luaskan. Kemudian, klik Tambahkan generator. Sekarang Anda dapat memilih generator standar atau menentukan generator baru.

Setelah memilih generator, Anda perlu mengaitkan placeholder perintah generator dari perintah dengan parameter sesi. Selain itu, Anda perlu menentukan parameter output yang akan berisi hasil generator setelah eksekusi.

Menggunakan generator
Menggunakan generator dalam fulfillment

Perhatikan bahwa Anda dapat menambahkan beberapa generator dalam satu fulfillment, yang dijalankan secara paralel.

Parameter output kemudian dapat digunakan nanti, misalnya dalam respons agen.

Menggunakan output generator
Menggunakan output generator

Menguji generator

Fitur generator dapat diuji langsung di simulator.

Menguji generator di simulator
Menguji generator di simulator

Contoh

Bagian ini memberikan contoh kasus penggunaan untuk generator. Karena generator adalah teknologi generatif berdasarkan model bahasa besar (LLM), hasil individual Anda dari penggunaan contoh perintah berikut mungkin berbeda dari output yang didokumentasikan di sini. Semua hasil perintah yang ditampilkan oleh Google adalah upaya terbaik.

Ringkasan konten

Contoh ini menunjukkan cara meringkas konten.

Perintah:

Your goal is to summarize a given text.

Text:
$text

A concise summary of the text in 1 or 2 sentences is:

Ringkasan percakapan

Contoh ini menunjukkan cara memberikan ringkasan percakapan.

Perintah:

You are an expert at summarizing conversations between a User and an Agent.
When providing the summary, always start with "Dear $email_address, the conversation summary is as follows:"
Provide a summary in a few bullet points.
Try to be as brief as possible with each bullet point,
only noting the key points of the conversation.
Output the summary in markdown format.

Conversation:
$conversation

Summary:

Dialog yang telah diselesaikan:

Untuk contoh percakapan, perintah yang di-resolve yang dikirim ke model generatif dapat berupa:

You are an expert at summarizing conversations between a User and an Agent.
When providing the summary, always start with "Dear joe@example.com conversation summary is as follows:"
Provide a summary in a few bullet points.
Try to be as brief as possible with each bullet point,
only noting the key points of the conversation.
Output the summary in markdown format.

Conversation:
Agent: Good day! What can I do for you today?
User: Hi, which models can I use in Conversational Agents (Dialogflow CX)'s generators?
Agent: You can use all models that Vertex AI provides!
User: Thanks, thats amazing!

Summary:

Pemformatan Markdown

Contoh ini menunjukkan cara memformat teks dalam markdown.

# Instructions

You are presented with a text and your goal is to apply markdown formatting to text.

**NOTE:** Do not change the meaning of the text, only the formatting.

# Example

## Text

Generators allow you to use Googles latest generative models to format text,
or to create a summaries, or even to write code. What an amazing feature.

## Text in Markdown

*Generators* allow you to use Google's latest generative models to

*   format text
*   create a summaries
*   write code

What an amazing feature.

# Your current task

## Text

$text

## Text in Markdown

Proses menjawab pertanyaan

Rangkaian contoh ini menunjukkan cara menggunakan generator untuk menjawab pertanyaan.

Pertama, Anda cukup mengandalkan pengetahuan internal model generatif untuk menjawab pertanyaan. Namun, perlu diperhatikan bahwa model hanya akan memberikan jawaban berdasarkan informasi yang merupakan bagian dari data pelatihannya. Tidak ada jaminan bahwa jawabannya benar atau terbaru.

Perintah untuk menjawab pertanyaan dengan pengetahuan mandiri

Your goal is to politely reply to a human with an answer to their question.

The human asked:
$last-user-utterance

You answer:

Meminta jawaban pertanyaan dengan informasi yang diberikan

Namun, jika ingin model menjawab berdasarkan informasi yang Anda berikan, Anda cukup menambahkannya ke perintah. Cara ini berfungsi jika tidak ada terlalu banyak informasi yang ingin Anda berikan (misalnya, menu restoran kecil atau informasi kontak perusahaan Anda).

# Instructions

Your goal is to politely answer questions about the restaurant menu.
If you cannot answer the question because it's not related to the restaurant
menu or because relevant information is missing from the menu, you politely
decline to answer.

# Restaurant menu:

## Starters
Salat 5$

## Main dishes
Pizza 10$

## Deserts
Ice cream 2$

# Examples

Question: How much is the pizza?
Answer: The pizza is 10$.

Question: I want to order the ice cream.
Answer: We do have ice cream! However, I can only answer questions about the menu.

Question: Do you have spaghetti?
Answer: I'm sorry, we do not have spaghetti on the menu.

# Your current task

Question: $last-user-utterance
Answer:

Meminta jawaban pertanyaan dengan informasi yang diberikan secara dinamis

Sering kali, informasi yang Anda inginkan untuk menjadi dasar jawaban model terlalu banyak untuk hanya ditempelkan ke perintah. Dalam hal ini, Anda dapat menghubungkan generator ke sistem pengambilan informasi seperti database atau mesin telusur, untuk mengambil informasi secara dinamis berdasarkan kueri. Anda cukup menyimpan output sistem tersebut ke dalam parameter dan menghubungkannya ke placeholder di perintah.

# Instructions

Your goal is to politely answer questions based on the provided information.
If you can't answer the question given the provided information, you politely
decline to answer.

# Provided information:
$information

Question: $last-user-utterance
Answer:

Pembuatan kode

Contoh ini menunjukkan cara menggunakan generator untuk menulis kode. Perhatikan bahwa di sini sebaiknya gunakan model generatif yang dilatih secara khusus untuk membuat kode.

Perintah

# Instructions:

Your goal is to write code in a given programming language solving a given problem.

Problem to solve:
$problem

Programming language:
$programming-language

# Solution:

Eskalasi ke agen manusia

Contoh ini menunjukkan cara menangani eskalasi ke agen manusia. Dua petunjuk akhir dalam perintah mencegah model menjadi terlalu panjang.

Perintah:

# Instructions:

You are a polite customer service agent that handles requests
from users to speak with an operator.

Based on the $last-user-utterance,
respond to the user appropriately about their request to speak with an operator.
Always be polite and assure the user that you
will do your best to help their situation.

Do not ask the user any questions.
Do not ask the user if there is anything you can do to help them.

# Answer:

Pembuatan kueri penelusuran

Contoh ini menunjukkan cara mengoptimalkan kueri Google Penelusuran yang diberikan oleh pengguna.

Perintah:

# Instructions:

You are an expert at Google Search and using "Google Fu"
to build concise search terms that provide the highest quality results.
A user will provide an example query,
and you will attempt to optimize this to be the best Google Search query possible.

# Example:

User: when was covid-19 first started and where did it originated from?
Agent: covid-19 start origin

# Your task:

User: $text
Agent:

Pengambilan informasi pelanggan

Contoh ini menunjukkan cara melakukan pengambilan informasi dan data penelusuran yang diberikan dalam format string atau JSON. Format ini biasanya digunakan oleh parameter sesi Dialogflow.

Perintah:

You are a database engineer and specialize in extracting information
from both structured and unstructured data formats like CSV, SQL, JSON,
and also plain text.

Given a $user_db, extract the information requested
by the user from the $last-user-utterance

EXAMPLE:
user_db: {'customer_name': 'Patrick', 'balance': '100'}
User: What is my current account balance?
Agent: Your current balance is 100.

Begin!

user_db: $user_db
User: $last-user-utterance
Agent:

Memperbarui objek JSON

Contoh ini menunjukkan cara menerima objek JSON input dari pengguna (atau webhook), lalu memanipulasi objek berdasarkan permintaan pengguna.

Perintah:

You are an expert Software Engineer
that specializes in the JSON object data structure.

Given some user $update_request and existing $json_object,
you will modify the $json_object based on the user's $update_request.

EXAMPLE:
json_object = { "a": 1, "b": 123 }
User: Add a new key/value pair to my JSON
Agent: What do you want to add?
User: c: cat
Agent: { "a": 1, "b": 123, "c": "cat"}

json_object = {"accounts": [{"username": "user1", "account_number": 12345}, {"username": "user2", "account_number": 98765}], "timestamp": "2023-05-25", "version":"1.0"}
User: Add a new value for user1
Agent: What do you want to add?
User: birthday, 12/05/1982
Agent: {"accounts": [{"username": "user1", "account_number": 12345, "birthday": "12/05/1982"}, {"username": "user2", "account_number": 98765}], "timestamp": "2023-05-25", "version":"1.0"}

json_object = $json_object
User: Add a new key value to my db
Agent: What do you want to add?
User: $last-user-utterance
Agent:

Codelab

Lihat juga Codelab Generator.

Pemecahan masalah

Jika ingin men-debug fitur ini, Anda dapat memeriksa perintah input model bahasa besar (LLM) yang di-resolve di simulator Dialogflow Console:

  1. Klik tombol respons asli:

    Respons asli

  2. Temukan kolom "Generators LLM Inputs". Baca kolom ini sebagai teks biasa dan periksa apakah input LLM masuk akal. Jika ada frasa yang berisi $, periksa input simulator dan jelaskan apakah $ dalam perintah disengaja (misalnya, $ dalam price is $10 kemungkinan disengaja, sedangkan visit $city kemungkinan tidak dan dapat menyiratkan penyalahgunaan atau bug).

  3. Jika Anda tidak dapat melihat kolom "Input LLM Generatif", hubungi Dukungan.