添加配置
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 5m11s

This commit is contained in:
2026-04-21 22:07:20 +08:00
parent aa8072369c
commit efa8bbcd03
4 changed files with 138 additions and 74 deletions

View File

@@ -1,16 +1,14 @@
# ============================================================================= # =============================================================================
# Docker Compose 服务器部署配置 # Docker Compose 服务器部署配置模板
# 用法: cp .env.docker .env 然后填入 API Key # 用法: cp .env.docker .env 然后填入敏感密钥
# ============================================================================= # =============================================================================
# ⭐ 敏感密钥配置(必须在此配置) # -----------------------------------------------------------------------------
# ============================================================================= # AI 模型 API 密钥(⭐ 敏感配置 - 必须填入真实值)
# AI 模型 API 密钥 # -----------------------------------------------------------------------------
ZHIPUAI_API_KEY=your_zhipuai_api_key_here ZHIPUAI_API_KEY=your_zhipuai_api_key_here # ⭐ 敏感密钥配置
DEEPSEEK_API_KEY=your_deepseek_api_key_here DEEPSEEK_API_KEY=your_deepseek_api_key_here # ⭐ 敏感密钥配置
LLAMACPP_API_KEY=your_llamacpp_api_key_here # ⭐ 敏感密钥配置
# llama.cpp 服务认证 Token与容器启动参数一致
LLAMACPP_API_KEY=huang1998
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# PostgreSQL 数据库配置(分离配置,易于管理) # PostgreSQL 数据库配置(分离配置,易于管理)
@@ -18,33 +16,47 @@ LLAMACPP_API_KEY=huang1998
DB_HOST=115.190.121.151 DB_HOST=115.190.121.151
DB_PORT=5432 DB_PORT=5432
DB_USER=postgres DB_USER=postgres
DB_PASSWORD=huang1998 DB_PASSWORD=your_db_password_here # ⭐ 敏感密钥配置
DB_NAME=langgraph_db DB_NAME=langgraph_db
# 完整连接字符串(也支持直接配置,优先使用分离配置) # 完整连接字符串(也支持直接配置,优先使用分离配置)
DB_URI=postgresql://postgres:huang1998@115.190.121.151:5432/langgraph_db?sslmode=disable DB_URI=postgresql://postgres:${DB_PASSWORD}@115.190.121.151:5432/langgraph_db?sslmode=disable
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Qdrant 向量数据库配置URL + API密钥 配对) # Qdrant 向量数据库配置URL + API密钥 配对)
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
QDRANT_URL=http://115.190.121.151:6333 QDRANT_URL=http://115.190.121.151:6333
QDRANT_API_KEY=huang1998 QDRANT_API_KEY=your_qdrant_api_key_here # ⭐ 敏感密钥配置
QDRANT_COLLECTION_NAME=mem0_user_memories QDRANT_COLLECTION_NAME=mem0_user_memories
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# llama.cpp 服务配置URL + API密钥 配对) # llama.cpp 服务配置URL + API密钥 配对)
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# 主 LLM 服务 (Gemma-4-E2B GGUF) - 端口 8081 # 主 LLM 服务 (Gemma-4-E2B GGUF) - 端口 18000 (Docker host 映射)
VLLM_BASE_URL=http://host.docker.internal:18000/v1 VLLM_BASE_URL=http://host.docker.internal:18000/v1
# Embedding 服务 (embeddinggemma-300M GGUF) - 端口 8082 # Embedding 服务 (Qwen3-Embedding-0.6B GGUF) - 端口 18001
LLAMACPP_EMBEDDING_URL=http://host.docker.internal:18001/v1 LLAMACPP_EMBEDDING_URL=http://host.docker.internal:18001/v1
# LLAMACPP_API_KEY=huang1998 (已在上面配置) # LLAMACPP_API_KEY=your_llamacpp_api_key_here (已在上面配置)
# Reranker 服务 (bge-reranker-v2-m3) - 端口 8083 # Reranker 服务 (bge-reranker-v2-m3) - 端口 18002
LLAMACPP_RERANKER_URL=http://host.docker.internal:18002/v1 LLAMACPP_RERANKER_URL=http://host.docker.internal:18002/v1
# ⭐ 日志调试配置(部署时可灵活调整) # -----------------------------------------------------------------------------
# ============================================================================= # RAG 索引构建配置(非敏感,可直接使用)
# -----------------------------------------------------------------------------
RAG_COLLECTION_NAME=rag_documents
RAG_CHUNK_SIZE=500
RAG_CHUNK_OVERLAP=50
RAG_PARENT_CHUNK_SIZE=1000
RAG_CHILD_CHUNK_SIZE=200
RAG_PARENT_CHUNK_OVERLAP=100
RAG_CHILD_CHUNK_OVERLAP=20
RAG_STRATEGY=parent-child
RAG_STORAGE_TYPE=postgres
# -----------------------------------------------------------------------------
# 日志调试配置(部署时可灵活调整)
# -----------------------------------------------------------------------------
# 日志级别DEBUG, INFO, WARNING, ERROR, CRITICAL # 日志级别DEBUG, INFO, WARNING, ERROR, CRITICAL
# 生产环境推荐 WARNING排查问题时改为 DEBUG # 生产环境推荐 WARNING排查问题时改为 DEBUG
LOG_LEVEL=WARNING LOG_LEVEL=WARNING
@@ -59,17 +71,13 @@ DEBUG=false
# false: 关闭追踪,减少日志量 # false: 关闭追踪,减少日志量
ENABLE_GRAPH_TRACE=false ENABLE_GRAPH_TRACE=false
# -----------------------------------------------------------------------------
# 应用行为配置
# -----------------------------------------------------------------------------
MEMORY_SUMMARIZE_INTERVAL=10
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# 前端配置 # 前端配置
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Docker Compose 内部网络,使用服务名 'backend' # Docker Compose 内部网络,使用服务名 'backend'
API_URL=http://backend:8079/chat API_URL=http://backend:8079/chat
# ⭐ 前端通信地址Docker 内部网络)
# 注意:这里只需要域名和端口,不需要 /chat 路径
# API_URL=http://backend:8079
# -----------------------------------------------------------------------------
# 应用行为配置
# -----------------------------------------------------------------------------
MEMORY_SUMMARIZE_INTERVAL=10

View File

@@ -2,22 +2,7 @@
""" """
LangGraph 图结构可视化脚本 LangGraph 图结构可视化脚本
快速查看节点和边的连接关系 快速查看节点和边的连接关系
运行方式python backend/app/graph/visualize_graph.py
================================================================================
运行方式(推荐用第一种):
================================================================================
方式 1: 从项目根目录直接运行脚本(推荐,最稳定)
----------------------------------------------------------------------
cd /home/huang/Study/AIProject/Agent1
python backend/app/graph/visualize_graph.py
方式 2: 如果非要用模块方式运行,需要先设置 PYTHONPATH
----------------------------------------------------------------------
cd /home/huang/Study/AIProject/Agent1
export PYTHONPATH=/home/huang/Study/AIProject/Agent1/backend:$PYTHONPATH
python -m backend.app.graph.visualize_graph
================================================================================
""" """
import sys import sys
from pathlib import Path from pathlib import Path

View File

@@ -3,35 +3,69 @@ FROM python:3.11-slim
WORKDIR /app WORKDIR /app
# ============================================================================= # =============================================================================
# 非敏感环境变量(固化在镜像中,无需通过 .env 配置 # 非敏感环境变量(固化在镜像中,通过 .env 覆盖
# ============================================================================= # =============================================================================
ENV PYTHONPATH=/app ENV PYTHONPATH=/app
# llama.cpp 服务配置(本地部署标准端口) # =============================================================================
# llama.cpp 服务配置Docker 部署标准端口映射)
# =============================================================================
# 主 LLM 服务 - Docker host 端口 18000
ENV VLLM_BASE_URL=http://host.docker.internal:18000/v1 ENV VLLM_BASE_URL=http://host.docker.internal:18000/v1
# Embedding 服务 - Docker host 端口 18001
ENV LLAMACPP_EMBEDDING_URL=http://host.docker.internal:18001/v1 ENV LLAMACPP_EMBEDDING_URL=http://host.docker.internal:18001/v1
ENV LLAMACPP_RERENT_URL=http://host.docker.internal:18002/v1 # Reranker 服务 - Docker host 端口 18002
ENV LLAMACPP_RERANKER_URL=http://host.docker.internal:18002/v1
# Mem0 记忆层配置 # =============================================================================
# 数据库 & 向量库配置(非敏感部分)
# =============================================================================
# PostgreSQL敏感信息通过 .env 注入)
ENV DB_HOST=115.190.121.151
ENV DB_PORT=5432
ENV DB_USER=postgres
ENV DB_NAME=langgraph_db
# Qdrant敏感信息通过 .env 注入)
ENV QDRANT_URL=http://115.190.121.151:6333
ENV QDRANT_COLLECTION_NAME=mem0_user_memories ENV QDRANT_COLLECTION_NAME=mem0_user_memories
# 应用行为配置(可通过 .env 覆盖) # =============================================================================
# RAG 索引构建配置(非敏感)
# =============================================================================
ENV RAG_COLLECTION_NAME=rag_documents
ENV RAG_CHUNK_SIZE=500
ENV RAG_CHUNK_OVERLAP=50
ENV RAG_PARENT_CHUNK_SIZE=1000
ENV RAG_CHILD_CHUNK_SIZE=200
ENV RAG_PARENT_CHUNK_OVERLAP=100
ENV RAG_CHILD_CHUNK_OVERLAP=20
ENV RAG_STRATEGY=parent-child
ENV RAG_STORAGE_TYPE=postgres
# =============================================================================
# 应用行为配置
# =============================================================================
ENV MEMORY_SUMMARIZE_INTERVAL=10 ENV MEMORY_SUMMARIZE_INTERVAL=10
ENV ENABLE_GRAPH_TRACE=false ENV ENABLE_GRAPH_TRACE=false
# 日志配置 # =============================================================================
# 日志配置(生产环境默认值)
# =============================================================================
ENV LOG_LEVEL=WARNING ENV LOG_LEVEL=WARNING
ENV DEBUG=false ENV DEBUG=false
# ============================================================================= # =============================================================================
# 安装依赖 # 安装依赖
# ============================================================================= # =============================================================================
# 复制本地模型文件到镜像 # 复制本地模型文件到镜像(如果有)
COPY docker/models/*.whl /tmp/models/ COPY docker/models/*.whl /tmp/models/ 2>/dev/null || true
# 安装 # 安装本地模型 wheel如果有
RUN pip install --no-cache-dir /tmp/models/*.whl && \ RUN if [ -n "$(ls -A /tmp/models/ 2>/dev/null)" ]; then \
rm -rf /tmp/models pip install --no-cache-dir /tmp/models/*.whl && \
rm -rf /tmp/models; \
fi
# 设置 pip 国内镜像源 # 设置 pip 国内镜像源
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
@@ -50,7 +84,6 @@ COPY backend/ ./
# ============================================================================= # =============================================================================
EXPOSE 8079 EXPOSE 8079
# ============================================================================= # =============================================================================
# 启动命令 # 启动命令
# ============================================================================= # =============================================================================

View File

@@ -5,37 +5,75 @@ services:
dockerfile: docker/backend/Dockerfile dockerfile: docker/backend/Dockerfile
container_name: ai-backend container_name: ai-backend
environment: environment:
# ⭐ 敏感密钥:通过 .env 注入 # =========================================================================
- ZHIPUAI_API_KEY=${ZHIPUAI_API_KEY} # ⭐ 敏感密钥配置 - 必须通过 .env 文件注入
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY} # =========================================================================
- LLAMACPP_API_KEY=${LLAMACPP_API_KEY} - ZHIPUAI_API_KEY=${ZHIPUAI_API_KEY:?请在 .env 中配置 ZHIPUAI_API_KEY} # ⭐ 敏感密钥配置
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:?请在 .env 中配置 DEEPSEEK_API_KEY} # ⭐ 敏感密钥配置
- LLAMACPP_API_KEY=${LLAMACPP_API_KEY:?请在 .env 中配置 LLAMACPP_API_KEY} # ⭐ 敏感密钥配置
# ⭐ 日志调试配置:通过 .env 注入(支持灵活调整) # =========================================================================
# PostgreSQL 数据库配置
# =========================================================================
- DB_HOST=115.190.121.151
- DB_PORT=5432
- DB_USER=postgres
- DB_PASSWORD=${DB_PASSWORD:?请在 .env 中配置 DB_PASSWORD} # ⭐ 敏感密钥配置
- DB_NAME=langgraph_db
# =========================================================================
# Qdrant 向量数据库配置URL + API密钥 配对)
# =========================================================================
- QDRANT_URL=http://115.190.121.151:6333
- QDRANT_API_KEY=${QDRANT_API_KEY:?请在 .env 中配置 QDRANT_API_KEY} # ⭐ 敏感密钥配置
- QDRANT_COLLECTION_NAME=mem0_user_memories
# =========================================================================
# llama.cpp 服务配置URL + API密钥 配对)
# =========================================================================
# 主 LLM 服务 (Gemma-4-E2B GGUF) - Docker host 端口 18000
- VLLM_BASE_URL=http://host.docker.internal:18000/v1
# Embedding 服务 (Qwen3-Embedding-0.6B GGUF) - Docker host 端口 18001
- LLAMACPP_EMBEDDING_URL=http://host.docker.internal:18001/v1
# Reranker 服务 (bge-reranker-v2-m3) - Docker host 端口 18002
- LLAMACPP_RERANKER_URL=http://host.docker.internal:18002/v1
# =========================================================================
# RAG 索引构建配置(非敏感)
# =========================================================================
- RAG_COLLECTION_NAME=rag_documents
- RAG_CHUNK_SIZE=500
- RAG_CHUNK_OVERLAP=50
- RAG_PARENT_CHUNK_SIZE=1000
- RAG_CHILD_CHUNK_SIZE=200
- RAG_PARENT_CHUNK_OVERLAP=100
- RAG_CHILD_CHUNK_OVERLAP=20
- RAG_STRATEGY=parent-child
- RAG_STORAGE_TYPE=postgres
# =========================================================================
# 日志调试配置(可通过 .env 覆盖)
# =========================================================================
- LOG_LEVEL=${LOG_LEVEL:-WARNING} - LOG_LEVEL=${LOG_LEVEL:-WARNING}
- DEBUG=${DEBUG:-false} - DEBUG=${DEBUG:-false}
- ENABLE_GRAPH_TRACE=${ENABLE_GRAPH_TRACE:-false} - ENABLE_GRAPH_TRACE=${ENABLE_GRAPH_TRACE:-false}
# ⭐ 基础设施配置:从 .env 读取敏感信息 # =========================================================================
# PostgreSQL 连接(远程服务器)- 分离凭据配置 # 应用行为配置
- DB_HOST=115.190.121.151 # =========================================================================
- DB_PORT=5432 - MEMORY_SUMMARIZE_INTERVAL=${MEMORY_SUMMARIZE_INTERVAL:-10}
- DB_USER=postgres
- DB_PASSWORD=${DB_PASSWORD}
- DB_NAME=langgraph_db
# Qdrant 向量数据库(远程服务器)- 配对配置
- QDRANT_URL=http://115.190.121.151:6333
- QDRANT_API_KEY=${QDRANT_API_KEY}
- QDRANT_COLLECTION_NAME=mem0_user_memories
# =========================================================================
# 前端通信地址Docker 内部网络) # 前端通信地址Docker 内部网络)
# =========================================================================
- API_URL=http://backend:8079/chat - API_URL=http://backend:8079/chat
volumes: volumes:
- ../data/user_docs:/app/data/user_docs # 挂载文档目录 - ../data/user_docs:/app/data/user_docs # 挂载文档目录
- ../logs:/app/logs - ../logs:/app/logs
networks: networks:
- ai-network - ai-network
# ⭐ 移除对 postgres 和 qdrant 的依赖 # ⭐ 移除对 postgres 和 qdrant 的依赖(使用远程服务)
restart: unless-stopped restart: unless-stopped
ports: ports:
- "8079:8079" - "8079:8079"