rag.chat_session
聊天会话模块 - 实现基于Haystack的聊天会话管理
Classes
|
聊天会话类 |
|
聊天会话管理器 |
|
引用类 |
|
聊天消息类 |
- class rag.chat_session.Message(role, content, message_id=None, timestamp=None, metadata=None)[source]
Bases:
object聊天消息类
- class rag.chat_session.Citation(document_id, text, metadata=None)[source]
Bases:
object引用类
- class rag.chat_session.ChatSession(session_id=None, rag_pipeline=None, max_history_length=10, metadata=None)[source]
Bases:
object聊天会话类
- __init__(session_id=None, rag_pipeline=None, max_history_length=10, metadata=None)[source]
初始化聊天会话
- Parameters:
session_id (str, optional) – 会话ID,如果为None则自动生成
rag_pipeline (RAGPipeline, optional) – RAG管道
max_history_length (int) – 最大历史记录长度
metadata (dict, optional) – 会话元数据
- process_query(query, generation_kwargs=None)[source]
处理查询
- Parameters:
- Returns:
(回答消息, 检索到的文档列表)
- Return type:
- Raises:
ValueError – 如果RAG管道未设置
- set_rag_pipeline(rag_pipeline)[source]
设置RAG管道
- Parameters:
rag_pipeline (RAGPipeline) – RAG管道实例
- classmethod from_dict(data, rag_pipeline=None)[source]
从字典创建会话
- Parameters:
data (dict) – 会话字典
rag_pipeline (RAGPipeline, optional) – RAG管道
- Returns:
会话实例
- Return type:
- class rag.chat_session.ChatSessionManager(rag_pipeline=None, max_sessions=100, default_max_history_length=10)[source]
Bases:
object聊天会话管理器
- __init__(rag_pipeline=None, max_sessions=100, default_max_history_length=10)[source]
初始化聊天会话管理器
- Parameters:
rag_pipeline (RAGPipeline, optional) – RAG管道
max_sessions (int) – 最大会话数量
default_max_history_length (int) – 默认最大历史记录长度
- create_session(session_id=None, metadata=None, max_history_length=None)[source]
创建会话
- Parameters:
- Returns:
创建的会话
- Return type:
- get_session(session_id)[source]
获取会话
- Parameters:
session_id (str) – 会话ID
- Returns:
会话实例,如果不存在则返回None
- Return type: