PandaWiki搭建过程(一)
长亭科技出品了一款开源的知识库搭建神器:PandaWiki,它是一款 AI 大模型驱动的,帮助你快速构建智能化的,借助大模型的力量为你提供等能力。基于它可以帮你轻松搞出来一个智能化的产品文档、技术文档、FAQ甚至博客系统。无论是企业内部的技术文档,还是面向用户的产品说明,PandaWiki 都能轻松胜任。Github上Star节节攀升,朋友圈有了广泛地介绍,用了下,确实不错。
长亭科技出品了一款开源的知识库搭建神器:PandaWiki,它是一款 AI 大模型驱动的开源知识库搭建系统,帮助你快速构建智能化的 产品文档、技术文档、FAQ、博客系统,借助大模型的力量为你提供 AI 创作、AI 问答、AI 搜索 等能力。基于它可以帮你轻松搞出来一个智能化的产品文档、技术文档、FAQ甚至博客系统。无论是企业内部的技术文档,还是面向用户的产品说明,PandaWiki 都能轻松胜任。
Github上Star节节攀升,朋友圈有了广泛地介绍,用了下,确实不错。按照网上包括官方介绍地基于一键安装Docker方式,知识库通过第三方来源导入内容:根据网页 URL 导入、通过网站 Sitemap 导入、通过 RSS 订阅、通过离线文件导入等。在离线文件导入时有个20M的上传限制,感觉小了点,就着手修改,但不起作用。问了长亭科技的技术人员,答:docker里是二进制的,github上的源码可以直接修改,自己搭建。好吧,自己动手,就产生了此文,可惜限于水平能力,没有解决好,特发出来众筹解决。
一、难点所在
将源码git clone https://github.com/chaitin/PandaWiki下来后,发现官方没有提供一个重要的文件docker-compose.yml,找长亭科技技术人员,一直不答,应该是不给吧,只好自己摸索着来创建这个文件。
在此过程中,花费了很长时间摸索出docker-compose.yml内容,但还没有最终成功,现将我研究摸索的过程公布出来,希望大家众筹,能将这个完善掉,推动完成。
二、docker-compose.yml及另两个文件
docker-compose.yml 源码放上,
version: ‘3.8’
services:
# PostgreSQL 数据库
panda-wiki-postgres:
image: postgres:15-alpine
container_name: panda-wiki-postgres
environment:
POSTGRES_DB: panda-wiki
POSTGRES_USER: panda-wiki
POSTGRES_PASSWORD: panda-wiki-secret
TZ: Asia/Shanghai
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- “5432:5432”
networks:
- panda-wiki-network
restart: unless-stopped
healthcheck:
test: [“CMD-SHELL”, “pg_isready -U panda-wiki -d panda-wiki”]
interval: 10s
timeout: 5s
retries: 5
# Redis 缓存
panda-wiki-redis:
image: redis:7-alpine
container_name: panda-wiki-redis
command: redis-server --requirepass redis-secret
environment:
TZ: Asia/Shanghai
volumes:
- redis_data:/data
ports:
- “6379:6379”
networks:
- panda-wiki-network
restart: unless-stopped
healthcheck:
test: [“CMD”, “redis-cli”, “-a”, “redis-secret”, “ping”]
interval: 10s
timeout: 5s
retries: 5
# NATS 消息队列
panda-wiki-nats:
image: nats:2.10-alpine
container_name: panda-wiki-nats
command: [
“–jetstream”,
“–store_dir=/data”,
“–user=panda-wiki”,
“–pass=nats-secret”,
“–http_port=8222”
]
environment:
TZ: Asia/Shanghai
volumes:
- nats_data:/data
ports:
- “4222:4222”
- “8222:8222”
networks:
panda-wiki-network:
ipv4_address: 169.254.15.13
restart: unless-stopped
healthcheck:
test: [“CMD”, “wget”, “–quiet”, “–tries=1”, “–spider”, “http://localhost:8222/varz”]
interval: 30s
timeout: 10s
retries: 5
start_period: 40s
# MinIO 对象存储
panda-wiki-minio:
image: minio/minio:latest
container_name: panda-wiki-minio
command: server /data --console-address “:9001”
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin123
TZ: Asia/Shanghai
volumes:
- minio_data:/data
ports:
- “9000:9000”
- “9001:9001”
networks:
panda-wiki-network:
ipv4_address: 169.254.15.12
restart: unless-stopped
healthcheck:
test: [“CMD”, “curl”, “-f”, “http://localhost:9000/minio/health/live”]
interval: 10s
timeout: 5s
retries: 5
# RAG服务 - Qdrant向量数据库
panda-wiki-raglite:
image: qdrant/qdrant:latest
container_name: panda-wiki-raglite
environment:
TZ: Asia/Shanghai
ports:
- “8080:6333”
volumes:
- qdrant_data:/qdrant/storage
networks:
panda-wiki-network:
ipv4_address: 169.254.15.18
restart: unless-stopped
# 后端 API 服务
panda-wiki-api:
build:
context: ./backend
dockerfile: Dockerfile.api
args:
VERSION: “0.9.3”
container_name: panda-wiki-api
command: sleep infinity
environment:
POSTGRES_PASSWORD: panda-wiki-secret
REDIS_PASSWORD: redis-secret
NATS_PASSWORD: nats-secret
SUBNET_PREFIX: “169.254.15”
QDRANT_URL: “http://panda-wiki-raglite:6333” # 使用服务名
TZ: Asia/Shanghai
ports:
- “8000:8000”
networks:
- panda-wiki-network
depends_on:
panda-wiki-postgres:
condition: service_healthy
panda-wiki-redis:
condition: service_healthy
panda-wiki-nats:
condition: service_healthy
panda-wiki-minio:
condition: service_healthy
restart: unless-stopped
healthcheck:
test: [“CMD”, “wget”, “–quiet”, “–tries=1”, “–spider”, “http://localhost:8000/health”]
interval: 30s
timeout: 10s
retries: 3
# 后端消费者服务
panda-wiki-consumer:
build:
context: ./backend
dockerfile: Dockerfile.consumer
container_name: panda-wiki-consumer
environment:
POSTGRES_PASSWORD: panda-wiki-secret
REDIS_PASSWORD: redis-secret
NATS_PASSWORD: nats-secret
SUBNET_PREFIX: “169.254.15”
TZ: Asia/Shanghai
networks:
- panda-wiki-network
depends_on:
panda-wiki-postgres:
condition: service_healthy
panda-wiki-redis:
condition: service_healthy
panda-wiki-nats:
condition: service_healthy
panda-wiki-minio:
condition: service_healthy
restart: unless-stopped
# 前端管理界面
panda-wiki-admin:
build:
context: ./web/admin
dockerfile: Dockerfile.admin
shm_size: ‘2gb’
container_name: panda-wiki-admin
ports:
- “2443:80”
networks:
- panda-wiki-network
depends_on:
- panda-wiki-api
restart: unless-stopped
deploy:
resources:
limits:
memory: 6G
reservations:
memory: 2G
# 前端用户界面
panda-wiki-app:
build:
context: ./web/app
dockerfile: Dockerfile.app
shm_size: ‘2gb’
container_name: panda-wiki-app
ports:
- “3010:3010”
networks:
- panda-wiki-network
depends_on:
- panda-wiki-api
restart: unless-stopped
environment:
NODE_ENV: production
PORT: 3010
HOSTNAME: “0.0.0.0”
deploy:
resources:
limits:
memory: 6G
reservations:
memory: 2G
volumes:
postgres_data:
driver: local
redis_data:
driver: local
nats_data:
driver: local
minio_data:
driver: local
qdrant_data: # 添加这个卷定义
driver: local
networks:
panda-wiki-network:
driver: bridge
ipam:
config:
- subnet: 169.254.15.0/24
======================
这里还用到了 web/admin/Dockerfile.admin和web/app/Dockerfile.app,也一并放在以下的网盘中。
通过网盘分享的文件:389.pandawiki三个配置文件.rar
链接: https://pan.baidu.com/s/1hQNhS70sVCvXzZxZ4RHN9w 提取码: 3vex
三、现在的没解决问题
查看所有容器,
打开主页:
但,在输入帐号/密码时,出现:Bad Gateway错误
排查,发现:
panda-wiki-api容器不正常。
就这个问题,一直没有解决掉,希望各位能帮我解决掉。
- subnet: 169.254.15.0/24
======================
这里还用到了 web/admin/Dockerfile.admin和web/app/Dockerfile.app,也一并放在以下的网盘中。
通过网盘分享的文件:389.pandawiki三个配置文件.rar
链接: https://pan.baidu.com/s/1hQNhS70sVCvXzZxZ4RHN9w 提取码: 3vex
三、现在的没解决问题
查看所有容器,
[外链图片转存中…(img-UmG1v5ut-1750849139743)]
打开主页:
[外链图片转存中…(img-Eg8U2UIk-1750849139745)]
但,在输入帐号/密码时,出现:Bad Gateway错误
排查,发现:
[外链图片转存中…(img-0KzNI1CJ-1750849139745)]
panda-wiki-api容器不正常。
就这个问题,一直没有解决掉,希望各位能帮我解决掉。
其它的,我不截图了,反正是改来改去,都没解决好。
大模型岗位需求
大模型时代,企业对人才的需求变了,AIGC相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
掌握大模型技术你还能拥有更多可能性:
• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;
• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;
• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;
• 更优质的项目可以为未来创新创业提供基石。
可能大家都想学习AI大模型技术,也想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把全套AI技术和大模型入门资料、操作变现玩法都打包整理好,希望能够真正帮助到大家。
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
零基础入门AI大模型
今天贴心为大家准备好了一系列AI大模型资源,包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
有需要的小伙伴,可以点击下方链接免费领取【保证100%免费
】
1.学习路线图
如果大家想领取完整的学习路线及大模型学习资料包,可以扫下方二维码获取
👉2.大模型配套视频👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。(篇幅有限,仅展示部分)
大模型教程
👉3.大模型经典学习电子书👈
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(篇幅有限,仅展示部分,公众号内领取)
电子书
👉4.大模型面试题&答案👈
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(篇幅有限,仅展示部分,公众号内领取)
大模型面试
**因篇幅有限,仅展示部分资料,**有需要的小伙伴,可以点击下方链接免费领取【保证100%免费
】
**或扫描下方二维码领取 **
更多推荐
所有评论(0)