# 知识库 / 文件上传 LobeChat 支持文件上传 / 知识库管理。该功能依赖于以下核心技术组件,了解这些组件将有助于你成功部署和维护知识库系统。 ## 核心组件 ### 1. PostgreSQL 与 PGVector PostgreSQL 是一个强大的开源关系型数据库系统,而 PGVector 是其扩展,为向量操作提供支持。 - **用途**:存储结构化数据和向量索引 - **部署建议**:使用官方 Docker 镜像可以快速部署 PostgreSQL 和 PGVector 示例部署脚本: ``` docker run -p 5432:5432 -d --name pg -e POSTGRES_PASSWORD=mysecretpassword pgvector/pgvector:pg16 ``` - **注意事项**:确保分配足够的资源以处理向量操作 ### 2. S3 兼容的对象存储 S3(或兼容 S3 协议的存储服务)用于存储上传的文件。 - **用途**:存储原始文件 - **选项**:可以使用 AWS S3、MinIO 或其他兼容 S3 协议的存储服务 - **注意事项**:配置适当的访问权限和安全策略 ### 3. OpenAI Embedding OpenAI 的嵌入(Embedding)服务用于将文本转化为向量表示。 LobeChat 当前默认使用 OpenAI `text-embedding-3-small` 模型,请确保你的 API Key 可以访问该模型。 - **用途**:生成文本的向量表示,用于语义搜索 - **注意事项**: - 需要有效的 OpenAI API 密钥 - 实施适当的 API 调用限制和错误处理机制 ### 4. Unstructured.io(可选) Unstructured.io 是一个强大的文档处理工具。 - **用途**:处理复杂的文档格式,提取结构化信息 - **应用场景**:处理 PDF、Word 等非纯文本格式的文档 - **注意事项**:评估处理需求,根据文档复杂度决定是否部署 通过正确配置和集成这些核心组件,您可以为 LobeChat 构建一个强大、高效的知识库系统。每个组件都在整体架构中扮演着关键角色,共同支持高级的文档管理和智能检索功能。