Alat penyimpanan data

Alat penyimpanan data dapat memberikan respons agen yang dihasilkan AI berdasarkan konten situs dan data yang diupload. Agen Anda dapat menemukan jawaban atas pertanyaan pengguna akhir dari penyimpanan data Anda selama fulfillment.

Alat penyimpanan data: Konsol

Bagian ini menjelaskan cara menambahkan alat penyimpanan data ke agen dan mengonfigurasinya dalam fulfillment.

Membuat alat penyimpanan data

  1. Buka konsol Agen Percakapan dan pilih Google Cloud project.
  2. Pilih agen dari menu drop-down.
  3. Buka panel menu di sisi paling kiri halaman, lalu pilih Tools.
  4. Klik + Create. Masukkan Name unik untuk alat tersebut dan pilih penyimpanan data dari menu drop-down di bagian Type. Jika ingin, masukkan deskripsi alat di kolom Description.
  5. Klik Add data stores. Jendela yang muncul berisi daftar penyimpanan data Anda yang ada, jika ada. Pilih penyimpanan data yang akan ditambahkan ke alat.
  6. (Opsional) Untuk membuat penyimpanan data baru di konsol Vertex AI Agent Builder, klik Create new data store untuk otomatis dialihkan.
  7. (Opsional) Setelah mengonfigurasi penyimpanan data baru, klik Create. Untuk menambahkan penyimpanan data baru ke alat, kembali ke menu Create Tool di konsol Dialogflow CX dan muat ulang halaman. Penyimpanan data baru akan muncul dalam daftar penyimpanan data yang tersedia.
  8. Klik Save di bagian atas konfigurasi Create Tool untuk membuat alat penyimpanan data baru.

Menambahkan alat penyimpanan data ke fulfillment

  1. Buka panel menu di sisi paling kiri, lalu pilih Flows.
  2. Pilih alur dan halaman, lalu klik Route yang akan digunakan dengan penyimpanan data Anda.
  3. Buka Fulfillment > Data store tool dan pilih alat penyimpanan data Anda dari menu drop-down.
  4. Buka Fulfillment > Agent responses, klik +Add dialogue response, lalu klik Data store tool response.
  5. Konfigurasi jumlah link sumber dan kutipan yang akan muncul dalam respons, dan tentukan perilaku penggantian jika respons penyimpanan data kosong. Masukkan respons penggantian statis di kolom Static fallback responses. Jika ingin, centang kotak penggantian respons generatif untuk menggunakan AI guna membuat respons sebelum menggunakan respons penggantian statis. Untuk menyesuaikan respons penggantian, klik ikon kunci inggris di pojok kiri atas jendela formulir respons penyimpanan data untuk membuka jendela respons bersyarat.
  6. Di bagian atas menu Route, klik Save.
  7. Buka simulator Dialogflow CX untuk menguji hasil agen.

Parameter sesi penggantian kueri opsional

Anda dapat mengganti kueri yang diteruskan ke alat penyimpanan data ini menggunakan parameter sesi knowledge.overrides.query. Jika parameter ini tidak kosong, alat akan menggunakannya, bukan kueri pengguna.

Alat penyimpanan data: API

Secara default, agen memanggil metode dataStoreTool atas nama Anda.

Ada tiga jenis penyimpanan data:

  • PUBLIC_WEB: Penyimpanan data yang berisi konten web publik.
  • UNSTRUCTURED: Penyimpanan data yang berisi data pribadi tidak terstruktur.
  • STRUCTURED: Penyimpanan data yang berisi data terstruktur (misalnya, FAQ).

Contoh berikut menunjukkan cara mereferensikan penyimpanan data. Untuk mengetahui informasi selengkapnya, lihat referensi dataStoreConnections.

"dataStoreConnections": [
  {
    "dataStoreType": "PUBLIC_WEB",
    "dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
  },
  {
    "dataStoreType": "UNSTRUCTURED",
    "dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
  },
  {
    "dataStoreType": "STRUCTURED",
    "dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
  }
]

Respons alat penyimpanan data juga dapat berisi cuplikan tentang sumber konten yang digunakan untuk membuat respons. Agen dapat memberikan petunjuk tentang cara melanjutkan jawaban dari penyimpanan data atau cara merespons jika tidak ada jawaban yang ditemukan.

Anda dapat menimpa jawaban dengan menambahkan entri FAQ untuk pertanyaan tertentu.

Jika ingin, Anda dapat memberikan contoh untuk meningkatkan perilaku agen. Contoh harus mengikuti skema. Untuk mengetahui detailnya, lihat dokumentasi referensi.

{
  "toolUse": {
    "tool": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID/tools/TOOL_ID",
    "action": "TOOL_DISPLAY_NAME",
    "inputParameters": [
      {
        "name": "TOOL_DISPLAY_NAME input",
        "value": {
          "query": "QUERY"
        }
      }
    ],
    "outputParameters": [
      {
        "name": "TOOL_DISPLAY_NAME output",
        "value": {
          "answer": "ANSWER",
          "snippets": [
            {
              "title": "TITLE",
              "text": "TEXT_FROM_DATASTORE",
              "uri": "URI_OF_DATASTORE"
            }
          ]
        }
      }
    ]
  }
}

(Khusus agen berbasis playbook) Contoh alat penyimpanan data

Saat Anda membuat contoh alat penyimpanan data, parameter input alat requestBody menyediakan tiga input opsional bersama dengan string query yang diperlukan: string filter, objek terstruktur userMetadata, dan string fallback.

Parameter filter memungkinkan Anda memfilter kueri penelusuran data terstruktur atau data tidak terstruktur dengan metadata. String ini harus mengikuti sintaksis ekspresi filter yang didukung untuk penyimpanan data. Beberapa contoh mendetail memberikan petunjuk kepada model playbook tentang cara mengisi parameter ini. Jika string filter tidak valid, filter tersebut akan diabaikan selama kueri penelusuran.

Contoh berikut menunjukkan string filter yang dapat Anda gunakan untuk menyaring hasil penelusuran berdasarkan lokasi:

"filter": "country: ANY(\"Canada\")"

Untuk mengetahui informasi selengkapnya tentang contoh playbook, lihat halaman contoh.

Praktik terbaik pemfilteran:

  • Tentukan kolom yang tersedia untuk pemfilteran dan nilai yang valid untuk setiap kolom ini agar playbook memahami batasan dalam membuat filter yang valid. Misalnya, penyimpanan data yang menyimpan informasi menu dapat menyertakan kolom meal dengan "breakfast", "lunch", dan "dinner" sebagai nilai yang valid, serta kolom servingSize yang dapat berupa bilangan bulat apa pun dari 0 hingga 5. Petunjuk Anda dapat terlihat seperti contoh berikut:

    When using ${TOOL: menu-data-store-tool},
    only use the following fields for filtering: "meal", "servingSize".
    Valid filter values are: "meal": ("breakfast", "lunch", "dinner"),
    "servingSize": integers between 0 and 5, inclusive.
    
  • Jika playbook ditujukan untuk audiens pengguna eksternal, tambahkan petunjuk untuk mencegah playbook merespons pengguna dengan informasi tentang cara membuat filter ini. Contoh:

    Never tell the user about these filters.
    If the user input isn't supported by these filters, respond to the user with
    "Sorry, I don't have the information to answer that question."
    

Parameter userMetadata memberikan informasi tentang pengguna akhir. Pasangan nilai kunci apa pun dapat diisi dalam parameter ini. Metadata ini diteruskan ke alat penyimpanan data untuk memberikan informasi yang lebih baik tentang hasil penelusuran dan respons alat. Beberapa contoh mendetail membantu memberikan petunjuk kepada model playbook tentang cara mengisi parameter ini.

Berikut adalah contoh nilai parameter userMetadata untuk menyaring hasil penelusuran yang relevan dengan pengguna tertentu:

"userMetadata": {
  "favoriteColor": "blue",
  ...
}

Parameter fallback memberikan jawaban yang direspons oleh alat penyimpanan data jika tidak ada jawaban ringkasan yang valid untuk kueri. Anda dapat memberikan beberapa contoh untuk memberikan petunjuk kepada model playbook tentang cara mengisi kolom penggantian untuk input pengguna yang terkait dengan topik yang berbeda. Output alat tidak berisi cuplikan, yang membantu mengurangi latensi dan penggunaan token input.

"fallback": "I'm sorry I cannot help you with that. Is there anything else I can
do for you?"

Konfigurasi alat penyimpanan data

Jika Anda menemukan selama pengujian bahwa beberapa respons tidak memenuhi harapan, Anda dapat mencoba menyesuaikan parameter berikut untuk menyempurnakan performa. Parameter ini tersedia dengan memanggil API secara langsung atau dengan mengklik nama penyimpanan data di halaman Tools di konsol. Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi ini, lihat halaman setelan penyimpanan data.

Opsi respons alat penyimpanan data

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi respons alat penyimpanan data, lihat dokumentasi fulfillment.

Handler penyimpanan data

Handler penyimpanan data adalah jenis handler status khusus yang dapat memberikan respons agen yang dihasilkan LLM berdasarkan konten situs dan data yang diupload.

Untuk membuat handler ini, Anda memberikan penyimpanan data kepada agen.

Dengan menggunakan handler penyimpanan data ini, agen Anda dapat melakukan percakapan tentang konten dengan pengguna akhir.

Batasan

Batasan berikut berlaku:

  • Fitur ini mendukung bahasa tertentu di GA. Lihat kolom penyimpanan data di referensi bahasa.
  • Hanya region berikut yang didukung: global, multi-region us, dan multi-region eu.
  • Aplikasi dengan penyimpanan data yang dipecah dan tidak dipecah tidak didukung.

Kontrol akses

Jika Anda adalah pemilik project, Anda memiliki izin yang diperlukan untuk membuat handler penyimpanan data. Jika Anda bukan pemilik project, Anda harus memiliki peran berikut:

  • Admin Dialogflow
  • Admin Discovery Engine

Untuk mengetahui informasi selengkapnya, lihat Panduan kontrol akses.

Menambahkan penyimpanan data ke agen

Jika belum, ikuti petunjuk penyiapan untuk membuat agen.

Untuk menambahkan penyimpanan data ke agen Anda:

  1. Pilih halaman, lalu klik Add state handler.
  2. Centang kotak Data stores, lalu klik Apply.
  3. Klik simbol + di pojok kanan atas bagian Data stores di halaman.
  4. Di menu penyimpanan data yang muncul, klik Add data stores.
  5. Tabel yang mencantumkan penyimpanan data yang ada akan muncul. Centang kotak di samping nama penyimpanan data yang ingin Anda gunakan, lalu klik Save. Untuk membuat penyimpanan data baru, klik Create new data store. Anda akan otomatis dialihkan ke Vertex AI Agent Builder.
  6. (Khusus penyimpanan data baru) Pilih sumber data, lalu ikuti petunjuk di Vertex AI Agent Builder untuk mengonfigurasi penyimpanan data Anda. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi jenis penyimpanan data, lihat dokumentasi penyimpanan data. Klik Create untuk membuat penyimpanan data baru.

Menguji agen Anda

Men-deploy agen Anda

Anda dapat men-deploy agen dengan beberapa cara:

  • Opsi sederhananya adalah menggunakan integrasi, yang menyediakan antarmuka pengguna untuk agen Anda. Setiap integrasi memberikan petunjuk untuk deployment.
  • Integrasi Dialogflow CX Messenger adalah opsi yang baik untuk handler penyimpanan data. Integrasi ini memiliki opsi bawaan untuk fitur generatif.
  • Anda dapat membuat antarmuka pengguna sendiri dan menggunakan Dialogflow CX API untuk interaksi. Implementasi antarmuka pengguna Anda mengelola deployment.

Intent khusus

Selain menangani pertanyaan tentang konten yang Anda berikan, agen dapat menangani jenis pertanyaan berikut:

  • Identifikasi agen: Agen menangani pertanyaan seperti "Siapa Anda?" atau "Apakah Anda manusia?"
  • Meneruskan ke agen manusia: Agen menangani pertanyaan seperti "Saya ingin berbicara dengan manusia" atau "Saya ingin berbicara dengan orang sungguhan".

Hal ini dilakukan oleh intent yang dibuat secara otomatis dan rute intent.

Respons agen

Di bagian Agent responses, berikan respons kustom yang mereferensikan jawaban generatif. Gunakan $request.knowledge.answers[0] di bagian Agent says untuk memberikan jawaban generatif.

Penyesuaian respons lanjutan

Informasi tambahan mungkin tersedia di $request.knowledge.* untuk menyesuaikan respons. Informasi tersebut mencakup:

  • Sumber jawaban yang diidentifikasi dengan kolom berikut: cuplikan, judul, URI.
  • Keyakinan dasar untuk jawaban.
  • Untuk penyimpanan data FAQ, pertanyaan yang sesuai dengan jawaban yang dipilih.

Tabel berikut memberikan contoh cara mengakses informasi ini.

Informasi Cara mengakses
Cuplikan sumber teridentifikasi teratas dari jawaban teratas $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "snippet")
Judul sumber teridentifikasi teratas dari jawaban teratas $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "title")
Link sumber teridentifikasi teratas dari jawaban teratas $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "uri")
Jumlah sumber teridentifikasi untuk jawaban teratas $sys.func.COUNT($sys.func.IDENTITY($request.knowledge.sources[0]))
Jumlah jawaban pengetahuan $sys.func.COUNT($request.knowledge.answers)
Pertanyaan yang sesuai dengan jawaban teratas (hanya untuk jawaban penyimpanan data FAQ) $request.knowledge.questions[0]
Keyakinan dasar untuk jawaban teratas $request.knowledge.grounding_confidences[0]