全部產品
Search
文件中心

DataWorks:建立知識庫提升準確率

更新時間:Apr 26, 2026

通過配置常用問題範本、術語及商務邏輯,可有效擴充大模型的基礎知識。這能顯著提升模型對業務需求的理解與轉換能力,從而產生更精確的資料查詢代碼。

功能概述

ChatBI 通過大語言模型理解自然語言問題並產生 SQL 查詢。雖然大模型具備強大的通用能力,但在處理業務特定情境時,仍需要補充領域知識以提升準確性。知識庫正是為此設計的核心功能。知識庫支援以下三種對象:问题模板术语管理业务逻辑

物件類型

解決的問題

典型應用情境

問題範本

固定分析需求的快速響應

高頻查詢(如"各門店月度銷售額排行")、複雜多表關聯查詢、需要精確欄位對應的情境

術語管理

行業/業務專用詞彙的準確識別

縮寫詞(如"MoM"月環比、"YoY"同比)、多語言術語、同義字映射

商務邏輯

商務規則和計算邏輯的標準化

業務指標定義(如"有效訂單=訂單金額>0且狀態=已支付")、資料過濾規則

功能入口

重要

知識庫僅限 ChatBI 管理員查看與編輯,不對成員開放。

  1. 進入ChatBI功能入口。

    您需要先登入阿里雲,然後通過瀏覽器訪問ChatBI智能資料洞察頁面。請根據您的DataWorks資源群組、資料集等業務所在地區按需選擇。

    華東1(杭州)ChatBI入口

    華東2(上海)ChatBI入口

    華南1(深圳)ChatBI入口

    中國香港 ChatBI入口

    西南1(成都)ChatBI入口

    華北2(北京)ChatBI入口

    華北3(張家口)ChatBI入口

    印尼(雅加達)ChatBI入口

  2. 管理員在頁面左側導覽列單擊知識庫,進入知識庫頁面。

    image

配置知識庫

ChatBI的知識庫管理員對象包括:问题模板术语管理業務邏輯

配置問題範本

進入知識庫頁面,單擊问题模板頁簽,您可以通過兩種方式新增問題範本:

  • 通過頁面配置。

    1. 在知識庫頁面,單擊新增,進入建立問題範本頁面。

    2. 配置問題範本的相關參數:

      參數

      描述

      问题

      定義在會話中的常用問題,例如:

      門店A中商品B的月度銷售額趨勢。

      問題中支援以${參數名}格式包含變數,若在此處定義變數,須在參數處補充變數的枚舉值或樣本值。變數定義如:

      ${shopName}中${commodityName}的月度銷售額趨勢。

      SQL

      基於問題描述提供能夠準確、正確執行的資料查詢SQL。 若問題中包含${參數名},則SQL中也需要包含同名參數,例如:

      SELECT shop_name, commodity_name, sales, month
      FROM ads_order_table
      WHERE shop_Name = ${shopName}
      AND commodity_Name = ${commodityName}
      ORDER BY month;

      參數

      若問題和SQL中包含${參數名},請補充參數的枚舉值或樣本值,例如:

      ${參數名}: [“參數值1”,”參數值2”,”參數值3”]

      資料集

      指定該問題範本對哪些資料集生效。若不指定,則全域生效。

    3. 配置完成,單擊保存

  • 通過本地檔案大量匯入。

    1. 在知識庫頁面,單擊导入新增

    2. 在匯入彈窗中,單擊下載模板,在模板中填寫问题模板模板指令碼模板參數資料集。各參數解釋與通過頁面配置類似。

    3. 拖拽本地檔案或單擊彈窗中的,選擇需要匯入的檔案。

    4. 添加完成後,單擊確認

配置建議

  • 優先配置高頻問題:統計使用者最常問的 Top 20 問題,優先為其配置模板。

  • 使用參數化提升複用性:將可變部分(如門店名稱、商品名稱、時間範圍)定義為 ${參數名},一個模板可覆蓋多個類似問題。

  • SQL 需經過驗證:配置前務必在資料集上實際執行 SQL,確保文法正確且返回預期結果。

配置術語管理

進入知識庫頁面,單擊术语管理頁簽,您可以通過兩種方式新增術語:

  1. 通過頁面配置。

    1. 單擊新增,進入建立術語管理頁面。

    2. 配置問題範本的關鍵參數:

      參數

      描述

      术语

      業務交流和分析中涉及到的常用和專業詞彙,例如:月環比。

      別名

      術語的同義字、縮寫、全稱、多語言翻譯等。輸入別名後斷行符號,支援添加多個別名。

      資料集

      指定該問題範本對哪些資料集生效。若不指定,則全域生效。

    3. 配置完成,單擊保存

  2. 通過本地檔案匯入。

    1. 在知識庫頁面,單擊导入新增

    2. 在匯入彈窗中,單擊下載模板,在模板中填寫术语別名描述資料集。各參數解釋與通過頁面配置類似。

    3. 拖拽本地檔案或單擊彈窗中的,選擇需要匯入的檔案。

    4. 添加完成後,單擊確認

配置建議

  • 優先配置業務專用術語:重點添加行業黑話、縮寫、內部代號等大模型不瞭解的詞彙。

  • 建立完整的別名體系:一個術語配置中文全稱、英文縮寫、口語表達等多種形式,例如:"月環比"的別名包括["MoM", "Month over Month", "環比", "月度環比增長率"]。

  • 避免與通用詞衝突:不要為常見詞(如"訂單""使用者")配置術語,除非有特殊業務含義。

配置商務邏輯

進入知識庫頁面,單擊業務邏輯頁簽,您可以通過兩種方式新增商務邏輯:

  1. 通過頁面配置。

    1. 進入建立商務邏輯頁面。

    2. 配置問題範本的關鍵參數:

      參數

      描述

      业务概念

      業務交流和分析中涉及到的常用概念的名稱,例如:有效訂單。

      逻辑解释

      對業務概念的名稱下一個定義,例如:ord_cnt_1d>0 表示有效訂單。

      資料集

      指定該問題範本對哪些資料集生效。若不指定,則全域生效。

      字段

      選擇資料集後,可選擇資料集下的表中欄位,將業務概念跟物理表/欄位進行關聯。

    3. 配置完成,單擊保存

  2. 通過本地檔案大量匯入。

    1. 在知識庫頁面,單擊导入新增

    2. 在匯入彈窗中,單擊下載模板,在模板中填寫业务概念逻辑解释關聯表欄位資料集。各參數解釋與通過頁面配置類似。

    3. 拖拽本地檔案或單擊彈窗中的,選擇需要匯入的檔案。

    4. 添加完成後,單擊確認

配置建議

  • 定義關鍵業務指標:將核心 KPI 的計算邏輯配置為商務邏輯,如"有效訂單""活躍使用者""轉化率"等。

  • 邏輯解釋要具體:不僅說明是什麼,還要說明如何計算,例如:"有效訂單 = valid_order_flag = 1 且 sales_amount > 0"。

  • 關聯物理欄位:選擇商務邏輯涉及的所有相關欄位,協助模型理解欄位間的關係。

管理知識庫

ChatBI 管理員可以對建立的知識庫進行編輯,與刪除等。

編輯知識庫對象

  1. 在頁面左側導覽列單擊知識庫,進入知識庫頁面。

  2. 在知識庫頁面的各個對象的頁簽中,單擊操作列的編輯,進入編輯頁面。

    各參數解釋與配置知識庫保持一致。

查看知識庫對象

  • 您可以在知識庫各個頁簽頂部的搜尋方塊中輸入關鍵字後斷行符號,對搜尋對象進行快捷定位。

  • 您也可以單擊某個知識庫對象,查看該對象的詳情。

刪除知識庫對象

在知識庫各個頁簽,找到已添加的知識庫對象,單擊操作列的刪除,將該對象從知識庫中刪除。

情境案例分析

以下通過電商銷售分析情境,對比有無知識庫配置時 ChatBI 的表現差異,協助您直觀理解知識庫的價值。

情境說明

某電商企業使用 ChatBI 分析銷售資料,底層表結構如下:

  • 表名:ads_order_table

  • 關鍵字段:shop_name(門店名稱)、product_name(商品名稱)、sales_amount(銷售額)、order_date(訂單日期)、valid_order_flag(有效訂單標誌,1 表示有效)

案例1:問題範本的價值

使用者提問

"華東區旗艦店的 iPhone 手機上個月銷售額是多少?"

❌ 沒有配置知識庫

ChatBI 理解:

  • 可能無法準確識別"華東區旗艦店"對應的欄位值

  • "iPhone 手機"可能被理解為包含"iPhone"關鍵字

  • "上個月"的時間範圍可能計算錯誤

產生的 SQL(可能錯誤):

SELECT SUM(sales_amount)
FROM ads_order_table
WHERE shop_name LIKE '%華東%'
  AND product_name LIKE '%iPhone%'
  AND order_date >= '2026-02-01'
  AND order_date < '2026-03-01';

問題:

  • shop_name LIKE '%華東%' 可能匹配到錯誤的門店

  • 沒有過濾有效訂單

  • 時間範圍可能不準確

結果:⚠️ 資料不準確或查詢失敗

✅ 配置了問題範本

知識庫配置:

問題

${region}${shopName}的${productCategory}${period}銷售額是多少?

SQL

SELECT SUM(sales_amount) as total_sales
FROM ads_order_table
WHERE shop_name = ${shopName}
  AND product_category = ${productCategory}
  AND order_date >= ${startDate}
  AND order_date < ${endDate}
  AND valid_order_flag = 1;

參數

${shopName}: ["華東區旗艦店","華南區旗艦店","華北區專賣店"]
${productCategory}: ["iPhone","iPad","MacBook","AirPods"]
${period}: ["上個月","本月","上周","本周"]

ChatBI 工作流程:

  1. 匹配到問題範本

  2. 提取參數:shopName="華東區旗艦店",productCategory="iPhone",period="上個月"

  3. 自動計算時間範圍:2026-02-01 至 2026-03-01

  4. 使用模板 SQL 產生精確查詢

產生的 SQL(正確):

SELECT SUM(sales_amount) as total_sales
FROM ads_order_table
WHERE shop_name = '華東區旗艦店'
  AND product_category = 'iPhone'
  AND order_date >= '2026-02-01'
  AND order_date < '2026-03-01'
  AND valid_order_flag = 1;

結果:✅ 精確匹配,查詢準確

案例2:術語管理的價值

使用者提問

"華東區旗艦店上個月的 MoM 增長率是多少?"

❌ 沒有配置術語

ChatBI 理解:

  • 無法識別"MoM"的含義

  • 可能理解為欄位名或直接報錯

結果:⚠️ "未找到相關欄位 MoM" 或理解錯誤

✅ 配置了術語管理

知識庫配置:

術語

月環比

別名

["MoM", "Month over Month", "環比", "月度環比增長率"]

描述

當月資料相比上月的增長百分比

ChatBI 工作流程:

  1. 識別"MoM"是"月環比"的別名

  2. 理解需要計算 (當月-上月)/上月 × 100%

  3. 產生包含上個月和上上個月資料的查詢

產生的 SQL(正確):

WITH monthly_sales AS (
  SELECT
    DATE_FORMAT(order_date, '%Y-%m') as month,
    SUM(sales_amount) as sales
  FROM ads_order_table
  WHERE shop_name = '華東區旗艦店'
    AND valid_order_flag = 1
    AND order_date >= '2026-01-01'
    AND order_date < '2026-03-01'
  GROUP BY DATE_FORMAT(order_date, '%Y-%m')
)
SELECT
  (curr.sales - prev.sales) / prev.sales * 100 as mom_growth_rate
FROM monthly_sales curr
JOIN monthly_sales prev
  ON prev.month = '2026-01'
  AND curr.month = '2026-02';

結果:✅ 正確計算月環比增長率

案例3:商務邏輯的價值

使用者提問

"統計華東區旗艦店上個月有效訂單的銷售額"

❌ 沒有配置商務邏輯

ChatBI 理解:

  • 不清楚"有效訂單"的具體定義

  • 可能遺漏關鍵過濾條件

產生的 SQL(不完整):

SELECT SUM(sales_amount)
FROM ads_order_table
WHERE shop_name = '華東區旗艦店'
  AND order_date >= '2026-02-01'
  AND order_date < '2026-03-01';

問題:沒有過濾有效訂單條件

結果:⚠️ 資料包含無效訂單,結果偏大

✅ 配置了商務邏輯

知識庫配置:

業務概念

有效訂單

邏輯解釋

valid_order_flag = 1 且 sales_amount > 0 表示有效訂單

關聯欄位

ads_order_table.valid_order_flag, ads_order_table.sales_amount

ChatBI 工作流程:

  1. 識別"有效訂單"是業務概念

  2. 從知識庫擷取商務邏輯定義

  3. 自動添加過濾條件

產生的 SQL(正確):

SELECT SUM(sales_amount) as valid_sales
FROM ads_order_table
WHERE shop_name = '華東區旗艦店'
  AND order_date >= '2026-02-01'
  AND order_date < '2026-03-01'
  AND valid_order_flag = 1
  AND sales_amount > 0;

結果:✅ 精確統計有效訂單銷售額

如何驗證知識庫生效

配置知識庫後,您可以通過以下方式驗證其是否生效:

  1. 在 ChatBI 會話中提問:使用配置的問題範本中的樣本問題進行提問,查看產生的 SQL 是否符合預期。

  2. 測試術語識別:在問題中使用配置的術語別名(如"MoM"),觀察 ChatBI 是否能正確理解。

  3. 驗證商務邏輯:詢問涉及業務概念的問題(如"有效訂單"),檢查產生的 SQL 是否包含正確的商務邏輯過濾條件。

  4. 對比前後效果:記錄配置知識庫前後的問答準確率變化,量化評估改進效果。

常見問題

  • Q: 知識庫配置後不生效怎麼辦?

    A: 請檢查以下幾點:

    1. 確認知識庫對象已關聯到正確的資料集(或設定為全域生效)

    2. 檢查問題範本的 SQL 文法是否正確,參數名是否匹配

    3. 驗證使用者提問的表述是否與問題範本相似性足夠高

    4. 術語和商務邏輯需要在問題中明確提及才會觸發

  • Q: 多個知識庫規則衝突時如何處理?

    A: ChatBI 會根據以下優先順序處理:

    1. 資料集級配置優先於全域配置

    2. 問題範本具有最高優先順序,會直接使用模板 SQL

    3. 建議定期檢查併合並重複或衝突的配置

  • Q: 知識庫會影響 ChatBI 效能嗎?

  • A: 不會。知識庫是通過檢索匹配的方式工作,對問答響應速度影響極小(通常小於 100ms)。合理的知識庫配置反而能提升整體效率,因為減少了錯誤重試和人工幹預。