You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure OpenAI Web应用中显示文件名及引用信息

实现Azure AI Search问答引用中显示文件名的方案

核心思路

利用现有索引字段提取文件名,在RAG流程中传递文件名信息并在回答中展示,或新增专用字段简化后续处理。

方法一:利用现有索引字段快速实现

  1. 确定文件名来源
    你的索引中metadata_storage_path字段包含Blob存储的完整路径(格式类似r*g/文件名.ext),可直接从该字段截取最后一段作为文件名。

  2. 调整检索返回字段
    在调用Azure AI Search的检索接口时,确保将metadata_storage_path加入select参数,让检索结果返回该字段。示例参数:

    search=<查询关键词>&select=content,metadata_storage_path,...
    
  3. 修改提示词规则
    在给Azure OpenAI的提示词中明确要求,生成回答时需将引用内容对应的文件名(从metadata_storage_path提取)标注在引用旁。示例提示词片段:

    请基于检索到的内容回答问题,每个引用内容需同时标注对应的文件名(从metadata_storage_path字段截取最后一段),格式为「引用内容 - 文件名」。

  4. 前端解析展示
    在Web应用中,获取检索结果后,对metadata_storage_path做字符串截取(以/为分隔符取最后一段),将文件名与引用内容拼接后渲染到页面。

方法二:新增专用文件名字段(更规范)

如果希望索引中直接存储文件名,可通过索引器字段映射实现:

  1. 修改索引结构
    在azureblob-index1索引中新增filename字段,类型设为String。

  2. 配置索引器字段映射
    编辑关联的索引器,添加字段映射规则,自动从metadata_storage_path提取文件名:

    {
      "sourceFieldName": "metadata_storage_path",
      "targetFieldName": "filename",
      "mappingFunction": {
        "name": "extractToken",
        "parameters": {
          "delimiter": "/",
          "position": -1
        }
      }
    }
    
  3. 重新运行索引器
    触发索引器重新运行,让所有现有文档生成filename字段值。

  4. 简化后续流程
    后续检索时直接返回filename字段,提示词和前端展示无需再做字符串截取,直接使用该字段值即可。

内容的提问来源于stack exchange,提问作者user26690975

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 23:03:19