本指南介绍如何在 Discourse 中与 AI 机器人交互时启用和使用原生 PDF 及文档附件支持。用户可以在与 AI 代理的对话中直接上传 PDF 和其他文档。
所需用户级别:管理员
概述
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 |
|
| 纯文本 | txt |
| Microsoft Word | doc, docx |
| 富文本格式 | rtf |
| HTML | html, htm |
| Markdown | md, markdown |
图片通过“启用视觉”设置单独处理,无需配置附件类型。
配置
第 1 步:授权上传文件扩展名
在用户可以上传附件之前,请确保文件扩展名已在站点设置中授权。
- 导航至 管理 → 文件
- 找到
authorized extensions设置 - 添加想要允许的扩展名(例如,
pdf|txt|docx)
第 2 步:配置 LLM 模型
- 导航至 管理 → 插件 → Discourse AI → LLMs
- 选择要配置的 LLM 模型(或创建一个新模型)
- 在 Allowed attachments(允许的附件)字段中,选择或输入希望模型接受的文件扩展名(例如,
pdf、txt、docx)
如果将“Allowed attachments”字段留空,该模型的文档附件功能将被禁用。图片通过“启用视觉”切换开关单独控制。
第 3 步:配置代理
- 导航至 管理 → 插件 → Discourse AI → Agents
- 选择或创建一个代理
- 确保已开启 Vision enabled(启用视觉) — 此设置控制上传文件(包括图片和文档)是否包含在发送给 LLM 的消息中
- 将 Default model(默认模型)设置为已配置附件支持的 LLM
工作原理
当用户在对话中向 AI 机器人上传文档时:
- 文档通过标准上传处理机制上传到 Discourse
- Discourse AI 编码文档内容(base64)
- 编码后的内容与用户消息一起发送给 LLM
- LLM 处理文本消息和文档内容
- AI 基于综合上下文作出响应
技术细节
- 文档以 base64 编码并内联发送到请求中
- 每个提供商以各自的原生格式接收附件:
- Anthropic:使用带有 base64 源的
document类型 - Gemini:使用
inlineData格式 - OpenAI(Chat Completions API):使用
file类型,file_data包含 base64 内容 - OpenAI(Responses API):使用
input_file类型,file_data包含 base64 内容
- Anthropic:使用带有 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 配置中显式启用缓存。这在多轮对话中尤其重要。
故障排除
附件未被处理
- 验证文件扩展名是否在站点的
authorized extensions设置中 - 确认文件类型列在 LLM 的“Allowed attachments”设置中
- 确保代理已开启“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 上传文件。

