当 Claude 根据您提供的文档回答问题时,用户可能会以为它只是从训练数据中提取信息。但如果 Claude 实际上是在引用特定来源呢?引用功能让您能够向用户准确展示 Claude 从何处找到其信息,从而为您的 AI 应用程序建立信任和透明度。
为什么引用很重要
如果没有引用,用户会认为 Claude 的回答来自记忆。他们无法验证信息,也无法理解这是基于您提供的特定文档。引用通过向用户展示 Claude 用于生成其回答每个部分的确切源材料来解决这个问题。
启用引用
要启用引用,请在您的文档消息中添加两个字段:
python
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": file_bytes,
},
"title": "earth.pdf",
"citations": { "enabled": True }
}title 字段为您的文档提供一个在引用中显示的名称。带有 enabled: True 的 citations 字段告诉 Claude 跟踪它在何处找到信息。
引用结构
启用引用后,Claude 的响应会变得更加复杂。您得到的不是简单的文本,而是带有引用信息的结构化内容:

每个引用包含:
- cited_text - Claude 从您的文档中引用的确切文本
- document_index - 哪个文档(如果您提供了多个文档)
- document_title - 您为文档指定的标题
- start_page_number - 被引用文本开始的位置
- end_page_number - 被引用文本结束的位置
构建引用界面
引用的真正威力来自于构建显示它们的用户界面。您可以在文本中创建编号引用,链接到详细的引用信息:

当用户悬停或点击引用编号时,他们会准确看到 Claude 引用了哪个文档和哪些页面。这种透明度帮助用户验证信息,并增强对 Claude 响应的信心。
纯文本引用
引用不仅限于 PDF。您也可以将其用于纯文本文档:
python
{
"type": "document",
"source": {
"type": "text",
"media_type": "text/plain",
"data": article_text,
},
"title": "earth article",
"citations": { "enabled": True }
}对于纯文本,您会得到 CitationCharLocation 对象,而不是页面位置。这些对象提供文本中的字符位置,使您能够高亮显示 Claude 引用的确切句子或段落。
何时使用引用
在以下情况下,引用至关重要:
- 用户需要验证信息的准确性
- 您正在处理敏感或重要的文档
- 关于来源的透明度能够为您的应用程序建立信任
- 用户可能想要阅读原始源材料
通过实现引用,您将 Claude 从一个只给出答案的"黑盒"转变为一个展示其工作过程的透明系统,使您的 AI 应用程序更加可信和可验证。