Trae Assistant commited on
Commit
2420b7f
·
1 Parent(s): 946410b

fix: docker deployment permissions and enforce siliconflow config

Browse files
Files changed (3) hide show
  1. Dockerfile +7 -4
  2. README.md +1 -1
  3. app/main.py +7 -2
Dockerfile CHANGED
@@ -1,17 +1,20 @@
1
  FROM python:3.11-slim
2
 
 
 
 
3
  WORKDIR /app
4
 
5
  # Install dependencies
6
  COPY requirements.txt .
7
  RUN pip install --no-cache-dir -r requirements.txt
8
 
9
- # Copy application code
10
- COPY . .
11
 
12
- # Create non-root user for Hugging Face Spaces
13
- RUN useradd -m -u 1000 user
14
  USER user
 
15
  ENV HOME=/home/user \
16
  PATH=/home/user/.local/bin:$PATH \
17
  PYTHONPATH=/app
 
1
  FROM python:3.11-slim
2
 
3
+ # Create user first to prevent permission issues
4
+ RUN useradd -m -u 1000 user
5
+
6
  WORKDIR /app
7
 
8
  # Install dependencies
9
  COPY requirements.txt .
10
  RUN pip install --no-cache-dir -r requirements.txt
11
 
12
+ # Copy application code with correct ownership
13
+ COPY --chown=user . .
14
 
15
+ # Switch to non-root user
 
16
  USER user
17
+
18
  ENV HOME=/home/user \
19
  PATH=/home/user/.local/bin:$PATH \
20
  PYTHONPATH=/app
README.md CHANGED
@@ -11,7 +11,7 @@ short_description: 智能电商运营助手 (Intelligent E-commerce Ops Assistan
11
 
12
  # 🛒 智能电商运营助手 (E-commerce Ops Assistant)
13
 
14
- 这是一个基于 **DeepSeek API** 和 **Vue.js** 开发的智能电商运营助手,旨在为电商从业者提供市场洞察、竞品分析和运营策略建议。
15
 
16
  ## ✨ 核心功能
17
 
 
11
 
12
  # 🛒 智能电商运营助手 (E-commerce Ops Assistant)
13
 
14
+ 这是一个基于 **DeepSeek API (via SiliconFlow)** 和 **Vue.js** 开发的智能电商运营助手,旨在为电商从业者提供市场洞察、竞品分析和运营策略建议。
15
 
16
  ## ✨ 核心功能
17
 
app/main.py CHANGED
@@ -19,20 +19,25 @@ load_dotenv()
19
 
20
  # --- 配置部分 ---
21
 
22
- API_KEY = os.getenv("DEEPSEEK_API_KEY", "sk-vimuseiptfbomzegyuvmebjzooncsqbyjtlddrfodzcdskgi")
 
23
  USE_MOCK = False
24
 
25
  # 简单的 API Key 校验逻辑
26
- if not API_KEY or API_KEY.startswith("你的_") or API_KEY == "sk-vimuseiptfbomzegyuvmebjzooncsqbyjtlddrfodzcdskgi":
27
  print("警告: 未检测到有效的 DEEPSEEK_API_KEY,将使用模拟模式")
28
  USE_MOCK = True
29
  API_KEY = "mock-key"
30
 
31
  print(f'API_KEY loaded: {"Mock Mode" if USE_MOCK else API_KEY[:5] + "..."}')
32
 
 
33
  BASE_URL = "https://api.siliconflow.cn/v1"
34
  MODEL_NAME = "deepseek-ai/DeepSeek-V3"
35
 
 
 
 
36
  # 初始化 OpenAI 客户端
37
  client = AsyncOpenAI(api_key=API_KEY, base_url=BASE_URL, timeout=None)
38
 
 
19
 
20
  # --- 配置部分 ---
21
 
22
+ # 默认不设置 Key,如果没有环境变量则进入 Mock 模式
23
+ API_KEY = os.getenv("DEEPSEEK_API_KEY", "")
24
  USE_MOCK = False
25
 
26
  # 简单的 API Key 校验逻辑
27
+ if not API_KEY or API_KEY.startswith("你的_") or len(API_KEY) < 10:
28
  print("警告: 未检测到有效的 DEEPSEEK_API_KEY,将使用模拟模式")
29
  USE_MOCK = True
30
  API_KEY = "mock-key"
31
 
32
  print(f'API_KEY loaded: {"Mock Mode" if USE_MOCK else API_KEY[:5] + "..."}')
33
 
34
+ # 硅基流动 (SiliconFlow) 配置
35
  BASE_URL = "https://api.siliconflow.cn/v1"
36
  MODEL_NAME = "deepseek-ai/DeepSeek-V3"
37
 
38
+ if not USE_MOCK:
39
+ print(f"Connecting to SiliconFlow API: {BASE_URL} with model {MODEL_NAME}")
40
+
41
  # 初始化 OpenAI 客户端
42
  client = AsyncOpenAI(api_key=API_KEY, base_url=BASE_URL, timeout=None)
43