開源 LLM 作為 LangChain 代理人
Open-source Large Language Models (LLMs) have reached a performance threshold where they can serve as effective reasoning engines for agent workflows. Benchmarking by Hugging Face reveals that Mixtral-8x7B can surpass GPT-3.5 in general-purpose reasoning when integrated into an agentic system, suggesting that further fine-tuning for function calling could push open-source models toward GPT-4 levels of performance.
理解 LLM 代理人與 ReAct 框架
LLM 代理人是使用 LLM 作為核心引擎,根據觀測對環境執行操作的系統。這些系統通常遵循感知 $\Rightarrow$ 反思 $\Rightarrow$ 行動 的循環以達成目標,且常結合規劃或知識管理系統。
ReAct 方法
ReAct(Reasoning and Acting)是一種結合 Chain-of-Thought 提示與行動執行的特定代理構建方法。模型會被提示「一步一步」思考以規劃與執行動作。內部迴圈運作如下:
- Thought:LLM 反思當前狀態並規劃下一步。
- Action:LLM 使用特定格式(例如 JSON)呼叫工具。
- Observation:系統執行工具並將結果附加回提示。
- Final Answer:當收集到足夠資訊時,LLM 提供最終回應。
代理系統的核心挑戰
Implementing reliable agents involves overcoming three primary technical hurdles:
- Tool Selection:從提供的清單中選擇正確的工具以推進目標。
- Argument Formatting:為工具呼叫保持嚴格的格式(例如 JSON),避免拼寫錯誤或參數值不正確。
- Information Integration:有效利用收集的觀測與初始上下文,以指導後續推理步驟。
使用 LangChain 與 Hugging Face 實作代理人
Hugging Face 已將 ChatHuggingFace 包裝器整合至 LangChain,簡化了使用開源模型建立代理人的流程。開發者可以將 HuggingFaceEndpoint 模型綁定至 ReAct 風格的提示與一組工具(例如用於搜尋的 SerpAPI 或用於計算的 LLM-math)。
透過在 LangChain 中使用 AgentExecutor,模型能處理複雜查詢——例如找出世界紀錄保持者的年齡並對該年齡進行數學運算——透過迭代搜尋資料並使用計算器工具。
效能基準:開源模型 vs. 專有模型
為評估通用推理能力,Hugging Face 使用結合 HotpotQA(網路搜尋)、GSM8K(小學數學)與 GAIA(通用 AI 助手)樣本的資料集測試了多個模型。
評估模型
- Open-Source:Llama2-70b-chat、Mixtral-8x7B-Instruct-v0.1、OpenHermes-2.5-Mistral-7B、Zephyr-7b-beta 與 SOLAR-10.7B-Instruct-v1.0。
- Proprietary:GPT-3.5 與 GPT-4(使用 OpenAI 專屬的函式呼叫模板)。
主要發現
- Mixtral-8x7B Superiority:Mixtral-8x7B 表現極佳,在基準測試中超過 GPT-3.5。值得注意的是,Mixtral 並未針對代理工作流程進行特別微調,而 GPT-3.5 有。
- Model Variance:開源模型之間的效能差異顯著;雖然 Mixtral 表現出色,Llama2-70b 在此特定代理情境下卻出乎意料地差勁。
- Impact of Tool Use:代理工作流程顯著提升模型效能。例如,在少量 GSM8K 題目樣本中,若提供計算器,Mixtral-8x7B 的零樣本表現達到 73%,相較於 LLM Leaderboard 上使用 5-shot 提示報告的 57.6%。
改進潛力
在 GAIA 基準測試中,Mixtral 約有 10% 的失敗是因工具參數格式不正確所致。Hugging Face 建議,針對函式呼叫與任務規劃的精細微調可進一步提升開源模型的效能,甚至有可能挑戰 GPT-4。