Ringkasan set konteks

QueryData memungkinkan Anda berinteraksi dengan data di database menggunakan bahasa percakapan dan membuat agen data. QueryData menulis kueri untuk database Anda menggunakan set konteks, yang merupakan kumpulan kode yang berisi informasi unik tentang database Anda. Konteks ini memungkinkan QueryData menerjemahkan pertanyaan bahasa alami menjadi kueri yang akurat untuk kasus penggunaan target Anda.

Kapan menggunakan QueryData

QueryData sangat cocok untuk aplikasi seperti:

  • Otomatisasi layanan pelanggan: Menangani pertanyaan dalam jumlah besar seperti "Di mana pesanan saya?" atau "Berapa saldo saya saat ini?".
  • Asisten belanja e-commerce: Membantu pengguna menavigasi katalog produk besar dengan kueri bahasa alami seperti "Tampilkan sepatu lari di bawah Rp1.000.000".
  • Alat operasi lapangan: Memungkinkan karyawan seluler untuk membuat kueri tingkat inventaris, ketersediaan suku cadang, atau detail tiket servis secara real-time.

Cara kerja QueryData

Untuk membangun aplikasi yang efektif, QueryData harus memahami organisasi data dan logika bisnis Anda. Anda memberikan informasi ini dalam bentuk set konteks.

Anda menentukan konteks dalam file yang berisi objek JSON untuk setiap jenis konteks. Anda membuat file konteks ini dengan bantuan Gemini CLI. Kemudian, Anda mengupload file konteks ke set konteks yang Anda buat di konsol Google Cloud. Proses ini memungkinkan QueryData mempelajari skema spesifik database dan logika bisnis aplikasi.

File konteks terlihat mirip dengan berikut ini:

File konteks agen terlihat mirip dengan berikut ini:

{
  "templates": [
    {
      "nl_query": "Count prague loan accounts",
      "sql": "SELECT COUNT(T1.account_id) FROM bird_dev_financial.account AS T1 INNER JOIN bird_dev_financial.loan AS T2 ON T1.account_id = T2.account_id INNER JOIN bird_dev_financial.district AS T3 ON T1.district_id = T3.district_id WHERE T3.\"A3\" = 'Prague'",
      "intent": "How many accounts associated with loans are located in the Prague region?",
      "manifest": "How many accounts associated with loans are located in a given city?",
      "parameterized": {
        "parameterized_intent": "How many accounts associated with loans are located in $1",
        "parameterized_sql": "SELECT COUNT(T1.account_id) FROM bird_dev_financial.account AS T1 INNER JOIN bird_dev_financial.loan AS T2 ON T1.account_id = T2.account_id INNER JOIN bird_dev_financial.district AS T3 ON T1.district_id = T3.district_id WHERE T3.\"A3\" = $1"
      }
    }
  ],
  "facets": [
    {
      "sql_snippet": "T.\"A11\" BETWEEN 6000 AND 10000",
      "intent": "Average salary between 6000 and 10000",
      "manifest": "Average salary between a given number and a given number",
      "parameterized": {
         "parameterized_intent": "Average salary between $1 and $2",
         "parameterized_sql_snippet": "T.\"A11\" BETWEEN $1 AND $2"
      }
    }
  ]
}

Saat pengguna akhir mengajukan pertanyaan dalam bahasa alami, QueryData memprioritaskan pencocokan pertanyaan dengan template dan aspek yang telah diaudit oleh developer yang menyeleksi konteks. Setelah mengidentifikasi kecocokan, QueryData akan menggunakan template kueri dan faset yang dipilih untuk menyintesis kueri database. Logika set konteks kemudian menjalankan kueri tersebut terhadap database untuk menampilkan hasil yang akurat.

Langkah yang direkomendasikan adalah menentukan penelusuran nilai dalam konteks Anda. Penelusuran nilai memungkinkan agen memetakan frasa nilai ke nilai tertentu yang disimpan di kolom database Anda. Tindakan ini akan membatasi LLM pada data Anda yang sebenarnya, sehingga membantu menyelesaikan ambiguitas, seperti apakah suatu istilah merujuk pada nama District atau City.

Jika agen gagal menemukan template yang cocok, agen akan menggunakan penelusuran nilai untuk memetakan frasa bahasa alami ke nilai tertentu yang disimpan di kolom database Anda. Hal ini akan mendasarkan LLM pada data Anda yang sebenarnya, sehingga membantu LLM menyelesaikan ambiguitas, seperti apakah suatu istilah merujuk pada District, Name, atau City.

Endpoint QueryData di Conversational Analytics API adalah alat berbasis agen yang memungkinkan integrasi terprogram dengan aplikasi Anda untuk mengaktifkan pembuatan kueri SQL dari pertanyaan bahasa alami. Dalam aplikasi percakapan, endpoint QueryData harus digunakan dalam framework yang mengelola histori dan konteks percakapan.Untuk menerapkan resolusi entitas sekaligus mempertahankan keamanan tingkat baris yang ketat, Anda dapat menggunakan tampilan aman berparameter (PSV). Untuk mengetahui informasi selengkapnya, lihat Mengamankan dan mengontrol akses ke data aplikasi menggunakan tampilan aman berparameter.

Langkah berikutnya