跳到主要內容 跳至補充內容

在視覺化運算式中使用 OpenAI 連線

除了使用載入指令碼將 OpenAI 問題和答案新增至應用程式的資料模型,您也可以直接在分析模式下於應用程式的圖表中執行這些操作。會在您和 OpenAI 之間來回傳送單一欄位的資料。

在許多情況下,用於載入指令碼連線的程式碼可以重新用於圖表,並具有差異。

如果使用案例是根據使用者輸入,您可以在圖表運算式中使用分析連線和對應的伺服器端延伸語法來建立互動式圖表,以視覺化從模型端點接收的資料。

資料請求量的考慮事項

在圖表運算式中使用 OpenAI 連線建議僅用於一列或幾列資料。不建議使用圖表運算式將大量資料傳送至 OpenAI

重要的是,應注意您對每個請求傳送多少列。若在圖表運算式中設定 連線時發生錯誤,可能導致意外的大量請求 (例如由於不當使用圖表中的資料模型而出現問題相同的相同列)。在您與第三方平台互動之前,請確認您瞭解欄位在圖表運算式計算的使用方式,及其在資料模型中的位置,會影響與第三方的財務協議和計費安排。較高的外部平台使用率可能會造成較高的費用。

遵守這些準則以節制並限制請求的大小:

  • 僅在文字與 影像圖表運算式中使用 連線。強烈不建議在表格物件中使用 OpenAI 連線,尤其是若您正在將運算式新增至已新增一個或多個維度的表格。

  • 若圖表運算式連結至應用程式的資料模型,請在運算式中使用 if 陳述式,以在應用程式中選取單一選項時僅計算圖表。這會在圖表將傳送至 OpenAI 的請求中大幅降低列數。

  • 若您正在使用 OpenAI 連線傳送大量請求,請在載入指令碼 (而非圖表運算式) 中使用連線,讓資料預先載入到資料模型中。

建立圖表運算式

  1. 編輯視覺效果時,按一下 運算式 進入運算式編輯器。

  2. 在運算式編輯器中,在運算式欄位中輸入運算式。必須使用伺服器端延伸語法建構運算式。

快速範例

您可在此找到樣本運算式,這可在開始使用 OpenAI 連接器時使用。考慮下列詳細資訊:

  • 僅搭配文字與影像物件使用運算式。

  • 考慮將 if 陳述式新增至運算式,以控制何時重新計算圖表,以及根據應用程式中的使用者選項更新。

  • 為了讓運算式運作,您必須替代 connectionname 值和任何欄位名稱,以配合自己的連線和應用程式。

如需其他範例,請參閱 教學課程 – 在 Qlik Cloud 中使用 OpenAI 分析連接器

OpenAI 分析連接器的圖表運算式範例

連接器設定 運算式 摘要
OpenAI 完成 API (GPT-3) - 列 endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"OpenAI Connection for Rows Completions (GPT-3)","column":"choices.text"}}', 'Translate this text from english to spanish: The sun was rising over the new tomorrow with a tinge of excitement.')

此陳述式將向已在運算式中輸入的單一問題傳回 OpenAI 回應。

警告備註

此運算式不會使用 if 陳述式,若繫結至資料模型中的欄位,則不建議使用。這僅適合用於具有單一輸入儲存格 (包含硬式編碼值) 的獨立運算式。

OpenAI 完成 API (GPT-3) - 列 if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3","column":"choices.text"}}',vQuestion))

此陳述式可用於連結至變數輸入控制文字與影像物件。只有在輸入時才會計算圖表。使用者在物件中輸入內容並按下 Enter 時,圖表會顯示對輸入內容的 OpenAI 回應。

如需逐步解說,請參閱 練習: 使用變數建立文字輸入方塊

OpenAI 聊天完成 API (GPT-3.5, GPT-4) - 列 if(GetSelectedCount(BusinessTopic)=1, endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3", "column":"choices.message.content"}}', 'What are people saying about ' & 'BusinessTopic'), 'Please select a single value for BusinessTopic.') 此為複雜的 if 陳述式,其中只有在使用者已選取欄位 BusinessTopic 的一個值時,才會計算圖表。 只有在使用者於應用程式中進行選取時,圖表才會更新,如使用者沒有選取,圖表將會顯示下列替代訊息:Please select a single value for BusinessTopic
OpenAI 聊天完成 API (GPT-3.5, GPT-4) - 列 if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3","column":"choices.message.content"}}',vQuestion))

此陳述式可用於連結至變數輸入控制文字與影像物件。只有在輸入時才會計算圖表。使用者在物件中輸入內容並按下 Enter 時,圖表會顯示對輸入內容的 OpenAI 回應。

如需逐步解說,請參閱 練習: 使用變數建立文字輸入方塊

OpenAI 聊天完成 API (GPT-3.5, GPT-4) - 列 if( count(distinct [IssueCategory]) = 1, endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Chat_3_5","column":"choices.message.content"}}', 'write me a sample response from a technical support department for a customer complaint about ' & [IssueCategory])) 在此範例中,只有在從應用程式資料模型中的欄位 IssueCategory 選取一個相異值時,才會計算圖表。會向 OpenAI 傳送請求,就一般問題類型從技術支援部門請求樣本回應,這是 IssueCategory 欄位中包含的清單。 會根據使用者選取的值更新圖表。

詳細範例

如需如何使用 OpenAI 連線建立視覺化運算式的完整範例,請參閱 教學課程 – 在 Qlik Cloud 中使用 OpenAI 分析連接器

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們可以如何改善!