# 这是一个临时的Dockerfile,用于在Hugging Face上部署占位符服务 # TODO: 解决完整版本的依赖问题后替换此文件 # 第一阶段:构建Go服务 FROM golang:1.20-alpine AS go-builder # 安装基本依赖 RUN apk add --no-cache git build-base ca-certificates # 设置工作目录 WORKDIR /app # 初始化go.mod RUN go mod init tokenizer # 预先下载依赖 RUN go get github.com/google/generative-ai-go/genai@v0.8.0 RUN go get google.golang.org/api@v0.152.0 RUN go get github.com/gin-gonic/gin@v1.9.1 RUN go get github.com/go-playground/validator/v10@v10.14.0 RUN go get github.com/gabriel-vasile/mimetype@v1.4.2 # 复制源代码 COPY main.go . # 确保依赖关系 RUN go mod tidy RUN go mod download # 构建 RUN CGO_ENABLED=0 GOOS=linux go build -o tokenizer -a -installsuffix cgo -ldflags="-w -s" . # 第二阶段:构建Python环境 FROM python:3.9-slim # 安装基本依赖 RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ && rm -rf /var/lib/apt/lists/* # 设置工作目录 WORKDIR /app # 复制Go二进制文件 COPY --from=go-builder /app/tokenizer . # 复制Python服务文件和tokenizer文件 COPY deepseek_v3_tokenizer /app/deepseek_v3_tokenizer COPY openai_service.py /app/ # 安装Python依赖 RUN pip install --no-cache-dir flask transformers tiktoken # 设置环境变量 ENV GIN_MODE=release ENV PORT=7860 ENV DEEPSEEK_URL=http://127.0.0.1:7861 ENV OPENAI_URL=http://127.0.0.1:7862 # 创建启动脚本 RUN echo '#!/bin/sh\n\ python /app/deepseek_v3_tokenizer/deepseek_service.py & \n\ python /app/openai_service.py & \n\ sleep 5\n\ ./tokenizer' > /app/start.sh && chmod +x /app/start.sh # 暴露端口 EXPOSE 7860 7861 7862 # 启动服务 CMD ["/app/start.sh"]