Openai cookbook: Azure OpenAI – How to get embeddings from Azure OpenAI

  • by

Azure OpenAI를 사용하려면 Microsoft에서 서비스를 사용할 수 있는 권한을 가져와야 합니다.

공부 목적으로 필요하다고 신청했지만 거부되었습니다.


실제로이 Azure OpenAI를 사용하여 제품을 개발하고 싶다면 한 번 신청하십시오.

신청 방법은 아래의 기사에 정리해 두었습니다.

https://coronasdk./1304

Azure OpenAI를 사용하기 위한 전제 조건 – 사용 요청이 거부되었습니다.

OpenAI CookBook을 거의 모두 공부하고 Azure OpenAI를 공부하는 순서입니다.

https://github.com/openai/openai-cookbook GitHub – openai/openai-cookbook: Examples and guides for using the OpenAI API Examples and guides for using the OpenAI API. C

coronasdk.

나는 한 번 연습할 수 없으며 쿡북 기사에서 공부합시다.

https://github.com/openai/openai-cookbook/blob/main/examples/azure/embeddings.ipynb

GitHub – openai/openai-cookbook: Examples and guides for using the OpenAI API

Examples and guides for using the OpenAI API. Contribute to openai/openai-cookbook development by creating an account on GitHub.

github.com

그건 그렇고, Azure OpenAI Embeddings + Search 관련 YouTube 클립입니다.

https://www.youtube.com/watch?v=ocxq84ocYi0

아래에서 쿡북의 내용입니다.

Azure embeddings example

In this example we’ll try to go over all operations for embeddings that can be done using the Azure endpoints.
This example focuses on embeddings but also touches some other operations that are also available using the API. This example is meant to be a quick way of showing simple operations and is not meant as a tutorial.

이 예에서는 Azure endpoints 사용하여 실행 가능 embeddings 의 작업을 살펴 ​​보겠습니다.


이 예에서는 포함에 초점을 맞추지만 API를 사용하여 사용할 수 있는 다른 작업에 대해서도 설명합니다.

이 예제는 간단한 작업을 보여주는 간단한 방법이며 튜토리얼이 아닙니다.

import openai
from openai import cli

Setup

For the following sections to work properly we first have to setup some things. Let’s start with the api_base and api_version. To find your api_base go to https://portal.azure.comfind your resource and then under “Resource Management” -> “Keys and Endpoints” look for the “Endpoint” value.

다음 섹션이 제대로 작동하려면 먼저 몇 가지를 설정해야 합니다.

api_base와 api_version부터 시작합시다.

api_base를 찾으려면 https://portal.azure.com으로 이동하여 리소스를 찾고, 자원 관리 -> 키 및 엔드포인트 부터”엔드포인트“값을 찾습니다.

openai.api_version = '2022-12-01'
openai.api_base="" # Please add your endpoint here

그런 다음 api_type 및 api_key를 설정해야 합니다.

포털에서 키를 가져오거나 Microsoft Active Directory 인증을 통해 얻을 수 있습니다.

따라서 api_type은 azure 또는 azure_ad입니다.

Setup: Portal

Let’s first look at getting the key from the portal. Go to https://portal.azure.comfind your resource and then under “Resource Management” -> “Keys and Endpoints” look for one of the “Keys” values.

먼저 포털에서 키를 얻는 방법을 살펴 보겠습니다.

https://portal.azure.com으로 이동하여 리소스를 찾고, 자원 관리 -> 키 및 엔드포인트부터”키스“값 중 하나를 찾습니다.

openai.api_type="azure"
openai.api_key = ''  # Please add your api key here

(Optional) Setup: Microsoft Active Directory Authentication

Let’s now see how we can get a key via Microsoft Active Directory Authentication. Uncomment the following code if you want to use Active Directory Authentication instead of keys from the portal.

(선택 사항) 설정: Microsoft Active Directory 인증
다음으로 Microsoft Active Directory 인증을 사용하여 키를 얻는 방법을 살펴 보겠습니다.

포털의 키 대신 Active Directory 인증을 사용하려면 다음 코드의 주석을 제거합니다.

# from azure.identity import DefaultAzureCredential

# default_credential = DefaultAzureCredential()
# token = default_credential.get_token("https://cognitiveservices.azure.com/.default")

# openai.api_type="azure_ad"
# openai.api_key = token.token

Deployments

In this section we are going to create a deployment that we can use to create embeddings.

이 섹션에서는 embeddings만들기에 사용할 수 있습니다.

deployment 을 만듭니다.

Deployments: Create manually

Let’s create a deployment using the text-similarity-curie-001 model. Create a new deployment by going to your Resource in your portal under “Resource Management” -> “Model deployments”.

text-similarity-curie-001 모델을 사용하여 배포를 만듭니다.

리소스 관리 -> 모델 배포에서 포털 리소스로 이동하고, deployment을 만듭니다.

(Optional) Deployments: Create programatically

We can also create a deployment using code:

코드로 deployment 을 만들 수도 있습니다.

model = "text-similarity-curie-001"

# Now let's create the deployment
print(f'Creating a new deployment with model: {model}')
result = openai.Deployment.create(model=model, scale_settings={"scale_type":"standard"})
deployment_id = result("id")

(Optional) Deployments: Retrieving

Now let’s check the status of the newly created deployment

그런 다음 새로 생성된 배포의 상태를 확인합니다.

print(f'Checking for deployment status.')
resp = openai.Deployment.retrieve(id=deployment_id)
status = resp("status")
print(f'Deployment {deployment_id} is with status: {status}')

Deployments: Listing

Now because creating a new deployment takes a long time, let’s look in the subscription for an already finished deployment that succeeded.

지금 새로운 deployment 작성하는 데 시간이 걸리므로 이미 완료되었습니다.

deployment 소개 subscription 를 보자.

print('While deployment running, selecting a completed one that supports embeddings.')
deployment_id = None
result = openai.Deployment.list()
for deployment in result.data:
    if deployment("status") !
= "succeeded": continue model = openai.Model.retrieve(deployment("model")) if model("capabilities")("embeddings") !
= True: continue deployment_id = deployment("id") break if not deployment_id: print('No deployment with status: succeeded found.') else: print(f'Found a succeeded deployment that supports embeddings with id: {deployment_id}.')

Embeddings

Now let’s send a sample embedding to the deployment.

그러면 배포에 샘플 포함을 보냅니다.

embeddings = openai.Embedding.create(deployment_id=deployment_id,
                                     input="The food was delicious and the waiter...")
                                
print(embeddings)

(Optional) Deployments: Delete

Finally let’s delete the deployment

마지막으로 deployment을 삭제합니다.