AzureOpenAI: 缺少`api_key`、`azure_ad_token`、`azure_ad_token_provider`的凭证

我正在尝试使用Azure OpenAI模型,基于GCP中BigQuery表的数据,通过Cloud Functions生成评论。以下是我一直在使用的Python脚本:

from azure_openai import AzureOpenAIdef generate_comment(month, year, country, column_name, current_value, previous_value):        prompt_ = ("")            client = AzureOpenAI(            api_key=os.getenv("AZURE_OPENAI_API_KEY"), ## 也尝试过 api_key="AZURE_OPENAI_API_KEY"            api_version="2023-09-15-preview",            azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT")        )            response = client.completions.create(model="MODEL_NAME", prompt=prompt_, max_tokens=50, temperature=0.35)        return response.choices[0].text

我之前尝试过旧版本,但得到了openai.lib._old_api.APIRemovedInV1错误:

openai.api_type = "azure"openai.api_base = "https://xxx.openai.azure.com/"openai.api_version = "2023-09-15-preview"openai.api_key = "xxx"response = openai.Completion.create(engine="xxx",prompt=prompt_,temperature=0.35)return response['choices'][0]['message']['content']

然而,我遇到了500内部服务器错误,错误信息如下:

ValueError: Must provide one of the `base_url` or `azure_endpoint` arguments, or the `AZURE_OPENAI_ENDPOINT` environment variable

我已经检查了我的Azure OpenAI配置,并确保API密钥和端点是正确的。请问有人能帮我找出可能导致此错误的原因吗?


回答:

如下所示,它可以正常工作:

import openai# 设置Azure OpenAI配置openai.api_type = "azure"openai.api_base = "https://XXXX.openai.azure.com/"openai.api_key = "XXXX"openai.api_version = "XXXX"def generate_comment():prompt_ = ""    messages = [        {"role": "system", "content": "您将根据给定的数据生成评论。"},        {"role": "user", "content": prompt_}    ]    # 向Azure OpenAI发送完成请求以生成评论    response = openai.ChatCompletion.create(        engine="XXXX", # engine = "deployment_name"        messages=[            {"role": "system", "content": "您将根据给定的数据生成评论。"},            {"role": "user", "content": prompt_}        ],        max_tokens=50,        temperature=0.35    )    return response['choices'][0]['message']['content']

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注