This commit is contained in:
64
.env.docker
64
.env.docker
@@ -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
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# 启动命令
|
# 启动命令
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user