init: RAG 知识库服务初始提交
- 后端 API(Flask + Gunicorn) - RAG 引擎(混合检索 + 云端 Reranker + 引用溯源) - 文档解析(MinerU + 多格式支持) - Docker 生产部署配置 - 排除前端项目、敏感配置、模型文件
This commit is contained in:
65
repositories/session_repo.py
Normal file
65
repositories/session_repo.py
Normal 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
|
||||
Reference in New Issue
Block a user