aoniAI Hub
返回应用列表
AI相面大师

AI相面大师

Web 应用对话聊天
相面分析、手相解读、生辰八字、传统文化、性格分析、趣味测评、端侧AI
截图 1

应用介绍

相面大师是一款基于**多模态大模型**、**确定性排盘算法**与**规则评分引擎**构建的综合命理分析智能体。 用户依次提供清晰的正面面部照片、手掌照片(掌纹清晰),并输入出生时间(触控屏操作) 系统将: 1. 通过视觉算法(MediaPipe FaceMesh)提取面部与手掌关键特征; 2. 利用确定性算法完成八字排盘(天干地支、五行旺衰、十神等,不依赖大模型计算,确保准确性与可复现性); 3. 融合三路信息,调用端侧多模态大模型生成解读文案,并叠加规则评分引擎输出趣味星级; 4. 通过 WebSocket 实时反馈分析进度,最终生成完整报告,并支持海报分享。 全流程端侧离线推理 · 数据不出设备 · 照片分析后自动清除。

部署方式

services:
  vllm:
    container_name: afm-vllm
    image: aoni-docker-cn-guangzhou.cr.volces.com/public/llm:vllm-openai-nightly-aarch64
    runtime: nvidia
    ports:
      - "8432:8432"
    volumes:
      - ./models:/models
    entrypoint: ["/bin/sh", "-c"]
    command:
      - |
        MODEL_DIR="/models/Qwen3.6-35B-A3B-NVFP4"
        if [ ! -f "$$MODEL_DIR/config.json" ]; then
          pip install -q modelscope
          python3 -c "from modelscope import snapshot_download; snapshot_download('RedHatAI/Qwen3.6-35B-A3B-NVFP4', local_dir='$$MODEL_DIR')"
          echo "模型下载完成"
        else
          echo "模型已存在,跳过下载"
        fi
        echo "启动 vLLM 推理服务 (端口 8432)..."
        exec python -m vllm.entrypoints.openai.api_server \
          /models/Qwen3.6-35B-A3B-NVFP4 \
          --served-model-name Qwen3.6-35B-A3B-NVFP4 \
          --host 0.0.0.0 \
          --port 8432 \
          --gpu-memory-utilization 0.4 \
          --enable-prefix-caching \
          --reasoning-parser qwen3 \
          --enable-auto-tool-choice \
          --tool-call-parser qwen3_coder \
          --max-model-len 32768 \
          --mm-processor-kwargs '{"max_length": 32768}'
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "curl", "-sf", "http://localhost:8432/v1/models"]
      interval: 30s
      timeout: 10s
      retries: 20
      start_period: 120s
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

  backend:
    container_name: afm-backend
    image: aoni-docker-cn-guangzhou.cr.volces.com/public/app/afm-backend:latest
    depends_on:
      vllm:
        condition: service_healthy
    ports:
      - "8010:8010"
    environment:
      HOST: "0.0.0.0"
      PORT: "8010"
      VLLM_BASE_URL: "http://vllm:8432/v1"
      VLLM_MODEL: "Qwen3.6-35B-A3B-NVFP4"
      SESSION_TTL: "300"
      DEBUG: "false"
      BAZI_INDEX_PATH: "/app/knowledge/embeddings/bazi.index"
      FACE_INDEX_PATH: "/app/knowledge/embeddings/face.index"
      PALM_INDEX_PATH: "/app/knowledge/embeddings/palm.index"
    volumes:
      - ./data:/app/data
    restart: unless-stopped
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

  frontend:
    container_name: afm-frontend
    image: aoni-docker-cn-guangzhou.cr.volces.com/public/app/afm-frontend:latest
    depends_on:
      - backend
    ports:
      - "8899:80"
    restart: unless-stopped
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"