Files
rag/repositories/session_repo.py
lacerate551 100d1a06eb init: RAG 知识库服务初始提交
- 后端 API(Flask + Gunicorn)
- RAG 引擎(混合检索 + 云端 Reranker + 引用溯源)
- 文档解析(MinerU + 多格式支持)
- Docker 生产部署配置
- 排除前端项目、敏感配置、模型文件
2026-06-04 17:35:27 +08:00

66 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
会话存储接口
定义会话管理的抽象接口,支持不同的存储实现。
"""
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