Text-to-SQL-Datenerstellung
Der Text to SQL Data Builder erzeugt synthetische SQL-Daten, die eine natürlichsprachliche Aussage zur Beschreibung einer Datenbankoperation und eine entsprechende SQL-Anweisung zur Durchführung der Datenbankoperation enthalten.
Format der Saatgutdaten
Erstellen Sie eine Eingabe-YAML-Datei, die beispielhafte Klartextanweisungen enthält. Fügen Sie die folgenden Informationen in die Datei ein:
- Die Operationen, die mit den in einer relationalen Datenbank gespeicherten Daten durchzuführen sind
- Die entsprechenden SQL-Abfragen zur Ausführung jeder Operation
- Ein Datenbankschema, das definiert, wie die Daten organisiert und gespeichert werden
Verwenden Sie die folgende Struktur für die YAML-Datei:
task_description: <Description of this task>
seed_examples:
- utterance: <input question 1>
query: <sample SQL 1>
- utterance: <input question 2>
query: <sample SQL 2>
database:
schema: "<Data Definition Language (DDL) statement of one or more tables. Separate each DDL by a semi-colon>"
Beispielhafte Saatgutdaten
Zum Herunterladen von Beispiel-Seed-Daten für den Text to SQL Data Builder, siehe watsonx -ai-samples.
Beispiel für einen Anfragetext für eine JSON-Datei
Der folgende Anfragekörper enthält die Konfiguration für einen Auftrag zur Generierung unstrukturierter synthetischer Daten, der den Text to SQL Data Builder verwendet. Es verfügt über zusätzliche erweiterte Einstellungen für die Erzeugung von Token.
{
"project_id": "<ID of the project to create the job in>",
"name": "<Name of the job that you want to create>",
"description": "<Description for the job>",
"configuration": {
"pipeline": "nl2sql",
"num_outputs_to_generate": <A value between 1 to 1000>,
"overwrite_output_file": false,
"generator": {
"model_id": "<LLM. For example ibm/granite-3-8b. For models deployed on demand, this is the deployment_id>",
"temperature": 0.5,
"max_new_tokens": 1024,
"min_new_tokens": 100,
"decoding_method": "sample",
"top_p": 0.9,
"top_k": 50
},
"validators": [
{
"type": "rouge_scorer",
"filter": true,
"threshold": 0.9
},
{
"type": "lm_judge",
"lm_config": {
"model_id": "<LLM. For example ibm/granite-3-8b."
}
}
],
"seed_data_reference": {
"type": "container",
"location": {
"path": "<YAML file name in project assets. For example qna_know_seed.yaml>"
}
},
"results_reference": {
"type": "container",
"location": {
"path": "<File name for the generated data output. For example sdg-output-know.jsonl>"
}
}
},
"job": {
"schedule": "0 0 1 * *",
"schedule_info": {
"repeat": true,
"startOn": 1547578689512,
"endOn": 1547578689512
}
}
}