Using Embeddings API in Azure OpenAI

题意:当我在 Azure OpenAI 中使用嵌入功能时,我遇到了 404 错误(资源未找到)

问题背景:

When I use embeddings with Azure OpenAI I am getting 404 (resource not found):

当我在 Azure OpenAI 中使用嵌入功能时,我遇到了 404 错误(资源未找到)

    EmbeddingsOptions embdOptions = new EmbeddingsOptions(text);
    Azure.AI.OpenAI.Embeddings response = Task.Run(() => mOpenAiClient.GetEmbeddingsAsync(mWebSvc.AzureOpenAI.DeploymentID, embdOptions)).Result;

The text is the input text to be used to create the vector. Also, mWebSvc.AzureOpenAI.DeploymentID is a Deployment ID or Deployment Name, which is "ada2" - this is how I named the text-embedding-ada-002 model. Also, while I created mOpenAiClient I used the URL:

该文本是用于创建向量的输入文本。同时,mWebSvc.AzureOpenAI.DeploymentID 是一个部署ID或部署名称,这里是 "ada2"——这是我给text-embedding-ada-002模型命名的名称。另外,在创建mOpenAiClient时,我使用了以下URL:

"https://AzureOpenAIExperiment.openai.azure.com/openai/deployments/ada2/embeddings?api-version=2023-05-15"

Any ideas? Microsoft is quite silent on these things and no documentation is provided in Azure OpenAI part of Azure SDK.

有什么想法吗?微软在这些事情上相当沉默,Azure SDK的Azure OpenAI部分也没有提供任何文档。

问题解决:

Apparently, the URL that I used before, although correct for normal HttpClient calls is not what Azure Open AI API is expecting. It expects this:

显然,我之前使用的URL虽然对于正常的HttpClient调用是正确的,但并不是Azure OpenAI API所期望的。它期望的是这样的:

https://{resourceName}.openai.azure.com

Where {resourceName} is a placeholder - it is the name of the resource you created on Azure. The Type Of Resource is: "Azure OpenAI". This is the resource that you deployed the model (in my case text-embedding-ada-002 that I named "ada2". This "ada2" goes as a parameter into GetEmbeddingsAsync function.

其中{resourceName}是一个占位符,它是你在Azure上创建的资源的名称。资源类型是:“Azure OpenAI”。这是你部署模型的资源(在我的情况下,我命名为“ada2”的text-embedding-ada-002模型)。这个“ada2”作为参数传递给GetEmbeddingsAsync函数。

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
OpenAI Embeddings API是一个自然语言处理API,可用于将文本转换为向量表示。以下是使用OpenAI Embeddings API的步骤: 1. 获取API密钥:访问OpenAI的网站,注册账户并获取API密钥。 2. 安装OpenAI SDK:在本地计算机上安装OpenAI SDK,以便与API进行交互。 3. 创建API客户端:使用OpenAI SDK创建API客户端,以便发送请求和接收响应。 4. 发送请求:使用API客户端发送请求,以将文本转换为向量表示。请求中需要包含要转换的文本和模型ID。 5. 处理响应:API将返回一个向量表示,可以在代码中使用该表示进行进一步的自然语言处理任务。 以下是一个使用OpenAI Embeddings API的Python示例代码: ``` import openai import json # 设置API密钥 openai.api_key = "YOUR_API_KEY" # 创建API客户端 model_engine = "text-babbage-001" client = openai.Model(model_engine) # 发送请求 text = "The quick brown fox jumps over the lazy dog." input_dict = {"text": text, "model": model_engine} response = client.generate(input_dict) # 处理响应 output_json = response.choices[0].text output_dict = json.loads(output_json) vector = output_dict["vector"] print(vector) ``` 在此示例中,我们使用了OpenAI SDK创建了一个名为`client`的API客户端,并使用`generate`方法向API发送请求。请求中包含了一个要转换的文本`text`和一个模型ID`model_engine`。API返回一个表示文本向量的JSON字符串,我们使用`json`模块将其转换为Python字典,并提取向量表示。最后,我们打印向量表示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

营赢盈英

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值