用户界面层 ├── Web界面:Streamlit构建的交互界面 ├── API接口:FastAPI提供的RESTful API └── 管理后台:Flask构建的管理界面 业务逻辑层 ├── 问答引擎:LangChain核心逻辑 ├── 文档处理:文档解析和向量化 ├── 检索系统:向量检索和重排序 └── 对话管理:多轮对话状态管理 数据存储层 ├── 向量数据库:ChromaDB存储文档向量 ├── 关系数据库:PostgreSQL存储元数据 ├── 文件存储:MinIO存储原始文档 └── 缓存系统:Redis缓存热点数据 模型服务层 ├── 嵌入模型:text-embedding-ada-002 ├── 大语言模型:gpt-3.5-turbo ├── 重排序模型:bge-reranker-base └── 摘要模型:gpt-3.5-turbo 前端架构设计 **技术栈选择:** ``` 前端框架: ├── Vue 3.3:组合式API,更好的TypeScript支持 ├── TypeScript 5:类型安全,开发体验好 ├── Vite 4:快速的构建工具,开发体验极佳 └── Vue Router 4:路由管理,支持历史模式 UI组件库: ├── Element Plus:企业级UI组件库 ├── Tailwind CSS:实用优先的CSS框架 ├── Iconify:丰富的图标库 └── VueUse:实用的Vue组合式函数库 AI交互: ├── SSE支持:Server-Sent Events实时通信 ├── Markdown渲染:支持富文本展示 ├── 代码高亮:Prism.js代码语法高亮 └── 文件上传:支持拖拽上传和进度显示 状态管理: ├── Pinia:Vue官方状态管理库 ├── LocalStorage:本地数据持久化 ├── Session管理:用户会话状态管理 └── 缓存策略:智能的API响应缓存 ``` **核心界面实现:** #### 主聊天界面 ```vue 智能文库助手 清空对话 {{ message.content }} {{ formatTime(message.timestamp) }} 正在思考中... {{ message.error }} 参考文档: {{ source.name }} 相似度: {{ (source.score * 100).toFixed(1) }}% {{ formatTime(message.timestamp) }} 上传文档 发送