Files
fastapi/app/schemas/learning_assistant.py
T
2026-06-11 16:19:50 +08:00

43 lines
1.4 KiB
Python

from pydantic import BaseModel, Field
class LearningAssistantSessionCreateRequest(BaseModel):
"""学习助手会话创建请求:进入 AI 学习助手页面时初始化短期问答会话。"""
title: str | None = Field(default=None, max_length=100, description="会话标题,前端可不传")
class LearningAssistantSessionResponse(BaseModel):
"""学习助手会话响应:返回前端后续流式问答需要使用的会话 ID。"""
assistant_session_id: str
user_id: str
institution_id: int | None = None
institution_name: str | None = None
title: str
status: str
created_at: str
updated_at: str
expires_in_seconds: int
class LearningAssistantChatRequest(BaseModel):
"""学习助手问答请求:普通用户面向机构知识库提出医学学习问题。"""
question: str = Field(..., min_length=1, max_length=1000, description="用户问题")
top_k: int | None = Field(default=None, ge=1, le=10, description="最终返回给 LLM 的来源片段数")
score_threshold: float | None = Field(default=None, ge=0, le=1, description="向量相似度过滤阈值")
class LearningAssistantSource(BaseModel):
"""学习助手来源:记录 PDF 文档、页码和引用片段。"""
document_id: int
document_title: str | None = None
file_name: str
page_start: int
page_end: int
chunk_uid: str
score: float
quote: str