diff --git a/.env.template b/.env.template index fa873b0b..1528b759 100644 --- a/.env.template +++ b/.env.template @@ -4,7 +4,7 @@ REDIS_URL=redis://redis:6379/0 RUN_EVENTS_STREAM_TTL_SECONDS=7200 RUN_CANCEL_KEY_TTL_SECONDS=1800 LANGGRAPH_CHECKPOINTER_BACKEND=postgres -VITE_USE_RUNS_API=false +VITE_USE_RUNS_API=false # 部分体验有待优化,debug # region model_provider SILICONFLOW_API_KEY= # 推荐使用硅基流动免费服务 https://cloud.siliconflow.cn/i/Eo5yTHGJ diff --git a/docker-compose.yml b/docker-compose.yml index 2229b417..acaccc39 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,3 +1,26 @@ +x-api-worker-env: &api-worker-env + HOST_IP: ${HOST_IP:-} + LITE_MODE: ${LITE_MODE:-} + RUNNING_IN_DOCKER: "true" + MODEL_DIR_IN_DOCKER: /models + PYTHONPATH: /app/package + POSTGRES_URL: ${POSTGRES_URL:-postgresql+asyncpg://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/${POSTGRES_DB:-yuxi_know}} + REDIS_URL: ${REDIS_URL:-redis://redis:6379/0} + RUN_CANCEL_KEY_TTL_SECONDS: ${RUN_CANCEL_KEY_TTL_SECONDS:-1800} + RUN_EVENTS_STREAM_TTL_SECONDS: ${RUN_EVENTS_STREAM_TTL_SECONDS:-7200} + NEO4J_URI: ${NEO4J_URI:-bolt://graph:7687} + NEO4J_USERNAME: ${NEO4J_USERNAME:-neo4j} + NEO4J_PASSWORD: ${NEO4J_PASSWORD:-0123456789} + MILVUS_URI: ${MILVUS_URI:-http://milvus:19530} + MILVUS_DB_NAME: ${MILVUS_DB_NAME:-default} + MILVUS_TOKEN: ${MILVUS_TOKEN:-} + MINERU_VL_SERVER: ${MINERU_VL_SERVER:-http://mineru-vllm-server:30000} + MINERU_API_URI: ${MINERU_API_URI:-http://mineru-api:30001} + PADDLEX_URI: ${PADDLEX_URI:-http://paddlex:8080} + MINIO_URI: ${MINIO_URI:-http://minio:9000} + NO_PROXY: localhost,127.0.0.1,milvus,graph,minio,milvus-etcd-dev,etcd,mineru,paddlex,api.siliconflow.cn + no_proxy: localhost,127.0.0.1,milvus,graph,minio,milvus-etcd-dev,etcd,mineru,paddlex,api.siliconflow.cn + services: api: build: @@ -24,27 +47,7 @@ services: - .env # region api_envs environment: - - HOST_IP=${HOST_IP:-} - - LITE_MODE=${LITE_MODE:-} - - POSTGRES_URL=${POSTGRES_URL:-postgresql+asyncpg://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/${POSTGRES_DB:-yuxi_know}} - - REDIS_URL=${REDIS_URL:-redis://redis:6379/0} - - RUN_EVENTS_STREAM_TTL_SECONDS=${RUN_EVENTS_STREAM_TTL_SECONDS:-7200} - - RUN_CANCEL_KEY_TTL_SECONDS=${RUN_CANCEL_KEY_TTL_SECONDS:-1800} - - NEO4J_URI=${NEO4J_URI:-bolt://graph:7687} - - NEO4J_USERNAME=${NEO4J_USERNAME:-neo4j} - - NEO4J_PASSWORD=${NEO4J_PASSWORD:-0123456789} - - MILVUS_URI=${MILVUS_URI:-http://milvus:19530} - - MILVUS_DB_NAME=${MILVUS_DB_NAME:-default} - - MILVUS_TOKEN=${MILVUS_TOKEN:-} - - MINERU_VL_SERVER=${MINERU_VL_SERVER:-http://mineru-vllm-server:30000} - - MINERU_API_URI=${MINERU_API_URI:-http://mineru-api:30001} - - PADDLEX_URI=${PADDLEX_URI:-http://paddlex:8080} - - MINIO_URI=${MINIO_URI:-http://minio:9000} - - MODEL_DIR_IN_DOCKER=/models - - RUNNING_IN_DOCKER=true - - NO_PROXY=localhost,127.0.0.1,milvus,graph,minio,milvus-etcd-dev,etcd,minio,mineru,paddlex,api.siliconflow.cn - - no_proxy=localhost,127.0.0.1,milvus,graph,minio,milvus-etcd-dev,etcd,minio,mineru,paddlex,api.siliconflow.cn - - PYTHONPATH=/app/package + <<: *api-worker-env # endregion api_envs command: uv run --no-dev uvicorn server.main:app --host 0.0.0.0 --port 5050 --reload restart: unless-stopped @@ -86,27 +89,7 @@ services: env_file: - .env environment: - - HOST_IP=${HOST_IP:-} - - LITE_MODE=${LITE_MODE:-} - - POSTGRES_URL=${POSTGRES_URL:-postgresql+asyncpg://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/${POSTGRES_DB:-yuxi_know}} - - REDIS_URL=${REDIS_URL:-redis://redis:6379/0} - - RUN_EVENTS_STREAM_TTL_SECONDS=${RUN_EVENTS_STREAM_TTL_SECONDS:-7200} - - RUN_CANCEL_KEY_TTL_SECONDS=${RUN_CANCEL_KEY_TTL_SECONDS:-1800} - - NEO4J_URI=${NEO4J_URI:-bolt://graph:7687} - - NEO4J_USERNAME=${NEO4J_USERNAME:-neo4j} - - NEO4J_PASSWORD=${NEO4J_PASSWORD:-0123456789} - - MILVUS_URI=${MILVUS_URI:-http://milvus:19530} - - MILVUS_DB_NAME=${MILVUS_DB_NAME:-default} - - MILVUS_TOKEN=${MILVUS_TOKEN:-} - - MINERU_VL_SERVER=${MINERU_VL_SERVER:-http://mineru-vllm-server:30000} - - MINERU_API_URI=${MINERU_API_URI:-http://mineru-api:30001} - - PADDLEX_URI=${PADDLEX_URI:-http://paddlex:8080} - - MINIO_URI=${MINIO_URI:-http://minio:9000} - - MODEL_DIR_IN_DOCKER=/models - - RUNNING_IN_DOCKER=true - - NO_PROXY=localhost,127.0.0.1,milvus,graph,minio,milvus-etcd-dev,etcd,minio,mineru,paddlex,api.siliconflow.cn - - no_proxy=localhost,127.0.0.1,milvus,graph,minio,milvus-etcd-dev,etcd,minio,mineru,paddlex,api.siliconflow.cn - - PYTHONPATH=/app/package + <<: *api-worker-env command: uv run --no-dev arq server.worker_main.WorkerSettings restart: unless-stopped depends_on: