使用 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
微软 Word doc, docx
富文本格式 rtf
HTML html, htm
Markdown md, markdown

:information_source: 图像通过“启用视觉功能”设置单独处理,不需要配置附件类型。

配置

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

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

  1. 导航到 管理 (Admin)文件 (Files)
  2. 找到 authorized extensions(授权扩展名)设置
  3. 添加您希望允许的扩展名(例如 pdf|txt|docx

步骤 2:配置 LLM 模型

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

:warning: 如果将“Allowed attachments”字段留空,则该模型的文档附件将被禁用。图像通过“Vision enabled”切换单独控制。

步骤 3:配置代理

  1. 导航到 管理 (Admin)插件 (Plugins)Discourse AIAgents
  2. 选择或创建一个代理
  3. 确保 Vision enabled(启用视觉功能)已开启——这控制着上传内容(图像和文档)是否包含在发送给 LLM 的消息中
  4. Default model(默认模型)设置为已配置附件的 LLM

工作原理

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

  1. 文档使用标准的上传处理机制上传到 Discourse
  2. Discourse AI 对文档内容进行编码(base64)
  3. 编码后的内容与用户的消息一起发送给 LLM
  4. LLM 处理文本消息和文档内容
  5. AI 根据组合的上下文做出回应

技术细节

  • 文档被编码为 base64 并随请求内联发送
  • 每个服务商以其原生格式接收附件:
    • Anthropic:使用 document 类型和 base64 来源
    • Gemini:使用 inlineData 格式
    • OpenAI(Chat Completions API):使用 file 类型和包含 base64 内容的 file_data
    • OpenAI(Responses API):使用 input_file 类型和包含 base64 内容的 file_data
  • 文件大小限制受您站点的 max attachment size kb(最大附件大小 KB)设置控制

用例

原生附件支持启用多种工作流程:

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

限制

  • 文件大小:附件受您站点的上传大小设置和 LLM 服务商的限制
  • 服务商支持:附件支持需要能够处理文档的服务商方言(Anthropic、AWS Bedrock、Google、OpenAI、Azure 和 OpenRouter)
  • 代理视觉要求:代理必须开启“Vision enabled”才能将上传内容包含在消息中
  • 扩展名匹配:文件扩展名必须同时在您的站点上授权上传,并在 LLM 的附件类型配置中允许
  • 结果不同:由于 LLM 服务商和 LLM 对文件进行处理,成本/准确性和结果会有所不同。Anthropic 用于分析的 token 通常比 OpenAI 或 Google 多。
  • 启用缓存:对于 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)

常见问题 (FAQ)

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

这在聊天和私信(PM)中都适用吗?
是的,只要代理为这些交互方式配置了,附件支持在与 AI 机器人的私信和聊天直接消息中都适用。

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

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

附加资源

4 个赞