name: chatbot-implementation description: RAG聊天机器人的详细信息,包括用户界面和后端逻辑。
聊天机器人逻辑
概述
一个专门的RAG(检索增强生成)聊天机器人,帮助用户从教科书内容中学习。
后端
- 路由:
app/api/chat/route.ts - 逻辑:
- 接收
query(查询)和history(历史记录)。 - 使用Gemini或OpenAI嵌入模型对查询进行向量化。
- 在Qdrant(向量数据库)中搜索相关的教科书文本块。
- 根据匹配结果构建上下文。
- 使用Gemini Flash/Pro模型生成响应。
- 接收
向量搜索 (Qdrant)
我们使用Qdrant存储教科书的向量嵌入。
- 集合:
textbook_chunks(或类似名称)。 - 字段:
text(文本),source(来源),chunk_id(块ID)。
用户界面组件
- 位置:
textbook/src/components/Chatbot/index.tsx。 - 功能:
- 浮动聊天窗口。
- 尺寸控制(小、中、大)。
- 响应的Markdown渲染。
- 上下文选择(高亮文本以询问相关内容)。
- 移动端响应式设计。
- 身份验证感知(根据用户资料个性化答案)。
样式
- CSS:
styles.module.css(高级动画、阴影效果)。 - 主题: 兼容深色/浅色模式(使用
--ifm变量)。