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 pemenuhan.

Alat penyimpanan data: Konsol

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

Membuat alat penyimpanan data

  1. Buka konsol Conversational Agents dan pilih project Google Cloud.
  2. Pilih agen dari menu drop-down.
  3. Buka menu di sisi paling kiri halaman, lalu pilih Alat.
  4. Klik + Create. Masukkan Nama unik untuk alat dan pilih Penyimpanan data dari menu drop-down di bagian Jenis. Secara opsional, masukkan deskripsi alat di kolom Deskripsi.
  5. Klik Tambahkan penyimpanan data. Jendela yang muncul berisi daftar penyimpanan data 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 dialihkan secara otomatis.
  7. (Opsional) Setelah mengonfigurasi penyimpanan data baru, klik Buat. 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 pemenuhan pesanan

  1. Buka menu bar di paling kiri, lalu pilih Flows.
  2. Pilih alur dan halaman, lalu klik Rute 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 Respons penggantian statis. Atau, klik kotak centang Penggantian respons generatif untuk menggunakan AI dalam membuat respons sebelum menggunakan respons penggantian statis. Untuk menyesuaikan respons penggantian, klik ikon roda gigi di sudut kiri atas jendela Respons penyimpanan data untuk membuka jendela Respons bersyarat.
  6. Di bagian atas menu Rute, klik Simpan.
  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 akan 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 menghasilkan respons. Agen dapat memberikan petunjuk tentang cara melanjutkan jawaban dari penyimpanan data atau cara merespons jika tidak ada jawaban yang ditemukan.

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

Secara opsional, 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 memberikan 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 menginstruksikan 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 mencakup kolom meal dengan "sarapan", "makan siang", dan "makan malam" sebagai nilai yang valid, dan 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 tersebut. 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 menginstruksikan model playbook tentang cara mengisi parameter ini.

Berikut adalah contoh nilai parameter userMetadata untuk mempertajam 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 menginstruksikan model playbook tentang cara mengisi kolom penggantian untuk input pengguna yang terkait dengan berbagai topik. 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 selama pengujian Anda menemukan bahwa beberapa respons tidak sesuai dengan harapan, Anda dapat mencoba menyesuaikan parameter berikut untuk mengoptimalkan performa. Data ini tersedia dengan memanggil API secara langsung atau dengan mengklik nama penyimpanan data di halaman Alat 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 pemenuhan.

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 pengendali ini, Anda memberikan penyimpanan data ke agen.

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

Batasan

Batasan berikut berlaku:

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 Anda belum melakukannya, ikuti petunjuk penyiapan untuk membuat agen.

Untuk menambahkan penyimpanan data ke agen Anda:

  1. Pilih halaman, lalu klik Tambahkan pengendali status.
  2. Centang kotak Penyimpanan data, lalu klik Terapkan.
  3. Klik simbol + di sudut kanan atas bagian Penyimpanan data di halaman.
  4. Di menu penyimpanan data yang muncul, klik Tambahkan penyimpanan data.
  5. Tabel yang mencantumkan penyimpanan data yang ada akan muncul. Centang kotak di samping nama penyimpanan data yang ingin Anda gunakan, lalu klik Simpan. Untuk membuat penyimpanan data baru, klik Create new data store. Anda akan dialihkan secara otomatis 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 Buat untuk membuat penyimpanan data baru.

Menguji agen Anda

Men-deploy agen Anda

Anda dapat men-deploy agen dengan beberapa cara:

  • Opsi sederhana 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 pengendali penyimpanan data. Aplikasi ini memiliki opsi bawaan untuk fitur generatif.
  • Anda dapat membuat antarmuka pengguna sendiri dan menggunakan Dialogflow CX API untuk interaksi. Penerapan 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?"
  • Naikkan ke agen manusia: Agen menangani pertanyaan seperti "Saya ingin berbicara dengan agen manusia" atau "Saya ingin berbicara dengan orang yang sebenarnya".

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

Respons agen

Di bagian Agent responses, berikan respons kustom yang merujuk pada jawaban generatif. Gunakan $request.knowledge.answers[0] di bagian Agen berkata 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 perujukan 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 teratas yang diidentifikasi dari jawaban teratas $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "snippet")
Judul sumber teratas yang diidentifikasi dari jawaban teratas $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "title")
Link sumber teratas yang mengidentifikasi jawaban teratas $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "uri")
Jumlah sumber yang diidentifikasi 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 perujukan untuk jawaban teratas $request.knowledge.grounding_confidences[0]