本文档详细介绍如何配置和使用飞书知识库同步功能,实现飞书云文档到FastGPT知识库的自动同步。
飞书知识库同步功能提供以下能力:
- 文档内容同步:自动同步飞书云文档(docx)内容到FastGPT知识库
- 多维表格同步:支持飞书多维表格(sheet)内容同步
- 图片提取处理:自动提取文档中的图片并生成描述
- 知识库描述生成:基于LLM自动生成知识库描述
- 增量同步:支持文档变更的增量同步
- 批量同步:支持批量导入整个知识空间
- 飞书云文档(docx)
- 飞书多维表格(sheet)
- 飞书文件(file - .docx/.pdf/.xlsx/.pptx/.md)
在飞书开放平台中申请以下权限:
docs:read # 读取文档内容
docs:write # 写入文档内容(可选)
docx:read # 读取云文档内容
docx:write # 写入云文档内容(可选)
wiki:read # 读取知识库内容
wiki:write # 写入知识库内容(可选)
space:read # 读取空间信息
space:write # 管理空间(可选)
drive:read # 读取云盘文件
drive:write # 写入云盘文件(可选)
- 登录飞书开放平台
- 创建企业自建应用
- 进入应用详情页 → 权限管理
- 搜索并添加上述权限
- 提交审核,等待管理员审批
- 发布应用版本
{
"FEISHU_APPS": [
{
"dataset_sync": true, // 启用知识库同步
"app_id": "cli_a0163xxx", // 飞书应用ID
"app_secret": "v11k8wGEOdxxx", // 飞书应用密钥
"app_name": "知识库同步应用", // 应用名称
"fastgpt_url": "http://127.0.0.1:3000", // FastGPT服务地址
"fastgpt_key": "fastgpt-aQ3Vr4M8Sxxx", // FastGPT API密钥
"vector_model": "m3e-base", // 向量化模型
"agent_model": "qwen3-8b" // 对话模型
}
]
}{
"image_bed_base_url": "http://127.0.0.1:8000", // 图床服务地址
"image_bed_vlm_api_url": "https://api.siliconflow.cn/v1/chat/completions", // 图像理解API
"image_bed_vlm_api_key": "sk-xxxxx", // 图像理解API密钥
"image_bed_vlm_model": "Pro/Qwen/Qwen2.5-VL-7B-Instruct", // 视觉语言模型
"image_bed_vlm_model_prompt": "请用20字以内简洁描述这张图片内容,不要加任何前缀,直接给出描述,参考论文引用图例的格式。"
}{
"summary_llm_api_url": "https://api.siliconflow.cn/v1/chat/completions", // 摘要生成API
"summary_llm_api_key": "sk-xxxxx", // 摘要生成API密钥
"summary_llm_model": "Qwen/Qwen3-32B" // 摘要生成模型
}启用事件订阅后,系统会自动监听文档变更事件:(5分钟级小同步)
- 文档更新事件:当用户修改文档时自动触发同步
- 文档创建事件:新文档创建时自动添加到知识库
- 文档删除事件:文档删除时从知识库中移除
配置定时任务进行批量同步:(1小时大同步,飞书事件失败兜底)
# 示例:每小时同步一次知识库
@scheduler.scheduled_job('interval', hours=1)
def sync_wiki_spaces():
for app_config in feishu_apps:
if app_config.get('dataset_sync'):
sync_all_wiki_spaces(app_config)- 提取文档标题、正文内容
- 解析文档结构(标题层级)
- 提取表格数据
- 处理内嵌图片
- 提取表格数据
- 保持数据结构关系
- 处理公式和函数
- 图片提取:从文档中提取所有图片
- 图片上传:上传到配置的图床服务
- 内容识别:使用VLM模型识别图片内容
- 描述生成:生成简洁的图片描述
- 内容替换:将图片替换为描述文本
- 文本分块:将长文档分成适当大小的文本块
- 向量生成:使用配置的向量模型生成嵌入向量
- 存储索引:将向量存储到FastGPT知识库
- 文档版本比较:比较文档修改时间
- 内容哈希校验:检查内容是否真正发生变化
- 差异化更新:只更新变化的文档部分
解决方案:
- 检查飞书应用权限是否正确配置
- 确认应用已发布且权限已生效
- 验证用户是否有访问对应文档/知识库的权限
解决方案:
- 检查图床服务是否正常运行
- 验证VLM API配置是否正确
- 确认图片格式是否支持
解决方案:
- 检查FastGPT服务连接是否正常
- 验证API密钥是否有效
- 确认向量模型配置是否正确
解决方案:
- 调整并发同步数量
- 优化文档分块大小
- 使用更快的向量化模型
解决方案:
- 检查文档类型是否在支持列表中
- 对于不支持的格式,考虑转换为支持的格式
- 提交功能需求,扩展支持的文档类型
- 在非工作时间进行大规模同步
- 分批次同步,避免API限流
- 监控同步进度和错误日志
- 合理设置文档分块大小(建议512-1024字符)
- 使用高效的向量化模型
- 启用缓存机制减少重复处理
- 设置重试机制处理临时网络错误
- 记录详细的错误日志便于排查
- 建立告警机制及时发现问题
- 定期清理过期的同步任务记录
- 备份重要的知识库数据
- 监控存储空间使用情况
飞书API ←→ 同步服务 ←→ FastGPT API
↓ ↓ ↓
权限验证 内容处理 知识库管理
文档获取 图片处理 向量存储
事件监听 格式转换 检索优化
飞书文档 → 内容提取 → 格式转换 → 图片处理 → 文本分块 → 向量化 → FastGPT存储
通过以上配置和使用,您可以实现飞书知识库到FastGPT的完整同步功能,为您的团队提供强大的知识管理和智能问答能力。