Az Azure OpenAI SDK használata

Befejeződött

Az előző leckében tárgyalt REST API-k mellett a felhasználók C# és Python SDK-k használatával is hozzáférhetnek az Azure OpenAI-modellekhez. Ugyanez a funkció a REST és ezen SDK-k segítségével is elérhető.

Feljegyzés

Mielőtt bármelyik SDK-val kommunikál az API-val, létre kell hoznia egy Azure OpenAI-erőforrást az Azure Portalon, üzembe kell helyeznie egy modellt az adott erőforrásban, és le kell kérnie a végpontot és a kulcsokat. Az Azure OpenAI szolgáltatás használatának első lépéseiből megtudhatja, hogyan teheti ezt meg.

Az egységben tárgyalt mindkét SDK-hoz szüksége lesz a végpontra és az Azure OpenAI-erőforrás kulcsára, valamint az üzembe helyezett modellhez megadott névre. A következő kódrészletekben a következő helyőrzőket használja a rendszer:

Helyőrző neve Érték
YOUR_ENDPOINT_NAME Ez az alapvégpont az Azure Portal Kulcsok & végpont szakaszában található. Ez az erőforrás alapvégpontja, például https://sample.openai.azure.com/.
YOUR_API_KEY A kulcsok az Azure Portal Kulcsok &végpont szakaszában találhatók. Az erőforráshoz bármelyik kulcsot használhatja.
YOUR_DEPLOYMENT_NAME Ez az üzembe helyezési név a modell Azure OpenAI Studióban való üzembe helyezésekor megadott név.

Kódtárak telepítése

Először telepítse az ügyfélkódtárat az előnyben részesített nyelvhez. A C# SDK a REST API-k .NET-adaptációja, amely kifejezetten az Azure OpenAI-hoz készült, de használható Azure OpenAI-erőforrásokhoz vagy nem Azure OpenAI-végpontokhoz való csatlakozáshoz. A Python SDK-t az OpenAI építi és tartja karban.

dotnet add package Azure.AI.OpenAI --prerelease
pip install openai

Alkalmazás konfigurálása az Azure OpenAI-erőforrás eléréséhez

Az egyes nyelvek konfigurációja kissé eltérő, de mindkettőhöz ugyanazokat a paramétereket kell beállítani. A szükséges paraméterek a endpointkövetkezők: , keyés az üzembe helyezés neve, amelyet a rendszer a engine modellnek küldött kéréskor nevez.

Adja hozzá a kódtárat az alkalmazáshoz, és állítsa be az ügyfélhez szükséges paramétereket.

// Add OpenAI library
using Azure.AI.OpenAI;

// Define parameters and initialize the client
string endpoint = "<YOUR_ENDPOINT_NAME>";
string key = "<YOUR_API_KEY>";
string deploymentName = "<YOUR_DEPLOYMENT_NAME>"; 

OpenAIClient client = new OpenAIClient(new Uri(endpoint), new AzureKeyCredential(key));
# Add OpenAI library
from openai import AzureOpenAI

deployment_name = '<YOUR_DEPLOYMENT_NAME>' 

# Initialize the Azure OpenAI client
client = AzureOpenAI(
        azure_endpoint = '<YOUR_ENDPOINT_NAME>', 
        api_key='<YOUR_API_KEY>',  
        api_version="20xx-xx-xx" #  Target version of the API, such as 2024-02-15-preview
        )

Azure OpenAI-erőforrás meghívása

Miután konfigurálta a kapcsolatot az Azure OpenAI-hoz, küldje el a kérést a modellnek.

// Build completion options object
ChatCompletionsOptions chatCompletionsOptions = new ChatCompletionsOptions()
{
    Messages =
    {
        new ChatRequestSystemMessage("You are a helpful AI bot."),
        new ChatRequestUserMessage("What is Azure OpenAI?"),
    },
    DeploymentName = deploymentName
};

// Send request to Azure OpenAI model
ChatCompletions response = client.GetChatCompletions(chatCompletionsOptions);

// Print the response
string completion = response.Choices[0].Message.Content;
Console.WriteLine("Response: " + completion + "\n");
response = client.chat.completions.create(
    model=deployment_name,
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "What is Azure OpenAI?"}
    ]
)
generated_text = response.choices[0].message.content

# Print the response
print("Response: " + generated_text + "\n")

A válaszobjektum több értéket tartalmaz, például total_tokens és finish_reason. A válaszobjektum befejezése a következő befejezéshez hasonló lesz:

"Azure OpenAI is a cloud-based artificial intelligence (AI) service that offers a range of tools and services for developing and deploying AI applications. Azure OpenAI provides a variety of services for training and deploying machine learning models, including a managed service for training and deploying deep learning models, a managed service for deploying machine learning models, and a managed service for managing and deploying machine learning models."

A C#-ban és a Pythonban a hívás opcionális paramétereket is tartalmazhat, beleértve temperature a és max_tokensa . A modul tesztkörnyezete példákat tartalmaz ezen paraméterek használatára.