diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 99d90c9a..4a6403ec 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -16,6 +16,7 @@ services: - .env.prod environment: - HOST_IP=${HOST_IP:-} + - POSTGRES_URL=${POSTGRES_URL:-postgresql+asyncpg://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/${POSTGRES_DB:-yuxi_know}} - NEO4J_URI=${NEO4J_URI:-bolt://graph:7687} - NEO4J_USERNAME=${NEO4J_USERNAME:-neo4j} - NEO4J_PASSWORD=${NEO4J_PASSWORD:-0123456789} @@ -150,6 +151,27 @@ services: - app-network restart: unless-stopped + postgres: + image: postgres:16 + container_name: postgres + ports: + - "5432:5432" + environment: + - POSTGRES_USER=${POSTGRES_USER:-postgres} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-postgres} + - POSTGRES_DB=${POSTGRES_DB:-yuxi_know} + - TZ=${TZ:-Asia/Shanghai} + volumes: + - ./docker/volumes/postgresql:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres} -d ${POSTGRES_DB:-yuxi_know} || exit 1"] + interval: 5s + timeout: 3s + retries: 30 + networks: + - app-network + restart: unless-stopped + mineru-vllm-server: build: context: . diff --git a/docker-compose.yml b/docker-compose.yml index d0b2dc45..1f27cbb8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -28,9 +28,7 @@ services: # region api_envs environment: - HOST_IP=${HOST_IP:-} - # - DATABASE_URL=postgresql+asyncpg://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/${POSTGRES_DB:-yuxi_know} - # 知识库元数据数据库连接(独立于用户数据库) - - YUXI_KNOWLEDGE_DATABASE_URL=${YUXI_KNOWLEDGE_DATABASE_URL:-postgresql+asyncpg://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/${POSTGRES_DB:-yuxi_know}} + - POSTGRES_URL=${POSTGRES_URL:-postgresql+asyncpg://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/${POSTGRES_DB:-yuxi_know}} - NEO4J_URI=${NEO4J_URI:-bolt://graph:7687} - NEO4J_USERNAME=${NEO4J_USERNAME:-neo4j} - NEO4J_PASSWORD=${NEO4J_PASSWORD:-0123456789} @@ -45,7 +43,7 @@ services: - NO_PROXY=localhost,127.0.0.1,milvus,graph,milvus-minio,milvus-etcd-dev,etcd,minio,mineru,paddlex,api.siliconflow.cn - no_proxy=localhost,127.0.0.1,milvus,graph,milvus-minio,milvus-etcd-dev,etcd,minio,mineru,paddlex,api.siliconflow.cn # endregion api_envs - command: uv run --no-dev uvicorn server.main:app --host 0.0.0.0 --port 5050 # --reload + command: uv run --no-dev uvicorn server.main:app --host 0.0.0.0 --port 5050 --reload restart: unless-stopped healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:5050/api/system/health || exit 1"] @@ -184,17 +182,6 @@ services: - app-network restart: unless-stopped - sqlite-web: - image: coleifer/sqlite-web:latest - container_name: sqlite-web - volumes: - - ./saves/database:/data - ports: - - "9092:8080" - environment: - SQLITE_DATABASE: server.db - restart: unless-stopped - postgres: image: postgres:16 container_name: postgres diff --git a/docs/latest/advanced/misc.md b/docs/latest/advanced/misc.md index afb2a330..333ab97e 100644 --- a/docs/latest/advanced/misc.md +++ b/docs/latest/advanced/misc.md @@ -42,10 +42,10 @@ | **7474/7687** | Neo4j | graph | 图数据库 | | **9000/9001** | MinIO | milvus-minio | 对象存储 | | **19530/9091** | Milvus | milvus | 向量数据库 | +| **5432** | postgres | postgres | PostgreSQL 数据库 | | **30000** | MinerU | mineru | PDF 解析(可选)| | **8080** | PP-StructureV3 | paddlex-ocr | OCR 服务(可选)| | **8081** | vLLM | - | 本地推理(可选)| -| **9092** | SQLite Web UI | sqlite-web | SQLite 数据库管理界面(可选)| ::: tip 端口访问 - Web 界面: `http://localhost:5173` diff --git a/docs/latest/changelog/roadmap.md b/docs/latest/changelog/roadmap.md index a7d0889c..b381c691 100644 --- a/docs/latest/changelog/roadmap.md +++ b/docs/latest/changelog/roadmap.md @@ -35,7 +35,6 @@ - 优化 RAG 检索,支持根据文件 pattern 来检索(Agentic Mode) - 重构智能体对于“工具变更/模型变更”的处理逻辑,无需导入更复杂的中间件 - 重构知识库的 Agentic 配置逻辑,与 Tools 解耦 -- 新增Sqlite Web UI 方便通过Web页面管理数据库中数据[#463](https://github.com/xerrors/Yuxi-Know/pull/463) - 将工具与知识库解耦,在 context 中就完成解耦,虽然最终都是在 Agent 中的 get_tools 中获取 - 优化chunk逻辑,移除 QA 分割,集成到普通分块中,并优化可视化逻辑 - 重构知识库处理逻辑,分为 上传—解析—入库 三个阶段 diff --git a/docs/latest/intro/project-overview.md b/docs/latest/intro/project-overview.md index e3a898f8..d92ccf6f 100644 --- a/docs/latest/intro/project-overview.md +++ b/docs/latest/intro/project-overview.md @@ -8,7 +8,7 @@ Yuxi-Know(语析)是一个基于知识图谱和向量数据库的智能知 - **后端服务**: [FastAPI](https://github.com/tiangolo/fastapi) + Python 3.12+ - **前端界面**: [Vue.js 3](https://github.com/vuejs/vue) + [Ant Design Vue](https://github.com/vueComponent/ant-design-vue) -- **数据库存储**: [SQLite](https://github.com/sqlite/sqlite) + [MinIO](https://github.com/minio/minio) +- **数据库存储**: [PostgreSQL](https://github.com/postgres/postgres) + [MinIO](https://github.com/minio/minio) - **知识存储**: [Milvus](https://github.com/milvus-io/milvus)(向量数据库)+ [Neo4j](https://github.com/neo4j/neo4j)(图数据库) - **智能体框架**: [LangGraph](https://github.com/langchain-ai/langgraph) - **文档解析**: [LightRAG](https://github.com/HKUDS/LightRAG) + [MinerU](https://github.com/HKUDS/MinerU) + [PP-Structure-V3](https://github.com/PaddlePaddle/PaddleOCR) diff --git a/src/agents/common/context.py b/src/agents/common/context.py index 58a658b7..60440f86 100644 --- a/src/agents/common/context.py +++ b/src/agents/common/context.py @@ -9,7 +9,6 @@ from typing import Annotated, get_args, get_origin import yaml from src import config as sys_config -from src.knowledge import knowledge_base from src.services.mcp_service import get_mcp_server_names from src.utils import logger diff --git a/src/storage/postgres/manager.py b/src/storage/postgres/manager.py index 598d6a56..021394c9 100644 --- a/src/storage/postgres/manager.py +++ b/src/storage/postgres/manager.py @@ -28,7 +28,7 @@ class PostgresManager(metaclass=SingletonMeta): """PostgreSQL 数据库管理器 - 支持知识库和业务数据""" # 知识库 PostgreSQL URL 环境变量名 - KB_DATABASE_URL_ENV = "YUXI_KNOWLEDGE_DATABASE_URL" + KB_DATABASE_URL_ENV = "POSTGRES_URL" def __init__(self): self.async_engine = None diff --git a/test/.env.test.example b/test/.env.test.example index f69467e2..66d0b8d6 100644 --- a/test/.env.test.example +++ b/test/.env.test.example @@ -8,8 +8,6 @@ TEST_BASE_URL=http://localhost:5050 TEST_USERNAME= TEST_PASSWORD= -# 数据库连接(如果需要) -# DATABASE_URL=sqlite:///test.db # 其他测试相关配置 # ENABLE_DEBUG=true \ No newline at end of file diff --git a/web/src/components/BasicSettingsSection.vue b/web/src/components/BasicSettingsSection.vue index edf646bb..777e96c9 100644 --- a/web/src/components/BasicSettingsSection.vue +++ b/web/src/components/BasicSettingsSection.vue @@ -146,20 +146,6 @@ 访问 - -
SQLite 数据库管理界面
-