現在 LLM 越來越多,為了改善模型回應結果開始發展了透過 RAG 繼續來增加模型的知識或是透過 Function Calling 來增加功能,一直到現在發展的是 AI Agent,可以讓我們透過 LLM 完成更多的任務,而要開發 AI Agent 可以透過目前主流的各種 LLM 框架 (Langchain、Semantic Kernel 等) 來建立,上篇介紹了用 Azure AI Foundry 來部署 LLM,接下來介紹如何透過 Azure AI Agent Service 來建置和使用 AI Agent,可以透過微軟推出的這個服務來快速和測試我們的 AI Agent。

說明
Azure AI Agent Service 也被整合在 Azure AI Foundry 裡面,所以我們第一步一樣要建立一個 AI 專案,這邊過程跟上篇一樣,就不重複介紹了,可以參考上一篇文章「透過 Azure AI Foundry 來部署 LLM 模型和實做程式串接」。
建立好專案之後可以在左邊選單看到代理程式,點選之後選擇 Azure OpenAI 資源,通常建立專案按照預設值也會建立一個出來,選擇之後點選開始來設定我們的 AI Agent。

接下來因為我們剛建立好專案,都還沒有部署過模型,這時候會要我們部署模型,這時候會幫我們篩選支援 AI Agent 的模型,這邊我選擇 gpt-4 來部署。支援的模型可以參考這篇文章。
我在測試的當下僅有 gpt-4 模型會成功,目前其他模型包含非 OpanAI 的模型會無法用在 AI Agent

基本上就按照預設值就好了。

好了之後也會預設幫我們建立好一個 Agent ,接下來點進去 Agent 來更進一步設定。

基本上概念和之前介紹過的 OpenAI Assistants Api 差不多,Api 也是相容的,所以之前的 OpenAI Assistants Api 系列文章可以參考程式碼串接使用等。

後面針對新增知識跟動作的功能簡單說明介紹一下,這邊會跟 OpenAI 設定上的介面跟功能有點差異,知識的功能也就是我們熟悉的 RAG,可以讓模型有可以參考的資料來作為回應的參考,目前有支援底下 5 種資料來源可以串接使用。

選擇最簡單的方式就是檔案,他會建立一個向量存放區,把我們上傳的檔案轉成向量資料提供給模型使用,這邊我從 Wiki 抓了薩爾達傳說曠野之息人物介紹把他分別存成 txt 檔案。

接下來先透過遊樂場來測試一下,模型有正確從檔案裡面尋找到相關資訊,並且把關連的檔案列出來,確實有使用到我們上傳的資料來找到答案。

這時候我們可以點選檢視執行資訊,就可以看到 Agent 執行的過程,其中就有執行到檔案搜尋的工具來找到相關的資訊。

接下來介紹動作,也就是可以執行或解譯程式或是呼叫外部的 Api 來處理 Agent 的行為,模型會自動判斷是否要執行跟選擇合適的 Api。

這邊我找了一個 petstore 的範例 Api 來設定,要注意支援的是 OpenApi 3.0 的描述設定。

這邊選擇匿名以及把 Json 格式的描述檔案複製上去,描述檔案點選這邊來複製貼上,只是複製完之後需要把 Url 修正成完整網址:https://petstore3.swagger.io/api/v3

都沒問題就可以建立工具了。

接下來請 Agent 幫我取得編號 1 的動物資料,此時就有正確的呼叫 Api 來查到結果。

一樣點開執行資訊來察看執行結果,可以找到呼叫了 OpenApi 的結果。

結論
LLM 模型發展越來越快,現在也有越來越多的程式框架或服務可以協助我們建立 AI Agent,透過 RAG 跟呼叫工具來讓 LLM 模型可以完成更多的工作,Azure AI Agent Service 讓我們可以更快速的來建立和管理我們的 AI Agent,而且他和 OpenAI Assistants Api 是相容的,所以之前的 OpenAI Assistants Api 系列文章可以直接參考程式該如何串接和使用,雖然目前支援非 OpanAI 模型有點問題,但是等修復完成之後,我們就可以快速建立各種不同 LLM 模型的 AI Agent 來串接使用,這樣對於要整合到現有系統可以更快更方便了。