Поделиться через


Быстрый старт: Приступите к созданию текста с помощью API устаревших завершений

Используйте эту статью, чтобы приступить к выполнению первых вызовов к Azure OpenAI.

Предпосылки

Перейдите в Azure AI Foundry

Перейдите на портал Azure AI Foundry и войдите с учетными данными, имеющими доступ к ресурсу Azure OpenAI. Во время или после рабочего процесса входа выберите соответствующий каталог, подписку Azure и ресурс Azure OpenAI.

Детская площадка

Начните изучение возможностей Azure OpenAI, используя бескодовый подход через песочницу для автозаполнения. Это просто текстовое поле, в котором можно отправить запрос для получения результата. На этой странице можно быстро итерировать и экспериментировать с возможностями.

Снимок экрана: страница игровой площадки AI Foundry с выделенными разделами.

Чтобы приступить к работе, можно выбрать развертывание и выбрать один из нескольких предварительно загруженных примеров. Если у вашего ресурса нет развертывания, нажмите кнопку "Создать развертывание " и следуйте инструкциям мастера. Дополнительные сведения о развертывании моделей см. в руководстве по развертыванию ресурсов.

Вы можете поэкспериментировать с параметрами конфигурации, такими как температура и текст предварительного ответа, чтобы повысить производительность задачи. Вы можете прочитать больше о каждом параметре в REST API.

  • Нажатие кнопки "Создать " отправит введенный текст в API завершения и передаст результаты обратно в текстовое поле.
  • Нажмите кнопку Отменить, чтобы отменить предыдущую команду на генерацию.
  • Нажмите кнопку "Повторно создать", чтобы совместно завершить вызов отмены и создания.

Azure OpenAI также выполняет модерацию контента в запросах и созданных выходных данных. Запросы или ответы могут быть отфильтрованы, если обнаружено вредное содержимое. Для получения дополнительной информации см. статью о фильтре содержимого.

В разделе 'Completions Playground' вы ещё можете просмотреть примеры кода Python и curl, уже заполненные в соответствии с выбранными параметрами. Просто выберите код представления рядом с раскрывающимся списком примеров. Вы можете написать приложение для выполнения той же задачи с помощью пакета SDK Для OpenAI Python, curl или другого клиента REST API.

Попробуйте резюмирование текста

Чтобы использовать Azure OpenAI для суммаризации текста в песочнице Completions, выполните следующие действия.

  1. Войдите на портал Azure AI Foundry.

  2. Выберите подписку и ресурс OpenAI для работы.

  3. Выберите песочницу Completions на главной странице.

  4. Выберите развертывание из выпадающего списка Развертывания. Если у ресурса нет развертывания, нажмите кнопку "Создать развертывание ", а затем повторите этот шаг.

  5. Введите запрос для модели.

    Снимок экрана страницы песочницы Azure AI Foundry с примером суммаризации текста.

  6. Выберите Generate. Azure OpenAI попытается записать контекст текста и переразить его кратко. Вы должны получить результат, похожий на следующий текст:

Точность ответа может отличаться на модель. Модель gpt-35-turbo-instruct на основе этого примера хорошо подходит для этого типа суммирования, хотя в целом мы рекомендуем использовать API альтернативных завершений чата, если у вас нет конкретного варианта использования, который особенно подходит для API завершения.

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.

Следующие шаги

Исходный код | Пакет (NuGet) | Примеры

Предварительные условия

Настройка

Создание приложения .NET Core

В окне консоли (cmd, PowerShell или Bash) выполните команду dotnet new, чтобы создать консольное приложение с именем azure-openai-quickstart. Эта команда создает простой проект Hello World с одним исходным файлом C#: Program.cs.

dotnet new console -n azure-openai-quickstart

Измените каталог на созданную папку приложения. Чтобы создать приложение, выполните следующую команду:

dotnet build

Выходные данные сборки не должны содержать предупреждений или ошибок.

...
Build succeeded.
 0 Warning(s)
 0 Error(s)
...

Установите клиентскую библиотеку OpenAI .NET с помощью:

dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.17

Примечание.

API завершения доступен только в версии 1.0.0-beta.17 и более ранней клиентской библиотеке Azure.AI.OpenAI . Для последней версии 2.0.0 и более поздних версий Azure.AI.OpenAI, рекомендуемый подход к созданию завершений — использовать API завершения чата.

Получение ключа и конечной точки

Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.

Имя переменной Значение
ENDPOINT Конечную точку службы можно найти в разделе "Ключи и Конечная точка" при изучении ресурса в портале Azure. Кроме того, можно найти конечную точку на странице "Развертывания " на портале Azure AI Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2.

Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1 или KEY2. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.

Снимок экрана пользовательского интерфейса обзора для ресурса Azure OpenAI в портале Azure с обведенными красным цветом конечной точкой и расположением ключей доступа.

Переменные среды

Создайте и назначьте переменные постоянной среды для ключа и конечной точки.

Внимание

Мы рекомендуем использовать аутентификацию с помощью Microsoft Entra ID с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с вашими приложениями, работающими в облаке.

Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Создание примера приложения

В каталоге проекта откройте файл Program.cs и замените следующим кодом:

using Azure;
using Azure.AI.OpenAI;
using static System.Environment;

string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string key = GetEnvironmentVariable("AZURE_OPENAI_API_KEY");

var client = new OpenAIClient(
    new Uri(endpoint),
    new AzureKeyCredential(key));

CompletionsOptions completionsOptions = new()
{
    DeploymentName = "gpt-35-turbo-instruct",
    Prompts = { "When was Microsoft founded?" },
};

Response<Completions> completionsResponse = client.GetCompletions(completionsOptions);
string completion = completionsResponse.Value.Choices[0].Text;
Console.WriteLine($"Chatbot: {completion}");

Внимание

Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения о безопасности учетных данных см. в статье о безопасности служб искусственного интеллекта Azure.

dotnet run Program.cs

Выходные данные

Chatbot:

Microsoft was founded on April 4, 1975.

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.

Следующие шаги

Примеры пакета исходного кода | (Go)|

Предварительные условия

Настройка

Получение ключа и конечной точки

Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.

Имя переменной Значение
ENDPOINT Конечную точку службы можно найти в разделе "Ключи и Конечные точки", изучая ваш ресурс из портала Azure. Кроме того, можно найти конечную точку на странице "Развертывания " на портале Azure AI Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2.

Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1 или KEY2. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.

Снимок экрана обзорного интерфейса ресурса Azure OpenAI в портале Azure с конечной точкой и расположением ключей доступа, обведённых красным цветом.

Переменные среды

Создайте и назначьте переменные постоянной среды для ключа и конечной точки.

Внимание

Мы рекомендуем проверку подлинности с Microsoft Entra ID и управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, работающих в облаке.

Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Создание примера приложения

Создайте файл с именем completions.go. Скопируйте следующий код в файл completions.go.

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai"
	"github.com/Azure/azure-sdk-for-go/sdk/azcore"
	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
)

func main() {
	azureOpenAIKey := os.Getenv("AZURE_OPENAI_API_KEY")
	modelDeploymentID := "gpt-35-turbo-instruct"

	azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")

	if azureOpenAIKey == "" || modelDeploymentID == "" || azureOpenAIEndpoint == "" {
		fmt.Fprintf(os.Stderr, "Skipping example, environment variables missing\n")
		return
	}

	keyCredential := azcore.NewKeyCredential(azureOpenAIKey)

	client, err := azopenai.NewClientWithKeyCredential(azureOpenAIEndpoint, keyCredential, nil)

	if err != nil {
		// TODO: handle error
	}

	resp, err := client.GetCompletions(context.TODO(), azopenai.CompletionsOptions{
		Prompt:         []string{"What is Azure OpenAI, in 20 words or less"},
		MaxTokens:      to.Ptr(int32(2048)),
		Temperature:    to.Ptr(float32(0.0)),
		DeploymentName: &modelDeploymentID,
	}, nil)

	if err != nil {
		// TODO: handle error
	}

	for _, choice := range resp.Choices {
		fmt.Fprintf(os.Stderr, "Result: %s\n", *choice.Text)
	}

}

Внимание

Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения о безопасности учетных данных см. в статье о безопасности служб искусственного интеллекта Azure.

Теперь откройте командную строку и выполните следующую команду:

go mod init completions.go

Следующий запуск:

go mod tidy
go run completions.go

Выходные данные

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.

Следующие шаги

Исходный код | Артефакт (Maven) | Примеры

Предварительные условия

Настройка

Получение ключа и конечной точки

Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.

Имя переменной Значение
ENDPOINT Конечную точку службы можно обнаружить в разделе "Ключи и конечная точка" при изучении ресурса из портала Azure. Кроме того, можно найти конечную точку на странице "Развертывания " на портале Azure AI Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2.

Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1 или KEY2. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.

Снимок экрана пользовательского интерфейса для ресурса Azure OpenAI в портале Azure, с обведенными красным цветом местоположениями конечной точки и ключей доступа.

Переменные среды

Создайте и назначьте переменные постоянной среды для ключа и конечной точки.

Внимание

Мы рекомендуем использовать аутентификацию Microsoft Entra ID с удостоверениями с управляемыми идентичностями для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, работающих в облаке.

Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Создание нового приложения Java

Создайте проект Gradle.

В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения и перейдите в него.

mkdir myapp && cd myapp

Выполните команду gradle init из рабочей папки. Эта команда создает необходимые файлы сборки для Gradle, включая build.gradle.kts, который используется во время выполнения для создания и настройки приложения.

gradle init --type basic

Когда появится запрос на выбор DSL, выберите Kotlin.

Установка пакета SDK для Java

В этом кратком руководстве используется менеджер зависимостей Gradle. Клиентскую библиотеку и информацию для других диспетчеров зависимостей можно найти в центральном репозитории Maven.

Найдите файл build.gradle.kts и откройте его в предпочитаемой интегрированной среде разработки или текстовом редакторе. Затем скопируйте и вставьте в файл приведенную ниже конфигурацию сборки. Эта конфигурация определяет проект как приложение Java, точка входа которого — класс OpenAIQuickstart. Она импортирует библиотеку Визуального распознавания ИИ Azure.

plugins {
    java
    application
}
application { 
    mainClass.set("GetCompletionsSample")
}
repositories {
    mavenCentral()
}
dependencies {
    implementation(group = "com.azure", name = "azure-ai-openai", version = "1.0.0-beta.3")
    implementation("org.slf4j:slf4j-simple:1.7.9")
}

Создание примера приложения

  1. Создайте файл Java.

    В рабочей папке выполните следующую команду, чтобы создать исходную папку проекта.

    mkdir -p src/main/java
    

    Перейдите к новой папке и создайте файл с именем GetCompletionsSample.java.

  2. Откройте GetCompletionsSample.java в предпочитаемом редакторе или интегрированной среде разработки и вставьте следующий код.

    package com.azure.ai.openai.usage;
    
    import com.azure.ai.openai.OpenAIClient;
    import com.azure.ai.openai.OpenAIClientBuilder;
    import com.azure.ai.openai.models.Choice;
    import com.azure.ai.openai.models.Completions;
    import com.azure.ai.openai.models.CompletionsOptions;
    import com.azure.ai.openai.models.CompletionsUsage;
    import com.azure.core.credential.AzureKeyCredential;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class GetCompletionsSample {
    
        public static void main(String[] args) {
            String azureOpenaiKey = System.getenv("AZURE_OPENAI_API_KEY");
            String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT");
            String deploymentOrModelId = "gpt-35-turbo-instruct";
    
            OpenAIClient client = new OpenAIClientBuilder()
                .endpoint(endpoint)
                .credential(new AzureKeyCredential(azureOpenaiKey))
                .buildClient();
    
            List<String> prompt = new ArrayList<>();
            prompt.add("When was Microsoft founded?");
    
            Completions completions = client.getCompletions(deploymentOrModelId, new CompletionsOptions(prompt));
    
            System.out.printf("Model ID=%s is created at %s.%n", completions.getId(), completions.getCreatedAt());
            for (Choice choice : completions.getChoices()) {
                System.out.printf("Index: %d, Text: %s.%n", choice.getIndex(), choice.getText());
            }
    
            CompletionsUsage usage = completions.getUsage();
            System.out.printf("Usage: number of prompt token is %d, "
                    + "number of completion token is %d, and number of total tokens in request and response is %d.%n",
                usage.getPromptTokens(), usage.getCompletionTokens(), usage.getTotalTokens());
        }
    }
    

    Внимание

    Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения о безопасности учетных данных см. в статье о безопасности служб искусственного интеллекта Azure.

  3. Вернитесь в корневую папку проекта и выполните сборку приложения:

    gradle build
    

    Затем запустите его с помощью команды gradle run:

    gradle run
    

Выходные данные

Model ID=cmpl-7JZRbWuEuHX8ozzG3BXC2v37q90mL is created at 1684898835.
Index: 0, Text:

Microsoft was founded on April 4, 1975..
Usage: number of prompt token is 5, number of completion token is 11, and number of total tokens in request and response is 16.

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.

Следующие шаги

Исходный код | Артефакты (Maven) | Пример

Предварительные условия

Настройка

Получение ключа и конечной точки

Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.

Имя переменной Значение
ENDPOINT Конечную точку службы можно найти в разделе Ключи и конечная точка, при изучении ресурса из портала Azure. Кроме того, можно найти конечную точку на странице "Развертывания " на портале Azure AI Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2.

Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1 или KEY2. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.

Снимок экрана пользовательского интерфейса обзора ресурса Azure OpenAI в портале Azure с конечной точкой и расположением ключей доступа, обведенными красным.

Переменные среды

Создайте и назначьте переменные постоянной среды для ключа и конечной точки.

Внимание

Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. Если вы используете ключ API, сохраните его безопасно в Azure Key Vault. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

Примечание.

Spring AI по умолчанию использует имя gpt-35-turboмодели. Необходимо указать SPRING_AI_AZURE_OPENAI_MODEL значение только в том случае, если вы развернули модель с другим именем.

export SPRING_AI_AZURE_OPENAI_API_KEY="REPLACE_WITH_YOUR_KEY_VALUE_HERE"
export SPRING_AI_AZURE_OPENAI_ENDPOINT="REPLACE_WITH_YOUR_ENDPOINT_HERE"
export SPRING_AI_AZURE_OPENAI_MODEL="REPLACE_WITH_YOUR_MODEL_NAME_HERE"

Создание нового приложения Spring

Создайте проект Spring.

В окне Bash создайте новый каталог для приложения и перейдите к нему.

mkdir ai-completion-demo && cd ai-completion-demo

Выполните команду spring init из рабочей папки. Эта команда создает стандартную структуру каталогов для проекта Spring, включая исходный файл класса Java и файл pom.xml , используемый для управления проектами на основе Maven.

spring init -a ai-completion-demo -n AICompletion --force --build maven -x

Созданные файлы и папки похожи на следующую структуру:

ai-completion-demo/
|-- pom.xml
|-- mvn
|-- mvn.cmd
|-- HELP.md
|-- src/
    |-- main/
    |   |-- resources/
    |   |   |-- application.properties
    |   |-- java/
    |       |-- com/
    |           |-- example/
    |               |-- aicompletiondemo/
    |                   |-- AiCompletionApplication.java
    |-- test/
        |-- java/
                |-- com/
                    |-- example/
                        |-- aicompletiondemo/
                                |-- AiCompletionApplicationTests.java

Изменение приложения Spring

  1. Отредактируйте файл pom.xml.

    В корневом каталоге проекта откройте файл pom.xml в предпочтительном редакторе или интегрированной среде разработки и перезаписать файл следующим содержимым:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>3.3.4</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.example</groupId>
        <artifactId>ai-completion-demo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>AICompletion</name>
        <description>Demo project for Spring Boot</description>
        <properties>
            <java.version>17</java.version>
            <spring-ai.version>1.0.0-M5</spring-ai.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-azure-openai-spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.ai</groupId>
                    <artifactId>spring-ai-bom</artifactId>
                    <version>${spring-ai.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
        <repositories>
            <repository>
                <id>spring-milestones</id>
                <name>Spring Milestones</name>
                <url>https://repo.spring.io/milestone</url>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
        </repositories>
    </project>
    
  2. В папке src/main/java/com/example/aicompletiondemo откройте AiCompletionApplication.java в предпочтительном редакторе или интегрированной среде разработки и вставьте следующий код:

    package com.example.aicompletiondemo;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.ai.chat.client.ChatClient;
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.annotation.Bean;
    
    @SpringBootApplication
    public class AiCompletionApplication {
    
        private static final Logger log = LoggerFactory.getLogger(AiCompletionApplication.class);
    
        public static void main(String[] args) {
            SpringApplication.run(AiCompletionApplication.class, args);
        }
    
        @Bean
        CommandLineRunner commandLineRunner(ChatClient.Builder builder) {
            return args -> {
                    var chatClient = builder.build();
                    log.info("Sending completion prompt to AI service. One moment please...");
                    var response = chatClient.prompt()
                            .user("When was Microsoft founded?")
                            .call()
                            .content();
                    log.info("Response: {}", response);
            };
        }
    }
    

    Внимание

    Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения о безопасности учетных данных см. в статье о безопасности служб искусственного интеллекта Azure.

  3. Вернитесь к корневой папке проекта и запустите приложение с помощью следующей команды:

    ./mvnw spring-boot:run
    

Выходные данные

.   ____          _            __ _ _
/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/  ___)| |_)| | | | | || (_| |  ) ) ) )
'  |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/

:: Spring Boot ::                (v3.3.4)

2025-01-09T13:51:48.426-05:00  INFO 8264 --- [AICompletion] [           main] c.e.a.AiCompletionApplication            : Starting AiCompletionApplication using Java 17.0.12 with PID 8264 (/Users/vega/dev/msft/spring-ai-samples/ai-completion-demo/target/classes started by vega in /Users/vega/dev/msft/spring-ai-samples/ai-completion-demo)
2025-01-09T13:51:48.427-05:00  INFO 8264 --- [AICompletion] [           main] c.e.a.AiCompletionApplication            : No active profile set, falling back to 1 default profile: "default"
2025-01-09T13:51:48.781-05:00  INFO 8264 --- [AICompletion] [           main] c.e.a.AiCompletionApplication            : Started AiCompletionApplication in 0.465 seconds (process running for 0.624)
2025-01-09T13:51:48.782-05:00  INFO 8264 --- [AICompletion] [           main] c.e.a.AiCompletionApplication            : Sending completion prompt to AI service. One moment please...
2025-01-09T13:51:50.447-05:00  INFO 8264 --- [AICompletion] [           main] c.e.a.AiCompletionApplication            : Response: Microsoft was founded on April 4, 1975, by Bill Gates and Paul Allen.

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.

Следующие шаги

Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples

Исходный код | Пакет (npm) | Примеры

Примечание.

В этом руководстве используется последний пакет OpenAI npm, который теперь полностью поддерживает Azure OpenAI. Если вы ищете примеры кода для устаревшего пакета SDK Для JavaScript для Azure OpenAI, они в настоящее время по-прежнему доступны в этом репозитории.

Предварительные требования

Получение сведений о ресурсе

Чтобы проверить подлинность приложения с помощью ресурса Azure OpenAI, необходимо получить следующие сведения:

Имя переменной Значение
AZURE_OPENAI_ENDPOINT Это значение можно найти в разделе "Ключи и конечная точка" при просмотре ресурса в портале Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Это значение будет соответствовать пользовательскому имени, которое вы выбрали для развертывания модели. Это значение можно найти в разделе Управление ресурсами>Развертывания моделей в портале Azure.
OPENAI_API_VERSION Дополнительные сведения о версиях API.

Вы можете изменить версию в коде или использовать переменную среды.

Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.

Внимание

Чтобы использовать рекомендуемую проверку подлинности без ключа с пакетом SDK, убедитесь, что AZURE_OPENAI_API_KEY переменная среды не задана.

Установка клиентской библиотеки

В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения и перейдите в него.

Установите необходимые пакеты для JavaScript с npm из контекста нового каталога:

npm install openai @azure/identity

Файл package.json приложения обновляется с помощью зависимостей.

Создание примера приложения

Откройте командную строку, в которой вы создали проект, и создайте файл с именем Completion.js. Скопируйте следующий код в файл Completion.js.

const { AzureOpenAI } = require("openai");
const { 
  DefaultAzureCredential, 
  getBearerTokenProvider 
} = require("@azure/identity");

// You will need to set these environment variables or edit the following values
const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint";
const apiVersion = process.env.OPENAI_API_VERSION || "2024-04-01-preview";
const deployment = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-35-turbo-instruct"; //The deployment name for your completions API model. The instruct model is the only new model that supports the legacy API.

// keyless authentication    
const credential = new DefaultAzureCredential();
const scope = "https://cognitiveservices.azure.com/.default";
const azureADTokenProvider = getBearerTokenProvider(credential, scope);

const prompt = ["When was Microsoft founded?"];

async function main() {
  console.log("== Get completions Sample ==");

  const client = new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment });  

  const result = await client.completions.create({ prompt, model: deployment, max_tokens: 128 });

  for (const choice of result.choices) {
    console.log(choice.text);
  }
}

main().catch((err) => {
  console.error("Error occurred:", err);
});

module.exports = { main };

Выполните скрипт с помощью следующей команды:

node.exe Completion.js

Выходные данные

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Примечание.

Если вы получите ошибку: Произошла ошибка: OpenAIError: аргументы apiKey и azureADTokenProvider являются взаимоисключающими; только один из них можно передать одновременно. Возможно, вам потребуется удалить существующую переменную среды для ключа API из системы. Несмотря на то, что пример кода идентификатора Microsoft Entra явно не ссылается на переменную среды ключа API, если он присутствует в системе, выполняющей этот пример, эта ошибка по-прежнему создается.

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.

Следующие шаги

Исходный код | Пакет (npm) | Примеры

Примечание.

В этом руководстве используется последний пакет OpenAI npm, который теперь полностью поддерживает Azure OpenAI. Если вы ищете примеры кода для устаревшего пакета SDK Для JavaScript для Azure OpenAI, они в настоящее время по-прежнему доступны в этом репозитории.

Предварительные условия

Получение сведений о ресурсе

Чтобы проверить подлинность приложения с помощью ресурса Azure OpenAI, необходимо получить следующие сведения:

Имя переменной Значение
AZURE_OPENAI_ENDPOINT Это значение можно найти в разделе "Ключи и конечная точка" при просмотре ресурса в портале Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Это значение будет соответствовать пользовательскому имени, которое вы выбрали для развертывания модели. Это значение можно найти в разделе Управление ресурсами>Развертывания моделей в портале Azure.
OPENAI_API_VERSION Дополнительные сведения о версиях API.

Вы можете изменить версию в коде или использовать переменную среды.

Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.

Внимание

Чтобы использовать рекомендуемую проверку подлинности без ключа с пакетом SDK, убедитесь, что AZURE_OPENAI_API_KEY переменная среды не задана.

Установка клиентской библиотеки

В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения и перейдите в него.

Установите необходимые пакеты для JavaScript с npm из контекста нового каталога:

npm install openai @azure/identity

Файл package.json вашего приложения обновлен с учетом зависимостей.

Создание примера приложения

Откройте командную строку, в которой вы создали проект, и создайте файл с именем Completion.ts. Скопируйте следующий код в файл Completion.ts.

import { 
  DefaultAzureCredential, 
  getBearerTokenProvider 
} from "@azure/identity";
import { AzureOpenAI } from "openai";
import { type Completion } from "openai/resources/index";

// You will need to set these environment variables or edit the following values
const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint";

// Required Azure OpenAI deployment name and API version
const apiVersion = process.env.OPENAI_API_VERSION || "2024-08-01-preview";
const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-35-turbo-instruct";

// keyless authentication    
const credential = new DefaultAzureCredential();
const scope = "https://cognitiveservices.azure.com/.default";
const azureADTokenProvider = getBearerTokenProvider(credential, scope);

// Chat prompt and max tokens
const prompt = ["When was Microsoft founded?"];
const maxTokens = 128;

function getClient(): AzureOpenAI {
  return new AzureOpenAI({
    endpoint,
    azureADTokenProvider,
    apiVersion,
    deployment: deploymentName,
  });
}
async function getCompletion(
  client: AzureOpenAI,
  prompt: string[],
  max_tokens: number
): Promise<Completion> {
  return client.completions.create({
    prompt,
    model: "",
    max_tokens,
  });
}
async function printChoices(completion: Completion): Promise<void> {
  for (const choice of completion.choices) {
    console.log(choice.text);
  }
}
export async function main() {
  console.log("== Get completions Sample ==");

  const client = getClient();
  const completion = await getCompletion(client, prompt, maxTokens);
  await printChoices(completion);
}

main().catch((err) => {
  console.error("Error occurred:", err);
});

Выполните сборку скрипта с помощью следующей команды:

tsc

Выполните скрипт с помощью следующей команды:

node.exe Completion.js

Выходные данные

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Примечание.

Если вы получили ошибку: Произошла ошибка: OpenAIError: Аргументы apiKey и azureADTokenProvider являются взаимоисключающими; только один из них можно передать одновременно. Возможно, вам потребуется удалить существующую переменную среды для ключа API из вашей системы. Несмотря на то, что пример кода идентификатора Microsoft Entra явно не ссылается на переменную среды ключа API, если он присутствует в системе, выполняющей этот пример, эта ошибка по-прежнему создается.

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.

Следующие шаги

Исходный код библиотеки | Пакет (PyPi) |

Пререквизиты

Настройка

Установите клиентную библиотеку OpenAI Python с помощью следующих компонентов:

pip install openai

Примечание.

Эта библиотека поддерживается OpenAI. Ознакомьтесь с историей версий, чтобы отслеживать последние обновления библиотеки.

Получение ключа и конечной точки

Чтобы успешно выполнить запрос к службе Azure OpenAI, вам потребуется следующее:

Имя переменной Значение
ENDPOINT Это значение можно найти в разделе "Ключи и конечная точка" при изучении ресурса в портале Azure. Вы также можете найти конечную точку на странице "Развертывания" на портале Azure AI Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/.
API-KEY Это значение можно найти в разделе "Ключи и конечная точка" при изучении ресурса из портала Azure. Вы можете использовать KEY1 или KEY2.
DEPLOYMENT-NAME Это значение будет соответствовать пользовательскому имени, которое вы выбрали для развертывания модели. Это значение можно найти в разделе Управление ресурсами>Развертывания моделей на портале Azure или на странице "Развертывания" на портале Azure AI Foundry.

Перейдите к своему ресурсу на портале Azure. Ключи и конечная точка можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1 или KEY2. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.

Снимок экрана панели обзора для ресурса Azure OpenAI в портале Azure с местом расположения конечной точки и ключей доступа, обведенное красным цветом.

Переменные среды

Создайте и назначьте переменные постоянной среды для ключа и конечной точки.

Внимание

Мы рекомендуем использовать аутентификацию Microsoft Entra ID с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных приложений, работающих в облаке.

Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Создание приложения Python

  1. Создайте файл Python с именем quickstart.py. Затем откройте его в предпочитаемом редакторе или интегрированной среде разработки.

  2. Замените содержимое файла quickstart.py приведенным ниже кодом. Добавьте в код ключ, конечную точку и имя развертывания:

import os
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
    
client = AzureOpenAI(
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"), 
    azure_ad_token_provider=token_provider,
    api_version="2024-10-21"
    )
    
deployment_name='REPLACE_WITH_YOUR_DEPLOYMENT_NAME' #This will correspond to the custom name you chose for your deployment when you deployed a model. Use a gpt-35-turbo-instruct deployment. 
    
# Send a completion call to generate an answer
print('Sending a test completion job')
start_phrase = 'Write a tagline for an ice cream shop. '
response = client.completions.create(model=deployment_name, prompt=start_phrase, max_tokens=10)
print(start_phrase+response.choices[0].text)

Внимание

Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения о безопасности учетных данных см. в статье о безопасности служб искусственного интеллекта Azure.

  1. Запустите приложение командой python в файле быстрого запуска:

    python quickstart.py
    

Выходные данные

Выходные данные будут содержать текст ответа после Write a tagline for an ice cream shop. запроса. Azure OpenAI вернул The coldest ice cream in town! в этом примере.

Sending a test completion job
Write a tagline for an ice cream shop. The coldest ice cream in town!

Запустите код еще несколько раз, чтобы ознакомиться с другими типами ответов, так как не всегда ответ будет одинаковым.

Расшифровка результатов

Так как наш пример Write a tagline for an ice cream shop. содержит мало контекста, если модель не всегда возвращает ожидаемые результаты, это нормально. Вы можете изменить максимальное количество токенов, если ответ кажется неожиданным или усеченным.

Azure OpenAI также выполняет модерацию контента в запросах и созданных выходных данных. Запросы или ответы могут быть отфильтрованы, если обнаружено вредное содержимое. Более подробную информацию см. в статье о фильтре содержимого.

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.

Следующие шаги

Предварительные условия

Настройка

Получение ключа и конечной точки

Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется следующее:

Имя переменной Значение
ENDPOINT Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы также можете найти конечную точку на странице "Развертывания" на портале Azure AI Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2.
DEPLOYMENT-NAME Это значение будет соответствовать указанному вами пользовательскому имени при развертывании модели. Это значение можно найти в разделе «Управление ресурсами»>«Развертывания» на портале Azure или на странице «Развертывания» на портале Azure AI Foundry.

Перейдите к своему ресурсу на портале Azure. Конечную точку и ключи можно найти в разделе Управление ресурсами. Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1 или KEY2. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.

Снимок экрана вкладки обзора ресурса Azure OpenAI в портале Azure, где расположение ключей доступа и конечной точки обведены красным цветом.

Переменные среды

Создайте и назначьте переменные постоянной среды для ключа и конечной точки.

Внимание

Мы рекомендуем использовать аутентификацию Microsoft Entra ID с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.

Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

REST API

В оболочке bash выполните следующую команду. Вам потребуется заменить gpt-35-turbo-instruct на имя развертывания, которое вы выбрали при развертывании модели gpt-35-turbo-instruct. Ввод имени модели приведет к ошибке, если вы не выбрали имя развертывания, идентичное имени базовой модели.

curl $AZURE_OPENAI_ENDPOINT/openai/deployments/gpt-35-turbo-instruct/completions?api-version=2024-10-21 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN" \
  -d "{\"prompt\": \"Once upon a time\"}"

Формат первой строки команды с примером конечной точки будет выглядеть следующим образом curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/completions?api-version=2024-10-21 \. Если вы столкнулись с ошибкой, проверьте повторно, чтобы убедиться, что у вас нет удвоения / на стыке между конечной точкой и /openai/deployments.

Если вы хотите выполнить эту команду в обычной командной строке Windows, вам необходимо изменить текст, чтобы удалить \ и разрывы строк.

Внимание

Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения о безопасности учетных данных см. в статье о безопасности служб искусственного интеллекта Azure.

Выходные данные

Выходные данные API завершений будут выглядеть следующим образом.

{
    "id": "ID of your call",
    "object": "text_completion",
    "created": 1675444965,
    "model": "gpt-35-turbo-instruct",
    "choices": [
        {
            "text": " there lived in a little village a woman who was known as the meanest",
            "index": 0,
            "finish_reason": "length",
            "logprobs": null
        }
    ],
    "usage": {
        "completion_tokens": 16,
        "prompt_tokens": 3,
        "total_tokens": 19
    }
}

Служба Azure OpenAI также выполняет модерацию контента входных запросов и созданных выходных данных. Запросы или ответы могут быть отфильтрованы, если обнаружено вредное содержимое. Дополнительные сведения см. в статье фильтр содержимого.

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.

Следующие шаги

Предварительные условия

Получение ключа и конечной точки

Для успешного выполнения вызова к службе Azure OpenAI вам потребуется следующее.

Имя переменной Значение
ENDPOINT Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы также можете найти конечную точку на странице "Развертывания" на портале Azure AI Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2.
DEPLOYMENT-NAME Это значение будет соответствовать пользовательскому имени, которое вы выбрали для развертывания модели. Это значение можно найти в разделе Управление ресурсами>Развертывания на портале Azure или на странице Развертывания в портале Azure AI Foundry.

Перейдите к своему ресурсу на портале Azure. Конечную точку и ключи можно найти в разделе Управление ресурсами. Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1 или KEY2. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.

Снимок экрана панели обзора ресурса Azure OpenAI в портале Azure с расположением конечной точки и ключей доступа, обведенных красным.

Переменные среды

Создайте и назначьте переменные постоянной среды для ключа и конечной точки.

Внимание

Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. Если вы используете ключ API, сохраните его безопасно в Azure Key Vault. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

$Env:AZURE_OPENAI_API_KEY = 'YOUR_KEY_VALUE'
$Env:AZURE_OPENAI_ENDPOINT = 'YOUR_ENDPOINT'

Создайте новый скрипт PowerShell

  1. Создайте новый файл PowerShell с именем quickstart.ps1. Затем откройте его в предпочитаемом редакторе или интегрированной среде разработки.

  2. Замените содержимое quickstart.ps1 следующим кодом. Добавьте в код ключ, конечную точку и имя развертывания:

    # Azure OpenAI metadata variables
    $openai = @{
        api_key     = $Env:AZURE_OPENAI_API_KEY
        api_base    = $Env:AZURE_OPENAI_ENDPOINT # your endpoint should look like the following https://YOUR_RESOURCE_NAME.openai.azure.com/
        api_version = '2024-02-01' # this may change in the future
        name        = 'YOUR-DEPLOYMENT-NAME-HERE' #This will correspond to the custom name you chose for your deployment when you deployed a model.
    }
    
    # Completion text
    $prompt = 'Once upon a time...'
    
    # Header for authentication
    $headers = [ordered]@{
        'api-key' = $openai.api_key
    }
    
    # Adjust these values to fine-tune completions
    $body = [ordered]@{
        prompt      = $prompt
        max_tokens  = 10
        temperature = 2
        top_p       = 0.5
    } | ConvertTo-Json
    
    # Send a completion call to generate an answer
    $url = "$($openai.api_base)/openai/deployments/$($openai.name)/completions?api-version=$($openai.api_version)"
    
    $response = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json'
    return "$prompt`n$($response.choices[0].text)"
    

    Внимание

    Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, таким как Управление секретами PowerShell с помощью Azure Key Vault. Дополнительные сведения о безопасности учетных данных см. в статье о безопасности служб искусственного интеллекта Azure.

  3. Запустите скрипт с помощью PowerShell:

    ./quickstart.ps1
    

Выходные данные

Выходные данные будут содержать текст ответа после Once upon a time запроса. Azure OpenAI вернул There was a world beyond the mist...where a в этом примере.

Once upon a time...
 There was a world beyond the mist...where a

Запустите код еще несколько раз, чтобы ознакомиться с другими типами ответов, так как не всегда ответ будет одинаковым.

Расшифровка результатов

Поскольку в нашем примере Once upon a time... мало контекста, это нормально, что модель не всегда возвращает ожидаемые результаты. Если ответ кажется неожиданным или усеченным, можно отрегулировать максимальное количество токенов.

Azure OpenAI также выполняет модерацию контента в запросах и созданных выходных данных. Запросы или ответы могут быть отфильтрованы, если обнаружено вредное содержимое. Дополнительные сведения см. в статье фильтра содержимого.

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.

Следующие шаги