Error when attempting to add data source to Azure OpenAI api

题意:尝试向 Azure OpenAI API 添加数据源时出现错误

问题背景:

My code is working for a call to Azure OpenAI when I don't have a datasource added. However, when I do add my datasource with the following parameters I get an error:

当我没有添加数据源时,我的代码在调用 Azure OpenAI 时可以正常工作。然而,当我使用以下参数添加数据源时,出现了错误:

cs 复制代码
response = client.chat.completions.create(
    messages = [
        {
            "role": "system",
            "content": "when the user provides a project name as input you should do the steps mentioned below: Step 1: Get the project band of the project from the file."
        },
        {
            "role": "user",
            "content": 'Project Name: "Test project" '
        }
    ],
    model = "GPT-3.5 Turbo",
    seed = 42,
    temperature = 0,
    max_tokens = 800,
    extra_body = {
        "dataSources": [
            {
                "type": "AzureCognitiveSearch",
                "parameters": {
                    "endpoint": os.environ["SEARCH_ENDPOINT"],
                    "key": os.environ["SEARCH_KEY"],
                    "indexName": "test-index"
                }
            }
        ]

Gives error: 错误信息:

cs 复制代码
Exception has occurred: BadRequestError
Error code: 400 - {'error': {'message': 'Unrecognized request argument supplied: dataSources', 'type': 'invalid_request_error', 'param': None, 'code': None}}
httpx.HTTPStatusError: Client error '400 model_error' for url 'https://openai-ngap-genai-poc.openai.azure.com//openai/deployments/NTAPOC/chat/completions?api-version=2023-09-01-preview'
For more information check: https://httpstatuses.com/400

During handling of the above exception, another exception occurred:

  File "C:\Users\choran\OneDrive - Open Sky Data Systems\Documents\NTA\NTA Chatbot code\Attempting to add datasource.py", line 13, in <module>
    response = client.chat.completions.create(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openai.BadRequestError: Error code: 400 - {'error': {'message': 'Unrecognized request argument supplied: dataSources', 'type': 'invalid_request_error', 'param': None, 'code': None}}

Verified that datasource details were correct.

Full code here

问题解决:

In my environment, when I tried the same code, I got the same error:

在我的环境中,当我尝试相同的代码时,也遇到了相同的错误:

Error**:**

openai.BadRequestError: Error code: 400 - {'error': {'message':'Unrecognized request argument supplied: dataSources', 'type': 'invalid_request_error', 'param': None, 'code': None}}

You can use this MS-DOCS to create your own data with chat completion.

你可以使用这个 [MS-DOCS](https://docs.microsoft.com) 来创建自己的数据,并进行聊天补全。

You can use the code below to create chat completion with data source and openai version 1.9.0.

你可以使用下面的代码,在数据源和 OpenAI 版本 1.9.0 下创建聊天补全。

Code:

cs 复制代码
import os
from openai import AzureOpenAI

endpoint=os.environ["AZURE_ENDPOINT"]
deployment="gpt-35-turbo"
apikey=os.environ["API_KEY"]
client = AzureOpenAI(
    base_url=f"{endpoint}/openai/deployments/{deployment}/extensions", 
    api_key=apikey, 
    api_version="2023-09-01-preview")

for i in range(3):
    print (f'Answer Version {i + 1}\n---')

completion = client.chat.completions.create(
    model = deployment,
    messages = [
        {
            "role": "system",
            "content": "When the user provides a project name as input, you should do the steps mentioned below: Step 1: Get the project band of the project from the file."
        },
        {
            "role": "user",
            "content": 'Where do I go for Azure OpenAI customer support?" '
        }
    ],
    seed = 42,
    temperature = 0,
    max_tokens = 800,
    extra_body = {
        "dataSources": [
            {
                "type": "AzureCognitiveSearch",
                "parameters": {
                    "endpoint": os.environ["SEARCH_ENDPOINT"],
                     "key": os.environ["SEARCH_KEY"],
                     "indexName": "test-index"
                    }
             }
        ]
    }
)
print (completion.choices[0].message.content) 

print("---\n")

Output:

cs 复制代码
Answer Version 1
---
Answer Version 2
---
Answer Version 3
---
You can check the Cognitive Services support options guide for help with Azure OpenAI [doc1].
相关推荐
武子康2 小时前
大语言模型 09 - 从0开始训练GPT 0.25B参数量 补充知识之数据集 Pretrain SFT RLHF
人工智能·gpt·ai·语言模型·自然语言处理
豌豆花下猫3 小时前
Python 潮流周刊#102:微软裁员 Faster CPython 团队(摘要)
后端·python·ai
zhz52143 小时前
AI数字人融合VR全景:开启未来营销与交互新篇章
人工智能·ai·交互·vr·ai编程·智能体
一叶茶3 小时前
VsCode和AI的前端使用体验:分别使用了Copilot、通义灵码、iflyCode和Trae
前端·vscode·gpt·ai·chatgpt·copilot·deepseek
幸福回头5 小时前
ms-swift 代码推理数据集
llm·swift
亚里随笔5 小时前
AlphaEvolve:LLM驱动的算法进化革命与科学发现新范式
人工智能·算法·llm·大语言模型
小薛博客9 小时前
4、前后端联调文生文、文生图事件
java·ai
LucianaiB16 小时前
使用GpuGeek高效完成LLaMA大模型微调:实践与心得分享
ai·llama·ai自动化·gpugeek
素雪风华18 小时前
构建RAG混合开发---PythonAI+JavaEE+Vue.js前端的实践
java·vue.js·python·ai·语言模型·llms·qwen千问大模型
胡玉洋1 天前
从新手到高手:全面解析 AI 时代的「魔法咒语」——Prompt
人工智能·ai·prompt·transformer·协议