查詢分析服務中的NL2SQL提供將自然語言查詢轉換為SQL語句的能力,本文介紹如何配置查詢分析-NL2SQL服務。
效果展示
Query:高一三班有哪些模範生?
| Query:2024年結案數最多的是哪5個案由?
|
如何配置
查詢分析服務中的NL2SQL提供將自然語言查詢轉換為SQL語句的能力,使用NL2SQL服務,需要配置以下資訊:
表基礎資訊配置:配置接入NL2SQL服務依賴的業務資料表資訊,包含欄位名稱、欄位類型、欄位枚舉值、欄位描述資訊、欄位對應以及表之間的關聯關係等。
學習樣本配置:將業務上使用的高頻問法、複雜問法及其對應的SQL語句配置在此處,提升NL2SQL準確性。同時,在使用NL2SQL服務期間,如遇到產生SQL不符合預期時,也可以將對應問法和SQL語句配置在此處。
自訂規則配置(業務術語、概念等知識配置):使用者輸入的問法中,通常會包含一些業務術語、概念等知識,為了協助模型理解業務知識、概念,需要將術語、概念及其對應的解釋配置在此處。
如:
最近一周積水治理情況如何?涉及知識:積水治理包含雨水井蓋、道路積水事件。
模範生是指編號小於或者等於10的學生,體育生是指編號大於11的學生。
具體步驟
在AI搜尋開放平台選擇模型服務>服務配置,然後單擊建立。
服務類別、配置類型選擇預設配置,輸入配置名稱,如xsxx(表示學生資訊資料分析)。
單擊儲存並下一步,參照以下格式配置NL2SL服務所需要的資料表資訊。
表基礎配置
[ { "table":"schools", "columns": [ { "column": "class", "description": "班級", "type": "string", "example": ["高一3班", "火箭班"], "value_mapping": [] }, { "column": "school", "description": "學校", "type": "string", "example": ["A市B一中學", "AA五中"], "value_mapping": [] } ] }, { "table":"students", "columns": [ { "column": "id", "description": "學號", "type": "int", "example": [1, 2], "value_mapping": [ [1,"張三"], [2,"李四"] ] }, { "column": "class", "description": "班級", "type": "string", "example": ["高一3班", "火箭班"], "value_mapping": [] } ] } ]表名
table以小寫字母開頭,僅支援小寫字母、數字或底線,且長度不超過30位。欄位名
column以小寫字母開頭,僅支援小寫字母、數字或底線,且長度不超過30位。欄位類型
type支援text、string、int8、uint8、int16、uint16、int32、int、uint32、int64、uint64、float、double、location、date、time、timestamp。表關聯配置
["students.class=schools.class"]
單擊下一步,配置自訂規則和學習樣本,提升NL2SQL的識別效果。
學習樣本配置:將業務側使用的高頻問法、複雜問法及其對應的SQL語句配置在此處,提升NL2SQL準確性。同時,在使用NL2SQL服務期間,如遇到產生SQL不符合預期時,也可以將對應問法和SQL語句配置在此處。
[ { "query":"張三是哪個班的", "sql" : "SELECT class FROM students WHERE name = '張三'" } ]自訂規則配置(業務術語、概念等知識配置):使用者輸入的問法中,通常會包含一些業務術語、概念等知識,為了協助模型理解業務知識、概念,需要將術語、概念及其對應的解釋配置在此處。
如:模範生是指學號(id)<=10的學生,體育生是指學號(id)>11的學生。
[ { "key":"模範學生", "value":"students.id <= 10" }, { "key":"體育生", "value":"學號大於11的學生" } ]
單擊完成,點擊立即啟用,頁面跳轉到服務配置列表,啟用狀態處於啟用中,系統對上述配置資訊進行格式校正。
啟用狀態為已啟用時,表示服務配置可正常使用,可以通過體驗中心測試NL2SQL效果。
後續步驟
如果您希望在業務代碼中整合NL2SQL服務,請訪問NL2SQL API。

