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

Azure OpenAI如何在模型知识库之上叠加自定义数据源?

问题解决方法

核心原因

你遇到的问题源于旧版本gpt-35-turbo模型(0301)对Azure OpenAI扩展的混合知识库支持有限,即便设置了ShouldRestrictResultScope=false,也无法在检索不到自定义数据时调用自身知识库回答;同时beta版本的SDK存在参数兼容问题,进一步导致逻辑失效。

具体解决方案

1. 升级模型版本

将gpt-35-turbo-0301替换为gpt-35-turbo-0613或更高版本(如gpt-35-turbo-16k-0613)。这些版本优化了Azure扩展逻辑,能正确识别ShouldRestrictResultScope参数,允许模型在无匹配自定义数据时使用自身知识回答。

2. 优化扩展配置的提示词模板

显式配置提示词,强制模型在检索不到相关文档时直接使用自身知识,而非返回“找不到信息”的回复。修改代码中的AzureChatExtensionsOptions部分:

chatCompletionOptions.AzureExtensionsOptions = new AzureChatExtensionsOptions
{
    Extensions = {
        new AzureSearchChatExtensionConfiguration
        {
            SearchEndpoint = new Uri(_configuration["AzureSearch:Endpoint"]),
            VectorizationSource = new OnYourDataDeploymentNameVectorizationSource("text-embedding-ada-002"),
            IndexName = _configuration["AzureSearch:IndexName"],
            Authentication = new OnYourDataApiKeyAuthenticationOptions(_configuration["AzureSearch:ApiKey"]),
            QueryType = AzureSearchQueryType.VectorSimpleHybrid,
            ShouldRestrictResultScope = false
        }
    },
    // 添加自定义提示词模板
    ExtensionPromptOptions = new AzureExtensionPromptOptions
    {
        SystemPrompt = "请先参考检索到的文档内容回答用户问题。如果文档中没有相关信息,直接使用你自身的知识回答,无需告知用户找不到文档内容。"
    }
};

3. 升级Azure.AI.OpenAI SDK版本

将SDK从1.0.0-beta.17升级到最新稳定版(如1.6.0及以上)。beta版本存在部分参数兼容性问题,稳定版能更好地支持混合知识库逻辑。

4. 验证检索结果为空场景

当询问自定义数据外的问题时,确认Azure Search返回的检索结果为空(可通过日志或调试查看)。若检索结果有误(如误匹配不相关文档),需调整向量检索参数或优化自定义数据的嵌入逻辑,确保仅相关内容被召回。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 17:37:11