語意核心 提供許多不同的組件,可以單獨使用或合併使用。 本文概述了不同組成部分,並解釋它們之間的關係。
AI 服務連接器
語意核心 AI 服務連接器提供一個抽象層,透過共用介面揭露來自不同供應商的多種 AI 服務類型。 支援的服務包括聊天完成、文字生成、嵌入生成、文字轉圖片、圖片轉文字、文字轉音訊及音訊轉文字。
當某個實作向 Kernel 註冊後,在任何對 Kernel 的方法呼叫中,預設都會使用聊天補全或文字生成服務。 其他支援的服務都不會自動使用。
Tip
如需更多關於使用 AI 服務的資訊,請參閱 將 AI 服務新增至 語意核心。
向量儲存(記憶體)連接器
語意核心 向量儲存連接器提供一個抽象層,透過共用介面揭露來自不同提供者的向量儲存。 核心不會自動使用任何註冊的向量儲存,但向量搜尋可以輕易地作為外掛暴露給核心,這樣外掛就會開放給提示範本和聊天完成 AI 模型使用。
Tip
欲了解更多使用記憶體連接器的資訊,請參見 Adding AI Services to 語意核心。
函式與外掛
插件是命名的函式容器。 每個功能都可以包含一個或多個功能。 外掛可以註冊給核心,讓核心能以兩種方式使用它們:
- 把它們告知聊天完成的 AI,讓 AI 能選擇召喚。
- 讓它們在範本渲染時可以被調用。
函式可輕鬆從多種來源建立,包括原生程式碼、OpenAPI 規格、用於 RAG 情境的 ITextSearch 實作,以及提示詞範本。
Tip
想了解更多不同插件來源的資訊,請參見 《什麼是插件?》。
Tip
欲了解更多關於廣告外掛至聊天完成 AI 的資訊,請參見 功能呼叫與聊天完成。
提示範本
提示範本可讓開發人員或提示工程師建立一個範本,將供 AI 使用的背景資訊與指示,與使用者輸入及函式輸出結合在一起。 例如,範本可能包含聊天完成 AI 模型的指示、使用者輸入的佔位符,以及必須在呼叫聊天完成 AI 模型前執行的外掛硬編碼呼叫。
提示範本有兩種使用方式:
- 作為聊天完成流程的起點,請核心渲染模板,並以渲染結果呼叫聊天完成 AI 模型。
- 作為外掛函式,讓它能像其他函式一樣被調用。
當使用提示範本時,系統會先將其轉譯,並執行其中包含的任何硬編碼函式參照。 渲染出的提示詞會交給聊天完成 AI 模型。 AI 產生的結果會回傳給來電者。 如果提示範本已註冊為外掛函式,該函式可能會被 Chat Completion AI 模型選中執行;在此情況下,呼叫者是 語意核心,代表 AI 模型進行呼叫。
以這種方式將提示範本用作外掛程式函式,可能會導致相當複雜的流程。 例如,考慮一個提示範本 A 被註冊為外掛的情況。
同時,也可以將不同的提示範本 B 傳給核心,以啟動聊天完成流程。
B 可能會有對 A 的硬式編碼呼叫。
這會產生以下步驟:
-
B開始進行渲染,而在提示執行時會發現對A的參照 -
A被渲染出來。 -
A的轉譯後輸出會傳送至 Chat Completion AI 模型。 - Chat Completion AI 模型的結果會傳回給
B。 -
B的渲染已完成。 - 渲染後的輸出
B會傳遞給聊天完成 AI 模型。 - 聊天完成 AI 模型的結果會回傳給來電者。
也請考慮不存在從 B 到 A 的硬編碼呼叫這種情況。
即使已啟用函式呼叫,Chat Completion AI 模型仍可能決定呼叫 A,因為它需要 A 可提供的資料或功能。
將提示範本註冊為外掛函式,可使原本需以實際程式碼實作的功能,成為能以人類語言描述來建立的功能。 將功能拆分成這樣的外掛,讓 AI 模型能獨立於主要執行流程之外推理,且能讓 AI 模型專注於單一問題,從而提高成功率。
請參考下圖,這是一個從提示範本開始的簡單流程。
Tip
如需更多有關提示範本的資訊,請參閱「什麼是提示?」。
篩選器
篩選器提供在聊天完成流程中特定事件前後採取自訂操作的方式。 這些活動包括:
- 功能召喚前後。
- 提示呈現前後對照。
過濾器必須在核心註冊,才能在聊天完成流程中被調用。
請注意,由於提示範本在執行前一律會先轉換為 KernelFunctions,因此對於提示範本,函式過濾器和提示過濾器都會被叫用。 由於當有多個篩選器可用時,這些篩選器會以巢狀方式套用,因此函式篩選器位於外層,而提示詞篩選器位於內層。
Tip
欲了解更多篩選器資訊,請參閱 「什麼是篩選器?」。