-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
36 lines (36 loc) · 1.88 KB
/
Copy pathdocker-compose.yml
File metadata and controls
36 lines (36 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
services:
cartcompass-api:
build:
context: .
dockerfile: server/Dockerfile
ports:
- "8000:8000"
environment:
CARTCOMPASS_DB: /app/server/storage/shopguide.sqlite3
CARTCOMPASS_STATIC_DIR: /app/server/static
ARK_BASE_URL: ${ARK_BASE_URL:-https://ark.cn-beijing.volces.com/api/v3}
ARK_MODEL: ${ARK_MODEL:-doubao-seed-2-0-lite-260428}
ARK_API_KEY: ${ARK_API_KEY:-}
VISION_UNDERSTANDING_MODEL: ${VISION_UNDERSTANDING_MODEL:-doubao-seed-2-0-lite-260428}
VISION_UNDERSTANDING_API_KEY: ${VISION_UNDERSTANDING_API_KEY:-}
VISION_UNDERSTANDING_JSON_MODE: ${VISION_UNDERSTANDING_JSON_MODE:-false}
VISION_UNDERSTANDING_IMAGE_DETAIL: ${VISION_UNDERSTANDING_IMAGE_DETAIL:-low}
VISION_UNDERSTANDING_MAX_IMAGE_SIDE: ${VISION_UNDERSTANDING_MAX_IMAGE_SIDE:-768}
# Multimodal text/image embedding — required to demonstrate semantic
# retrieval and cross-modal photo search inside the container. The API key
# falls back to ARK_API_KEY when TEXT_EMBEDDING_API_KEY is unset.
TEXT_EMBEDDING_MODEL: ${TEXT_EMBEDDING_MODEL:-doubao-embedding-vision-251215}
TEXT_EMBEDDING_API_KEY: ${TEXT_EMBEDDING_API_KEY:-}
TEXT_EMBEDDING_BASE_URL: ${TEXT_EMBEDDING_BASE_URL:-https://ark.cn-beijing.volces.com/api/v3}
TEXT_EMBEDDING_TIMEOUT_SECONDS: ${TEXT_EMBEDDING_TIMEOUT_SECONDS:-20}
TEXT_EMBEDDING_PRECOMPUTE_ON_STARTUP: ${TEXT_EMBEDDING_PRECOMPUTE_ON_STARTUP:-true}
# CORS allowlist; default "*" for demos, set a comma-separated whitelist in prod.
CORS_ALLOW_ORIGINS: ${CORS_ALLOW_ORIGINS:-*}
volumes:
- ./server/storage:/app/server/storage
- ./server/static:/app/server/static
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/api/health', timeout=3).read()"]
interval: 20s
timeout: 5s
retries: 5