NOMIC 零基础部署搭建实战指南
项目简介
NOMIC是一个开源的AI数据标注与分析平台,提供强大的图像、文本和视频标注功能。该项目采用现代Web技术栈开发,支持团队协作和自动化标注流程。
核心功能:
多模态数据标注(图像、文本、视频)实时团队协作AI辅助标注版本控制和历史追溯技术栈:
前端:React + TypeScript后端:Node.js + Express数据库:MongoDBAI引擎:PyTorchGitHub地址:
https://github.com/nomic-ai/nomic (★4.2k)
云耀服务器配置选型
配置项 | 基础型 (2C4G) | 进阶型 (4C8G) | 专业型 (8C16G) |
---|---|---|---|
CPU | 2核 | 4核 | 8核 |
内存 | 4GB | 8GB | 16GB |
带宽 | 5Mbps | 10Mbps | 20Mbps |
存储 | 50GB SSD | 100GB SSD | 200GB SSD |
适用场景 | 个人测试 | 小型团队 | 企业级部署 |
推荐选择进阶型(4C8G)配置,能够流畅运行NOMIC及其依赖服务。
通用部署流程
1. 运行环境准备
# Ubuntu 22.04系统更新sudo apt update && sudo apt upgrade -y# 安装基础工具sudo apt install -y git curl wget unzip
2. 服务器配置优化
# 调整文件描述符限制echo "* soft nofile 65535" | sudo tee -a /etc/security/limits.confecho "* hard nofile 65535" | sudo tee -a /etc/security/limits.conf# 调整内核参数echo "vm.swappiness = 10" | sudo tee -a /etc/sysctl.confsudo sysctl -p
3. 安装依赖
# 安装Node.js 18.xcurl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -sudo apt install -y nodejs# 安装MongoDB 6.0wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.listsudo apt updatesudo apt install -y mongodb-orgsudo systemctl enable --now mongod# 安装Python依赖sudo apt install -y python3 python3-pip python3-venvpip3 install torch torchvision
4. 启动服务
# 克隆项目仓库git clone https://github.com/nomic-ai/nomic.gitcd nomic# 安装前端依赖cd frontendnpm installnpm run build# 安装后端依赖cd ../backendnpm install# 启动服务 (开发模式)npm run dev# 生产环境启动NODE_ENV=production PORT=3000 nohup npm start &
Nginx完整配置
upstream nomic_app { server 127.0.0.1:3000; keepalive 32;}server { listen 80; server_name your-domain.com; # 重定向到HTTPS return 301 https://$host$request_uri;}server { listen 443 ssl http2; server_name your-domain.com; ssl_certificate /path/to/your/cert.pem; ssl_certificate_key /path/to/your/key.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; # 静态资源缓存 location /static/ { alias /path/to/nomic/frontend/build/static/; expires 365d; access_log off; } # API反向代理 location /api/ { proxy_pass http://nomic_app; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_bypass $http_upgrade; } # WebSocket支持 location /socket.io/ { proxy_pass http://nomic_app; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } # 前端路由 location / { root /path/to/nomic/frontend/build; try_files $uri /index.html; } # 优化配置 client_max_body_size 100M; keepalive_timeout 75s; send_timeout 300; tcp_nodelay on; tcp_nopush on;}
系统优化建议
数据库索引优化:# 连接到MongoDBmongo
创建常用查询索引
use nomicdb.annotations.createIndex({ projectId: 1, createdAt: -1 })db.users.createIndex({ email: 1 }, { unique: true })
2. **服务监控设置**:```bash# 安装PM2进程管理器npm install -g pm2# 使用PM2启动服务cd /path/to/nomic/backendpm2 start npm --name "nomic-backend" -- startpm2 savepm2 startup
日志轮转配置:# 创建日志轮转配置文件sudo tee /etc/logrotate.d/nomic <<EOF/path/to/nomic/logs/*.log { daily missingok rotate 30 compress delaycompress notifempty create 644 root root}EOF
完成以上步骤后,NOMIC平台将成功部署并可通过域名访问。系统提供完整的AI数据标注功能,支持团队协作和自动化工作流管理。