該演示基於 Learn Microsoft 網站
儲存庫中還將提供其他一些 jupyter 筆記本,以展示如何以更複雜的方式使用助手。
該演示將使用 python、openAi 庫和 azure 建立一個助手,以便在 jupyter 筆記本中使用它。
如果您想直接在 Azure Ai 工作室中進行測試,請造訪 Azure OpenAi 工作室
Azure Ai studio 的文檔
助手(或許多可以一起工作的人!)可以執行廣泛的任務,例如回答問題、提供建議以及在工具的幫助下執行命令。
助理可能有一些工具:
您可以使用助理建立各種應用程序,例如聊天機器人、虛擬代理等。
顯然,您可以在幾行程式碼中創建一些帶有工具的助手來創建線程管道,以便解決用戶的詢問或需求。助手會根據使用者的要求,採取適合需求的正確工具。
同樣的想法,您可以透過助手使用不同的模型以獲得更好的回應或限制助手的成本
您可以在一個線程(非同步或非同步)上使用不同的工具建立多個助手來解決問題或向使用者提供回應,您也可以使用不同的助手建立不同的線程
多輔助線程透過並行函數呼叫運行
最後,使用這個函式庫,您將以 json 格式檢索回應,該格式易於在 python 中使用,並對其進行一些處理。
要建立助手的編排,您必須管理這些:
儲存庫根目錄中的第一個示範是基於 Microsoft 文件的簡單助手。
傲愛助手.ipynb
命名場景 | 說明筆記本 | 關聯 |
---|---|---|
數學解算助手 | 1 名助手,僅使用代碼解釋器作為工具 | 傲愛助手.ipynb |
如果您想在本地測試筆記本,您將需要:
python 3.8 或更高版本
Visual Studio程式碼和外掛程式:
Azure 訂閱 - 首次訂閱 200 美元
存取 Azure OpenAi 服務 請求存取 AOAI
獲得最新的 gpt4 0125 型號(實際適用於瑞典中部、美國西部、日本東部)
其他機型相容代理功能
在入口網站azure中部署對應區域的Azure open Ai服務的服務
在azure openAi服務Ai studio中部署模型,命名為部署
或者
Codespace 透過 Github 在雲端使用筆記本
對於Azure Ai studio中模型的部署名稱(您通常給出的名稱可能與部署模型時的名稱不同),如果您不這樣做,可以在模型的部署部分找到它不要提醒它
您必須正確修改secrets.env中重新命名的secrets_env中的信息
可以在您的 azure 入口網站/訂閱中找到 Open Ai 服務的 azure 端點和 azure 金鑰或直接在Ai studio的對話類別中,選擇模型並點選第一步的按鈕程式碼之後,您必須按一下「顯示秘密」按鈕才能取得金鑰,並且端點將顯示在範例程式碼中
您必須透過每個儲存格左側的播放按鈕點擊每個程式碼步驟
如果沒有錯誤,您將在最後一個單元格中獲得此 json 轉儲以及結果和收集的所有信息
準備好後,您可以按照 AzureAOAI.ipynb 筆記本中的步驟操作
就我而言,我的 gpt4-1106 模型部署名為gpt-4turbo
如果您想對結果進行一些處理或使用助手的結果進行一些編排,現在您可以在 Visual Studio Code 中(或在具有 codespace 的瀏覽器中)使用筆記本 Python:
你創建了一個助手嗎?您想了解如何管理線程和訊息嗎?
首先看一下文件進行理解並開始使用助手
它遵循特定的流程來創建線程並管理線程中的消息。
序列圖
參與者A作為助理創作
參與者 B 作為線程創建
參與者 C 作為用戶訊息創建
參與者 D 作為執行緒執行
參與者 E 作為運行狀態檢索
參與者 F 作為狀態檢查循環
參與者G作為訊息檢索
A->>B:用模型建立助手
B->>C:建立線程
C->>D:將用戶訊息加入到線程
D->>E:執行線程
E->>F:檢索運作狀態
F->>F:循環直到狀態為最終狀態
F-->>G:狀態:已完成
注意 G 右側:取得並顯示訊息
F-->>A:狀態:已取消
F-->>A:狀態:已過期
F-->>A:狀態:失敗
{
"data" : [
{
"id" : " msg_5Oc2nmN7boHKfYuJaOnxkYrQ " ,
"assistant_id" : " asst_vid43QSBUFAVr7f7nraAwfkS " , // the id of the assistant
"content" : [
{
"text" : {
"annotations" : [],
"value" : " The solution to the equation \ (3x + 11 = 14 \ ) is \ (x = 1 \ ). " // the result of the assistant
},
"type" : " text "
}
],
"created_at" : 1706827368 ,
"file_ids" : [],
"metadata" : {},
"object" : " thread.message " ,
"role" : " assistant " ,
"run_id" : " run_VlCTYceNmV8HlQyOLQUe7Xj6 " ,
"thread_id" : " thread_KM402gTevvYxlfxYA1ONQPHP "
},
{
"id" : " msg_ZHWVk1gJT292L4YJzlbLjmFq " ,
"assistant_id" : null ,
"content" : [
{
"text" : {
"annotations" : [],
"value" : " I need to solve the equation `3x + 11 = 14`. Can you help me? " // the rquest of the user
},
"type" : " text "
}
],
"created_at" : 1706827327 ,
"file_ids" : [],
"metadata" : {},
"object" : " thread.message " ,
"role" : " user " ,
"run_id" : null ,
"thread_id" : " thread_KM402gTevvYxlfxYA1ONQPHP " // id of the thread
}
],
"object" : " list " ,
"first_id" : " msg_5Oc2nmN7boHKfYuJaOnxkYrQ " , // the id of the first message - request user
"last_id" : " msg_ZHWVk1gJT292L4YJzlbLjmFq " , // Last message of the thread
"has_more" : false
}
程式碼解釋器工具轉換為 python 程式碼。在這個用例中,如果您想使用 sympy 或 numpy 等專用庫來驗證數學問題助手的解決方案
這些資訊是從python庫中的openAi庫中提取的 python openai
code_interpreter
、 retrieval
或function
。