如何用 Azure OpenAI 实现 embedding

准备工作

Azure 的 OpenAI功能需要通过下面的链接单独申请

https://aka.ms/oai/access

注意:
1.每一个订阅和申请单独绑定,如果你删除了以前的订阅,还需要重新提交申请单
2.申请单一般需要一个工作日的审核

获得新建资源的权限后,同意 portal 的首页,检索Azure OpenAI,进入服务首页。然后新建订阅

image-20240321163126588

一路点击下一步,直到服务部署完成。然后转到资源页面。

image-20240321163345080

再点选按钮进入到 OpenAI Studio 页面,如下图。

image-20240321163550099

在部署页面,新建一个 ada_embedding的模型,至此准备工作完成。

image-20240321163816040

编写代码

新建一个文件ada_embedding.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import openai
from openai import AzureOpenAI

client = AzureOpenAI(azure_endpoint="https://startup101.openai.azure.com/",
    api_key="xxx",
    # https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#rest-api-versioning
    api_version="2024-02-15-preview")

EMBEDDING_MODEL_NAME = "ada_embedding002" # 在 Azure OpenAI 部署页面上建立的模型名称

response = client.embeddings.create(input="我會披星戴月的想你,\
                                    我會奮不顧身的前進,遠方煙火越來越唏噓,凝視前方身後的距離",
                                    model=EMBEDDING_MODEL_NAME)

# 這裡的 response['data'][0]['embedding'] 就是我們要的 embedding
print(response.data[0].embedding)