FastGPT Docker Compose本地部署與硅基流動免費AI接口集成指南

本文參考:https://doc.tryfastgpt.ai/docs/development/

一、背景與技術優勢

FastGPT是基于LLM的知識庫問答系統,支持自定義數據訓練與多模型接入。硅基流動(SiliconFlow)作為AI基礎設施平臺,提供高性能大模型推理引擎SiliconLLM和免費API服務。通過Docker部署FastGPT并結合硅基流動API,可實現低成本、高靈活性的AI應用開發。

技術優勢

  1. 本地數據隱私:敏感數據無需上傳云端,符合《數據安全法》要求。

  2. 成本優化:硅基流動提供Qwen2-7B、GLM-4-9B等模型永久免費API,降低Token成本。

  3. 性能加速:硅基流動自研推理引擎SiliconLLM生成速度較開源產品快10倍。

二、環境準備

1. 系統要求

  • 操作系統:Linux(推薦Ubuntu 22.04)

  • 硬件:至少8GB內存,推薦NVIDIA GPU(如RTX 3060)

  • 軟件:Docker 24.0+、Docker Compose 2.20+

2. 安裝Docker與Docker Compose

Centos7一鍵安裝docker

yum install nano -y

nano install_docker.sh

#!/bin/bash
?
# 設置阿里云的YUM倉庫
cat > /etc/yum.repos.d/docker-ce.repo <<EOF
[docker-ce-stable]
name=Docker CE Stable - \$basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/\$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
EOF
?
# 安裝所需的包
yum install -y yum-utils device-mapper-persistent-data lvm2
?
# 更新YUM緩存
yum makecache fast
?
# 安裝nano
yum -y install nano
?
# 安裝Docker CE
yum install -y docker-ce
?
# 啟用Docker服務(開機自啟)
systemctl enable docker
?
# 啟動Docker服務
systemctl start docker
?
echo "Docker has been installed and started!"
?
# chmod +x install_docker.sh;sh install_docker.sh
?

docker阿里云鏡像

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://docker.1panel.live"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

三、FastGPT Docker部署

1. 創建項目目錄

進入你的安裝根目錄,例如/home

mkdir fastgpt && cd fastgpt

2. 下載配置文件

curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json
curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-pgvector.yml

config.json 2025年4月21日

// 已使用 json5 進行解析,會自動去掉注釋,無需手動去除
{"feConfigs": {"lafEnv": "https://laf.dev", // laf環境。 https://laf.run (杭州阿里云) ,或者私有化的laf環境。如果使用 Laf openapi 功能,需要最新版的 laf 。"mcpServerProxyEndpoint": "" // mcp server 代理地址,例如: http://localhost:3005},"systemEnv": {"vectorMaxProcess": 10, // 向量處理線程數量"qaMaxProcess": 10, // 問答拆分線程數量"vlmMaxProcess": 10, // 圖片理解模型最大處理進程"tokenWorkers": 30, // Token 計算線程保持數,會持續占用內存,不能設置太大。"hnswEfSearch": 100, // 向量搜索參數,僅對 PG 和 OB 生效。越大,搜索越精確,但是速度越慢。設置為100,有99%+精度。"customPdfParse": {"url": "", // 自定義 PDF 解析服務地址"key": "", // 自定義 PDF 解析服務密鑰"doc2xKey": "", // doc2x 服務密鑰"price": 0 // PDF 解析服務價格}}
}

docker-compose. yml PgVector版本 2025年4月21日

# 數據庫的默認賬號和密碼僅首次運行時設置有效
# 如果修改了賬號密碼,記得改數據庫和項目連接參數,別只改一處~
# 該配置文件只是給快速啟動,測試使用。正式使用,記得務必修改賬號密碼,以及調整合適的知識庫參數,共享內存等。
# 如何無法訪問 dockerhub 和 git,可以用阿里云(阿里云沒有arm包)
?
version: '3.3'
services:# dbpg:image: pgvector/pgvector:0.8.0-pg15 # docker hub# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.8.0-pg15 # 阿里云container_name: pgrestart: always# ports: # 生產環境建議不要暴露# ? - 5432:5432networks:- fastgptenvironment:# 這里的配置只有首次運行生效。修改后,重啟鏡像是不會生效的。需要把持久化數據刪除再重啟,才有效果- POSTGRES_USER=username- POSTGRES_PASSWORD=password- POSTGRES_DB=postgresvolumes:- ./pg/data:/var/lib/postgresql/datamongo:image: mongo:5.0.18 # dockerhub# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云# image: mongo:4.4.29 # cpu不支持AVX時候使用container_name: mongorestart: always# ports:# ? - 27017:27017networks:- fastgptcommand: mongod --keyFile /data/mongodb.key --replSet rs0environment:- MONGO_INITDB_ROOT_USERNAME=myusername- MONGO_INITDB_ROOT_PASSWORD=mypasswordvolumes:- ./mongo/data:/data/dbentrypoint:- bash- -c- |openssl rand -base64 128 > /data/mongodb.keychmod 400 /data/mongodb.keychown 999:999 /data/mongodb.keyecho 'const isInited = rs.status().ok === 1if(!isInited){rs.initiate({_id: "rs0",members: [{ _id: 0, host: "mongo:27017" }]})}' > /data/initReplicaSet.js# 啟動MongoDB服務exec docker-entrypoint.sh "$$@" &
?# 等待MongoDB服務啟動until mongo -u myusername -p mypassword --authenticationDatabase admin --eval "print('waited for connection')"; doecho "Waiting for MongoDB to start..."sleep 2done
?# 執行初始化副本集的腳本mongo -u myusername -p mypassword --authenticationDatabase admin /data/initReplicaSet.js
?# 等待docker-entrypoint.sh腳本執行的MongoDB服務進程wait $$!
?redis:image: redis:7.2-alpinecontainer_name: redis# ports:# - 6379:6379networks:- fastgptrestart: alwayscommand: |redis-server --requirepass mypassword --loglevel warning --maxclients 10000 --appendonly yes --save 60 10 --maxmemory 4gb --maxmemory-policy noevictionvolumes:- ./redis/data:/data
?# fastgptsandbox:container_name: sandboximage: ghcr.io/labring/fastgpt-sandbox:v4.9.6 # git# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sandbox:v4.9.6 # 阿里云networks:- fastgptrestart: alwaysfastgpt-mcp-server:container_name: fastgpt-mcp-serverimage: ghcr.io/labring/fastgpt-mcp_server:v4.9.6 # git# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.9.6 # 阿里云ports:- 3005:3000networks:- fastgptrestart: alwaysenvironment:- FASTGPT_ENDPOINT=http://fastgpt:3000fastgpt:container_name: fastgptimage: ghcr.io/labring/fastgpt:v4.9.6 # git# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.9.6 # 阿里云ports:- 3000:3000networks:- fastgptdepends_on:- mongo- pg- sandboxrestart: alwaysenvironment:# 前端外部可訪問的地址,用于自動補全文件資源路徑。例如 https:fastgpt.cn,不能填 localhost。這個值可以不填,不填則發給模型的圖片會是一個相對路徑,而不是全路徑,模型可能偽造Host。- FE_DOMAIN=# root 密碼,用戶名為: root。如果需要修改 root 密碼,直接修改這個環境變量,并重啟即可。- DEFAULT_ROOT_PSW=1234# AI Proxy 的地址,如果配了該地址,優先使用- AIPROXY_API_ENDPOINT=http://aiproxy:3000# AI Proxy 的 Admin Token,與 AI Proxy 中的環境變量 ADMIN_KEY- AIPROXY_API_TOKEN=aiproxy# 數據庫最大連接數- DB_MAX_LINK=30# 登錄憑證密鑰- TOKEN_KEY=any# root的密鑰,常用于升級時候的初始化請求- ROOT_KEY=root_key# 文件閱讀加密- FILE_TOKEN_KEY=filetoken# MongoDB 連接參數. 用戶名myusername,密碼mypassword。- MONGODB_URI=mongodb://myusername:mypassword@mongo:27017/fastgpt?authSource=admin# pg 連接參數- PG_URL=postgresql://username:password@pg:5432/postgres# Redis 連接參數- REDIS_URL=redis://default:mypassword@redis:6379# sandbox 地址- SANDBOX_URL=http://sandbox:3000# 日志等級: debug, info, warn, error- LOG_LEVEL=info- STORE_LOG_LEVEL=warn# 工作流最大運行次數- WORKFLOW_MAX_RUN_TIMES=1000# 批量執行節點,最大輸入長度- WORKFLOW_MAX_LOOP_TIMES=100# 自定義跨域,不配置時,默認都允許跨域(多個域名通過逗號分割)- ALLOWED_ORIGINS=# 是否開啟IP限制,默認不開啟- USE_IP_LIMIT=false# 對話文件過期天數- CHAT_FILE_EXPIRE_TIME=7volumes:- ./config.json:/app/data/config.json
?# AI Proxyaiproxy:image: ghcr.io/labring/aiproxy:v0.1.7# image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.1.7 # 阿里云container_name: aiproxyrestart: unless-stoppeddepends_on:aiproxy_pg:condition: service_healthynetworks:- fastgptenvironment:# 對應 fastgpt 里的AIPROXY_API_TOKEN- ADMIN_KEY=aiproxy# 錯誤日志詳情保存時間(小時)- LOG_DETAIL_STORAGE_HOURS=1# 數據庫連接地址- SQL_DSN=postgres://postgres:aiproxy@aiproxy_pg:5432/aiproxy# 最大重試次數- RETRY_TIMES=3# 不需要計費- BILLING_ENABLED=false# 不需要嚴格檢測模型- DISABLE_MODEL_CONFIG=truehealthcheck:test: ['CMD', 'curl', '-f', 'http://localhost:3000/api/status']interval: 5stimeout: 5sretries: 10aiproxy_pg:image: pgvector/pgvector:0.8.0-pg15 # docker hub# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.8.0-pg15 # 阿里云restart: unless-stoppedcontainer_name: aiproxy_pgvolumes:- ./aiproxy_pg:/var/lib/postgresql/datanetworks:- fastgptenvironment:TZ: Asia/ShanghaiPOSTGRES_USER: postgresPOSTGRES_DB: aiproxyPOSTGRES_PASSWORD: aiproxyhealthcheck:test: ['CMD', 'pg_isready', '-U', 'postgres', '-d', 'aiproxy']interval: 5stimeout: 5sretries: 10
networks:fastgpt:

3. 修改配置文件

編輯docker-compose.yml?:

services:fastgpt:environment:- OPENAI_BASE_URL=https://api.siliconflow.cn/v1  # 硅基流動API端點- CHAT_API_KEY=your_api_key_here  # 替換為實際API密鑰

4. 啟動容器

docker-compose up -d

5. 驗證部署

訪問http://localhost:3000?,若看到FastGPT界面,則部署成功。

訪問 FastGPT

目前可以通過 ip:3000? 直接訪問(注意開放防火墻)。登錄用戶名為 root?,密碼為docker-compose.yml?環境變量里設置的 DEFAULT_ROOT_PSW?。

如果需要域名訪問,請自行安裝并配置 Nginx。

首次運行,會自動初始化 root 用戶,密碼為 1234?(與環境變量中的DEFAULT_ROOT_PSW?一致),日志可能會提示一次MongoServerError: Unable to read from a snapshot due to pending collection catalog changes;?可忽略。

image

?

四、硅基流動免費API配置

1. 注冊與申請API密鑰

  1. 訪問硅基流動官網(cloud.siliconflow.cn),使用邀請碼PnsFln9M?注冊。

  2. 登錄后進入“API密鑰”頁面,創建新密鑰并復制。

image

image

?

2. 模型選擇與配置

硅基流動支持的模型包括:

  • Qwen2-7B(免費)

  • DeepSeek-R1(需付費或試用)

在FastGPT中配置模型

image

?

示例為Qwen2.5-7B-Instruct

image

?

image

?

自定義請求地址:

https://api.siliconflow.cn/v1/chat/completions

自定義請求 Key:

輸入你的秘鑰

?

五、集成與測試

1. 創建知識庫

  1. 在FastGPT控制臺上傳文檔(PDF/TXT等)。

  2. 選擇“知識庫管理”→“新建知識庫”,配置向量化模型(如M3E)。

image

?

然后進入數據庫添加知識文件

image

?

image

?

image

?

六、常見問題與解決方案

問題描述解決方案
MongoDB版本不兼容修改docker-compose.yml?中的Mongo鏡像版本為4.4.24。
API密鑰無效檢查密鑰格式是否正確,確保未包含空格或特殊字符。
模型響應速度慢調整模型參數(如降低溫度),或升級GPU資源。
端口沖突修改docker-compose.yml?中的端口映射(如8080:3000?)。

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

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

相關文章

19_大模型微調和訓練之-基于LLamaFactory+LoRA微調LLama3

基于LLamaFactory微調_LLama3的LoRA微調 1. 基本概念1.1. LoRA微調的基本原理1.2. LoRA與QLoRA1.3. 什么是 GGUF 2.LLaMA-Factory介紹3. 實操3.1 實驗環境3.2 基座模型3.3 安裝 LLaMA-Factory 框架3.3.1 前置條件 3.4 數據準備3.5 微調和訓練模型torch.cuda.OutOfMemoryError: …

Linux Wlan-四次握手(eapol)框架流程

協議基礎 基于 IEEE 802.1X 標準實現的協議 抓包基礎 使用上一章文章的TPLINK wn722n v1網卡在2.4G 頻段抓包&#xff08;v2、v3是不支持混雜模式的&#xff09; eapol的四個交互流程 根據不同的認證模式不同&#xff0c;兩者的Auth流程有所不同&#xff0c;但是握手流程基…

基于亞馬遜云科技 Amazon Bedrock Tool Use 實現 Generative UI

背景 在當前 AI 應用開發浪潮中&#xff0c;越來越多的開發者專注于構建基于大語言模型&#xff08;LLM&#xff09;的 chatbot 和 AI Agent。然而&#xff0c;傳統的純文本對話形式存在局限性&#xff0c;無法為用戶提供足夠直觀和豐富的交互體驗。為了增強用戶體驗&#xff…

第 2 篇:初探時間序列 - 可視化與基本概念

第 2 篇&#xff1a;初探時間序列 - 可視化與基本概念 (圖片來源: Luke Chesser on Unsplash) 在上一篇《你好&#xff0c;時間序列&#xff01;》中&#xff0c;我們了解了什么是時間序列數據以及學習它的重要性。現在&#xff0c;是時候卷起袖子&#xff0c;真正開始接觸和探…

Linux服務器配置Anaconda環境、Pytorch庫(圖文并茂的教程)

引言&#xff1a;為了方便后續新進組的 師弟/師妹 使用課題組的服務器&#xff0c;特此編文&#xff08;ps&#xff1a;我導從教至今四年&#xff0c;還未招師妹&#xff09; ? NLP 研 2 選手的學習筆記 筆者簡介&#xff1a;Wang Linyong&#xff0c;NPU&#xff0c;2023級&a…

Spring-AOP分析

Spring分析-AOP 1.案例引入 在上一篇文章中&#xff0c;【Spring–IOC】【https://www.cnblogs.com/jackjavacpp/p/18829545】&#xff0c;我們了解到了IOC容器的創建過程&#xff0c;在文末也提到了AOP相關&#xff0c;但是沒有作細致分析&#xff0c;這篇文章就結合示例&am…

【Python網絡爬蟲開發】從基礎到實戰的完整指南

目錄 前言&#xff1a;技術背景與價值當前技術痛點解決方案概述目標讀者說明 一、技術原理剖析核心概念圖解核心作用講解關鍵技術模塊技術選型對比 二、實戰演示環境配置要求核心代碼實現&#xff08;10個案例&#xff09;案例1&#xff1a;基礎靜態頁面抓取案例2&#xff1a;動…

服務器監控軟件推薦

以下是幾款常用的服務器監控軟件推薦&#xff0c;涵蓋開源和商業方案&#xff0c;適用于不同規模和需求&#xff1a; 一、開源免費方案 Prometheus Grafana 特點&#xff1a;時序數據庫 可視化儀表盤&#xff0c;支持多維度監控和告警。適用場景&#xff1a;云原生、Kubernet…

編譯原理實驗(四)———— LR(1)分析法

一、實驗目的 掌握LR(1)分析法的基本原理與實現流程。通過構造LR(1)分析表&#xff0c;驗證符號串是否符合給定文法規則。理解LR(1)分析中向前搜索符&#xff08;Lookahead Symbol&#xff09;的作用&#xff0c;解決移進-歸約沖突。 二、實驗題目 1.對下列文法&#xff0c;用…

vue3 主題模式 結合 element-plus的主題

vue3 主題模式 結合 element-plus的主題 npm i element-plus --save-dev在 Vue 3 中&#xff0c;實現主題模式主要有以下幾種方式 1.使用 CSS 變量&#xff08;自定義屬性&#xff09; CSS 變量是一種在 CSS 中定義可重用值的方式。在主題模式中&#xff0c;可以將顏色、字體…

科大訊飛Q1營收46.6億同比增長27.7%,扣非凈利同比增長48.3%

4月21日盤后&#xff0c;AI龍頭科大訊飛&#xff08;002230.SZ&#xff09;發布2024年報&#xff0c;公司全年實現營業收入233.43億元&#xff0c;同比增長18.79%&#xff0c;同期歸母凈利潤為5.6億元。 公司核心賽道業務保持快速增長&#xff0c;消費者、教育、汽車、醫療業務…

Day5-UFS總結

UFS 傳輸協議的本質&#xff1a;兩個收發器件&#xff0c;對需要傳輸的數據&#xff0c;一層一層的封裝和解析&#xff0c;利用封裝增加的額外信息&#xff0c;做一些數據處理&#xff0c;完成源地址到目標地址的數據傳輸功能。 應用協議的本質&#xff1a;基于某種傳輸協議之…

嵌入式工程師( C / C++ )筆試面試題匯總

注&#xff1a;本文為 “嵌入式工程師筆試面試題” 相關文章合輯。 未整理去重。 如有內容異常&#xff0c;請看原文。 嵌入式必會 C 語言筆試題匯總 Z 沉浮 嵌入式之旅 2021 年 01 月 19 日 00:00 用預處理指令 #define 聲明一個常數&#xff0c;用以表明 1 年中有多少秒&a…

29-JavaScript基礎語法(函數)

知識目標 理解函數的基本概念&#xff1b;掌握函數的定義和調用&#xff1b;理解函數參數和返回值及作用域&#xff1b;掌握函數高階用法。 1. 理解函數的基本概念 明確函數在 JavaScript 里是一段可重復使用的代碼塊&#xff0c;它能接收輸入參數&#xff0c;執行特定任務&…

AI答題pk機器人來襲

AI答題PK機器人是一種具備知識問答競賽功能的人工智能程序。以下為您詳細介紹&#xff1a; 一、實時對戰&#xff1a;能在答題排位PK升級賽中&#xff0c;與用戶進行1V1在線實時PK答題 。比如在一些知識競賽類APP中&#xff0c;用戶可匹配到AI機器人對手&#xff0c;在規定時…

PclSharp ——pcl的c#nuget包

簡介&#xff1a; NuGet Gallery | PclSharp 1.8.1.20180820-beta07 下載.NET Framework 4.5.2 Developer Pack&#xff1a; 下載 .NET Framework 4.5.2 Developer Pack Offline Installer 離線安裝nupkg&#xff1a; nupkg是visual studio 的NuGet Package的一個包文件 安…

【Unity筆記】Unity音視頻播放監聽器封裝筆記:VideoPlayer + AudioSource事件觸發與編輯器擴展

關鍵點 Unity VideoPlayer 播放結束事件Unity AudioSource 播放檢測 Unity音視頻播放監聽器封裝筆記&#xff1a;VideoPlayer AudioSource事件觸發與編輯器擴展 在 Unity 的多媒體開發中&#xff0c;我們經常需要監聽 VideoPlayer 或 AudioSource 的播放狀態&#xff0c;以便…

WPF常用技巧匯總

主要用于記錄工作中發現的一些問題和常見的解決方法。 此文會持續更新。 >abp new Evan.MyWpfApp -t wpf --old --framework .net8 1. 解決不同屏幕分辨率下的鋸齒問題 UseLayoutRounding"True" <Grid UseLayoutRounding"True"><Border Mar…

分數線降低,25西電馬克思主義學院(考研錄取情況)

1、馬克思主義學院各個方向 2、馬克思主義學院近三年復試分數線對比 學長、學姐分析 由表可看出&#xff1a; 1、馬克思主義理論25年相較于24年下降10分&#xff0c;為355分 3、25vs24推免/統招人數對比 學長、學姐分析 由表可看出&#xff1a; 1、 馬克思主義學院25年共接…

【Linux網絡】構建UDP服務器與字典翻譯系統

&#x1f4e2;博客主頁&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客倉庫&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;歡迎點贊 &#x1f44d; 收藏 ?留言 &#x1f4dd; 如有錯誤敬請指正&#xff01; &…