Files
AILab/readme.md
T
2025-09-26 16:24:44 +08:00

226 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ICP(Intelligence Control Platform)
## 一、简介
主干AI实验室使用以下技术栈:
- ### 部署
- **Docker**:项目部署
- **Nginx**:前端项目部署
- **Kong**: 网关
- ### 前端
- **Vue**Vben Admin作为框架
- 开发语言:**TypeScript/JavaScript**
- ### 后端
- **Ktor**:业务后端
- 开发语言:**Java/Kotlin**
- **FastAPI**:实验室AI模块后端程序
- 开发语言:**Python**
- ### 数据库
- **Radis**:内存数据库
- **PostgreSQL**:实验室业务数据库
- **Milvus**:实验室AI模块向量数据库
- ### 人工智能
- **LangChain**:自定义LLM流程核心
- **LangGraph**Agent构建核心
- ### 对象存储服务器
- **MinIO**:实验室对象存储服务器
## 二、端口使用
公网域名:s1.ronsunny.cn
| 公网端口 | 内网端口 | 框架 | docker服务/Host | docker端口 | 功能作用 |
| -------- | -------- | ---------- | --------------- | ---------- | --------------------------------------- |
| | | Vue | ce_vue | 8090 | vue前端服务 |
| | | FastAPI | ce_pybackend | 13011 | python后端程序 |
| | 5432 | PostgreSQL | ce_postgres | 5432 | PostgreSQL数据库 |
| | 6379 | Redis | ce_redis | 6379 | Radis数据库 |
| | | Etcd | ce_etcd | 2379 | EtcdKey-Value 存储,给ce_milvus使用 |
| **9000** | 9000 | MinIO | ce_minio | 9000 | MinIO数据访问 |
| | 9001 | | ce_minio | 9001 | MinIOWeb控制端 |
| | 19530 | Milvus | ce_milvus | 19530 | Minvus数据访问 |
| | 9091 | | ce_milvus | 9091 | MinvusWeb控制端,需要加/webui |
| | 3000 | Attu | ce_attu | 3000 | AttuMinvus的**可视化**控制 |
| **8090** | 8090 | Kong | ce_kong | 8090 | Kong网关 |
| | 8001 | | ce_kong | 8001 | Kong Admin API |
| | 8002 | | ce_kong | 8002 | Kong Admin API 的 HTTPS 端口 |
| | 8444 | | ce_kong | 8444 | Kong **可视化**管理界面 |
| | 8088 | ws-scrcpy | | | Android远程框架 |
| 8088 | | | | | 已废弃,原Android远程框架,已由网关控制 |
| 8089 | | | | | 已废弃,原Ktor后端服务,已由网关控制 |
| 13011 | | | | | 已废弃:原FastAPI后端服务,已由网关控制 |
## 三、部署
### 后端
#### ktor
1. 将Ktor程序运行installDist打包程序。
2. 将程序覆盖于服务器/opt/final/ktor文件夹
3. 将项目目录server/service的ktor.service文件置于服务器/etc/systemd/system/目录
4. 输入命令使服务开机自启
```shell
sudo systemctl enable ktor.service
sudo systemctl status ktor.service
sudo systemctl restart ktor.service
```
#### python
1. 打包Docker
```
docker build -t ce_pybackend .
```
2. 保存Image为文件
```
docker save -o ce-pybackend.tar ce_pybackend
```
3. 将保存好的Image`ce-pybackend.tar`上传到服务器
4. 删除服务器的旧版镜像
```
docker rmi ce_pybackend:latest
```
5. **读取上传的新镜像**
```
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
1. 在vue目录运行docker打包命令
```shell
pnpm build:docker
```
2. 将Image保存为文件
```shell
docker save -o vue.tar ce_vue
```
3. 将保存好的Image`vue.tar`上传到服务器
4. 停掉之前的docker compose
```
docker-compose down
```
5. 删除之前的Image
```shell
docker rmi ce_vue:latest
```
6. 在服务器读取Image
```shell
docker load -i vue.tar
```
7. 重新运行
```
docker compose up -d
```
### Docker Compose
包含Vue、PostgreSQL、Radis、MinIO在内的Docker Compose服务
1. 将项目目录下的`server/docker-compose.yml`复制到服务器`/opt/fianl/vue-image/`文件夹下
2. 在`/opt/fianl/vue-image/`文件夹下运行Docker Compose
```shell
docker compose up -d
```
## 其他
### docker的地址
windowshost.docker.internal
Linuxip addr show docker0 查看
### Vue项目使用
- 本地运行dist文件夹
```shell
npm install -g http-server
cd dist
http-server -p 8080
```
- VBen项目运行方法
1. 下载最新node
2. 开发
```shell
# 进入项目目录
cd vue-vben-admin
# 使用项目指定的pnpm版本进行依赖安装
npm i -g corepack
# 安装依赖
pnpm install
# 启动项目
pnpm dev
```
3. 本地部署
```shell
构建
pnpm build
预览
pnpm preview
```