当前位置: 首页 > news >正文

OpenAI remove key access while using AAD authentication

题意:“OpenAI 在使用 AAD 认证时移除了密钥访问权限”

问题背景:

I am calling Azure OpenAI API in my python code. To set it up, we need to provide a few parameters, one of which is openai.api_key. There are 2 options to get this value -

“我在 Python 代码中调用 Azure OpenAI API。要进行设置,我们需要提供一些参数,其中之一是 `openai.api_key`。获取此值有两种选择:”

  1. Static key
  2. AAD Token

I am using AAD token (refer this - https://github.com/openai/openai-python#microsoft-azure-active-directory-authentication) but still I can access it using the static key. I want to remove the static key access.

“我正在使用 AAD 令牌(参考这里 - https://github.com/openai/openai-python#microsoft-azure-active-directory-authentication),但我仍然可以使用静态密钥进行访问。我想移除静态密钥的访问权限。”

Is there any way to disable the static key and only authenticate using AAD authentication?

“有没有办法禁用静态密钥,并仅使用 AAD 认证进行身份验证?”

问题解决:

Is there any way to disable the static key and only authenticate using AAD authentication?

If you need to authenticate using only AAD authentication without using api.key you can use the below code with request method using Python.

“如果你需要仅使用 AAD 认证而不使用 `api.key` 进行身份验证,你可以使用以下代码,通过 Python 中的 `request` 方法实现。”

First, create an application and assign Cognitive Services User role to your application.

“首先,创建一个应用程序并为该应用程序分配 `Cognitive Services User` 角色。”

Code:        代码

import requests
import jsontenantid="xxxxx"
clientid="xxxxx"
clientsecret="xxxxxx"auth_url = f'https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/token'
data = {'grant_type': 'client_credentials','client_id': clientid,'client_secret': clientsecret,'scope': 'https://cognitiveservices.azure.com/.default'
}
response = requests.post(auth_url, data=data).json()
access_token=response['access_token']url="https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/completions?api-version=2023-05-15"h1 = {"Authorization": f"Bearer {access_token}","Content-Type":"application/json"
}body={"prompt":"MS Dhoni is greatest captain","max_tokens": 100
}
response = requests.post(url,headers=h1,data=json.dumps(body))
s=json.loads(response.text)
d=json.dumps(s,indent=3)
print(d)

Output:        输出

 {"id": "cmpl-880wqMQxxxxxxxPl","object": "text_completion","created": 1696xxxx0,"model": "text-davinci-002","choices": [{"text": " India has had, he is motivation: Ravichandran AshwinR Ashwin tweeted saying MS Dhoni has given all he had to India cricket for over 15 years and has been a motivation for everybody. Michael holding reveals his best captain story and it involves Kapil and Viv. The Indians were taken by surprise and after the initial shock it took off from there.New Zealand lost by 15 runs. It is a catch that has a contenders for the most iconic cricketing pictures.\n\nIndia","index": 0,"finish_reason": "length","logprobs": null}],"usage": {"completion_tokens": 100,"prompt_tokens": 6,"total_tokens": 106}
}

Reference:        引用

How to configure Azure OpenAI Service with managed identities - Azure OpenAI | Microsoft Learn


http://www.mrgr.cn/news/14477.html

相关文章:

  • 并行程序设计基础——MPI不连续数据发送(2)
  • 软件设计模式 - 汇总
  • KESSIL A360维修
  • 计算机基础知识复习8.29
  • 设计模式相关
  • Spring八股文
  • 手机三网状态实时查询分享
  • git 如何在切换分支时不丢弃本地修改
  • Android活动(activity)与服务(service)进行通信
  • 计算机毕业设计选题推荐-游戏比赛网上售票系统-Java/Python项目实战
  • APP.vue引入子组件进行页面展示
  • dbeaver数据库工具配置连接openGauss5.X
  • 【MATLAB源码-第147期】基于matlab的QPSK调制解调在AWGN信道,瑞利信道,莱斯信道理论与实际误码率对比仿真。
  • 解决ubuntu22.04无法识别CH340/CH341和vscode espidf插件无法选择串口设备节点问题
  • 高效网络管理解决方案及“监控易”推荐
  • Spring+SpringWeb+MyBatis三大框架整合教程 实现先前后端交互搭建
  • [000-01-022].第03节:RabbitMQ中的优先级队列
  • 极光推送(JPush)赋能登虹科技,打造智慧视觉云平台新体验
  • 279. 完全平方数
  • 华为HCIA考试大纲