Assistant API 旨在協助開發人員快速構建大模型應用(Assistant),例如個人助理、智能導購、會議助手等。相比文本產生API,Assistant API 內建了對話管理、知識檢索以及多種工具的調用能力,從而降低了此類應用的開發成本。
智能體應用和 Assistant 均為大模型應用,但二者的功能相互獨立,其管理方法(建立、讀取、更新和刪除)也有所不同:
智能體應用:採用無代碼/低代碼的設計理念,僅可通過控制台進行管理。
Assistant:採用純程式碼的設計理念,僅可通過 Assistant API 進行管理。
與文本產生 API 的區別
文本產生 API 的基本要素是訊息(Messages),您可以使用模型(Models,如 Qwen-Plus、Qwen-Max 等)產生訊息。在使用這種輕量級的 API 時,您需要手動管理對話狀態、定義工具、檢索知識庫和執行代碼,才能構建一個簡單的智能體應用。
在文本產生 API 的基礎上,Assistant API 的基本要素演化為:
訊息對象(Messages):封裝了對話資訊的角色和內容,類似於文本產生 API 的訊息。
智能體對象(Assistants):封裝了一個基本模型,預設指令和工具。
線程對象(Threads):表示當前的對話狀態。
運行對象(Runs):驅動智能體在一個對話線程上執行,包括文本響應和工具使用。
接下來,您將進一步瞭解這些基本元素的互動方式,以構建一個智能體應用。
互動方式
Assistant API 使用線程(Thread)機制來確保訊息按順序執行,從而維護對話的連貫性。具體流程如下:
建立訊息執行個體:使用者使用
Message.create()方法建立訊息執行個體,將其歸屬於特定線程,確保訊息與上下文正確關聯。啟動運行環境:使用
Run.create()函數初始化智能體對象的運行環境,提供訊息處理所需的配置。等待結果:調用
wait()函數等待智能體對象完成處理並返回結果,確保在擷取響應前程式保持同步,避免資料亂序。
以一個簡單的繪畫智能體應用為例:
|
|
模型支援
Assistant API 不支援模型的快照版本(例如qwen-plus-0919)。模型的相容性以 Assistant API 的實際執行結果為準,更多詳情可參考模型列表。
模型系列 | 模型標識符 |
通義千問-Turbo | qwen-turbo |
通義千問-Plus | qwen-plus |
通義千問-Max | qwen-max |
通義千問2-開源版-57B | qwen2-57b-a14b-instruct |
通義千問2-開源版-72B | qwen2-72b-instruct |
工具支援
外掛程式的相容性請以 Assistant API 的實際執行結果為準,更多詳情可參考外掛程式列表。
工具(tools) | 唯一識別碼 | 用途 |
代碼解譯器外掛程式 | code_interpreter | 協助執行 Python 代碼,適用於編程問題、數學計算、資料分析等情境 |
夸克搜尋外掛程式 | quark_search | 用於即時檢索網路資訊,增強知識擷取能力。 |
圖片產生外掛程式 | text_to_image | 將文字描述轉為映像,豐富回複形式。 |
函數調用(Function calling) | function | 在本地裝置上執行特定功能,無需依賴外部網路服務。 |
知識檢索增強(RAG) | rag | 檢索外部知識,增強大模型回答準確性。 |
自訂外掛程式 | ${plugin_id} | 串連自訂業務介面,擴充 AI 業務能力。 |
快速開始
如需調試大語言模型或快速掌握 Assistant API,請參考:
