Assistant API
Assistant API 是文本生成API的一個演進,旨在簡化智能體應用(Assistants)的創建過程,并為開發者提供豐富的工具支持(如函數調用和知識檢索增強功能)。
什么是智能體應用
智能體應用是一類 AI 對話助手,具備以下功能特點:
支持多種基礎模型:智能體應用可以配置多種基礎模型,還可以添加系統提示詞(Instructions)以調整模型的個性和能力。
支持多工具調用:智能體應用可以調用多個工具,可以是百煉官方工具(如代碼解釋器和夸克搜索),也可以是您自己構建的工具(通過函數調用的方式)。
支持對話管理:智能體應用使用線程對象來管理對話。線程對象存儲了消息歷史記錄,并在整個對話超出模型的上下文長度時截斷它。您只需創建一次線程對象,然后當用戶回復消息時,簡單地將消息附加到線程對象中。
體驗智能體應用最簡單的方式是在控制臺上創建智能體應用,這種方式無需編程經驗。您也可以按照Assistant API 快速入門指南創建智能體應用,逐步集成到您的業務代碼中。
目前,“通過控制臺”和“通過 Assistant API”創建的智能體應用(以下簡稱“控制臺版本”和“API版本”),在功能和管理上存在細微差異,具體以實際產品為準:
功能:控制臺版本支持長期記憶,API版本暫不支持。
管理:控制臺版本只能通過百煉控制臺編輯,API版本只能通過 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,以下文檔將為您提供詳細指導:
模型體驗:在這里,您可以測試大模型的推理能力,從而在構建 Assistant 時選擇您偏好的模型。
快速入門:在這里,您可以找到 Assistant API 的基本用法和示例,快速上手構建您的應用。
API 手冊:在這里,您可以瀏覽 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) | Assistant API 標識符 | 用途 |
代碼解釋器插件 | code_interpreter | 幫助執行 Python 代碼,適用于編程問題、數學計算、數據分析等場景 |
夸克搜索插件 | quark_search | 用于實時檢索網絡信息,增強知識獲取能力。 |
圖片生成插件 | text_to_image | 將文字描述轉為圖像,豐富回復形式。 |
自定義插件 | ${plugin_id} | 連接自定義業務接口,擴展 AI 業務能力。 |
函數調用(Function calling) | function | 在本地設備上執行特定功能,無需依賴外部網絡服務。 |
知識檢索增強(RAG) | rag | 檢索外部知識,增強大模型回答準確性。 |
插件的兼容性請以 Assistant API 的實際執行結果為準,更多詳情可參考插件列表。