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

如何使Azure AI Foundry项目API返回与聊天Playground一致的含PDF数据的结果?

问题分析与解决方案

原因分析

  • Azure AI Foundry聊天Playground的数据源集成是通过内置的检索增强生成(RAG)管道自动完成的,但直接调用AzureOpenAIClient的基础Chat Completion接口时,不会触发这套RAG逻辑,仅会调用原生GPT-3.5模型。
  • 你的Web应用代码未实现检索PDF索引的流程,也没有将检索到的文档片段注入对话上下文,导致模型无法获取PDF中的数据。
  • 可能误使用了Azure OpenAI基础模型的端点,而非AI Foundry中部署的带RAG配置的项目专属端点。

配置调整步骤

1. 确认调用端点正确性

放弃直接调用Azure OpenAI基础模型端点,改用Azure AI Foundry中部署的带RAG配置的项目专属端点。该端点可在AI Foundry项目部署页面获取,同时需使用对应项目的API密钥。

2. 实现RAG检索逻辑(若需用AzureOpenAIClient)

如果必须通过AzureOpenAIClient调用,需手动集成索引检索流程:

  • 将用户查询发送至PDF对应的索引服务,调用检索接口获取相关文档片段。
  • 将检索到的片段拼接为上下文,注入用户prompt,示例格式:
    参考以下文档内容回答问题:
    {检索到的PDF片段内容}
    
    用户问题:{用户输入的查询}
    
  • 将拼接后的prompt传入ChatClient的聊天完成接口。

3. 优先使用AI Foundry对话API(推荐)

直接调用Azure AI Foundry提供的对话专用接口,该接口会自动处理RAG管道,无需手动实现检索:

  • 请求时需指定正确的项目ID、部署名称,请求体包含用户查询,AI Foundry会自动从已索引的PDF中检索内容并注入模型上下文。

4. 验证权限与索引关联

  • 确认Web应用使用的API密钥拥有访问AI Foundry项目索引的权限。
  • 在AI Foundry项目配置页面,检查PDF数据源是否已正确关联至部署的ChatGPT项目,确保索引状态为“已激活”。

5. 代码示例(Python)

以下是调用AI Foundry对话接口的简单示例:

import requests

# 替换为你的项目端点、API密钥和项目ID
endpoint = "https://<your-resource>.azureaifoundry.com/api/v1/conversations"
api_key = "<your-api-key>"
project_id = "<your-project-id>"

headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {api_key}"
}

payload = {
    "messages": [{"role": "user", "content": "请根据PDF内容回答相关问题"}],
    "project_id": project_id
}

response = requests.post(endpoint, headers=headers, json=payload)
print(response.json()["choices"][0]["message"]["content"])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 15:03:14