3fb43c09f372c69dbb82874439ac305ec1e3da52
ICP(Intelligence Control Platform)
一、简介
主干AI实验室使用以下技术栈:
-
部署
- Docker:项目部署
- Nginx:前端项目部署
- Kong: 网关
-
前端
- Vue:Vben Admin作为框架
- 开发语言:TypeScript/JavaScript
- Vue:Vben Admin作为框架
-
后端
- Ktor:业务后端
- 开发语言:Java/Kotlin
- FastAPI:实验室AI模块后端程序
- 开发语言:Python
- Ktor:业务后端
-
数据库
- Radis:内存数据库
- PostgreSQL:实验室业务数据库
- Milvus:实验室AI模块向量数据库
-
人工智能
- LangChain:自定义LLM流程核心
- LangGraph:Agent构建核心
-
对象存储服务器
- MinIO:实验室对象存储服务器
二、端口使用
公网域名:s1.ronsunny.cn
| 公网端口 | 内网端口 | docker端口 | docker服务/Host | 框架 | 功能作用 |
|---|---|---|---|---|---|
| 8090 | ce_vue | Vue | vue前端服务 | ||
| 8089 | Ktor | 实验室业务后端 | |||
| 13011 | ce_pybackend | FastAPI | 实验室AI后端 | ||
| 5432 | 5432 | ce_postgres | PostgreSQL | PostgreSQL数据库 | |
| 6379 | 6379 | ce_redis | Redis | Radis数据库 | |
| 2379 | ce_etcd | Etcd | Etcd,Key-Value 存储,给ce_milvus使用 | ||
| 9000 | 9000 | 9000 | ce_minio | MinIO | MinIO数据访问 |
| 9001 | 9001 | ce_minio | MinIO | MinIOWeb控制端 | |
| 19530 | 19530 | ce_milvus | Milvus | Minvus数据访问 | |
| 9091 | 9091 | ce_milvus | Milvus | MinvusWeb控制端,需要加/webui | |
| 3000 | 3000 | ce_attu | Attu | Attu,Minvus的可视化控制 | |
| 8090 | 8090 | 8090 | ce_kong | Kong | Kong网关 |
| 8001 | 8001 | ce_kong | Kong | Kong Admin API | |
| 8002 | 8002 | ce_kong | Kong | Kong 可视化管理界面 | |
| 8444 | 8444 | ce_kong | Kong | Kong Admin API 的 HTTPS 端口 | |
| 8088 | ws-scrcpy | Android远程框架 | |||
| 9876 | 9876 | ce_rmq_name_srv | RocketMQ | NameServer | |
| 8080 | 8080 | ce_rmq_proxy | RocketMQ | RocketMQ Proxy 的 消息发送/消费 REST API 或 TCP 代理端口 | |
| 8081 | 8081 | ce_rmq_proxy | RocketMQ | RocketMQ Proxy 的 管理/监控接口 | |
| 8082 | 8082 | ce_rmq_dashboard | RocketMQ | RocketMQ Dashboard Web UI 端口 | |
| 10909 | 10909 | ce_rmq_broker_a | RocketMQ | broker 内部默认端口 | |
| 10911 | 10911 | ce_rmq_broker_a | RocketMQ | Consumer 拉取消息的端口 | |
| 10912 | 10912 | ce_rmq_broker_a | RocketMQ | Broker 之间的集群复制/同步 | |
| 10929 | 10909 | ce_rmq_broker_b | RocketMQ | broker 内部默认端口 | |
| 10931 | 10911 | ce_rmq_broker_b | RocketMQ | Consumer 拉取消息的端口 | |
| 10932 | 10912 | ce_rmq_broker_b | RocketMQ | Broker 之间的集群复制/同步 | |
| 8088 | 建议后续关闭,原Android远程框架,已由网关控制 | ||||
| 8089 | 建议后续关闭,原Ktor后端服务,已由网关控制 | ||||
| 13011 | 已空闲:原FastAPI后端服务,已由网关控制 |
| 服务 | 端口 | 用途 |
|---|---|---|
| NameServer | 9876 | 注册/查询 Broker 地址,服务发现 |
| Broker | 10909 | 内部集群通信(心跳、同步) |
| 10911 | 外部客户端通信(Producer/Consumer) | |
| 10912 | HA 主从同步(可选) | |
| Proxy | 8080 | HTTP/REST 客户端访问 Broker |
| 8081 | Proxy 管理/状态监控 | |
| Dashboard | 8082 | Web UI 可视化监控 |
三、部署
后端
ktor
-
将Ktor程序运行installDist打包程序。
-
将程序覆盖于服务器/opt/final/ktor文件夹
-
将项目目录server/service的ktor.service文件置于服务器/etc/systemd/system/目录
-
输入命令使服务开机自启
sudo systemctl enable ktor.service sudo systemctl status ktor.service sudo systemctl restart ktor.service
python
-
打包Docker
docker build -t ce_pybackend . -
保存Image为文件
docker save -o ce-pybackend.tar ce_pybackend -
将保存好的Image
ce-pybackend.tar上传到服务器 -
删除服务器的旧版镜像
docker rmi ce_pybackend:latest -
读取上传的新镜像
docker load -i ce_pybackend.tar
其他命令:
-
测试运行docker
docker run -d -p 13011:13011 ce_pybackend -
调试运行项目
uvicorn app:app --reload --host 0.0.0.0 --port 13011 -
docker日志查看
docker logs -f ce_pybackend
前端
直接在wsl中build,不要install
-
在vue目录运行docker打包命令
pnpm build:docker -
将Image保存为文件
docker save -o vue.tar ce_vue -
将保存好的Image
vue.tar上传到服务器 -
停掉之前的docker compose
docker-compose down -
删除之前的Image
docker rmi ce_vue:latest -
在服务器读取Image
docker load -i vue.tar -
重新运行
docker compose up -d
Docker Compose
包含Vue、PostgreSQL、Radis、MinIO在内的Docker Compose服务
-
将项目目录下的
server/docker-compose.yml复制到服务器/opt/fianl/vue-image/文件夹下 -
在
/opt/fianl/vue-image/文件夹下运行Docker Composedocker compose up -d
其他
docker的地址
windows:host.docker.internal
Linux:ip addr show docker0 查看
Vue项目使用
- 本地运行dist文件夹
npm install -g http-server
cd dist
http-server -p 8080
- VBen项目运行方法
-
下载最新node
-
开发
# 进入项目目录 cd vue-vben-admin # 使用项目指定的pnpm版本进行依赖安装 npm i -g corepack # 安装依赖 pnpm install # 启动项目 pnpm dev -
本地部署
构建 pnpm build 预览 pnpm preview
Description
Languages
Vue
39.2%
Python
30%
TypeScript
21.8%
Kotlin
5.4%
CSS
1.2%
Other
2.2%