Hugging Face TGI 訊息 API 發佈
Hugging Face 已在版本 1.4.0 起推出了用於文字生成推論(TGI)的訊息 API。此更新提供了與 OpenAI Chat Completion API 的相容性,讓開發者能以最小的程式碼變更,從 OpenAI 模型轉換至開放式大型語言模型(LLM)。
與 OpenAI 相容的開放式 LLM
TGI 版本 1.4.0 與 Inference Endpoints 現已支援與 OpenAI Chat Completion API 相容的訊息 API。此相容性允許使用者透過現有的 OpenAI 客戶端函式庫或第三方編排工具(如 LangChain 與 LlamaIndex)將 OpenAI 模型替換為開放式 LLM。
根據 Ryght 的 CTO Johnny Crupi 表示:
"全新具備 OpenAI 相容性的訊息 API 讓 Ryght 的即時 GenAI 編排平台能輕鬆將 LLM 用例從 OpenAI 轉換為開放模型。我們從 GPT4 遷移至 Inference Endpoints 上的 Mixtral/Llama2 毫不費力,現在我們擁有更簡化的工作流程,且對 AI 解決方案有更大的控制權。"
技術實作與需求
透過 Inference Endpoints 部署
使用者可以使用 TGI 將模型(例如 Nous-Hermes-2-Mixtral-8x7B-DPO)部署至 Inference Endpoints。部署可透過 Hugging Face UI 或以程式方式使用 huggingface_hub Python 函式庫進行管理。使用 Hub 函式庫時,端點預設在閒置 15 分鐘後自動縮減至零,以優化成本。
與客戶端函式庫整合
若要將 Inference Endpoint 與 OpenAI 客戶端函式庫整合,使用者必須在端點 URL 後加上 /v1/,並提供有效的 Hugging Face 使用者令牌作為 API 金鑰。
- Python 客戶端:
OpenAI客戶端以指向 TGI 端點的base_url初始化,api_key設為 HF 令牌。model參數設定為"tgi"。 - JavaScript 客戶端:
OpenAINode 函式庫以類似方式使用,設定baseURL與apiKey指向 TGI 基礎設施。
框架整合(LangChain 與 LlamaIndex)
- LangChain:使用者可透過傳入 TGI 端點 URL 與 HF 令牌的方式使用
ChatOpenAI類別,僅更改一行程式碼即可讓現有的 RAG 流程在開放模型上運作。 - LlamaIndex:整合透過
OpenAILike類別完成。需設定參數如is_chat_model=True、is_local=False、is_function_calling_model=False,同時確保context_window與端點的MAX_TOTAL_TOKENS設定相符。
功能與限制
支援的參數
訊息 API 目前支援以下聊天完成參數:
streammax_tokensfrequency_penaltylogprobsseedtemperaturetop_p
目前的限制
- 函式呼叫:訊息 API 目前不支援函式呼叫。
- 模型需求:此 API 僅適用於在其 tokenizer 設定中定義了
chat_template的 LLM(例如 Mixtral 8x7B Instruct)。
策略意涵
透過提供相容 OpenAI 的端點,Hugging Face 讓使用者能完全掌控與透明化其模型與資料,消除對第三方速率限制的依賴,並能根據特定需求完整客製化 AI 系統。