免費(fèi)搭建業(yè)務(wù)網(wǎng)站阿里云云服務(wù)平臺
🐇明明跟你說過:個(gè)人主頁
🏅個(gè)人專欄:《深度探秘:AI界的007》?🏅
🔖行路有良友,便是天堂🔖
目錄
一、FastChat 介紹
1、大語言模型本地部署的需求
2、FastChat 是什么
3、FastChat 項(xiàng)目簡介
二、FastChat 系統(tǒng)架構(gòu)詳解
1、controller
2、model_worker
3、openai_api_server
4、web UI 前端
一、FastChat 介紹
1、大語言模型本地部署的需求
為什么明明有 ChatGPT、Claude 這些在線服務(wù)可用,大家還要花大力氣去做 大語言模型本地部署 呢?🤔
其實(shí)就像吃飯一樣,有人喜歡外賣(云服務(wù)),也有人更愛自己下廚(本地部署)!🍱👨?🍳
本地部署大模型有它獨(dú)特的“香味”!
🔐 1. 數(shù)據(jù)隱私更安全
我的數(shù)據(jù)不能讓別人看!
很多企業(yè)、科研機(jī)構(gòu)處理的是 敏感信息:
-
醫(yī)療記錄 🏥
-
客戶數(shù)據(jù) 📊
-
源代碼和商業(yè)機(jī)密 🧾
使用云服務(wù)意味著數(shù)據(jù)需要傳到第三方平臺,哪怕再加密,也不能百分百安心。
而本地部署模型,所有數(shù)據(jù)都在自己控制的服務(wù)器上,更放心、更合規(guī) ?
💸 2. 節(jié)省長期成本
短期看云服務(wù)便宜,但當(dāng)你要大量調(diào)用時(shí)👇:
模式 | 價(jià)格 |
---|---|
?? 云服務(wù)調(diào)用 GPT-4 | $0.03-$0.06 每 1000 tokens |
🏠 本地部署 | 初期成本高,長期幾乎免費(fèi)! |
舉個(gè)例子,一個(gè)公司每天調(diào)用 100 萬 tokens,大概要花 ¥1400+/月;
但買一塊 3090 顯卡部署個(gè) 13B 模型,幾個(gè)月就回本了!💰
🚀 3. 更高的響應(yīng)速度 & 可定制性
云服務(wù):
-
網(wǎng)絡(luò)請求+排隊(duì),可能延遲高
-
功能受平臺限制,無法修改底層邏輯
而本地模型:
-
🧠 “零延遲”響應(yīng)(特別在內(nèi)網(wǎng)系統(tǒng)里)
-
🔧 可定制模型行為、系統(tǒng)提示、輸出格式
-
🧪 自由微調(diào)!打造“自己風(fēng)格”的 AI 🤖
2、FastChat 是什么
FastChat 是一個(gè)開源的多用戶聊天系統(tǒng),可以用來部署和運(yùn)行類似 ChatGPT、Claude、Gemini 這樣的 大語言模型(LLM)。
你可以用它:
-
🤖 本地部署自己的對話機(jī)器人
-
🧪 測試多個(gè) AI 模型進(jìn)行對比(比如 LLaMA、ChatGLM 等)
-
🌐 提供網(wǎng)頁版聊天界面,就像 ChatGPT 一樣!?
🛠??FastChat 有哪些功能?
功能 | 描述 |
---|---|
💬 聊天接口 | 提供 Web 聊天界面和 API,可多人同時(shí)使用 |
🔌 模型接入 | 支持 Hugging Face 上的多個(gè)模型,如 LLaMA、Baichuan、Qwen 等 |
🏎? 模型微調(diào) | 可以加載自己微調(diào)過的模型進(jìn)行聊天 |
👯?♂? 多模型對比 | 可以開啟“模型競技場”,讓多個(gè)模型同時(shí)回答同一個(gè)問題,看誰更厲害! |
📊 評估與打分 | 支持人工打分,讓你評估不同模型的優(yōu)劣 |
??
3、FastChat 項(xiàng)目簡介
🧠 背景介紹
FastChat 是由 LMSYS 團(tuán)隊(duì)(全名 Large Model Systems Organization)開發(fā)的一個(gè)開源項(xiàng)目。
你可能聽說過他們另一個(gè)更出名的作品:
💬 Vicuna—— 基于 LLaMA 微調(diào)的高質(zhì)量開源對話模型,能和 ChatGPT 正面剛!
為了解決「部署 Vicuna 太麻煩」「多模型對比不方便」等問題,LMSYS 團(tuán)隊(duì)推出了 FastChat,一站式搞定部署、聊天、對比評測的問題!
🌍 LMSYS 是誰?
LMSYS = Large Model Systems Organization
這是一個(gè)由 UC Berkeley 等高校研究人員組成的團(tuán)隊(duì),致力于:
-
構(gòu)建開源可復(fù)現(xiàn)的大模型系統(tǒng)
-
推動(dòng)多模型評測標(biāo)準(zhǔn)和開源生態(tài)
-
讓更多人能用上高質(zhì)量的大語言模型
他們的代表作品有:
項(xiàng)目 | 簡介 |
---|---|
🐑 Vicuna | 基于 LLaMA 的開源對話模型,表現(xiàn)媲美 ChatGPT |
?? Chatbot Arena | 多模型“盲測擂臺”,用戶評估模型優(yōu)劣 |
? FastChat | 支撐 Arena 和 Vicuna 部署的核心框架 |
🔗 開源地址
-
GitHub 項(xiàng)目主頁:https://github.com/lm-sys/FastChat
-
官方博客和文檔:LMSYS Org
?
二、FastChat 系統(tǒng)架構(gòu)詳解
1、controller
controller
是 FastChat 的“大腦指揮官”,負(fù)責(zé)管理多個(gè)模型worker
的調(diào)度和健康檢查,確保請求高效、穩(wěn)定地路由給合適的模型。
?🧠 controller
主要職責(zé)
功能 | 說明 |
---|---|
🧭 模型調(diào)度 | 將用戶請求分發(fā)給合適的 worker (通常是可用、負(fù)載低、匹配模型的那個(gè)) |
🔍 狀態(tài)監(jiān)控 | 實(shí)時(shí)追蹤每個(gè) worker 是否在線、負(fù)載如何、運(yùn)行哪個(gè)模型等 |
📢 注冊管理 | worker 啟動(dòng)時(shí)會(huì)向 controller 注冊,controller 會(huì)記錄信息 |
🚦 請求路由 | 接收到 API 請求后,根據(jù)策略決定調(diào)用哪個(gè)模型并返回結(jié)果 |
🔧 模型選擇 | 可支持多個(gè)不同模型(如 Vicuna, LLaMA, ChatGLM, Qwen 等)共存,并按需調(diào)用 |
🧪 控制流
1?? 啟動(dòng)時(shí)
-
每個(gè)
worker
(模型服務(wù)進(jìn)程)會(huì)向controller
注冊,報(bào)告它的模型名稱、負(fù)載、可用性等。 -
controller
將所有注冊信息保存于內(nèi)存中,形成“模型注冊表”。
2?? 請求到達(dá)時(shí)
-
用戶請求到達(dá)
FastChat
的 API 層(如網(wǎng)頁 UI 或 REST 接口)。 -
API 層調(diào)用
controller
查詢當(dāng)前可用的模型worker
。 -
controller
根據(jù)負(fù)載、模型匹配等規(guī)則,返回一個(gè)最合適的worker
地址。 -
請求被轉(zhuǎn)發(fā)到該
worker
,執(zhí)行推理并返回結(jié)果。
🔄 心跳機(jī)制(Health Check)
-
每個(gè)
worker
會(huì)定期(例如每 10 秒)發(fā)送“心跳”到controller
。 -
如果某個(gè)
worker
長時(shí)間未響應(yīng),controller
會(huì)將其標(biāo)記為不健康,從路由表中移除。
?? 調(diào)度策略(負(fù)載均衡)
-
默認(rèn)策略是 輪詢 + 負(fù)載感知,也可以定制:
-
👥 多用戶分流
-
🔄 動(dòng)態(tài)優(yōu)先模型
-
🧪 實(shí)驗(yàn)性模型隔離
-
🎯 總結(jié)一句話:
controller
是 FastChat 的“交通指揮員”,確保請求高效分發(fā)、模型穩(wěn)定響應(yīng),是系統(tǒng)調(diào)度的中樞核心!🧠🚦
2、model_worker
📌 一句話概括:
model_worker
是 FastChat 中負(fù)責(zé)“搬出大腦”的角色,加載并運(yùn)行大模型,專職處理用戶的推理請求。
你可以把它理解成👇:
🎙? 用戶提問 → 🚦 controller 分配任務(wù) → 🧠 model_worker
調(diào)用大模型生成回答 → ?? 返回給用戶
🔍 model_worker 的核心職責(zé)
功能 | 說明 |
---|---|
🧠 加載模型 | 支持多種大語言模型(LLaMA、Qwen、ChatGLM、Baichuan、Mistral 等) |
?? 模型推理 | 接收輸入 Prompt,執(zhí)行推理并返回響應(yīng)內(nèi)容 |
🛠? 管理配置 | 如最大輸入長度、溫度、top_p、stop token 等參數(shù) |
?? 心跳上報(bào) | 向 controller 定時(shí)報(bào)告狀態(tài)(是否健康、負(fù)載、IP/端口) |
🚀 性能優(yōu)化 | 支持多線程、批量推理、使用 vLLM / Transformers 推理引擎 |
🎭 多角色支持 | 可配置模型角色名、個(gè)性化系統(tǒng)提示詞(System Prompt)等 |
🛠? 支持的推理后端
推理引擎 | 說明 |
---|---|
🤗 transformers | 標(biāo)準(zhǔn) PyTorch 推理 |
? vllm | 高性能、支持批量、吞吐更強(qiáng) |
🧊 GGUF | 使用 llama.cpp 加載量化模型 |
🎮 MockModel | 用于調(diào)試或演示(不加載模型) |
🧠 常見用途場景
場景 | 說明 |
---|---|
單人測試 | 本地部署 1 個(gè) model_worker 聊天 |
團(tuán)隊(duì)并發(fā) | 多 worker + controller 自動(dòng)調(diào)度 |
模型競技 | 多模型同時(shí)上線,讓用戶投票誰更聰明 |
企業(yè)服務(wù) | 后端接 LangChain / 自定義系統(tǒng),統(tǒng)一接入大模型能力 |
3、openai_api_server
📌 一句話概括:
openai_api_server
是 FastChat 提供的“OpenAI 接口翻譯器”,兼容 OpenAI 的 Chat API(如chat/completions
),方便開發(fā)者無縫替換 GPT 接口,接入自部署大模型。
你可以把它看作是:
🧱「用你熟悉的 OpenAI API,調(diào)你自己的 Vicuna、ChatGLM、Qwen」🎯
?🔍 為什么需要這個(gè)模塊?
現(xiàn)代很多應(yīng)用(如 LangChain、Flowise、AutoGen、私人助理等)默認(rèn)調(diào)用的是 OpenAI 的 API:
POST /v1/chat/completions
Authorization: Bearer sk-xxx
但如果你用本地模型怎么辦?🖥?
? 用 openai_api_server
,你就能把這些請求“接住”,并轉(zhuǎn)發(fā)到你自己的模型上。
🧪 請求示例(就像 OpenAI 一樣)
curl http://localhost:8000/v1/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer sk-fake-key" \-d '{"model": "vicuna-13b","messages": [{"role": "system", "content": "你是一個(gè)有幫助的助手。"},{"role": "user", "content": "你好!"}],"temperature": 0.7,"stream": true}'
你可以直接用在:
-
🧠 LangChain / LlamaIndex / Autogen
-
🔧 Postman / Insomnia
-
🌐 瀏覽器/網(wǎng)頁 UI
-
🤖 自建 API 調(diào)用代碼
4、web UI 前端
FastChat 提供了一個(gè)開箱即用的 Web UI,外觀和體驗(yàn)類似 ChatGPT,可通過瀏覽器訪問本地部署的大語言模型,支持聊天、多輪對話、流式輸出、多模型切換等功能。
🎯 使用目的
這個(gè) Web UI 讓你:
-
🧑?💻 無需寫代碼即可使用本地大模型
-
🌐 通過網(wǎng)頁直接訪問你的 Vicuna、ChatGLM、Qwen 等模型
-
🧠 體驗(yàn) ChatGPT 風(fēng)格的多輪對話與推理響應(yīng)
🧩 主要特性一覽
特性 | 說明 |
---|---|
🖼? ChatGPT 風(fēng)格界面 | 類似 ChatGPT 的左側(cè)對話列表 + 中間聊天框布局 |
🔄 多輪對話 | 支持保留上下文,實(shí)現(xiàn)連續(xù)問答 |
🔁 多模型切換 | 可在多個(gè)本地模型之間隨時(shí)切換 |
?? 參數(shù)可調(diào) | temperature、top_p 等推理參數(shù)支持界面調(diào)節(jié) |
?? 自定義 System Prompt | 每輪對話支持個(gè)性化系統(tǒng)提示詞(人格設(shè)定) |
📤 流式輸出 | 像 ChatGPT 一樣逐字顯示回復(fù)內(nèi)容 |
📱 響應(yīng)式布局 | 支持移動(dòng)端訪問和使用 |
?💕💕💕每一次的分享都是一次成長的旅程,感謝您的陪伴和關(guān)注。希望這些文章能陪伴您走過技術(shù)的一段旅程,共同見證成長和進(jìn)步!😺😺😺
🧨🧨🧨讓我們一起在技術(shù)的海洋中探索前行,共同書寫美好的未來!!!???