:從環(huán)境搭建到批量任務(wù)自動化)
這次我們來看一個關(guān)于本地模型部署與應(yīng)用的實戰(zhàn)話題。當(dāng)“免費”和“本地”這兩個詞組合在一起意味著我們有機會在個人電腦上不依賴云端服務(wù)直接運行各類AI模型。這不僅僅是技術(shù)探索更是對硬件資源利用、數(shù)據(jù)隱私保護和個性化定制的深度實踐。本文將聚焦于本地模型能“干成啥樣”從圖像生成、語音合成到文檔處理為你梳理一套從環(huán)境準(zhǔn)備、模型選擇到功能驗證的完整操作路徑。本地模型的核心價值在于可控與自由。你可以不受網(wǎng)絡(luò)限制隨時調(diào)用可以處理敏感數(shù)據(jù)無需擔(dān)心隱私泄露更可以針對特定任務(wù)進行微調(diào)打造專屬工具。但這一切的前提是你得知道如何讓它在你的機器上跑起來并且了解它的能力邊界。本文將重點關(guān)注模型的獲取、部署、核心功能測試以及資源占用情況目標(biāo)是讓你看完后能立刻動手驗證一個本地模型到底能為你做什么。1. 核心能力速覽在深入部署細節(jié)前我們先通過一個表格快速了解本地模型生態(tài)的典型能力與門檻。這有助于你判斷哪個方向最值得投入精力嘗試。能力項說明與典型代表主要功能領(lǐng)域文生圖/圖生圖、文本生成、語音合成(TTS)、語音識別(ASR)、文檔解析(OCR)、代碼生成等。常見開源框架Stable Diffusion WebUI (Automatic1111)、ComfyUI、Ollama、LocalAI、ChatGLM、Qwen等。硬件門檻 (GPU)入門級 (6-8GB顯存)可運行多數(shù)7B參數(shù)以下的文本模型、輕量版SD模型。主流級 (12-16GB顯存)可流暢運行13B參數(shù)文本模型、標(biāo)準(zhǔn)SD模型并進行圖生圖。高性能級 (24GB顯存)可運行70B參數(shù)大模型、高分辨率視頻生成模型。CPU推理支持多數(shù)文本模型通過GGUF量化格式和部分輕量視覺/語音模型支持純CPU推理速度較慢適合輕度體驗或無GPU環(huán)境。啟動與交互方式WebUI通過瀏覽器訪問的圖形界面如SD WebUI。命令行/API通過curl或Python腳本調(diào)用適合集成。桌面客戶端一些打包好的應(yīng)用一鍵啟動。是否支持API是。絕大多數(shù)本地部署框架都提供HTTP API接口如--api啟動參數(shù)便于與其他程序如自動化腳本、第三方應(yīng)用集成。是否支持批量任務(wù)是。通過腳本調(diào)用API或直接使用框架的批量處理功能可以自動化處理大量輸入文件如圖片、文檔。模型文件來源Hugging Face、Civitai、ModelScope等開源平臺。需注意模型許可協(xié)議。適合場景個人內(nèi)容創(chuàng)作、敏感數(shù)據(jù)處理、工作流自動化、技術(shù)研究與學(xué)習(xí)、開發(fā)測試環(huán)境。2. 適用場景與使用邊界本地模型并非萬能明確其適用場景和倫理法律邊界是負(fù)責(zé)任使用的第一步。它最適合誰開發(fā)者與技術(shù)愛好者希望深入理解模型工作原理進行二次開發(fā)或集成到自有系統(tǒng)中。內(nèi)容創(chuàng)作者需要高頻次生成圖片、文案或配音且希望風(fēng)格統(tǒng)一、避免平臺限制。隱私敏感型用戶處理內(nèi)部文檔、個人數(shù)據(jù)或商業(yè)機密無法接受數(shù)據(jù)上傳至第三方。教育研究者在受控環(huán)境中進行實驗、教學(xué)或算法對比。它能解決什么問題創(chuàng)意生成根據(jù)文字描述生成插畫、設(shè)計稿、營銷文案。效率工具自動為大量圖片添加水印、轉(zhuǎn)換風(fēng)格將會議錄音轉(zhuǎn)為文字紀(jì)要快速解析掃描版PDF并提取結(jié)構(gòu)化信息。個性化助手基于本地知識庫問答充當(dāng)編程助手或?qū)懽骰锇?。?shù)據(jù)預(yù)處理對本地數(shù)據(jù)集進行清洗、標(biāo)注或增強。它的局限與邊界硬件是硬約束模型效果和速度直接受限于你的CPU、GPU和內(nèi)存。高分辨率圖像生成、長視頻處理、大參數(shù)模型推理對硬件要求苛刻。效果與專業(yè)云服務(wù)有差距最新、最強的模型往往參數(shù)巨大難以在消費級硬件上流暢運行。本地部署的常是效果與效率平衡后的版本。技術(shù)門檻涉及環(huán)境配置、依賴解決、參數(shù)調(diào)試需要一定的動手能力和排錯耐心。法律與倫理風(fēng)險必須嚴(yán)格遵守。生成內(nèi)容不得侵犯他人肖像權(quán)、著作權(quán)不得用于制造虛假信息、進行欺詐或誹謗使用訓(xùn)練數(shù)據(jù)需確保合法授權(quán)。對于“換臉”、聲音克隆等功能務(wù)必確保已獲得被模仿者的明確授權(quán)并僅用于合法合規(guī)的娛樂或創(chuàng)作場景。3. 環(huán)境準(zhǔn)備與前置條件開始之前請確保你的系統(tǒng)滿足以下基礎(chǔ)條件。這是避免后續(xù)大部分錯誤的基石。操作系統(tǒng)Windows 10/11, macOS, 或 Linux 發(fā)行版如Ubuntu。本文示例以Windows為主原理相通。Python環(huán)境推薦使用Python 3.10或3.11。這是大多數(shù)AI框架兼容性最好的版本。務(wù)必通過python --version確認(rèn)。包管理工具pip是最基本的。對于復(fù)雜環(huán)境強烈建議使用Conda或Venv創(chuàng)建獨立的虛擬環(huán)境避免包沖突。GPU驅(qū)動與CUDA如使用NVIDIA GPU前往NVIDIA官網(wǎng)安裝最新的顯卡驅(qū)動。根據(jù)你的PyTorch版本需求安裝對應(yīng)的CUDA Toolkit。例如PyTorch 2.x 常對應(yīng) CUDA 11.8 或 12.1。驗證在命令行輸入nvidia-smi應(yīng)能看到GPU信息和CUDA版本。磁盤空間至少準(zhǔn)備20-50GB可用空間。大型模型文件如7B的LLM約14GBSD 1.5模型約7GB會占用大量空間。網(wǎng)絡(luò)環(huán)境需要能穩(wěn)定訪問 GitHub、Hugging Face 等網(wǎng)站以下載框架代碼和模型權(quán)重。通用檢查清單[ ] Python版本為3.10或3.11。[ ] 已安裝Git。[ ] 已為NVIDIA GPU安裝正確版本的驅(qū)動和CUDA。[ ] 磁盤空間充足。[ ] 計劃使用虛擬環(huán)境強烈推薦。4. 安裝部署與啟動方式我們以最流行的Stable Diffusion WebUI (Automatic1111)和Ollama運行本地大語言模型為例展示兩種典型的部署路徑。4.1 案例一Stable Diffusion WebUI 圖像生成這是一個集成了Web界面、模型管理、多種插件的“全家桶”非常適合初學(xué)者和創(chuàng)作者。步驟1獲取代碼# 打開命令行如PowerShell進入你希望安裝的目錄例如 D:\AI\ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui步驟2啟動安裝腳本W(wǎng)indows運行目錄下的webui-user.bat文件。首次運行會自動安裝Python依賴、PyTorch等。這個過程耗時較長且需要網(wǎng)絡(luò)暢通。步驟3下載模型安裝完成后WebUI默認(rèn)不帶模型。你需要將下載的模型文件如xxx.safetensors放入stable-diffusion-webui/models/Stable-diffusion/目錄。模型來源Civitai、Hugging Face。推薦入門模型dreamshaper、revAnimated等平衡了質(zhì)量和速度。步驟4啟動與訪問再次運行webui-user.bat。腳本會自動啟動服務(wù)。當(dāng)看到輸出中出現(xiàn)類似Running on local URL: http://127.0.0.1:7860的信息時打開瀏覽器訪問這個地址即可。關(guān)鍵啟動參數(shù)修改webui-user.bat中的COMMANDLINE_ARGS--listen允許局域網(wǎng)內(nèi)其他設(shè)備訪問。--port 7861指定端口避免沖突。--api啟用API模式這是實現(xiàn)批量任務(wù)和外部調(diào)用的關(guān)鍵。--medvram或--lowvram針對顯存不足如6GB的優(yōu)化參數(shù)。4.2 案例二Ollama 運行本地大語言模型Ollama 簡化了大型語言模型LLM的本地部署一條命令就能拉取和運行模型。步驟1安裝Ollama前往 Ollama 官網(wǎng)下載對應(yīng)操作系統(tǒng)的安裝包直接安裝。步驟2拉取并運行模型安裝后在命令行中即可操作。# 拉取一個模型例如 7B 參數(shù)的 Llama 3 ollama pull llama3:7b # 運行該模型進行交互式對話 ollama run llama3:7b步驟3使用APIOllama 默認(rèn)在http://127.0.0.1:11434提供API服務(wù)。你可以用curl或Python腳本調(diào)用。# 使用curl測試API curl http://127.0.0.1:11434/api/generate -d { model: llama3:7b, prompt: 為什么天空是藍色的, stream: false }5. 功能測試與效果驗證部署成功只是第一步接下來需要通過一系列測試來驗證模型的實際能力。5.1 圖像生成模型測試測試目的驗證文生圖、圖生圖、參數(shù)調(diào)節(jié)等核心功能是否正常工作。1. 文生圖基礎(chǔ)測試操作在SD WebUI的“文生圖”標(biāo)簽頁。輸入正向提示詞masterpiece, best quality, 1girl, solo, cherry blossoms, spring, smile負(fù)向提示詞lowres, bad anatomy, worst quality采樣步數(shù)Steps20采樣方法SamplerEuler a圖片寬度/高度Width/Height512x512生成批次Batch count1預(yù)期點擊“生成”后能在1分鐘內(nèi)得到一張符合描述的櫻花少女圖片。觀察顯存占用通過nvidia-smi查看是否在預(yù)期范圍內(nèi)例如512x512分辨率下6G顯存模型應(yīng)能正常運行。2. 圖生圖與重繪測試操作在“圖生圖”標(biāo)簽頁上傳一張圖片。輸入使用與文生圖相同的提示詞但調(diào)整“重繪幅度”Denoising strength為0.5-0.7。預(yù)期新生成的圖片應(yīng)在保留原圖構(gòu)圖和主體的基礎(chǔ)上向提示詞描述的風(fēng)格轉(zhuǎn)變。3. 批量任務(wù)測試啟用API后這是體現(xiàn)本地模型自動化能力的關(guān)鍵。import requests import base64 import os # 假設(shè)SD WebUI已以 --api 參數(shù)啟動 url http://127.0.0.1:7860/sdapi/v1/txt2img # 準(zhǔn)備多組提示詞 prompts [ a cyberpunk cityscape at night, neon lights, rain, a serene landscape of mountains and a lake, sunset, a cute cat wearing a hat, cartoon style ] output_dir ./batch_outputs os.makedirs(output_dir, exist_okTrue) for i, prompt in enumerate(prompts): payload { prompt: prompt, negative_prompt: worst quality, lowres, steps: 20, width: 512, height: 512, batch_size: 1 } response requests.post(url, jsonpayload) if response.status_code 200: result response.json() # 圖片以base64格式返回 image_data base64.b64decode(result[images][0].split(,, 1)[0]) with open(os.path.join(output_dir, foutput_{i}.png), wb) as f: f.write(image_data) print(fGenerated image {i} successfully.) else: print(fFailed to generate image {i}: {response.text})預(yù)期腳本能自動依次生成三張不同主題的圖片并保存到指定文件夾。5.2 大語言模型測試測試目的驗證模型的對話、推理和指令跟隨能力。1. 基礎(chǔ)對話測試操作在Ollama交互界面或通過API發(fā)送請求。輸入請用簡單的語言解釋一下什么是機器學(xué)習(xí)。預(yù)期模型能返回一段連貫、易懂的解釋文字而不是亂碼或重復(fù)提問。2. 長文本處理測試操作提交一段較長的文本如一篇千字文章讓其總結(jié)。輸入請總結(jié)以下文章的核心觀點[此處粘貼長文本]預(yù)期模型能正確理解文本并提煉出關(guān)鍵點不會中途截斷或輸出無關(guān)內(nèi)容這考驗?zāi)P偷纳舷挛拈L度。3. 代碼生成測試操作提出具體的編程問題。輸入寫一個Python函數(shù)接收一個列表返回去重后的列表并保持原有順序。預(yù)期模型能生成語法正確、功能符合要求的Python代碼。5.3 語音模型測試以ChatTTS為例測試目的驗證文本轉(zhuǎn)語音、音色克隆等能力。1. 基礎(chǔ)TTS測試操作運行ChatTTS等開源TTS項目通常通過Python腳本調(diào)用。輸入一段中文或英文文本。預(yù)期生成發(fā)音清晰、語調(diào)自然的WAV或MP3音頻文件。2. 音色參考測試如支持操作提供一段參考音頻和新的文本。輸入?yún)⒖家纛l路徑 “今天天氣真好我們出去走走吧?!鳖A(yù)期生成的語音在音色上接近參考音頻。特別注意此功能必須用于獲得授權(quán)的音頻嚴(yán)禁非法模仿他人聲音。6. 接口API與批量任務(wù)本地模型的真正威力在于其可編程性。通過API你可以將其融入任何自動化流程。通用API調(diào)用模式大多數(shù)本地AI服務(wù)都遵循RESTful API設(shè)計。啟動服務(wù)時啟用API如SD WebUI加--api參數(shù)Ollama默認(rèn)開啟。查閱API文檔訪問服務(wù)提供的/docs或/-/api頁面如http://127.0.0.1:7860/docs。構(gòu)造請求使用Python的requests庫或任何HTTP客戶端。一個綜合的批量處理腳本示例圖像生成信息記錄import requests import json import time import logging from pathlib import Path # 配置 API_URL http://127.0.0.1:7860/sdapi/v1/txt2img INPUT_JSON tasks.json # 任務(wù)列表文件 OUTPUT_DIR Path(generated_images) LOG_FILE batch_process.log # 設(shè)置日志 logging.basicConfig(filenameLOG_FILE, levellogging.INFO, format%(asctime)s - %(levelname)s - %(message)s) OUTPUT_DIR.mkdir(exist_okTrue) def call_sd_api(prompt, config, task_id): 調(diào)用Stable Diffusion API payload { prompt: prompt, cfg_scale: config.get(cfg_scale, 7), steps: config.get(steps, 20), width: config.get(width, 512), height: config.get(height, 512), # ... 其他參數(shù) } try: response requests.post(API_URL, jsonpayload, timeout300) response.raise_for_status() return response.json() except requests.exceptions.RequestException as e: logging.error(fTask {task_id} failed: {e}) return None def main(): # 讀取任務(wù)列表 with open(INPUT_JSON, r, encodingutf-8) as f: tasks json.load(f) for i, task in enumerate(tasks): logging.info(fProcessing task {i}: {task.get(prompt, )[:50]}...) result call_sd_api(task[prompt], task.get(config, {}), i) if result and images in result: # 保存圖片 import base64 img_data base64.b64decode(result[images][0].split(,, 1)[0]) img_path OUTPUT_DIR / ftask_{i:03d}.png with open(img_path, wb) as f: f.write(img_data) # 保存生成參數(shù)便于復(fù)現(xiàn) info_path OUTPUT_DIR / ftask_{i:03d}_info.json with open(info_path, w) as f: json.dump({task: task, info: result.get(info)}, f, indent2) logging.info(fTask {i} completed successfully. Saved to {img_path}) else: logging.error(fTask {i} failed to generate image.) # 避免請求過于頻繁 time.sleep(1) if __name__ __main__: main()這個腳本實現(xiàn)了帶日志、錯誤處理和參數(shù)保存的穩(wěn)健批量任務(wù)是工程化使用本地模型的基礎(chǔ)。7. 資源占用與性能觀察合理監(jiān)控資源是穩(wěn)定運行的關(guān)鍵。本地模型的性能瓶頸通常在顯存和內(nèi)存。1. 顯存占用觀察Windows/Linux在命令行使用nvidia-smi命令。重點觀察“GPU-Util”利用率和“Memory-Usage”顯存使用。任務(wù)管理器Windows下性能標(biāo)簽頁可以看到GPU的專用GPU內(nèi)存使用情況。典型占用參考SD 1.5 模型生成512x512圖片約 3-4 GB。SD XL 模型生成1024x1024圖片約 8-12 GB。7B參數(shù)LLM4bit量化約 4-6 GB。13B參數(shù)LLM4bit量化約 8-10 GB。2. 降低資源占用的技巧使用量化模型對于LLM優(yōu)先選擇GGUF格式的4-bit或5-bit量化版本能在幾乎不損失精度的情況下大幅減少顯存占用。調(diào)整生成參數(shù)降低圖片分辨率、減少采樣步數(shù)Steps、使用更高效的采樣器如DPM 2M Karras。啟用優(yōu)化參數(shù)在SD WebUI中使用--medvram、--lowvram或--xformers。CPU卸載一些框架支持將部分層加載到CPU以時間換空間。分批處理對于批量任務(wù)控制并發(fā)數(shù)量避免同時加載過多數(shù)據(jù)。3. 端口沖突與進程管理端口沖突如果啟動失敗提示端口被占用如7860在啟動命令中更換端口如--port 7861。進程殘留如果WebUI或服務(wù)異常關(guān)閉可能導(dǎo)致端口仍被占用。使用netstat -ano | findstr :7860Windows或lsof -i:7860Linux/macOS找到進程ID并終止。后臺運行在Linux服務(wù)器上可以使用nohup或systemd讓服務(wù)在后臺持續(xù)運行。8. 常見問題與排查方法遇到問題不要慌按照以下思路排查。問題現(xiàn)象可能原因排查方式解決方案啟動時報錯提示缺少模塊或庫Python依賴未正確安裝或虛擬環(huán)境未激活。查看錯誤信息末尾確認(rèn)缺失的包名。檢查是否在正確的虛擬環(huán)境中。在項目目錄下使用pip install [包名]手動安裝。確保激活了Conda或venv環(huán)境。啟動SD WebUI時卡在“Installing torch…”或下載非常慢網(wǎng)絡(luò)問題無法從PyTorch官方源下載。觀察命令行輸出卡在哪個包的安裝上。使用國內(nèi)鏡像源。修改launch.py或使用環(huán)境變量設(shè)置pip鏡像如set PIP_INDEX_URLhttps://pypi.tuna.tsinghua.edu.cn/simple。生成圖片時顯存不足OutOfMemory模型過大、分辨率過高、批量大小batch size太大。使用nvidia-smi觀察顯存峰值。降低分辨率如從1024降至512、減少Batch Size至1、使用--medvram參數(shù)、嘗試更輕量的模型。WebUI頁面可以打開但生成圖片是黑色或純色模型文件損壞或與當(dāng)前WebUI版本不兼容。嘗試使用不同的模型或更換模型版本如從fp16換為fp32。重新下載模型文件并確認(rèn)其格式.safetensors或.ckpt被支持。檢查控制臺是否有加載錯誤。Ollama拉取模型失敗或速度極慢網(wǎng)絡(luò)連接Hugging Face等境外倉庫不穩(wěn)定。觀察下載進度是否長時間停滯。配置Ollama使用國內(nèi)鏡像源如果可用或通過手動下載模型文件并導(dǎo)入的方式。API調(diào)用返回404或連接拒絕API服務(wù)未啟動或URL/端口錯誤。確認(rèn)服務(wù)進程是否在運行檢查命令行窗口。確認(rèn)API地址是否正確如http://127.0.0.1:7860/sdapi/v1/txt2img。確保啟動命令包含了--api參數(shù)。檢查防火墻是否阻止了本地端口訪問。生成的內(nèi)容質(zhì)量很差胡言亂語、圖像扭曲提示詞不清晰模型選擇不當(dāng)參數(shù)設(shè)置不合理。檢查提示詞是否明確。嘗試使用更受歡迎的通用模型。調(diào)整CFG Scale、采樣步數(shù)等參數(shù)。學(xué)習(xí)提示詞工程。從簡單的提示詞開始測試。參考模型發(fā)布頁推薦的參數(shù)。運行一段時間后程序崩潰內(nèi)存泄漏或顯存被持續(xù)占用未釋放。觀察任務(wù)管理器看內(nèi)存或顯存是否在緩慢增長直至耗盡。定期重啟服務(wù)。檢查腳本中是否有循環(huán)引用導(dǎo)致資源未釋放??紤]使用進程池單個任務(wù)完成后徹底清理。9. 最佳實踐與使用建議為了讓本地模型用得更順手、更安全遵循以下實踐能少走很多彎路。環(huán)境隔離務(wù)必為每個主要項目如SD WebUI、Ollama創(chuàng)建獨立的Python虛擬環(huán)境Conda或venv。這是避免依賴地獄的唯一法寶。模型管理建立清晰的文件夾結(jié)構(gòu)來存放模型。例如ai_models/ ├── stable_diffusion/ │ ├── base/ # 基礎(chǔ)模型 │ ├── lora/ # LoRA模型 │ └── embeddings/ # 嵌入模型 ├── llm/ │ ├── gguf/ # GGUF格式模型 │ └── pytorch/ # PyTorch格式模型 └── tts/ # 語音模型并記錄每個模型的來源、版本和用途。測試流程標(biāo)準(zhǔn)化首次測試使用最低參數(shù)低分辨率、少步數(shù)快速驗證模型能否跑通。效果測試使用一組固定的、有代表性的提示詞或輸入文本來對比不同模型或參數(shù)的效果。壓力測試進行長時間或批量任務(wù)觀察內(nèi)存/顯存是否穩(wěn)定服務(wù)是否會崩潰。輸入輸出規(guī)范化為批量任務(wù)準(zhǔn)備一個清晰的輸入文件如JSON或CSV包含所有任務(wù)參數(shù)。輸出文件應(yīng)包含時間戳、任務(wù)ID、使用的模型和參數(shù)信息便于追溯和復(fù)現(xiàn)。安全與合規(guī)第一數(shù)據(jù)隱私處理任何個人或敏感數(shù)據(jù)時確保其始終在本地閉環(huán)中絕不外傳。版權(quán)與肖像權(quán)生成圖片時避免直接模仿受版權(quán)保護的特定角色或藝術(shù)家風(fēng)格除非已獲授權(quán)。使用“換臉”、聲音克隆功能前必須取得被模仿者的書面同意。內(nèi)容審核對于生成的內(nèi)容尤其是面向公眾的建立人工審核機制避免產(chǎn)生有害或不當(dāng)內(nèi)容。備份與版本控制對關(guān)鍵的配置文件和自定義腳本使用Git進行版本管理。定期備份你的工作流和最佳參數(shù)設(shè)置。10. 總結(jié)與下一步本地模型的世界充滿了可能性它把強大的AI能力從云端拉到了你的指尖。通過本文的梳理你應(yīng)該已經(jīng)掌握了從零開始讓一個本地模型跑起來并驗證其核心功能的完整路徑。最值得嘗試的起點無疑是Stable Diffusion WebUI和Ollama一個負(fù)責(zé)視覺創(chuàng)造一個負(fù)責(zé)語言交互組合起來能解決大量實際問題。最先應(yīng)該驗證的就是你的硬件能否流暢運行基礎(chǔ)模型。從一個小參數(shù)的圖片模型或量化后的語言模型開始快速完成“安裝-啟動-生成”的閉環(huán)建立信心。最容易踩的坑通常是環(huán)境配置和模型文件問題按照第8節(jié)的排查方法大部分都能解決。接下來你可以探索更垂直的領(lǐng)域工作流自動化將本地模型API接入你的日常工具比如自動為文檔配圖、總結(jié)會議錄音。模型微調(diào)使用LoRA等技術(shù)用你自己的數(shù)據(jù)集訓(xùn)練一個專屬風(fēng)格的畫手或?qū)I(yè)領(lǐng)域的知識助手。多模態(tài)組合將圖像生成、語言模型、語音合成串聯(lián)起來創(chuàng)建互動式應(yīng)用。記住免費和本地帶來的自由也意味著你需要承擔(dān)起維護、調(diào)試和合規(guī)的責(zé)任。從一個小目標(biāo)開始動手實踐遇到問題就查閱文檔和社區(qū)你會發(fā)現(xiàn)這片天地遠比想象中廣闊。建議將本文作為手冊收藏在部署和測試的不同階段回來查閱對應(yīng)的章節(jié)。