Azure OpenAI 助理 API (預覽)
助理是 Azure OpenAI 服務的新功能,現已公開預覽。 助理 API 可讓開發人員更輕鬆地建立具有複雜 Copilot 式體驗的應用程式,以便篩選資料、建議解決方案及自動化工作。
- 助理可以使用特定指令呼叫 Azure OpenAI 的模型,以調整其特質和功能。
- 助理可以平行存取多項工具。 這些工具可以是 Azure OpenAI 裝載的工具 (例如程式碼解譯器和檔案搜尋),也可以是您透過函式呼叫建置、裝載和存取的工具。
- 助理可以存取持續對話。 對話會儲存訊息記錄,並在交談對於模型的內容長度而言變得太長時加以截斷,藉此簡化 AI 應用程式開發。 您可以建立對話一次,並在使用者回覆時,直接將訊息附加至該對話。
- 助理可以存取數種格式的檔案。 可能是在建立的過程中,或是在助理與使用者之間的對話過程中。 使用工具時,助理還可以建立檔案 (例如影像或試算表),並在建立的訊息中引用參考的檔案。
概觀
在過去,建置自訂 AI 助理即使對於經驗豐富的開發人員,也是一項繁重的工作。 雖然聊天完成 API 輕巧強大,但本質上無狀態,這表示開發人員必須管理交談狀態和聊天對話、工具整合、擷取文件和索引,以及手動執行程式碼。
助理 API 是聊天完成 API 的具狀態進化版,可解決這些挑戰。 助理 API 支援自動管理的持續對話。 這表示身為開發人員,您不再需要開發交談狀態管理系統和解決模型的內容視窗限制。 助理 API 會自動處理最佳化,將對話保持在所選模型的最大內容視窗內。 建立對話之後,您可以在使用者回應時,直接將新訊息附加至該對話。 助理也可以視需要平行存取多項工具。 這些工具包括:
助理 API 是以支援 OpenAI GPT 產品的相同功能為基礎。 一些可能的使用案例包括 AI 支援的產品推薦程式、銷售分析師應用程式、編碼助理、員工問與答聊天機器人等。 在 Azure AI Studio 上的無程式代碼助理遊樂場上開始建置,或使用 API 開始建置。
重要
使用函式呼叫、程式碼解譯器或輸入檔案的檔案搜尋來擷取未受信任的資料時,助理對話功能可能會危害助理或使用助理之應用程式的安全性。 若要了解風險降低方法,請參閱這裡。
助理遊樂場
我們在快速入門指南中提供助理遊樂場的逐步解說。 這提供無程式碼環境來測試助理的功能。
助理元件
元件 | 說明 |
---|---|
小幫手 | 搭配工具使用 Azure OpenAI 模型的自訂 AI。 |
Thread | 助理與使用者之間的交談工作階段。 對話會儲存訊息,並自動處理截斷,以將內容放入模型的內容中。 |
訊息 | 助理或使用者所建立的訊息。 訊息可以包含文字、影像和其他檔案。 訊息會儲存為對話上的清單。 |
執行 | 啟用助理,以根據對話的內容開始執行。 助理會使用其設定和對話的訊息,藉由呼叫模型和工具來執行工作。 在執行過程中,助理會將訊息附加至對話。 |
執行步驟 | 助理參與執行的詳細步驟清單。 助理可以在其執行期間呼叫工具或建立訊息。 檢查執行步驟可讓您了解助理如何取得其最終結果。 |
助理資料存取
目前,助理、對話、訊息以及針對助理建立的檔案範圍是在 Azure OpenAI 資源層級。 因此,具有 Azure OpenAI 資源或 API 金鑰存取權的任何人都能夠讀取/寫入助理、對話、訊息和檔案。
強烈建議具有下列資料存取控制:
- 實作授權。 對助理、對話、訊息和檔案執行讀取或寫入之前,請確定終端使用者有權這樣做。
- 限制 Azure OpenAI 資源和 API 金鑰存取權。 請仔細考慮誰可以存取正在使用助理的 Azure OpenAI 資源,以及相關聯的 API 金鑰。
- 定期稽核哪些帳戶/個人可以存取 Azure OpenAI 資源。 API 金鑰和資源層級存取權可執行各種作業,包括讀取及修改訊息和檔案。
- 啟用診斷設定,以允許長期追蹤 Azure OpenAI 資源活動記錄的某些層面。
參數
助理 API 支援數個參數,可讓您自訂助理的輸出。 tool_choice
參數可讓您強制助理使用指定的工具。 您現在可以使用 assistant
角色來建立訊息,以在對話中建立自訂交談記錄。 temperature
、top_p
、response_format
可讓您進一步調整回應。 如需詳細資訊,請參閱參考文件。
內容視窗管理
助理會自動截斷文字,以確保其保持在模型的內容長度上限內。 您可以指定想要執行利用的語彙基元數上限和/或想要包含在執行中的最新訊息數目上限來自訂此行為。
最大完成和最大提示語彙基元數
若要控制單一執行中的語彙基元使用量,請在建立執行時設定 max_prompt_tokens
和 max_completion_tokens
。 這些限制會在執行的整個生命週期內,套用至所有完成中所使用的語彙基元總數。
例如,將 max_prompt_tokens
設定為 500 並將 max_completion_tokens
設定為 1000 來起始執行,表示第一個完成會將對話截斷為 500 個語彙基元,並將輸出上限設定為 1,000 個語彙基元。 如果在第一個完成中只使用 200 個提示語彙基元和 300 個完成語彙基元,則第二個完成將有 300 個提示語彙基元和 700 個完成語彙基元的可用限制。
如果完成達到 max_completion_tokens
限制,執行將會終止並顯示不完整狀態,並在執行物件的 incomplete_details
欄位中提供詳細資料。
使用檔案搜尋工具時,建議將 max_prompt_tokens
設定為 20,000 或以上。 如果交談較長或與檔案搜尋多次互動,請考慮將此限制增加到 50,000,或理想情況下完全移除 max_prompt_tokens
限制,以取得最高品質的結果。
截斷策略
您也可以指定截斷策略來控制對話在模型內容視窗中的呈現方式。 使用 auto
類型的截斷策略將會使用 OpenAI 的預設截斷策略。 使用 last_messages
類型的截斷策略可讓您指定要包含在內容視窗中的最新訊息數目。
另請參閱
- 深入了解助理和檔案搜尋
- 深入了解助理和程式碼解譯器
- 深入了解助理和函式呼叫
- Azure OpenAI Assistants API 範例