init: RAG 知识库服务初始提交

- 后端 API(Flask + Gunicorn)
- RAG 引擎(混合检索 + 云端 Reranker + 引用溯源)
- 文档解析(MinerU + 多格式支持)
- Docker 生产部署配置
- 排除前端项目、敏感配置、模型文件
This commit is contained in:
lacerate551
2026-06-04 17:35:27 +08:00
commit 100d1a06eb
158 changed files with 64534 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
"""
会话存储接口
定义会话管理的抽象接口,支持不同的存储实现。
"""
from abc import ABC, abstractmethod
from typing import List, Dict, Optional
class BaseSessionRepo(ABC):
"""会话存储接口"""
@abstractmethod
def get_history(self, session_id: str) -> List[Dict]:
"""
获取会话历史
Args:
session_id: 会话ID
Returns:
消息列表,每条消息包含 role、content 和可选的 metadata
"""
pass
@abstractmethod
def add_message(self, session_id: str, role: str, content: str, metadata: Optional[Dict] = None) -> None:
"""
添加消息到会话
Args:
session_id: 会话ID
role: 角色user/assistant
content: 消息内容
metadata: 可选的元数据(如图片、来源等)
"""
pass
@abstractmethod
def create_session(self, user_id: str, title: str = "新对话") -> str:
"""
创建新会话
Args:
user_id: 用户ID
title: 会话标题
Returns:
会话ID
"""
pass
@abstractmethod
def get_user_sessions(self, user_id: str) -> List[Dict]:
"""
获取用户的会话列表
Args:
user_id: 用户ID
Returns:
会话列表
"""
pass