Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Terjemahkan bahasa alami ke dalam kueri DSL untuk OpenSearch dan kueri Elasticsearch
Tabby Ward, Nicholas Switzer, dan Breanne Warner, Amazon Web Services
Ringkasan
Pola ini menunjukkan cara menggunakan model bahasa besar (LLMs) untuk mengubah kueri bahasa alami menjadi bahasa khusus domain kueri (query DSL), yang memudahkan pengguna untuk berinteraksi dengan layanan pencarian seperti OpenSearch dan Elasticsearch tanpa pengetahuan luas tentang bahasa kueri. Sumber daya ini sangat berharga bagi pengembang dan ilmuwan data yang ingin meningkatkan aplikasi berbasis pencarian dengan kemampuan kueri bahasa alami, yang pada akhirnya meningkatkan pengalaman pengguna dan fungsionalitas pencarian.
Pola ini menggambarkan teknik untuk rekayasa yang cepat, penyempurnaan berulang, dan penggabungan pengetahuan khusus, yang semuanya sangat penting dalam pembuatan data sintetis. Meskipun pendekatan ini berfokus terutama pada konversi kueri, pendekatan ini secara implisit menunjukkan potensi augmentasi data dan produksi data sintetis yang dapat diskalakan. Fondasi ini dapat diperluas ke tugas pembuatan data sintetis yang lebih komprehensif, untuk menyoroti kekuatan LLMs dalam menjembatani input bahasa alami yang tidak terstruktur dengan output khusus aplikasi yang terstruktur.
Solusi ini tidak melibatkan alat migrasi atau penerapan dalam pengertian tradisional. Sebaliknya, ini berfokus pada mendemonstrasikan bukti konsep (PoC) untuk mengonversi kueri bahasa alami menjadi kueri DSL dengan menggunakan. LLMs
Pola menggunakan notebook Jupyter sebagai step-by-step panduan untuk mengatur lingkungan dan mengimplementasikan konversi. text-to-query
Ini menggunakan Amazon Bedrock untuk mengakses LLMs, yang sangat penting untuk menafsirkan bahasa alami dan menghasilkan kueri yang sesuai.
Solusinya dirancang untuk bekerja dengan Amazon OpenSearch Service. Anda dapat mengikuti proses serupa untuk Elasticsearch, dan kueri yang dihasilkan berpotensi diadaptasi untuk mesin pencari serupa.
Query DSL
Pola ini menggunakan teknik seperti prompt beberapa tembakan, prompt sistem, output terstruktur, rantai prompt, penyediaan konteks, dan petunjuk khusus tugas untuk konversi DSL. text-to-query Untuk definisi dan contoh teknik ini, lihat bagian Informasi tambahan.
Prasyarat dan batasan
Prasyarat
Untuk menggunakan notebook Jupyter secara efektif untuk mengonversi kueri bahasa alami menjadi kueri DSL kueri, Anda memerlukan:
Keakraban dengan notebook Jupyter. Pemahaman dasar tentang cara menavigasi dan menjalankan kode di lingkungan notebook Jupyter.
Lingkungan Python. Lingkungan Python yang berfungsi, lebih disukai Python 3.x, dengan pustaka yang diperlukan diinstal.
Elasticsearch atau OpenSearch pengetahuan. Pengetahuan dasar tentang Elasticsearch atau OpenSearch, termasuk arsitekturnya dan cara melakukan kueri.
Akun AWS. Aktif Akun AWS untuk mengakses Amazon Bedrock dan layanan terkait lainnya.
Perpustakaan dan dependensi. Pemasangan pustaka tertentu yang disebutkan dalam buku catatan, seperti
boto3untuk AWS interaksi, dan dependensi lain yang diperlukan untuk integrasi LLM.Akses model dalam Amazon Bedrock. Pola ini menggunakan tiga Claude LLMs dari Anthropic. Buka konsol Amazon Bedrock
dan pilih Akses model. Pada layar berikutnya, pilih Aktifkan model tertentu dan pilih ketiga model ini: Claude 3 Soneta
Claude 3.5 Soneta
Claude 3 Haiku
Kebijakan IAM yang tepat dan peran IAM. Untuk menjalankan buku catatan di Akun AWS, peran AWS Identity and Access Management (IAM) Anda memerlukan
SagemakerFullAccesskebijakan serta kebijakan yang disediakan di bagian Informasi tambahan, yang dapat Anda beri namaAPGtext2querydslpolicy. Kebijakan ini termasuk berlangganan tiga model Claude yang terdaftar.
Memiliki prasyarat ini memastikan pengalaman yang lancar saat Anda bekerja dengan notebook dan mengimplementasikan fungsionalitasnya. text-to-query
Batasan
Bukti status konsep. Proyek ini terutama dimaksudkan sebagai bukti konsep (PoC). Ini menunjukkan potensi penggunaan LLMs untuk mengubah kueri bahasa alami menjadi kueri DSL, tetapi mungkin tidak sepenuhnya dioptimalkan atau siap produksi.
Keterbatasan model:
Kendala jendela konteks. Saat menggunakan LLMs yang tersedia di Amazon Bedrock, perhatikan batasan jendela konteks:
Model Claude (per September 2024):
Claude 3 Opus: 200.000 token
Claude 3 Soneta: 200.000 token
Claude 3 Haiku: 200.000 token
Model lain di Amazon Bedrock mungkin memiliki ukuran jendela konteks yang berbeda. Selalu periksa dokumentasi terbaru untuk informasi terbaru.
Ketersediaan model.Ketersediaan model tertentu di Amazon Bedrock dapat bervariasi. Pastikan bahwa Anda memiliki akses ke model yang diperlukan sebelum Anda menerapkan solusi ini.
Keterbatasan tambahan
Kompleksitas kueri. Efektivitas bahasa alami untuk kueri konversi DSL dapat bervariasi tergantung pada kompleksitas kueri input.
Kompatibilitas versi. Kueri DSL yang dihasilkan mungkin memerlukan penyesuaian berdasarkan versi Elasticsearch tertentu atau OpenSearch yang Anda gunakan.
Kinerja. Pola ini menyediakan implementasi PoC, sehingga kecepatan dan akurasi pembuatan kueri mungkin tidak optimal untuk penggunaan produksi skala besar.
Biaya. Menggunakan LLMs di Amazon Bedrock menimbulkan biaya. Waspadai struktur harga untuk model yang Anda pilih. Untuk informasi selengkapnya, lihat harga Amazon Bedrock.
Pemeliharaan. Pembaruan rutin untuk petunjuk dan pemilihan model mungkin diperlukan untuk mengikuti kemajuan teknologi LLM dan perubahan sintaks DSL kueri.
Versi produk
Solusi ini diuji di Amazon OpenSearch Service. Jika Anda ingin menggunakan Elasticsearch, Anda mungkin harus membuat beberapa perubahan untuk mereplikasi fungsionalitas yang tepat dari pola ini.
OpenSearch kompatibilitas versi. OpenSearch mempertahankan kompatibilitas mundur dalam versi utama. Misalnya:
OpenSearch Klien 1.x umumnya kompatibel dengan cluster OpenSearch 1.x.
OpenSearch Klien 2.x umumnya kompatibel dengan cluster OpenSearch 2.x.
Namun, selalu yang terbaik adalah menggunakan versi minor yang sama untuk klien dan cluster jika memungkinkan.
OpenSearch Kompatibilitas API. OpenSearch mempertahankan kompatibilitas API dengan Elasticsearch OSS 7.10.2 untuk sebagian besar operasi. Namun, ada beberapa perbedaan, terutama di versi yang lebih baru.
OpenSearch Pertimbangan upgrade:
Penurunan versi langsung tidak didukung. Gunakan snapshot untuk rollback jika diperlukan.
Saat Anda memutakhirkan, periksa matriks kompatibilitas dan catatan rilis untuk setiap perubahan yang melanggar.
Pertimbangan Elasticsearch
Versi Elasticsearch. Versi utama Elasticsearch yang Anda gunakan sangat penting, karena sintaks kueri dan fitur dapat berubah di antara versi utama. Saat ini, versi stabil terbaru adalah Elasticsearch 8.x. Pastikan kueri Anda kompatibel dengan versi Elasticsearch spesifik Anda.
Versi perpustakaan DSL kueri Elasticsearch. Jika Anda menggunakan pustaka DSL Python kueri Elasticsearch, pastikan versinya cocok dengan versi Elasticsearch Anda. Misalnya:
Untuk Elasticsearch 8.x, gunakan
elasticsearch-dslversi yang lebih besar atau sama dengan 8.0.0 tetapi lebih kecil dari 9.0.0.Untuk Elasticsearch 7.x, gunakan
elasticsearch-dslversi yang lebih besar atau sama dengan 7.0.0 tetapi lebih kecil dari 8.0.0.
Versi pustaka klien. Baik Anda menggunakan klien Elasticsearch resmi atau klien khusus bahasa, pastikan bahwa itu kompatibel dengan versi Elasticsearch Anda.
Versi kueri DSL. Query DSL berkembang dengan versi Elasticsearch. Beberapa jenis kueri atau parameter mungkin tidak digunakan lagi atau diperkenalkan dalam versi yang berbeda.
Versi pemetaan. Cara Anda mendefinisikan pemetaan untuk indeks Anda dan mengubah antar versi. Selalu periksa dokumentasi pemetaan untuk versi Elasticsearch spesifik Anda.
Versi alat analisis. Jika Anda menggunakan penganalisis, tokenizer, atau alat analisis teks lainnya, perilaku atau ketersediaannya mungkin berubah antar versi.
Arsitektur
Arsitektur target
Diagram berikut menggambarkan arsitektur untuk pola ini.

di mana:
Input pengguna dan prompt sistem dengan beberapa contoh yang diminta. Prosesnya dimulai dengan pengguna yang menyediakan kueri bahasa alami atau permintaan untuk pembuatan skema.
Batuan Dasar Amazon. Input dikirim ke Amazon Bedrock, yang berfungsi sebagai antarmuka untuk mengakses Claude LLM.
Claude 3 Soneta LLM. Amazon Bedrock menggunakan Claude 3 Soneta dari keluarga Claude 3 untuk memproses input. LLMs Ini menafsirkan dan menghasilkan Elasticsearch atau OpenSearch query DSL yang sesuai. Untuk permintaan skema, ini menghasilkan Elasticsearch sintetis atau pemetaan. OpenSearch
Generasi kueri DSL. Untuk kueri bahasa alami, aplikasi mengambil output LLM dan memformatnya menjadi DSL kueri Elasticsearch atau OpenSearch Service yang valid.
Pembuatan data sintetis. Aplikasi ini juga mengambil skema untuk membuat Elasticsearch sintetis atau OpenSearch data yang akan dimuat ke dalam koleksi Tanpa OpenSearch Server untuk pengujian.
OpenSearch atau Elasticsearch. Kueri DSL yang dihasilkan ditanyakan terhadap koleksi OpenSearch Tanpa Server di semua indeks. Output JSON berisi data yang relevan dan jumlah klik dari data yang berada dalam koleksi Tanpa OpenSearch Server.
Otomatisasi dan skala
Kode yang disediakan dengan pola ini dibangun secara ketat untuk tujuan PoC. Daftar berikut memberikan beberapa saran untuk mengotomatisasi dan menskalakan solusi lebih lanjut dan memindahkan kode ke produksi. Peningkatan ini berada di luar cakupan pola ini.
Kontainerisasi:
Dockerize aplikasi untuk memastikan konsistensi di berbagai lingkungan.
Gunakan platform orkestrasi kontainer seperti Amazon Elastic Container Service (Amazon ECS) atau Kubernetes untuk penerapan yang dapat diskalakan.
Arsitektur tanpa server:
Ubah fungsionalitas inti menjadi AWS Lambda fungsi.
Gunakan Amazon API Gateway untuk membuat RESTful titik akhir untuk input kueri bahasa alami.
Pemrosesan asinkron:
Menerapkan Amazon Simple Queue Service (Amazon SQS) untuk mengantri kueri yang masuk.
Gunakan AWS Step Functions untuk mengatur alur kerja kueri pemrosesan dan menghasilkan kueri DSL.
Caching:
Menerapkan mekanisme untuk men-cache petunjuknya.
Pemantauan dan pencatatan:
Gunakan Amazon CloudWatch untuk pemantauan dan peringatan.
Menerapkan logging terpusat dengan Amazon CloudWatch Logs atau Amazon OpenSearch Service untuk analisis log.
Peningkatan keamanan:
Menerapkan peran IAM untuk kontrol akses berbutir halus.
Gunakan AWS Secrets Manager untuk menyimpan dan mengelola kunci API dan kredensyal dengan aman.
Penyebaran Multi-Wilayah:
Pertimbangkan untuk menerapkan solusi di beberapa Wilayah AWS untuk meningkatkan latensi dan pemulihan bencana.
Gunakan Amazon Route 53 untuk perutean permintaan cerdas.
Dengan menerapkan saran ini, Anda dapat mengubah PoC ini menjadi solusi yang kuat, terukur, dan siap produksi. Kami menyarankan Anda menguji secara menyeluruh setiap komponen dan seluruh sistem sebelum penerapan penuh.
Alat
Alat
Notebook Amazon SageMaker AI adalah notebook
Jupyter yang dikelola sepenuhnya untuk pengembangan pembelajaran mesin. Pola ini menggunakan notebook sebagai lingkungan interaktif untuk eksplorasi data, pengembangan model, dan eksperimen di Amazon AI. SageMaker Notebook menyediakan integrasi tanpa batas dengan fitur SageMaker AI lainnya dan. Layanan AWS Python adalah bahasa
pemrograman komputer tujuan umum. Pola ini menggunakan Python sebagai bahasa inti untuk mengimplementasikan solusinya. Amazon Bedrock
adalah layanan yang dikelola sepenuhnya yang membuat model foundation berkinerja tinggi (FMs) dari startup AI terkemuka dan Amazon tersedia untuk Anda gunakan melalui API terpadu. Amazon Bedrock menyediakan akses LLMs untuk pemrosesan bahasa alami. Pola ini menggunakan model Anthropic Claude 3. AWS SDK untuk Python (Boto3)
adalah kit pengembangan perangkat lunak yang membantu Anda mengintegrasikan aplikasi, perpustakaan, atau skrip Python Anda, termasuk Amazon Layanan AWS Bedrock. Amazon OpenSearch Service adalah layanan terkelola yang membantu Anda menerapkan, mengoperasikan, dan menskalakan kluster OpenSearch Layanan di AWS Cloud. Pola ini menggunakan OpenSearch Service sebagai sistem target untuk menghasilkan kueri DSL.
Repositori kode
Kode untuk pola ini tersedia di repositori GitHub Prompt Engineering Text-to-QueryDSL Using Claude 3 Models
Praktik terbaik
Saat bekerja dengan solusi ini, pertimbangkan hal berikut:
Kebutuhan akan AWS kredensyal dan izin yang tepat untuk mengakses Amazon Bedrock
Potensi biaya yang terkait dengan penggunaan Layanan AWS dan LLMs
Pentingnya memahami kueri DSL untuk memvalidasi dan berpotensi memodifikasi kueri yang dihasilkan
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Menyiapkan lingkungan pengembangan. |
| Python, pip, AWS SDK |
Mengatur AWS akses. | Siapkan klien Amazon Bedrock dan sesi SageMaker AI. Ambil Amazon Resource Name (ARN) untuk SageMaker peran eksekusi AI untuk digunakan nanti dalam membuat OpenSearch koleksi Tanpa Server. | IAM, AWS CLI, Batuan Dasar Amazon, Amazon SageMaker |
Muat skema aplikasi kesehatan. | Membaca dan mengurai skema JSON untuk posting kesehatan dan profil pengguna dari file yang telah ditentukan. Ubah skema menjadi string untuk digunakan nanti dalam prompt. | DevOps insinyur, AWS Umum, Python, JSON |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat generator data berbasis LLM. | Menerapkan fungsi generate_data () untuk memanggil Amazon Bedrock Converse API dengan model Claude 3. Siapkan model IDs untuk Soneta, Soneta 3.5, dan Haiku:
| Python, Amazon Bedrock API, LLM meminta |
Buat posting kesehatan sintetis. | Gunakan fungsi generate_data () dengan prompt pesan tertentu untuk membuat entri pos kesehatan sintetis berdasarkan skema yang disediakan. Panggilan fungsi terlihat seperti ini:
| Python, JSON |
Buat profil pengguna sintetis. | Gunakan fungsi generate_data () dengan prompt pesan tertentu untuk membuat entri profil pengguna sintetis berdasarkan skema yang disediakan. Ini mirip dengan pembuatan pos kesehatan, tetapi menggunakan prompt yang berbeda. | Python, JSON |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Siapkan koleksi OpenSearch Tanpa Server. | Gunakan Boto3 untuk membuat koleksi OpenSearch Tanpa Server dengan enkripsi, jaringan, dan kebijakan akses yang sesuai. Pembuatan koleksi terlihat seperti ini:
Untuk informasi selengkapnya tentang OpenSearch Tanpa Server, lihat dokumentasi.AWS | OpenSearch Tanpa Server, IAM |
Tentukan OpenSearch indeks. | Buat indiexes untuk posting kesehatan dan profil pengguna dengan menggunakan OpenSearch klien, berdasarkan pemetaan skema yang telah ditentukan. Pembuatan indeks terlihat seperti ini:
| OpenSearch, JSON |
Muat data ke dalam OpenSearch. | Jalankan fungsi ingest_data () untuk menyisipkan postingan kesehatan sintetis dan profil pengguna secara massal ke dalam indeks masing-masing. OpenSearch Fungsi ini menggunakan pembantu massal dari
| Python, OpenSearch API, operasi data massal |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Desain beberapa contoh cepat. | Hasilkan contoh kueri dan pertanyaan bahasa alami yang sesuai dengan menggunakan model Claude 3 untuk dijadikan beberapa contoh untuk pembuatan kueri. Prompt sistem mencakup contoh-contoh ini:
| LLM meminta, kueri DSL |
Buat konverter text-to-query DSL. | Terapkan prompt sistem, yang mencakup skema, data, dan beberapa contoh tembakan, untuk pembuatan kueri. Gunakan prompt sistem untuk mengonversi kueri bahasa alami ke kueri DSL. Panggilan fungsi terlihat seperti ini:
| Python, Amazon Bedrock API, LLM meminta |
Kueri uji DSL aktif. OpenSearch | Jalankan fungsi query_oss () untuk menjalankan kueri DSL yang dihasilkan terhadap koleksi Tanpa OpenSearch Server dan mengembalikan hasil. Fungsi ini menggunakan metode pencarian OpenSearch klien:
| Python, OpenSearch API, kueri DSL |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat set kueri uji. | Gunakan Claude 3 untuk menghasilkan beragam pertanyaan tes berdasarkan data dan skema sintetis:
| LLM mendorong |
Nilai keakuratan konversi DSL kueri. | Uji kueri DSL yang dihasilkan dengan menjalankan kueri terhadap OpenSearch dan menganalisis hasil yang dikembalikan untuk relevansi dan akurasi. Ini melibatkan menjalankan kueri dan memeriksa klik:
| Python, analisis data, kueri DSL |
Benchmark Claude 3 model. | Bandingkan kinerja model Claude 3 yang berbeda (Haiku, Soneta, Soneta 3.5) untuk pembuatan kueri dalam hal akurasi dan latensi. Untuk membandingkan, ubah | Python, pembandingan kinerja |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Kembangkan proses pembersihan. | Hapus semua indeks dari koleksi OpenSearch Tanpa Server setelah digunakan. | Python, AWS SDK, API OpenSearch |
Sumber daya terkait
Informasi tambahan
Kebijakan IAM
Berikut APGtext2querydslpolicy kebijakan untuk peran IAM yang digunakan dalam pola ini:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::sagemaker-*", "arn:aws:s3:::sagemaker-*/*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/*" }, { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "aoss:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole", "sagemaker:*" ], "Resource": [ "arn:aws:iam::*:role/*", "*" ], "Condition": { "StringEquals": { "iam:PassedToService": "sagemaker.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:GetRepository", "codecommit:ListBranches", "codecommit:ListRepositories" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "aws-marketplace:Subscribe" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws-marketplace:ProductId": [ "prod-6dw3qvchef7zy", "prod-m5ilt4siql27k", "prod-ozonys2hmmpeu" ] } } }, { "Effect": "Allow", "Action": [ "aws-marketplace:Unsubscribe", "aws-marketplace:ViewSubscriptions" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:*", "Resource": "*" } ] }
Teknik cepat dengan model Anthropic Claude 3
Pola ini menunjukkan teknik prompt berikut untuk konversi text-to-query DSL menggunakan model Claude 3.
Permintaan beberapa tembakan: Few-shot prompt adalah teknik yang ampuh untuk meningkatkan kinerja model Claude 3 di Amazon Bedrock. Pendekatan ini melibatkan penyediaan model dengan sejumlah kecil contoh yang menunjukkan input/output perilaku yang diinginkan sebelum memintanya untuk melakukan tugas serupa. Saat Anda menggunakan model Claude 3 di Amazon Bedrock, beberapa bidikan yang diminta bisa sangat efektif untuk tugas yang memerlukan pemformatan, pola penalaran, atau pengetahuan domain tertentu. Untuk menerapkan teknik ini, Anda biasanya menyusun prompt Anda dengan dua komponen utama: bagian contoh dan kueri yang sebenarnya. Bagian contoh berisi satu atau beberapa input/output pasangan yang menggambarkan tugas, dan bagian kueri menyajikan input baru yang Anda inginkan respons. Metode ini membantu Claude 3 memahami konteks dan format keluaran yang diharapkan, dan seringkali menghasilkan respons yang lebih akurat dan konsisten.
Contoh:
"query": { "bool": { "must": [ {"match": {"post_type": "recipe"}}, {"range": {"likes_count": {"gte": 100}}}, {"exists": {"field": "media_urls"}} ] } } Question: Find all recipe posts that have at least 100 likes and include media URLs.
Permintaan sistem: Selain beberapa bidikan yang diminta, model Claude 3 di Amazon Bedrock juga mendukung penggunaan prompt sistem. Prompt sistem adalah cara untuk memberikan konteks, instruksi, atau pedoman keseluruhan untuk model sebelum menyajikannya dengan input pengguna tertentu. Mereka sangat berguna untuk mengatur nada, mendefinisikan peran model, atau menetapkan kendala untuk seluruh percakapan. Untuk menggunakan prompt sistem dengan Claude 3 di Amazon Bedrock, Anda memasukkannya ke dalam
systemparameter permintaan API Anda. Ini terpisah dari pesan pengguna dan berlaku untuk seluruh interaksi. Permintaan sistem terperinci digunakan untuk mengatur konteks dan memberikan pedoman untuk model.Contoh:
You are an expert query dsl generator. Your task is to take an input question and generate a query dsl to answer the question. Use the schemas and data below to generate the query. Schemas: [schema details] Data: [sample data] Guidelines: - Ensure the generated query adheres to DSL query syntax - Do not create new mappings or other items that aren't included in the provided schemas.Output terstruktur: Anda dapat menginstruksikan model untuk memberikan output dalam format tertentu, seperti JSON atau dalam tag XHTML.
Contoh:
Put the query in json tagsPrompt chaining: Notebook menggunakan output dari satu panggilan LLM sebagai input untuk yang lain, seperti menggunakan data sintetis yang dihasilkan untuk membuat contoh pertanyaan.
Ketentuan konteks: Konteks yang relevan, termasuk skema dan data sampel, disediakan dalam petunjuk.
Contoh:
Schemas: [schema details] Data: [sample data]Permintaan khusus tugas: Permintaan yang berbeda dibuat untuk tugas tertentu, seperti menghasilkan data sintetis, membuat contoh pertanyaan, dan mengonversi kueri bahasa alami menjadi kueri DSL.
Contoh untuk menghasilkan pertanyaan tes:
Your task is to generate 5 example questions users can ask the health app based on provided schemas and data. Only include the questions generated in the response.