您正在浏覽的是 FineBI 7.X 幫助文檔,點選跳轉至 FineBI 6.X 幫助文檔

判斷大模型是否滿足 FineChatBI 能力要求

1. 概述

FineChatBI 要求大模型必須嚴格按照指定格式匯出結果,否則無法正常使用。本文檔適用於使用者在連結本地大模型前,提前驗證模型是否符合要求。

icon提示:
為保障 ChatBI 功能效果,建議使用不低於 80B 規格的大模型;低於該規格的模型,不承諾效果達標。

2. 測試方法

2.1 傳送請求

保證 FineAI 服務網路能聯通大模型服務。

在 FineAI 所在伺服器使用 curl 命令向大模型服務傳送請求(範例基於 OpenAI Chat API格式)。實際使用時,請根據您的具體配置修改以下參數:

  • IP、PORT、URL:取代為實際的服務地址。其中 URL 必須以 /chat/completions 結尾,否則不符合 OpenAI API。

  • MODEL_NAME:取代為實際的模型名稱。

  • API_KEY:若不需要認證,請刪除 -H "Authorization: Bearer API_KEY" 這一行。

  • max_tokens 必須設定在 8192 以上,若模型上下文長度不足 8192,則無法相容 FineChatBI。

curl http://IP:PORT/URL/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer API_KEY" \
-d '{
    "model": "MODEL_NAME",
    "messages": [
        {"role": "system", "content": "你是一个近义词生成助手,我会给你一些表名、对应表的字段名,你可以根据表名和字段名合理的联想和推测,生成表名或字段名的近义词或缩略词。\n```\n你生成的字段名格式必须满足以下规则:\n1.只能返回json,不需要markdown代码符号\n2.给每个字段名或表名生成5个近义词,近义词可以生成一些简称,如 \"门店信息维度表\"的近义词可以是 门店信息, 门店等\n3.字段名近义词可以与表名进行结合,例如,表名为\"门店\",字段名为\"名称\",近义词可以为:\"门店名\",\"店铺名\"等\n4.同一个表的字段不能生成相同的近义词\n5.中文和英文混合的字段名必须保持与输入一致\n6.返回的JSON格式为:\n{\n  \"table_aliases_dic\":\n    [\n      {\n        \"table_name\":  表名,\n        \"aliases\": 表名同义词数组,\n        \"fields\": [\n          {\n            \"field_name\": 字段名,\n            \"aliases\": 字段名同义词数组\n          }\n        ]\n      }\n    ]\n}\n7.返回的JSON必须是\"table_aliases_dic\",不能是\"tableAliasesDic\"\n```\n示例如下:\n存在以下表和字段:\n表名:公司表\n字段:ID, 名称, 简称, 板块\n表名:科目表\n字段:名称, 简称\n表名:预算明细表\n字段:日期, 预算\n\n问:请生成表名和字段的近义词或缩略词\n答:\n{ \"table_aliases_dic\":[\n  {\n    \"table_name\": \"公司表\",\n    \"aliases\": [\"公司\", \"企业\", \"机构\", \"机关\", \"单位\"],\n    \"fields\": [\n      {\"field_name\": \"ID\", \"aliases\": [\"唯一标识\", \"标识\", \"公司id\", \"公司编码\", \"公司编号\"]},\n      {\"field_name\": \"名称\", \"aliases\": [\"名字\", \"公司名\", \"机构名\", \"企业名\", \"称号\"]},\n      {\"field_name\": \"简称\", \"aliases\": [\"公司缩写\", \"企业简称\", \"公司略写\", \"略称\", \"简称代号\"]},\n      {\"field_name\": \"板块\", \"aliases\": [\"区块\", \"业务板块\", \"分区\", \"分块\", \"组块\"]}\n    ]\n  },\n  {\n    \"table_name\": \"科目表\",\n    \"aliases\": [\"领域\", \"分类\", \"类目\", \"主题\", \"分科\"],\n    \"fields\": [\n      {\"field_name\": \"名称\", \"aliases\": [\"名字\", \"科目名\", \"分类名\", \"项目名\", \"称号\"]},\n      {\"field_name\": \"简称\", \"aliases\": [\"缩写\", \"简称\", \"领域简称\", \"略称\", \"简称代号\"]}\n    ]\n  },\n  {\n    \"table_name\": \"预算明细表\",\n    \"aliases\": [\"预算细目\", \"预算\", \"估算明细\", \"明细\", \"预算规划明细\"],\n    \"fields\": [\n      {\"field_name\": \"日期\", \"aliases\": [\"时间\", \"详细日期\", \"年月日\", \"预算时间\", \"具体时间\"]},\n      {\"field_name\": \"预算\", \"aliases\": [\"目标\", \"任务\", \"金额\", \"明细\", \"收入\"]}\n    ]\n  }\n]\n}\n示例结束\n```"},
        {"role": "user","content": "现存在以下表和字段:\n{\"tables\":[{\"tableName\":\"商品明细\",\"tableFields\":[{\"fieldName\":\"商品编码\"}]}]}\n请帮我生成同义词"}
    ],
    "max_tokens": 8192,
    "stream": false
}'


2.2 傳回 content 的格式要求

傳回範例樣式如下(此範例基於 OpenAI Chat API,實際傳回格式可能因不同API而異):


  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "大模型生成的內容"
      },
      "finish_reason": "stop",
    }
  ],
  ……    // 其他參數可忽略,如 id
}

1)檢查 content 是否滿足格式

傳回體中的 choices.message.content 是大模型的匯出,若按 2.1 節傳送請求,傳回的內容必須滿足以下格式。

注:部分模型(如DeepSeek-R1/QwQ)可能在傳回的 content 中多出思考程式,但下述基礎格式是必須包含的。

{

  "table_aliases_dic": [
    {
      "table_name": "略",
      "aliases": ["略"],
      "fields": [
        {
          "field_name": "略",
          "aliases": ["略"]
        }
      ]
    }
  ]
}

2)檢查傳回的 content 是否是 json 格式。

複製傳回體中攜帶的 content 部分(需包含外層引號)開啟線上驗證工具網站(https://www.jyshare.com/compile/9/)。在頁面左側輸入框中輸入 print(複製的內容),再「點選運作」,如下圖所示:


複製運作結果到 https://www.json.cn/ 網頁並貼上,若右側能正常解析則表示該部分符合 json 格式。如下圖所示:


3)連續執行 5 次 curl 命令(2.1節),若模型均能穩定傳回正確格式的內容,則可判定此模型符合 FineChatBI 要求。

3. 完整範例參考

1)執行 curl 命令(本文 2.1 節),傳送的命令和傳回體如下圖所示:

22.png

其中傳回體內容如下:

{
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "{\n  \"table_aliases_dic\": [\n    {\n      \"table_name\": \"商品明細\",\n      \"aliases\": [\"商品資訊\", \"商品詳情\", \"商品列表\", \"商品資料\", \"商品記錄\"],\n      \"fields\": [\n        {\n          \"field_name\": \"商品編碼\",\n          \"aliases\": [\"商品ID\", \"編碼\", \"商品編號\", \"商品標識\", \"產品編碼\"]\n        }\n      ]\n    }\n  ]\n}"
      },
      "finish_reason": "stop",
    }
  ],
  ……    // 其他參數可忽略,如 id
}


2)傳回體中的 choices.message.content 是大模型的匯出,將 content 的值解析後得到如下內容:

對照本文 2.2 節的內容格式,可見 content 部分完全符合格式。

{
"table_aliases_dic": [
    {
      "table_name": "商品明細",
      "aliases": ["商品資訊", "商品詳情", "商品列表", "商品資料", "商品記錄"],
      "fields": [
        {
          "field_name": "商品編碼",
          "aliases": ["商品ID", "編碼", "商品編號", "商品標識", "產品編碼"]
        }
      ]
    }
  ]
}

3)連續測試 5 次

連續 5 次執行 curl 命令(本文 2.1節),若模型都能穩定的傳回正確格式的內容,則該模型符合 FineChatBI 的要求。


附件列表


主题: FineChatBI 部署
  • 有帮助
  • 没帮助
  • 只是浏览
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙