在AI机器人中使用PDF和附件支持

:bookmark: 本指南介绍如何在 Discourse 中与 AI 机器人交互时启用和使用原生 PDF 及文档附件支持。用户可以在与 AI 代理的对话中直接上传 PDF 和其他文档。

:person_raising_hand: 所需用户级别:管理员

概述

Discourse AI 现在支持原生附件处理,允许用户在与 AI 机器人对话时直接上传 PDF 和其他文档类型。AI 可以读取并理解这些附件的内容,从而实现基于上传文件的文档分析、摘要生成和问答等用例。

此功能需要:

  • 在 LLM 上配置允许的附件类型
  • 已启用视觉功能的代理(此设置控制上传文件是否包含在消息中)
  • 文件扩展名已在站点上传设置中授权

支持的提供商

原生附件支持适用于以下提供商的模型:

  • Anthropic(Claude 模型)
  • AWS Bedrock(通过 Bedrock 的 Claude 模型)
  • Google(Gemini 模型)
  • OpenAI(GPT 模型)
  • Azure(OpenAI 兼容模型)
  • OpenRouter(OpenAI 兼容模型)

每个提供商在 API 层面处理附件的方式不同,但 Discourse AI 会自动管理这一点。请注意,不同提供商对各类附件类型的支持程度存在差异。

支持的附件类型

以下文档类型可配置用于 AI 处理:

类型 扩展名
PDF pdf
纯文本 txt
Microsoft Word doc, docx
富文本格式 rtf
HTML html, htm
Markdown md, markdown

:information_source: 图片通过“启用视觉”设置单独处理,无需配置附件类型。

配置

第 1 步:授权上传文件扩展名

在用户可以上传附件之前,请确保文件扩展名已在站点设置中授权。

  1. 导航至 管理 → 文件
  2. 找到 authorized extensions 设置
  3. 添加想要允许的扩展名(例如,pdf|txt|docx)

第 2 步:配置 LLM 模型

  1. 导航至 管理 → 插件 → Discourse AI → LLMs
  2. 选择要配置的 LLM 模型(或创建一个新模型)
  3. 在 Allowed attachments(允许的附件)字段中,选择或输入希望模型接受的文件扩展名(例如,pdf、txt、docx)

:warning: 如果将“Allowed attachments”字段留空,该模型的文档附件功能将被禁用。图片通过“启用视觉”切换开关单独控制。

第 3 步:配置代理

  1. 导航至 管理 → 插件 → Discourse AI → Agents
  2. 选择或创建一个代理
  3. 确保已开启 Vision enabled(启用视觉) — 此设置控制上传文件(包括图片和文档)是否包含在发送给 LLM 的消息中
  4. 将 Default model(默认模型)设置为已配置附件支持的 LLM

工作原理

当用户在对话中向 AI 机器人上传文档时:

  1. 文档通过标准上传处理机制上传到 Discourse
  2. Discourse AI 编码文档内容(base64)
  3. 编码后的内容与用户消息一起发送给 LLM
  4. LLM 处理文本消息和文档内容
  5. AI 基于综合上下文作出响应

技术细节

  • 文档以 base64 编码并内联发送到请求中
  • 每个提供商以各自的原生格式接收附件:
    • Anthropic:使用带有 base64 源的 document 类型
    • Gemini:使用 inlineData 格式
    • OpenAI(Chat Completions API):使用 file 类型,file_data 包含 base64 内容
    • OpenAI(Responses API):使用 input_file 类型,file_data 包含 base64 内容
  • 文件大小限制受站点的 max attachment size kb 设置控制

用例

原生附件支持可实现多种工作流:

  • 文档分析:上传合同、报告或研究论文,供 AI 进行摘要或回答相关问题
  • 内容审查:让 AI 审查草稿文档并提供反馈
  • 数据提取:从上传的文档中提取特定信息
  • 翻译辅助:上传一种语言的文档,讨论内容或请求翻译
  • 技术支持:用户可以上传日志文件或配置文件以获取故障排除协助

局限性

  • 文件大小:附件受站点上传大小设置和 LLM 供应商限制
  • 提供商支持:附件支持需要能够处理文档的提供商方言(Anthropic、AWS Bedrock、Google、OpenAI、Azure 和 OpenRouter)
  • 代理视觉要求:代理必须开启“启用视觉”才能将上传文件包含在消息中
  • 扩展名匹配:文件扩展名必须在站点上传中授权,并且在 LLM 的附件类型配置中被允许
  • 结果各异:由于 LLM 供应商和 LLM 正在处理文件,成本和准确性以及结果都会有所不同。Anthropic 往往比 OpenAI 或 Google 在分析时使用更多的 token。
  • 启用缓存:对于 OpenAI,请务必使用 Responses API,它在支持缓存方面表现更一致(当启用思考时)。对于 Anthropic 模型,您可能需要在 LLM 配置中显式启用缓存。这在多轮对话中尤其重要。

故障排除

附件未被处理

  1. 验证文件扩展名是否在站点的 authorized extensions 设置中
  2. 确认文件类型列在 LLM 的“Allowed attachments”设置中
  3. 确保代理已开启“Vision enabled”并使用正确配置的 LLM

上传失败

  • 检查 max attachment size kb 设置
  • 验证文件扩展名是否已授权
  • 可能不支持非常大的 PDF 文件,每个 LLM 供应商的最大上传大小限制不同。

AI 不理解文档

  • 确保您使用的是支持文档理解的模型
  • 尝试使用更强大的模型(例如,Claude Sonnet 4.5, GPT-5.1, Gemini Pro 3)

常见问题解答

用户可以在一条消息中上传多个文档吗?
是的,用户可以在单条消息中包含多个附件,AI 将可以访问所有这些附件。

这是否适用于聊天和私信?
是的,只要代理为这些交互方法进行了配置,附件支持就适用于与 AI 机器人的私信以及聊天直接消息。

这与代理上的 RAG 上传有何不同?
是的。RAG 上传是管理员添加到代理知识库的文档,这些文档会被索引和搜索。原生附件支持允许最终用户在对话期间上传文档以进行即时分析,无需索引。

上传的文档会发生什么?
文档根据站点的标准上传处理和保留策略进行处理。它们存储为常规的 Discourse 上传文件。

其他资源

7 个赞