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

如何通过编程判断Azure OpenAI未在索引文档中找到结果?

检测Azure OpenAI结合Azure Search自带数据场景下的答案匹配状态

以下是几种可靠的编程检测方法:

  • 借助Azure Search检索元数据判断
    单独调用Azure Search的检索API,查看返回结果的@search.score字段,设定合理的得分阈值(比如0.1)。当得分低于阈值时,说明检索到的文档与用户查询相关性极低,对应AI生成的“未找到有效信息”场景。同时可辅助检查@search.highlights字段,若没有高亮内容,进一步印证文档与查询无关。

  • 通过提示词强制返回结构化标记
    在系统提示词中明确要求AI返回固定标记区分结果状态:

    • 当检索文档能回答问题时,在答案末尾添加[FOUND_VALID_ANSWER]
    • 当无法从文档获取有效信息时,添加[NO_VALID_ANSWER]
      示例提示词片段:
    你必须基于提供的检索文档回答用户问题。若文档包含有效回答信息,回答结束后必须添加标记[FOUND_VALID_ANSWER];若文档无相关内容,回答结束后必须添加标记[NO_VALID_ANSWER]。
    

    编程时只需检查返回结果中是否包含对应标记即可,完全规避AI生成表述不一致的问题。

  • 语义相似度分析检索文档与查询的匹配度
    利用Azure OpenAI的Embeddings API,对用户查询和检索到的文档内容做语义相似度计算:

    1. 提取用户查询文本和每个检索文档的内容
    2. 分别生成两者的Embedding向量
    3. 计算余弦相似度并取平均值
    4. 设定相似度阈值(比如0.7),低于阈值则判定为未找到有效答案
  • 启用严格检索模式固定返回逻辑
    在调用Azure OpenAI自带数据API时,设置retrieval_mode=strict参数。该模式下,若检索文档无法回答问题,系统会返回配置中预设的固定提示消息,而非AI动态生成的表述。此时只需匹配预设的固定字符串即可判断结果状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 07:45:00