mirror of
https://github.com/JefferyHcool/BiliNote.git
synced 2026-05-31 11:29:36 +08:00
feat(chat): 基于 RAG 的笔记内容 AI 问答功能
实现类似 Google NotebookLM 的效果:笔记生成后自动向量化, 用户可针对笔记内容进行 LLM 问答。 ### 后端 - 新增 VectorStoreManager(ChromaDB),按标题/转录分块建立向量索引 - 新增 chat_service.py RAG 问答:检索相关片段 → 构建 prompt → 调用 LLM - 新增 /chat/index, /chat/ask, /chat/status API 端点 - 笔记生成完成后自动建立向量索引 ### 前端 - 使用 @ant-design/x Bubble.List + Sender 组件构建聊天面板 - 新增 chatStore(Zustand + persist)持久化聊天记录 - MarkdownViewer 右侧嵌入 ChatPanel,通过"AI 问答"按钮切换 - 首次打开自动检查/触发索引,支持重新索引 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -109,6 +109,12 @@ def run_note_task(task_id: str, video_url: str, platform: str, quality: Download
|
||||
return
|
||||
save_note_to_file(task_id, note)
|
||||
|
||||
# 自动建立向量索引(用于 AI 问答),失败不影响笔记生成
|
||||
try:
|
||||
from app.services.vector_store import VectorStoreManager
|
||||
VectorStoreManager().index_task(task_id)
|
||||
except Exception as e:
|
||||
logger.warning(f"向量索引失败(不影响笔记): {e}")
|
||||
|
||||
|
||||
@router.post('/delete_task')
|
||||
|
||||
Reference in New Issue
Block a user