Spaces:
Runtime error
Runtime error
| # 这是一个临时的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/[email protected] | |
| RUN go get google.golang.org/[email protected] | |
| RUN go get github.com/gin-gonic/[email protected] | |
| RUN go get github.com/go-playground/validator/[email protected] | |
| RUN go get github.com/gabriel-vasile/[email protected] | |
| # 复制源代码 | |
| 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"] |