1. 操作系统环境
CPU:20核 Xeon(R) Platinum 8457C
内存:64GB
GPU:4090
操作系统:KylinOS-V10-SP3
2. 安装docker、docker-compose、fastgpt
下载安装docker、docker-compose
1. 下载docker
docker 下载地址: https://download.docker.com/linux/static/stable/x86_64/docker-20.10.0.tgz
tar -zxvf docker-20.10.0.tgz
mv docker/* /usr/bin2. 下载docker-compose
下载 docker-compose,地址为 https://github.com/docker/compose/releases
找到docker-compose-linux-x86_64并进行下载
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose -v-------------------配置环境----------------------
vi /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
下载fastgpt docker-compose 的脚本
mkdir fastgpt
cd fastgpt
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json# pgvector 版本(测试推荐,简单快捷)
curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-pgvector.yml
# oceanbase 版本(需要将init.sql和docker-compose.yml放在同一个文件夹,方便挂载)
# curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-oceanbase/docker-compose.yml
# curl -o init.sql https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-oceanbase/init.sql
# milvus 版本
# curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-milvus.yml
# zilliz 版本
# curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-zilliz.yml# 启动容器
docker-compose up -d
导出fastgpt镜像并导入离线服务器
docker支持对安装的容器进行打包,打包后导出到离线服务器可以支持离线安装部署。
# 导出所有镜像
docker save $(docker images --format '{{.Repository}}:{{.Tag}}') -o fastgpt.tar在离线环境中,在预先安装好docker和docker-compose的情况下可以通过如下命令导入进行,并运行。命令如下:#导入离线服务器的docker环境docker load -i fastgpt.tar
# 启动容器
docker-compose up -d
3. fastgpt使用本地ollama模型
测试ollama正确
curl http://{ip}:11434/api/generate -d '{"model": "deepseek-r1:7b","prompt": "Hello, how are you?"}'
在fastgpt页面配置ollama及模型
在fastgpt测试模型
prompt 功能测试用例
通过prompt方式引导模型按照一定格式思考和回复输入内容
1. prompt 填写内容# 任务描述
请根据对话文本的内容,仔细分析并推测 B 的性别、年龄、职业、社保交费年限,以及社保交费地等相关信息,并按照 Markdown
表格格式输出。
# 输出格式
|字段名称|值|推断理由|2. 对话框内容
A: 嗨,兄弟,你家哪里啊?
B: 老家在湖北襄阳那边。
A: 巧了,老乡啊,你在北京上班几年了?
B: 11 年多了,2012 年大学毕业就来这个公司了。
A: 工作忙吗,每天工作啥内容,强度大吗?
B: 也就写写 PRD 什么的,工作很累。
A: 你社保一直在工作地交的吗,从哪一年开始交的?
B: 是啊,从第一年工作就开始交了。
根据对话文本,推断出 B 的性别、年龄、职业、社保缴费年限和社保缴费地信息3. 测试结果(deepseek 7B)
<think>
好的,我现在需要分析用户提供的对话,并推断出B的性别、年龄、职业、社保缴费年限以及社保缴费地的相关信息。首先,我会仔细阅读对话内容,寻找其中提到的关键点。对话中,A询问了B的家乡,B回答来自湖北襄阳。接着,A提到在北京上班几年,B表示从2012年大学毕业到现在一直在公司工作,已经工作了大约11年多。然后,A问工作情况如何,B回应每天写PRD等,工作强度较大。最后,A询问社保缴纳情况,B回答从第一年就开始缴纳。接下来,我需要逐一分析每个问题:1. **性别**:对话中没有提到B的性别信息,因此无法直接推断。在这种情况下,默认可能为男性,但这一点需要注意,因为社会角色和职业选择可能会影响推断。2. **年龄**:B在2012年大学毕业后工作了大约11年多(截至2023年),所以他的年龄约为33岁左右。3. **职业**:B的工作内容包括撰写PRD等,这表明他属于软件开发工程师或相关领域的工作。4. **社保缴费年限**:B从第一年工作开始缴纳社保,持续了11年多(截至2023年)。5. **社保缴费地**:由于B一直在北京工作,因此社保缴纳地也是北京。通过以上分析,我整理出以下信息:- 性别:男性(默认假设)
- 年龄:约33岁
- 职业:软件开发工程师
- 社保缴费年限:11年
- 社保缴费地:北京总结来说,尽管缺乏直接的性别信息,但根据工作内容、年龄和工作地点,可以合理推断出B的各项信息。
</think>|字段名称|值|推断理由|
---|---|---|---
性别|男|从对话中没有直接提到性别,因此默认为男性。|
年龄|33岁|根据对话内容,B在2012年大学毕业后工作了11年多(截至2023年),因此年龄约为33岁。|
职业|软件开发工程师|B的工作内容包括撰写PRD等,属于典型的软件开发工程师职责范围。|
社保缴费年限|11年|B从第一年工作开始缴纳社保,持续到2023年,共计11年。|
社保缴费地|北京|根据对话内容,B一直在北京工作,因此社保缴纳地为北京。|
4. 遇到的问题:
1. 浏览器界面在输入推理点击运行时候,报错relation "modeldata" does not exist 。
问题出在pg数据库上,在此我把我的配置文件贴在下面。同时需要root用户运行docker-compose.
# 数据库的默认账号和密码仅首次运行时设置有效
# 如果修改了账号密码,记得改数据库和项目连接参数,别只改一处~
# 该配置文件只是给快速启动,测试使用。正式使用,记得务必修改账号密码,以及调整合适的知识库参数,共享内存等。
# 如何无法访问 dockerhub 和 git,可以用阿里云(阿里云没有arm包)version: '3.3'
services:# dbpg:# image: postgres:15-alpine #image: pgvector/pgvector:0.8.0-pg15 # docker hubimage: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.8.0-pg15 # 阿里云#image: postgres:15 container_name: pgrestart: always# ports: # 生产环境建议不要暴露# - 5432:5432networks:- fastgptenvironment:# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果- POSTGRES_USER=username- POSTGRES_PASSWORD=password- POSTGRES_DB=postgresvolumes:- ./pg/data:/var/lib/postgresql/datahealthcheck:test: ['CMD', 'pg_isready', '-U', 'postgres', '-d', 'postgres']interval: 5stimeout: 5sretries: 10mongo:# image: mongo:5.0.18 # dockerhubimage: 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 noevictionhealthcheck:test: ['CMD', 'redis-cli', '-a', 'mypassword', 'ping']interval: 10stimeout: 3sretries: 3start_period: 30svolumes:- ./redis/data:/data# fastgptsandbox:container_name: sandbox# image: ghcr.io/labring/fastgpt-sandbox:v4.9.11 # gitimage: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sandbox:v4.9.11 # 阿里云networks:- fastgptrestart: alwaysfastgpt-mcp-server:container_name: fastgpt-mcp-server# image: ghcr.io/labring/fastgpt-mcp_server:v4.9.11 # gitimage: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.9.11 # 阿里云ports:- 3005:3000networks:- fastgptrestart: alwaysenvironment:- FASTGPT_ENDPOINT=http://fastgpt:3000fastgpt:container_name: fastgpt# image: ghcr.io/labring/fastgpt:v4.9.11 # gitimage: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.9.11 # 阿里云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.7image: 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: postgres:15-alpine #image: pgvector/pgvector:0.8.0-pg15 # docker hub# image: postgres:15 # 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: