Enhance knowledge base functionality and integrate S3 storage support

- Add new models for `KnowledgeDocument` and `KnowledgeChunk` to manage document ingestion and chunking.
- Implement S3-compatible storage integration for knowledge documents, allowing for file uploads and retrieval.
- Introduce API endpoints for managing knowledge bases and documents, including creation, deletion, and searching.
- Update frontend components to support knowledge base configuration and document management, improving user interaction.
- Enhance backend services for knowledge processing and retrieval, ensuring robust handling of document statuses and errors.
This commit is contained in:
Xin Wang
2026-07-12 13:58:47 +08:00
parent 01c563a3e7
commit de58f30014
21 changed files with 995 additions and 34 deletions

View File

@@ -52,6 +52,10 @@ services:
# WebRTC TURN(公网部署:设 PUBLIC_IP + TURN_SECRET,并 docker compose --profile remote up)
TURN_URLS: "${TURN_URLS:-}"
TURN_SECRET: "${TURN_SECRET:-}"
S3_ENDPOINT_URL: "http://rustfs:9000"
S3_ACCESS_KEY: "${S3_ACCESS_KEY:-rustfsadmin}"
S3_SECRET_KEY: "${S3_SECRET_KEY:-rustfsadmin}"
S3_BUCKET: "${S3_BUCKET:-ai-video}"
ports:
- "8000:8000"
depends_on:
@@ -96,8 +100,8 @@ services:
# RustFS:S3 兼容对象存储(MinIO 替代,Rust 实现)
# 9000 = S3 API,9001 = Web 控制台。默认账号 rustfsadmin/rustfsadmin。
rustfs:
# image: registry.cn-hangzhou.aliyuncs.com/qiluo-images/rustfs:latest
image: rustfs/rustfs:latest
profiles: ["data"]
environment:
RUSTFS_VOLUMES: /data # 单盘单节点(开发够用)
RUSTFS_ADDRESS: 0.0.0.0:9000 # S3 API
@@ -108,10 +112,11 @@ services:
RUSTFS_ACCESS_KEY: "${S3_ACCESS_KEY:-rustfsadmin}"
RUSTFS_SECRET_KEY: "${S3_SECRET_KEY:-rustfsadmin}"
ports:
- "127.0.0.1:9000:9000"
- "127.0.0.1:9001:9001"
- "9000:9000"
- "9001:9001"
volumes:
- rustfs-data:/data
- ./data/rustfs:/data
- ./logs/rustfs:/logs
networks: [app-network]
# ---- 可选(profile: remote):WebRTC 公网穿透 ----
@@ -172,7 +177,6 @@ services:
volumes:
postgres_data:
redis_data:
rustfs-data:
networks:
app-network: