自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

本地部署DeepSeek+DiFy平臺構(gòu)建智能體應(yīng)用

人工智能
大模型微調(diào)(Fine-tuning)是一種遷移學(xué)習(xí)技術(shù),通過在預(yù)訓(xùn)練大模型(如GPT、BERT、LLAMA等)的基礎(chǔ)上,使用領(lǐng)域特定數(shù)據(jù)進行額外訓(xùn)練,使模型適應(yīng)特定任務(wù)(如醫(yī)療問答、法律文本分析、代碼生成等)。

在大模型實際應(yīng)用落地時候,利用智能體平臺,構(gòu)建本地的向量化知識庫,基于RAG知識增強技術(shù)和大模型的推理能力,提升效率。本文簡要介紹RAG、大模型微調(diào)和大模型蒸餾的特點,通用智能體平臺,并在本地部署DiFy智能體平臺,利用本地部署的DeepSeek模型和知識庫構(gòu)建智能體應(yīng)用。

1、RAG、微調(diào)和蒸餾

大模型的落地使用主要有RAG、微調(diào)和蒸餾幾種方式,每種方式有各自的特點和適用場景。

1.1 RAG介紹

RAG(Retrieval-Augmented Generation)檢索增強生成是一種將外部知識檢索與大語言模型生成能力結(jié)合的混合架構(gòu)。其核心思想是通過檢索外部知識庫(如文檔、數(shù)據(jù)庫、網(wǎng)頁等),彌補大模型靜態(tài)訓(xùn)練數(shù)據(jù)的局限性;在生成答案時直接依賴檢索到的證據(jù),減少模型憑空編造內(nèi)容的可能性,降低幻覺風(fēng)險。RAG無需重新訓(xùn)練模型,僅需更新知識庫即可適配不同專業(yè)領(lǐng)域(如醫(yī)療、法律)。類似將大模型視為一個“推理專家”,而RAG系統(tǒng)為其配備了一個“實時資料庫助手”。在回答問題時,助手先查找相關(guān)資料,專家再結(jié)合資料生成最終答案。不過RAG依賴檢索質(zhì)量,若知識庫不完整或檢索策略不當(dāng),可能影響效果。

圖片圖片

RAG的典型流程分為數(shù)據(jù)準(zhǔn)備、檢索階段、增強生成三個階段:

  • 數(shù)據(jù)準(zhǔn)備階段:構(gòu)建可供檢索的高質(zhì)量知識庫,包括數(shù)據(jù)收集、數(shù)據(jù)預(yù)處理和數(shù)據(jù)向量化。數(shù)據(jù)收集包括私域內(nèi)專業(yè)文檔(PDF/Text)、數(shù)據(jù)庫、網(wǎng)頁、API實時數(shù)據(jù)等;數(shù)據(jù)預(yù)處理將長文本切分為語義連貫的片段(如每段512詞),并清洗數(shù)據(jù),形成標(biāo)準(zhǔn)化格式;向量化(Embedding)則是使用嵌入模型(如BERT、Sentence-BERT)將文本塊轉(zhuǎn)為稠密向量(dense vector),并存儲至向量數(shù)據(jù)庫(如FAISS、Milvus、Pinecone等)。
  • 檢索階段:從知識庫中快速找到與用戶問題最相關(guān)的文本片段,包括用戶查詢向量化、相似性檢索。用戶查詢向量化是使用與知識庫相同的嵌入模型,將用戶問題轉(zhuǎn)為向量;相似性檢索計算查詢向量與知識庫向量的相似度(余弦相似度、歐氏距離),返回Top-K相關(guān)片段(通常K=3~10);重排序使用交叉編碼器(Cross-Encoder)對Top-K結(jié)果精細排序,提升相關(guān)性判斷。其中檢索算法又分為稠密檢索、稀疏檢索和混合檢索。
  • 增強生成階段:將檢索到的證據(jù)融入生成過程,輸出最終答案,包括上下文構(gòu)造和生成控制。上下文構(gòu)造是將檢索到的文本片段與用戶問題拼接為提示(Prompt);生成控制則約束模型僅基于檢索內(nèi)容生成,避免偏離證據(jù)(通過提示工程或模型微調(diào)實現(xiàn))。

1.2 大模型微調(diào)

大模型微調(diào)(Fine-tuning)是一種遷移學(xué)習(xí)技術(shù),通過在預(yù)訓(xùn)練大模型(如GPT、BERT、LLAMA等)的基礎(chǔ)上,使用領(lǐng)域特定數(shù)據(jù)進行額外訓(xùn)練,使模型適應(yīng)特定任務(wù)(如醫(yī)療問答、法律文本分析、代碼生成等)。其核心思想是復(fù)用通用知識(預(yù)訓(xùn)練階段獲得)并注入領(lǐng)域?qū)S兄R,從而在少量數(shù)據(jù)下實現(xiàn)高性能。類似理解為將預(yù)訓(xùn)練模型視為“通才”,通過微調(diào)將其轉(zhuǎn)變?yōu)椤皩2拧薄?/span>

圖片圖片

大模型微調(diào)的典型流程分為數(shù)據(jù)準(zhǔn)備、模型選擇與配置、微調(diào)訓(xùn)練、評估與部署四個階段:

  • 數(shù)據(jù)準(zhǔn)備:構(gòu)建與目標(biāo)任務(wù)匹配的高質(zhì)量訓(xùn)練集。通過收集數(shù)據(jù)、標(biāo)注數(shù)據(jù),并對數(shù)據(jù)進行去噪和清洗、標(biāo)準(zhǔn)化格式、與預(yù)訓(xùn)練模型匹配等數(shù)據(jù)預(yù)處理方式,確保微調(diào)數(shù)據(jù)與真實應(yīng)用場景分布一致。
  • 模型選擇與配置:選擇合適的預(yù)訓(xùn)練模型并配置微調(diào)策略。微調(diào)策略分為全參數(shù)微調(diào)和參數(shù)高效微調(diào)(PEFT),常用方法包括LoRA(Low-Rank Adaptation)注入低秩矩陣,僅訓(xùn)練新增參數(shù)、Adapter在Transformer層間插入小型適配模塊、Prefix-Tuning在輸入前添加可學(xué)習(xí)前綴向量。
  • 微調(diào)訓(xùn)練:通過迭代優(yōu)化,使模型適應(yīng)目標(biāo)任務(wù)。
  • 評估部署:驗證模型性能并部署到生產(chǎn)環(huán)境。建立評估指標(biāo)如準(zhǔn)確率、F1值、Recall率以及人工評分,對比微調(diào)模型與基線模型的實際效果,迭代優(yōu)化模型。

1.3 大模型蒸餾

大模型蒸餾是一種模型壓縮技術(shù),通過將復(fù)雜的大模型中的知識遷移到更輕量的小模型,在減少模型體積和計算資源需求的同時,盡可能保留原模型的性能。其核心思想是讓學(xué)生模型不僅學(xué)習(xí)訓(xùn)練數(shù)據(jù)的標(biāo)簽(硬標(biāo)簽),還模仿教師模型的輸出分布(軟標(biāo)簽)或中間特征。

圖片圖片

大模型蒸餾的典型流程分為教師模型訓(xùn)練、知識遷移和學(xué)生模型訓(xùn)練三個階段:

  • 教師模型訓(xùn)練:訓(xùn)練一個高性能的大模型(教師),作為知識來源。教師模型通常為參數(shù)量大、結(jié)構(gòu)復(fù)雜的模型(如BERT、GPT-3、ResNet-152),并且在目標(biāo)任務(wù)(分類、生成等)上達到高精度。
  • 知識遷移設(shè)計:定義學(xué)生模型需要模仿的知識類型及遷移方式,包括輸出層知識遷移(軟標(biāo)簽蒸餾)、中間層知識遷移(特征蒸餾)和關(guān)系知識遷移關(guān)鍵方法。軟標(biāo)簽教師模型輸出的概率分布(如分類任務(wù)中各類別的概率);特征匹配是強制學(xué)生模型的中間層特征(如Transformer隱藏狀態(tài)、CNN特征圖)與教師模型對齊;關(guān)系匹配是捕捉教師模型中樣本間的關(guān)系(如樣本對之間的相似性)。
  • 學(xué)生模型訓(xùn)練:利用教師模型的知識和訓(xùn)練數(shù)據(jù),訓(xùn)練輕量化的學(xué)生模型。

1.4 智能體概念

智能體(AI Agent)是一種能夠感知環(huán)境、自主決策并執(zhí)行任務(wù)的智能系統(tǒng),其核心特征包括自主性、交互性、適應(yīng)性、目標(biāo)導(dǎo)向性等。其基本組成包括:

  • 感知(Perception):感知是Agent與外部世界互動的橋梁,負(fù)責(zé)收集和解析環(huán)境數(shù)據(jù)。
  • 規(guī)劃(Planning):規(guī)劃是Agent的決策大腦,把目標(biāo)拆解成可執(zhí)行的步驟,制定實現(xiàn)目標(biāo)的策略。
  • 記憶(Memory):記憶分為短期和長期,允許Agent存儲和檢索信息,支持學(xué)習(xí)和長期知識積累。短期記憶,能在對話中記住用戶的問題和偏好,提供即時的個性化服務(wù)。長期記憶,會存儲先前研究的數(shù)據(jù)和結(jié)果,用于新項目,加速發(fā)現(xiàn)過程。
  • 工具使用(Tools Use):工具使用是指Agent利用外部資源或工具增強其能力。這些工具可以是API、軟件庫、硬件設(shè)備或其他服務(wù)。
  • 行動(Action):行動是Agent執(zhí)行任務(wù)和與環(huán)境互動的具體行為。它基于規(guī)劃和記憶執(zhí)行具體動作,完成任務(wù)并響應(yīng)環(huán)境。

圖片圖片

智能體的發(fā)展依賴于大模型、強化學(xué)習(xí)、多模態(tài)融合等技術(shù),尤其是大模型顯著提升了其自然交互與復(fù)雜推理能力。

2、通用智能體平臺選擇

在實際的應(yīng)用落地時候,利用智能體平臺,構(gòu)建本地的向量化知識庫,基于RAG知識增強技術(shù)和大模型的推理能力,提升問題分析和處理的效率。通用的智能體平臺有很多,比如開源的DiFy、LangChain、CherryStudio等,商業(yè)版的有Coze、騰訊混元等。各平臺有不同的特性,以下是DiFy、LangChain和Coze平臺的特性對比。

1)易用性DiFy提供可視化界面和低代碼配置,支持非技術(shù)人員參與開發(fā),適合快速構(gòu)建生產(chǎn)級應(yīng)用;LangChain學(xué)習(xí)曲線陡峭,需熟悉模塊化組件(如Chains、Agents)和編程接口,適合技術(shù)背景較強的開發(fā)者;Coze通常提供拖拽式界面和預(yù)置模板,強調(diào)快速部署AI Bot,適合輕量級應(yīng)用開發(fā)。

圖片圖片

2)功能特性DiFy集成RAG引擎、Agent框架和多模型支持;支持Prompt編排、數(shù)據(jù)操作和API集成;提供LLMOps全生命周期管理。LangChain模塊化設(shè)計(Model I/O、Retrieval、Agents等),支持復(fù)雜鏈?zhǔn)秸{(diào)用和動態(tài)代理交互,開源生態(tài)豐富。Coze專注于Bot開發(fā),集成對話管理、插件市場和多模態(tài)交互,提供預(yù)訓(xùn)練工作流和自動化部署工具。

圖片圖片

3)社區(qū)生態(tài)DiFy社區(qū)處于早期階段,依賴官方文檔和企業(yè)支持,集成第三方工具較少。LangChain開源社區(qū)活躍,GitHub Star超8.7萬,支持多語言版本(Python/JS),集成向量數(shù)據(jù)庫、工具和插件豐富。Coze為大廠產(chǎn)品,依賴官方生態(tài)支持,插件市場和應(yīng)用模板豐富,但社區(qū)貢獻有限。

圖片圖片

4)開源性質(zhì)DiFy完全開源(Apache 2.0協(xié)議),允許代碼修改和二次開發(fā),社區(qū)版功能受限,企業(yè)版需商業(yè)授權(quán)。LangChain完全開源(Apache 2.0協(xié)議),社區(qū)貢獻活躍,支持自定義模塊和工具集成,但缺乏統(tǒng)一的產(chǎn)品化支持。Coze為為閉源商業(yè)平臺,提供云服務(wù)和API調(diào)用,擴展性依賴官方接口。

圖片圖片

5)問題分類Dify擅長處理企業(yè)級應(yīng)用開發(fā),如知識庫問答、自動化工作流和API服務(wù)部署。LangChain適用于需深度定制的問題,如多模型協(xié)作、復(fù)雜邏輯鏈設(shè)計。Coze聚焦對話場景(如客服、娛樂Bot),支持多平臺分發(fā)和輕量化交互。

6)模型支持Dify兼容最廣泛,支持OpenAI、Anthropic、Llama系列等商業(yè)/開源模型,可本地部署或調(diào)用云端API。LangChain通過模塊化接口連接多種模型(如Hugging Face、Azure OpenAI),靈活性高但需開發(fā)者配置。Coze優(yōu)先集成字節(jié)生態(tài)模型(如豆包系列),對國產(chǎn)模型(如GLM、MoonShot)支持較好,但擴展性受限。

3、DiFy智能體平臺本地化部署

3.1 DeepSeek本地化部署

參考文章“DeepSeek-R1模型本地部署

1)在本地運行deepseek模型

ollama run deepseek-r1:1.5b

2)在本地運行Embedding模型

ollama pull bge-m3

3.2 Dify平臺部署

3.2.1 克隆Dify代碼倉庫

克隆Dify源代碼至本地環(huán)境。

#git clone https://github.com/langgenius/dify.git --branch 0.15.3
Cloning into 'dify'...
remote: Enumerating objects: 144842, done.
remote: Counting objects: 100% (1116/1116), done.
remote: Compressing objects: 100% (505/505), done.
remote: Total 144842 (delta 926), reused 613 (delta 611), pack-reused 143726 (from 3)
Receiving objects: 100% (144842/144842), 78.11 MiB | 1.94 MiB/s, done.
Resolving deltas: 100% (106284/106284), done.
Note: checking out 'ca19bd31d42fb87c83b91541c473ebae85e9d14e'.

3.2.2 啟動 Dify

1)進入 Dify 源代碼的 Docker 目錄

cd dify/docker

2)復(fù)制環(huán)境配置文件

cp .env.example .env

3)啟動 Docker 容器

#docker-compose --version
docker-compose version 1.28.6, build 5db8d86f

#如果版本是 Docker Compose V2,使用以下命令:
docker compose up -d
#如果版本是 Docker Compose V1,使用以下命令:
docker-compose up -d

啟動報錯,需要配置合適的docker鏡像源

#docker-compose up -d
Creating network "docker_default" with the default driver
Creating network "docker_ssrf_proxy_network" with driver "bridge"
Creating network "docker_milvus" with driver "bridge"
Creating network "docker_opensearch-net" with driver "bridge"
Pulling web (langgenius/dify-web:0.15.3)...
ERROR: Get https://registry-1.docker.io/v2/: read tcp 192.168.112.110:60148->52.1.121.53:443: read: connection reset by peer

如果提示NGINX端口沖突,修改相應(yīng)的配置文件

ERROR: for docker_nginx_1  Cannot start service nginx: driver failed programming external connectivity on endpoint docker_nginx_1 (87803a54cea3e36c8628fdd2e3a9795cfe7696e952fefeabedc3089bdf9b4843): Bind for 0.0.0.0:80 failed: port is already allocated

進入到dify文件夾下

cd /dify/docker
vi .env
#找到 EXPOSE_NGINX_PORT 在780行,改成你需要的端口默認(rèn)是80 ps:
#------------------------------
#Docker Compose Service Expose Host Port Configurations
#------------------------------
EXPOSE_NGINX_PORT=10080
EXPOSE_NGINX_SSL_PORT=443
#保存退出
:wq!

再執(zhí)行命令

[root@tango-01 docker]# docker-compose up -d
Creating network "docker_default" with the default driver
Creating network "docker_ssrf_proxy_network" with driver "bridge"
Creating network "docker_milvus" with driver "bridge"
Creating network "docker_opensearch-net" with driver "bridge"
Creating docker_weaviate_1   ... done
Creating docker_web_1        ... done
Creating docker_ssrf_proxy_1 ... done
Creating docker_db_1         ... done
Creating docker_redis_1      ... done
Creating docker_sandbox_1    ... done
Creating docker_api_1        ... done
Creating docker_worker_1     ... done
Creating docker_nginx_1      ... done

最后檢查是否所有容器都正常運行:

[root@tango-01 docker]# docker ps
CONTAINER ID        IMAGE                              COMMAND                  CREATED             STATUS                          PORTS                                           NAMES
2dae908116e8        nginx:latest                       "sh -c 'cp /docker-e…"   49 seconds ago      Up 46 seconds                   0.0.0.0:10080->80/tcp, 0.0.0.0:10443->443/tcp   docker_nginx_1
6265cf210cf0        langgenius/dify-api:0.15.3         "/bin/bash /entrypoi…"   51 seconds ago      Up 11 seconds                   5001/tcp                                        docker_worker_1
d942f95f499c        langgenius/dify-api:0.15.3         "/bin/bash /entrypoi…"   51 seconds ago      Up 11 seconds                   5001/tcp                                        docker_api_1
12faac266945        langgenius/dify-sandbox:0.2.10     "/main"                  56 seconds ago      Restarting (2) 14 seconds ago                                                   docker_sandbox_1
5a259dcc231b        redis:6-alpine                     "docker-entrypoint.s…"   56 seconds ago      Up 51 seconds (healthy)         6379/tcp                                        docker_redis_1
3217f01bdbc7        postgres:15-alpine                 "docker-entrypoint.s…"   56 seconds ago      Up 52 seconds (healthy)         5432/tcp                                        docker_db_1
345e4ad02636        langgenius/dify-web:0.15.3         "/bin/sh ./entrypoin…"   56 seconds ago      Up 51 seconds                   3000/tcp                                        docker_web_1
89be23ea9754        ubuntu/squid:latest                "sh -c 'cp /docker-e…"   56 seconds ago      Up 50 seconds                   3128/tcp                                        docker_ssrf_proxy_1
b8ed98f311c2        semitechnologies/weaviate:1.19.0   "/bin/weaviate --hos…"   56 seconds ago      Up 51 seconds                                                                   docker_weaviate_1

在這個輸出中,應(yīng)該可以看到包括3個業(yè)務(wù)服務(wù)api/worker/web,以及6個基礎(chǔ)組件weaviate/db/redis/ nginx/ssrf_proxy/ sandbox。

4)登錄DiFy平臺:http://xx.xx.xx.xx/install,默認(rèn)端口是80

登錄進入主界面登錄進入主界面

圖片圖片

3.3 構(gòu)建智能體

3.3.1 大模型接入

在Dify中,按模型的使用場景將模型分為以下4類:

  • 系統(tǒng)推理模型:在創(chuàng)建的應(yīng)用中,用的是該類型的模型。智聊、對話名稱生成、下一步問題建議用的也是推理模型。已支持的系統(tǒng)推理模型供應(yīng)商:OpenAI、Azure OpenAI Service、DeepSeek、Anthropic、Hugging Face Hub、Replicate、Xinference、OpenLLM、訊飛星火、文心一言、通義千問、Minimax、ZHIPU(ChatGLM)等
  • Embedding模型。在知識庫中,將分段過的文檔做Embedding用的是該類型的模型。在使用了知識庫的應(yīng)用中,將用戶的提問做Embedding處理也是用的該類型的模型。已支持的Embedding模型供應(yīng)商:OpenAI、ZHIPU(ChatGLM)、Jina AI(Jina Embeddings)、Rerank模型等。
  • Rerank模型:用于增強檢索能力,改善LLM的搜索結(jié)果。已支持的 Rerank 模型供應(yīng)商:Cohere、Jina AI(Jina Reranker)等
  • 語音轉(zhuǎn)文字模型。將對話型應(yīng)用中,將語音轉(zhuǎn)文字用的是該類型的模型。已支持的語音轉(zhuǎn)文字模型供應(yīng)商:OpenAI等

1)在設(shè)置中添加大模型,本地部署選擇ollama

圖片圖片

2)選擇Ollama,添加本地部署的DeepSeek模型

圖片

注:Ollama默認(rèn)綁定到127.0.0.1:11434,需通過環(huán)境變量OLLAMA_HOST修改監(jiān)聽地址:打開系統(tǒng)設(shè)置 → 搜索并進入編輯賬戶環(huán)境變量。在用戶變量中新建或修改變量:

  • 變量名:OLLAMA_HOST
  • 變量值:xx.xx.xx.xx:11434

3)配置Embedding模型

圖片圖片

查看模型列表

圖片圖片

3.3.2 創(chuàng)建知識庫

1)在DiFy平臺創(chuàng)建知識庫

圖片

2)導(dǎo)入文件,定義切分規(guī)則和模型

圖片圖片

3)配置Embedding模型

圖片圖片

4)查看導(dǎo)入的文件詳情

圖片圖片

3.3.3 創(chuàng)建智能體應(yīng)用

1)在DiFy平臺創(chuàng)建工作流并運行

圖片

2)運行智能體,輸出結(jié)果

圖片

DiFy平臺工具集相對還是少了一些,有些第三方工具調(diào)用比如飛書文檔需要額外授權(quán),體驗上也會差一些。

參考資料:

  1. https://docs.dify.ai/zh-hans
  2. https://blog.csdn.net/m0_56255097/article/details/143693499
責(zé)任編輯:武曉燕 來源: 牧羊人的方向
相關(guān)推薦

2025-04-09 08:00:46

2025-02-12 08:21:55

OllamaChatboxDeepSeek

2025-02-11 00:00:25

2025-02-28 07:11:20

2025-02-13 08:30:11

2025-02-26 04:00:00

百度文心智能體平臺

2025-02-10 11:11:47

2025-03-10 00:00:00

2025-02-11 12:15:57

2025-04-07 02:00:00

2025-02-18 00:04:00

DeepSeek模型ChatGPT

2025-03-12 08:01:29

2025-03-07 10:36:21

DeepSeekAI對話應(yīng)用AI

2010-03-29 13:35:39

ibmdwRIA

2025-02-11 09:29:07

2024-06-13 09:20:26

點贊
收藏

51CTO技術(shù)棧公眾號