大模型原理、架構與落地

近年來,大模型(Large Language Models,LLMs)在人工智能領域迅猛發展,從GPT-3到GPT-4、Claude、Gemini、文心一言、GLM等模型相繼發布,大模型已逐漸走出實驗室,邁向產業落地。本文將從技術原理、模型架構、訓練技巧、推理優化到實際應用進行系統剖析,幫助讀者深入掌握大模型相關知識,全面提升AI實戰能力。

目錄

第一部分:大模型的技術演進與架構原理

1.1 語言模型的發展歷程

1.2 Transformer架構詳解

1.2.1 自注意力機制(Self-Attention)

1.2.2 多頭注意力(Multi-Head Attention)

1.2.3 殘差連接與層歸一化

1.2.4 位置編碼

1.3 預訓練-微調范式

第二部分:大模型訓練的工程實踐

2.1 數據構建與預處理

2.1.1 數據來源與清洗策略

2.1.2 分詞與Tokenization策略

2.2 模型訓練關鍵技術

2.2.1 混合精度訓練(Mixed Precision)

2.2.2 梯度裁剪與累積

2.2.3 學習率調度與Warmup

2.3 分布式訓練策略與框架

2.3.1 ZeRO優化器(DeepSpeed)

2.3.2 框架對比分析

第三部分:大模型推理優化與部署實踐

3.1 推理性能瓶頸與優化策略

3.1.1 KV緩存優化與動態Batch合并

3.1.2 Prompt合并與請求復用

3.2 模型壓縮技術詳解

3.2.1 量化(Quantization)

3.2.2 蒸餾(Knowledge Distillation)

3.2.3 參數高效微調(LoRA/QLoRA)

3.3 高性能推理引擎與部署實踐

3.3.1 常用推理引擎

3.3.2 云端部署方案

第四部分:實際應用與案例分析

4.1 多模態模型與RAG增強能力

4.1.1 多模態模型結構設計

4.1.2 檢索增強生成(RAG)

4.2 行業落地場景分析

4.2.1 智能客服與對話系統

4.2.2 編程輔助與代碼生成

4.2.3 醫療、法律等專業領域

4.3 開源大模型與微調實踐

4.3.1 代表性模型

4.3.2 微調流程示意


第一部分:大模型的技術演進與架構原理

1.1 語言模型的發展歷程

語言模型最早起源于統計建模,如n-gram模型,通過計算詞語聯合概率對文本建模。然而這類模型對上下文建模能力有限,隨著神經網絡的興起,出現了RNN、LSTM等循環神經網絡,它們可以處理序列依賴關系,但難以捕捉長距離信息。

以LSTM為例,其核心結構包含輸入門、遺忘門、輸出門,能夠保留部分歷史信息。然而在面對長文本輸入時,依舊存在梯度消失、訓練不穩定的問題。

import torch
import torch.nn as nn# 簡單的LSTM模塊定義
lstm = nn.LSTM(input_size=100, hidden_size=128, num_layers=2, batch_first=True)
input_seq = torch.randn(32, 50, 100)  # batch_size=32, seq_len=50, feature_dim=100
output, (hn, cn) = lstm(input_seq)

Transformer模型的提出徹底變革了語言模型的架構,使得序列間的依賴可以通過注意力機制并行建模,帶來性能與擴展性的質變。

1.2 Transformer架構詳解

Transformer由以下幾部分組成:

1.2.1 自注意力機制(Self-Attention)

自注意力機制使模型能在處理每個token時考慮序列中所有位置的信息。其計算核心如下:

其中,$Q, K, V$ 分別是查詢、鍵、值矩陣,$d_k$ 是向量維度。

import torch
import torch.nn.functional as Fdef scaled_dot_product_attention(Q, K, V):d_k = Q.size(-1)scores = torch.matmul(Q, K.transpose(-2, -1)) / d_k**0.5weights = F.softmax(scores, dim=-1)return torch.matmul(weights, V)
1.2.2 多頭注意力(Multi-Head Attention)

多頭注意力機制將注意力層復制多個分支,使模型能從不同子空間并行學習不同的注意力分布。

# Multi-head 架構(簡化表示)
class MultiHeadAttention(nn.Module):def __init__(self, heads, d_model):super().__init__()self.heads = headsself.d_k = d_model // headsself.qkv_linear = nn.Linear(d_model, d_model * 3)self.out_linear = nn.Linear(d_model, d_model)def forward(self, x):qkv = self.qkv_linear(x)  # [batch, seq, 3*d_model]# 拆分為多個頭并執行注意力機制...return self.out_linear(output)
1.2.3 殘差連接與層歸一化

Transformer 使用殘差連接與 LayerNorm 來維持梯度流動,提高訓練穩定性。

這使得每一層都可以在保留原始信息的同時,加入新的特征變換。

1.2.4 位置編碼

Transformer本身不具備序列順序建模能力,因此引入位置編碼:

def positional_encoding(seq_len, d_model):import numpy as npPE = torch.zeros(seq_len, d_model)position = torch.arange(0, seq_len).unsqueeze(1)div_term = torch.exp(torch.arange(0, d_model, 2) * -(np.log(10000.0) / d_model))PE[:, 0::2] = torch.sin(position * div_term)PE[:, 1::2] = torch.cos(position * div_term)return PE

1.3 預訓練-微調范式

大模型的訓練普遍采用“預訓練+微調”的范式,先使用海量通用語料預訓練模型,再將其遷移到具體任務上微調。

以GPT為例,其預訓練任務為自回歸語言建模(Causal Language Modeling):

在微調階段,只需用少量標注數據繼續訓練模型即可適配具體任務,如摘要生成、問答系統、代碼補全等。

from transformers import GPT2Tokenizer, GPT2LMHeadModel
model = GPT2LMHeadModel.from_pretrained("gpt2")
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
inputs = tokenizer("今天天氣不錯,", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=50)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

第二部分:大模型訓練的工程實踐

2.1 數據構建與預處理

大模型的性能離不開高質量的大規模語料。訓練前的數據準備工作包括文本收集、去重、分詞、過濾敏感信息、數據增強等多個步驟。這些環節對模型訓練穩定性、泛化能力乃至倫理安全影響極大。

2.1.1 數據來源與清洗策略

典型的數據源包括維基百科、Common Crawl、Reddit、知乎問答、代碼倉庫(如GitHub)等。數據預處理一般包含如下步驟:

  • 數據去重:基于哈希(如SimHash)或相似度檢測(如Jaccard)去除重復段落。

  • 語言識別與篩選:保留目標語言樣本,可用langdetectfasttext庫。

  • 敏感詞與垃圾文本過濾:正則表達式結合黑名單策略。

  • 格式規范化:統一標點、空格、編碼格式等,提升模型收斂速度。

from langdetect import detect
import redef clean_text(text):if detect(text) != 'zh':return Nonetext = re.sub(r"\s+", " ", text)text = re.sub(r"[^一-龥a-zA-Z0-9,.!?]", "", text)return text.strip()
2.1.2 分詞與Tokenization策略

Transformer架構需將文本轉為token輸入,分詞器的設計直接影響模型輸入長度、訓練速度與語義切分。

目前主流子詞分詞算法:

  • BPE(Byte Pair Encoding):合并頻繁出現的子串,提高語義一致性。

  • WordPiece:用于BERT,關注詞干與詞綴結構。

  • SentencePiece:基于Unigram模型的無空格訓練方式,適合中日韓語言。

from transformers import AutoTokenizer# 使用BPE分詞器
tokenizer = AutoTokenizer.from_pretrained("gpt2")
text = "大模型時代已經到來。"
tokens = tokenizer.tokenize(text)
print(tokens)

2.2 模型訓練關鍵技術

2.2.1 混合精度訓練(Mixed Precision)

使用FP16(半精度)訓練可降低顯存占用并提高訓練速度,但需注意數值穩定性。PyTorch支持自動混合精度訓練(AMP):

scaler = torch.cuda.amp.GradScaler()
with torch.cuda.amp.autocast():output = model(input)loss = criterion(output, target)scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()
2.2.2 梯度裁剪與累積

大模型常出現梯度爆炸問題,可使用torch.nn.utils.clip_grad_norm_()裁剪梯度,保持穩定訓練。此外,顯存不足時可采用梯度累積技術:

# 簡單的梯度累積偽代碼
for i, batch in enumerate(dataloader):output = model(batch)loss = compute_loss(output)loss = loss / accumulation_stepsloss.backward()if (i + 1) % accumulation_steps == 0:optimizer.step()optimizer.zero_grad()
2.2.3 學習率調度與Warmup

Warmup + Cosine Annealing 是當前廣泛使用的策略,訓練前期緩慢增大學習率以避免不穩定,隨后緩慢降低。

from transformers import get_cosine_schedule_with_warmup
scheduler = get_cosine_schedule_with_warmup(optimizer, num_warmup_steps=1000, num_training_steps=100000)

2.3 分布式訓練策略與框架

隨著模型規模增長,單機訓練難以滿足計算與顯存需求。需引入分布式訓練策略:

  • 數據并行(DP):復制模型至多GPU處理不同數據子集。

  • 模型并行(MP):將模型不同層劃分到不同GPU。

  • 張量并行(TP):將矩陣乘法拆分后分布執行。

  • 流水并行(PP):借助層間依賴推進訓練流程,適合深層模型。

綜合使用上述策略構成混合并行訓練。

2.3.1 ZeRO優化器(DeepSpeed)

ZeRO(Zero Redundancy Optimizer)是Deepspeed提出的顯存優化方法,其核心思想為:

  • ZeRO-1:優化器狀態分片

  • ZeRO-2:優化器狀態 + 梯度分片

  • ZeRO-3:模型參數、梯度與優化器狀態全部分片

# DeepSpeed 配置文件樣例(json)
"zero_optimization": {"stage": 2,"allgather_partitions": true,"overlap_comm": true,"reduce_bucket_size": 5e8
}
2.3.2 框架對比分析
框架優勢場景適配
DeepSpeed高效顯存利用、兼容性強百億級大模型訓練
Megatron-LMNVIDIA官方,優化推理效率Transformer密集計算
Colossal-AI支持張量/流水并行、調度器靈活自定義并行訓練架構

第三部分:大模型推理優化與部署實踐

3.1 推理性能瓶頸與優化策略

訓練完成的大模型若不能高效部署,其實際價值將大打折扣。推理階段的典型瓶頸包括:

  • 內存占用高,尤其是KV Cache存儲每層歷史狀態

  • 響應延遲大,影響用戶體驗

  • 吞吐量不足,難以支撐大規模服務

3.1.1 KV緩存優化與動態Batch合并

推理階段,每個Token的生成都需依賴歷史token的KV緩存,存儲消耗如下:

其中$L$為序列長度,$H$為頭數,$D$為每頭維度,$B$為Batch size。

可采用如下方法優化:

  • 靜態分配緩存結構,避免頻繁重建

  • 使用FlashAttention等優化內存訪問

  • 通過Token Streaming加快生成速度

# KV Cache 示例結構
class KVCache:def __init__(self, num_layers, batch_size, seq_len, hidden_dim):self.key_cache = torch.zeros(num_layers, batch_size, seq_len, hidden_dim)self.value_cache = torch.zeros_like(self.key_cache)
3.1.2 Prompt合并與請求復用

針對高并發部署,可使用Prompt合并技術將多個請求在同一Batch中執行,提升GPU利用率。vLLM等推理引擎已內置該功能,極大提高吞吐性能。

3.2 模型壓縮技術詳解

3.2.1 量化(Quantization)

量化通過降低精度(如FP32→INT8)減少存儲和計算開銷。典型方案:

  • Post-Training Quantization(PTQ):無需再訓練,部署簡便

  • Quantization-Aware Training(QAT):訓練中感知量化誤差,精度更高

from neural_compressor import quantization
q_model = quantization.fit(model, conf=config, calib_dataloader=dataloader)
3.2.2 蒸餾(Knowledge Distillation)

訓練一個小模型模仿大模型輸出,從而大幅減少參數量。如DistilGPT、TinyBERT即為成功案例。

# 蒸餾損失由真實標簽與teacher輸出共同組成
loss = alpha * CE(student(input), label) + beta * KL(student(input), teacher(input))
3.2.3 參數高效微調(LoRA/QLoRA)

通過凍結大模型主體,僅微調小規模可學習矩陣,大幅降低訓練和推理負擔。

from peft import get_peft_model, LoraConfig
config = LoraConfig(r=8, lora_alpha=32, target_modules=["q_proj", "v_proj"])
model = get_peft_model(model, config)

3.3 高性能推理引擎與部署實踐

3.3.1 常用推理引擎
引擎特點使用場景
vLLM支持Prompt合并,KV cache優化高并發文本生成
ONNX跨平臺兼容性強Web/API部署
TensorRTNVIDIA深度優化實時推理、視頻流應用
llama.cppCPU部署支持,輕量無GPU設備,嵌入式終端
3.3.2 云端部署方案

云平臺支持快速部署模型,如:

  • HuggingFace Inference Endpoint

  • AWS SageMaker

  • 阿里云PAI-EAS

推薦流程如下:

  1. 使用Transformers或vLLM部署模型推理服務

  2. 結合FastAPI或Triton構建RESTful API

  3. 利用Docker + Nginx完成負載均衡與容器化部署

# FastAPI部署示意
uvicorn app:server --host 0.0.0.0 --port 8080 --workers 4

第四部分:實際應用與案例分析

4.1 多模態模型與RAG增強能力

近年來,大模型正從“單一文本輸入”走向多模態處理,即支持圖像、視頻、語音等輸入類型,提升模型泛化與交互能力。典型如GPT-4V、Gemini、文心多模態等,在文本生成任務中引入圖像上下文,支持復雜的多模態問答、圖文解讀、OCR分析。

4.1.1 多模態模型結構設計

多模態大模型通常采用以下結構:

  • 圖像編碼器(如CLIP或ViT)提取視覺特征

  • 將圖像向量投射至語言模型詞向量空間

  • 使用融合策略(early/late fusion)結合文本與圖像輸入

# 融合示例:將圖像特征連接到語言模型輸入序列前
image_feat = vision_encoder(image)
text_input_ids = tokenizer("請描述圖像中的場景", return_tensors="pt")
input_embeds = torch.cat([image_feat, model.embeddings(text_input_ids)], dim=1)
4.1.2 檢索增強生成(RAG)

RAG(Retrieval-Augmented Generation)融合了信息檢索與生成能力,使模型能基于外部知識庫作答。

典型架構流程:

  1. 用戶提問 → 文本編碼

  2. 相似向量檢索(FAISS/Milvus) → 找到候選文檔

  3. 拼接文檔到Prompt中,輸入至大模型生成回答

# 向量檢索偽代碼
query_vector = embedding_model.encode(query)
docs = faiss_index.search(query_vector, top_k=5)
prompt = build_prompt_with_docs(docs, query)
response = llm.generate(prompt)

RAG適用于FAQ問答、企業知識庫查詢、法規解讀等領域,兼顧準確率與響應速度。

4.2 行業落地場景分析

4.2.1 智能客服與對話系統

大模型具備上下文理解、指令執行、情緒識別能力,是智能客服的核心引擎之一。結合多輪記憶與用戶畫像可構建“個性化虛擬助手”。

部署要點:

  • 使用意圖識別模塊結合知識圖譜提升響應準確率

  • 多輪對話狀態管理器實現上下文追蹤

  • 引入提示模板(Prompt Engineering)控制回答風格

prompt = f"你是銀行的智能客服。客戶問題:{query},請簡潔專業地回答。"
response = llm.generate(prompt)
4.2.2 編程輔助與代碼生成

GitHub Copilot、CodeGeeX等是典型的大模型編程助手應用,可用于:

  • 函數補全

  • 代碼注釋與解釋

  • 多語言代碼遷移

以Transformers為例構建代碼補全器:

from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("Salesforce/codegen-2B")
tokenizer = AutoTokenizer.from_pretrained("Salesforce/codegen-2B")input_code = "def quicksort(arr):"
input_ids = tokenizer(input_code, return_tensors="pt").input_ids
output = model.generate(input_ids, max_new_tokens=64)
print(tokenizer.decode(output[0]))
4.2.3 醫療、法律等專業領域

這些行業具備強專業性,通常采用“領域微調+外部知識增強”方式提升準確率。

應用示例:

  • 法律助手:案件摘要生成、法律條文匹配

  • 醫療問答:用藥指南、病歷摘要、輔助診斷

  • 合規生成:結合企業制度文檔生成審查報告

# 醫療問答示意
prompt = f"你是醫學專家。請根據以下資料,回答用戶問題:{question}\n資料:{medical_passage}"

4.3 開源大模型與微調實踐

4.3.1 代表性模型
模型發布者特色開源支持
ChatGLM智譜AI中英雙語、結構緊湊?
InternLM上海AI實驗室支持FP8推理,適合長文本處理?
LLaMA/MistralMeta/社區推理快、小模型效果優?
Baichuan百川智能商業可用,微調接口豐富?
4.3.2 微調流程示意
from transformers import TrainingArguments, Trainer
from datasets import load_dataset# 加載模型和數據
dataset = load_dataset("csv", data_files="data.csv")
training_args = TrainingArguments("./results", per_device_train_batch_size=4, num_train_epochs=3)
trainer = Trainer(model=model, args=training_args, train_dataset=dataset['train'])
trainer.train()

此外,還可結合LoRA、QLoRA等技術進行高效參數微調,適用于資源受限場景。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/84287.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/84287.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/84287.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WWDC 2025 macOS 26有哪些更新點

在2025年6月10日凌晨結束的WWDC 2025發布會中,蘋果正式發布了全新的macOS 26,并給其命名為Tahoe。 以下為macOS相關的主要內容: 命名方式改變 蘋果正式將各大系統的版本號改為對應年份,讓命名方式更直觀好記,macOS 2…

AI+預測3D新模型百十個定位預測+膽碼預測+去和尾2025年6月10日第104彈

從今天開始,咱們還是暫時基于舊的模型進行預測,好了,廢話不多說,按照老辦法,重點8-9碼定位,配合三膽下1或下2,殺1-2個和尾,再殺4-5個和值,可以做到100-300注左右。 (1)定…

.NET 8集成阿里云短信服務完全指南【短信接口】

文章目錄 前言一、準備工作1.1 阿里云賬號準備1.2 .NET 8項目創建 二、集成阿里云短信SDK2.1 安裝NuGet包2.2 配置阿里云短信參數2.3 創建配置類 三、實現短信發送服務3.1 創建短信服務接口3.2 實現短信服務3.3 注冊服務 四、創建控制器五、測試與優化5.1 單元測試5.2 性能優化…

解決HuggingFace不能git clone的問題

今天在從HuggingFace上clone項目的時候,一直出現超時問題,查了很多資料沒有解決,后來向mentor請教了一下,可以通過鏡像的方法解決這個問題,所以把方法放上來,希望對大家有幫助。 HuggingFace的服務器在國外…

Zookeeper 集群部署與故障轉移

Zookeeper 介紹 Zookeeper 是一個開源的分布式協調服務,由Apache基金會維護,專為分布式應用提供高可用、強一致性的核心基礎能力。它通過簡單的樹形命名空間(稱為ZNode樹)存儲數據節點(ZNode),…

簡單聊下阿里云DNS劫持事件

阿里云域名被DNS劫持事件 事件總結 根據ICANN規則,域名注冊商(Verisign)認定aliyuncs.com域名下的部分網站被用于非法活動(如傳播惡意軟件);頂級域名DNS服務器將aliyuncs.com域名的DNS記錄統一解析到shado…

服務器出現故障怎么辦?快速排查與解決方法

服務器故障的常見原因分析 硬件故障:內存、硬盤、網絡設備故障。 軟件故障:操作系統、應用程序、數據庫異常。 網絡攻擊(如DDoS攻擊)造成資源耗盡。 快速排查故障的步驟 檢查監控系統報警日志。 查看系統資源使用情況&#x…

Claude vs ChatGPT vs Gemini:功能對比、使用體驗、適合人群

隨著AI應用全面進入生產力場景,市面上的主流AI對話工具也進入“三國殺”時代: Claude(Anthropic):新銳崛起,語言邏輯驚艷,Opus 模型被稱為 GPT-4 殺手ChatGPT(OpenAI)&a…

Git 使用大全:從入門到精通

Git 是目前最流行的分布式版本控制系統,被廣泛應用于軟件開發中。本文將全面介紹 Git 的各種功能和使用方法,包含大量代碼示例和實踐建議。 文章目錄 Git 基礎概念版本控制系統Git 的特點Git 的三個區域Git 文件狀態 Git 安裝與配置安裝 GitLinuxmacOSWi…

SpringBoot 框架第 1 次接口調用慢

文章目錄 背景分析思路 1:DeepSeek 分析思路 2:日志分析思路 3:Arthas 分析下載 Arthas啟動 Arthastrace 調用耗時分析Controller 調用耗時Service 調用分析ServiceImpl 耗時分析IService 耗時分析BaseMapper 耗時分析debug 執行鏈路MyBatisMapperProxy 解讀解決思路 1:預熱…

數據分析Agent構建

數據分析agent構建 代碼資料來源于 Streamline-Analyst,旨在通過該倉庫上的代碼了解如何使用大語言模型構建數據分析工具; 個人倉庫:Data-Analysis-Agent-Tutorial 不同的在于 Data-Analysis-Agent-Tutorial 是在 Streamline-Analyst 基礎…

Java后端檢查空條件查詢

通過拋出運行異常&#xff1a;throw new RuntimeException("請輸入查詢條件&#xff01;");BranchWarehouseServiceImpl.java // 查詢試劑交易&#xff08;入庫/出庫&#xff09;記錄Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…

6??Go 語言中的哈希、加密與序列化:通往區塊鏈世界的鑰匙

Go 語言中的哈希、加密與序列化:通往區塊鏈世界的鑰匙 一、前言:離區塊鏈還有多遠? 區塊鏈聽起來可能遙不可及,似乎是只有密碼學專家和資深工程師才能涉足的領域。但事實上,構建一個區塊鏈的核心并不復雜,尤其當你已經掌握了一門系統編程語言,比如 Go。 要真正理解區…

python爬蟲——氣象數據爬取

一、導入庫與全局配置 python 運行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入數據解析、網絡請求、時間處理、數據庫操作等所需庫。requests&#xff1a;發送 …

Python爬蟲(三):BeautifulSoup庫

1. BeautifulSoup是什么&#xff1f; BeautifulSoup 是一個 Python 庫&#xff0c;專門用來解析 HTML 或 XML 文件&#xff0c;方便我們提取數據。它能把網頁源代碼轉換成樹形結構&#xff0c;讓我們可以輕松查找、修改內容&#xff0c;并自動處理編碼問題&#xff08;如 Unic…

AI電銷機器人智能的發展趨勢是什么?

AI電銷機器人智能的發展趨勢是什么&#xff1f;電銷機器人智能的發展前景怎么樣&#xff1f;隨著互聯網技術的不斷發展&#xff0c;AI電銷機器人智能已經成為了許多企業實現銷售數字化轉型的重要工具&#xff0c;我們一起來看看。 AI電銷機器人正突破傳統語音機械應答的邊界&a…

C++ 求圓面積的程序(Program to find area of a circle)

給定半徑r&#xff0c;求圓的面積。圓的面積應精確到小數點后5位。 例子&#xff1a; 輸入&#xff1a;r 5 輸出&#xff1a;78.53982 解釋&#xff1a;由于面積 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因為我們只保留小數點后 5 位數字。 輸…

C++_哈希表

本篇文章是對C學習的哈希表部分的學習分享 相信一定會對你有所幫助~ 那咱們廢話不多說&#xff0c;直接開始吧&#xff01; 一、基礎概念 1. 哈希核心思想&#xff1a; 哈希函數的作用&#xff1a;通過此函數建立一個Key與存儲位置之間的映射關系。理想目標&#xff1a;實現…

Mac M芯片 RAG 極簡流程 安裝 ragflow + LM studio

本文基于 【【知識科普】【純本地化搭建】【不本地也行】DeepSeek RAGFlow 構建個人知識庫】 https://www.bilibili.com/video/BV1WiP2ezE5a/?share_sourcecopy_web&vd_source9a55f12dd64d8e30ab6c0efc62844343 1 .docker-compose yml文件修改,指定平臺 platform: linux/…

Rsync+inotify+nfs實現數據實時備份方案

技術棧 NFS是 Network File System的簡寫&#xff0c;即網絡文件系統。NFS的優點是內核直接支持&#xff0c;部署簡單、運行穩定&#xff0c;協議簡單、傳輸效率高。缺點是僅依靠IP地址或主機名來決定用戶能否掛載共享目錄&#xff0c;容易出現單點故障。 rsync是linux系統下的…