本文將介紹 FineChatBI 如何連結其他大模型(圖中藍色遠端部分),連結其他本地大模型需要進行API改造,連結步驟大致如下:
1)部署 FineAI 服務,目的是轉發代理大模型。
2)在 FineChatBI 中配置大模型資訊,完成連結。
FineChatBI 要求大模型必須嚴格按照指定格式匯出結果,否則無法正常使用。
使用者在連結本地大模型前,需要提前驗證本地模型是否滿足 FineChatBI 的要求,詳情請參見:判斷大模型是否滿足 FineChatBI 能力要求。
FineAI 是 OpenAI Chat API,使用者需要確認自己的本地大模型是否相容 OpenAI API:
情況一:相容 OpenAI API
大模型相容 OpenAI API,則無需任何改造,大模型可以直接連結 FineAI 服務。
情況二:不相容 OpenAI API
大模型若不相容 OpenAI API,推薦使用 vLLM 框架將本地大模型重新部署為相容 OpenAI API的服務,詳情請參考 vLLM 官方文檔。
情況三:不相容 OpenAI API且無法重新部署大模型
API改造。常駐一個API轉發服務,作為 FineAI 服務和大模型服務之間溝通的橋樑。
API轉發服務需要將 FineAI 的請求體轉換成大模型服務支援的格式,發給大模型;並解析大模型的傳回,轉換成 FineAI 的傳回體格式。
FineAI 的請求體和傳回體都符合 OpenAI Chat API規範,詳情見:
請求體需要包含以下參數:
對話歷史記錄,包括角色和歷史。類型為 List[dict(str,str)]
是否流式匯出,bool 類型。
必須將 FineAI 傳送的 stream 傳遞給大模型;
必須根據 stream 的值判斷傳回體格式是否為流式格式。
請求體範例:
{ "model": "gpt-3.5-turbo", "messages": [ { "role": "system", "content": "你是算術專家" }, { "role": "user", "content": "圓週率怎麼計算" } ], "temperature": 0.95, "max_tokens": 8192, "stream": false}
當 FineAI 請求體中 stream 為 false 時,傳回非流式傳回體。
非流式傳回體範例:
{ "choices": [ { "index": 0, "message": { "role": "assistant", "content": "圓週率的計算方式有以下幾種……" }, "finish_reason": "stop" } ]}
當 FineAI 請求體中 stream 為 true 時,傳回流式傳回體。
流式傳回體範例:
生成程式中:每個 token 透過 content 傳回,且 finish_reason 為 null
流式傳回結束:傳回了最後一個 token 後,須要有一個額外的傳回體,其中 content 為 null,而 finish_reason 為 "stop"
{ "choices": [ { "finish_reason": null, "delta": { "content": "好的" }, "index": 0 } ]}
進入「智慧問答配置>其他配置>大模型配置」,配置本地服務資訊,再點選儲存。如下圖所示:
(若API不需要鑑權,可不填寫)
大模型的具體的服務地址,可以透過該地址與模型進行交
填入基礎URL,即不包含 /chat/completions 後綴
填入要接入模型的模型名(model name)
測試需要大模型支撐的功能,比如:問答增強、分析思路、歸因分析,同義詞一鍵配置等,確定大模型服務在問答BI中可正常使用。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙