Generator

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

Dengan Generator, Anda dapat melakukan panggilan ke LLM secara native dari Dialogflow CX tanpa perlu membuat webhook eksternal Anda sendiri. Anda dapat mengonfigurasi generator untuk melakukan apa pun yang biasanya dilakukan oleh LLM.

Generator sangat berguna dalam tugas-tugas seperti perangkuman, ekstraksi parameter, transformasi data, dan sebagainya. Lihat contoh di bawah.

Batasan

Fitur ini saat ini tersedia untuk agen dalam bahasa Dialogflow apa pun. Perhatikan bahwa model yang tersedia mungkin memiliki batasan bahasa yang lebih terbatas. Lihat Vertex AI untuk 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 Manage.
  5. Klik Generator.
  6. Klik Buat baru.
  7. Masukkan nama tampilan deskriptif untuk generator.
  8. Masukkan perintah, model, dan kontrol teks seperti yang dijelaskan dalam konsep.
  9. Klik Save.

Prompt teks dikirim ke model generatif selama fulfillment saat runtime. Pertanyaan ini harus berupa pertanyaan atau permintaan yang jelas agar model dapat menghasilkan respons yang memuaskan.

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

Menentukan generator
Menentukan generator

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

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

Menggunakan generator dalam fulfillment

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

Buka bagian Generator pada panel Fulfillment, lalu luaskan. Kemudian, klik Add generator. Sekarang Anda dapat memilih generator yang telah ditetapkan atau menentukan generator baru.

Setelah memilih generator, Anda harus mengaitkan placeholder perintah generator perintah dengan parameter sesi. Selain itu, Anda harus menentukan parameter output yang akan memuat 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.

Generator pengujian di simulator
Menguji generator di simulator

Contoh

Bagian ini memberikan contoh kasus penggunaan untuk generator.

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:

Perintah yang telah diselesaikan:

Untuk contoh percakapan, perintah yang di-resolve dan 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 Dialogflow'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, perhatikan bahwa model hanya akan memberikan jawaban berdasarkan informasi yang merupakan bagian dari data pelatihannya. Tidak ada jaminan bahwa jawaban tersebut benar atau terbaru.

Permintaan untuk menjawab pertanyaan dengan pemahaman diri

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

The human asked:
$last-user-utterance

You answer:

Permintaan untuk menjawab pertanyaan dengan informasi yang telah diberikan

Namun, jika Anda ingin model menjawab berdasarkan informasi yang diberikan, Anda cukup menambahkannya ke perintah. 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:

Permintaan untuk menjawab pertanyaan dengan informasi yang disediakan dinamis

Sering kali, informasi yang Anda inginkan sebagai dasar jawabannya oleh model terlalu banyak untuk ditempelkan ke prompt. 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 prompt.

# Instructions

Your goal is to politely answer questions based on the provided information.
If you cannot answer the question given the provided information, you plitely
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 wajar jika menggunakan model generatif yang dilatih secara khusus untuk menghasilkan 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 terakhir dalam perintah mencegah agar 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 disediakan 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 menelusuri data yang disediakan 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.