Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте эту статью, чтобы приступить к выполнению первых вызовов к Azure OpenAI.
Предпосылки
- Подписка Azure — создайте бесплатную учетную запись.
- Ресурс Azure OpenAI с развернутой моделью. Дополнительные сведения о развертывании моделей см. в руководстве по развертыванию ресурсов.
Перейдите в Azure AI Foundry
Перейдите на портал Azure AI Foundry и войдите с учетными данными, имеющими доступ к ресурсу Azure OpenAI. Во время или после рабочего процесса входа выберите соответствующий каталог, подписку Azure и ресурс Azure OpenAI.
Детская площадка
Начните изучение возможностей Azure OpenAI, используя бескодовый подход через песочницу для автозаполнения. Это просто текстовое поле, в котором можно отправить запрос для получения результата. На этой странице можно быстро итерировать и экспериментировать с возможностями.
Чтобы приступить к работе, можно выбрать развертывание и выбрать один из нескольких предварительно загруженных примеров. Если у вашего ресурса нет развертывания, нажмите кнопку "Создать развертывание " и следуйте инструкциям мастера. Дополнительные сведения о развертывании моделей см. в руководстве по развертыванию ресурсов.
Вы можете поэкспериментировать с параметрами конфигурации, такими как температура и текст предварительного ответа, чтобы повысить производительность задачи. Вы можете прочитать больше о каждом параметре в REST API.
- Нажатие кнопки "Создать " отправит введенный текст в API завершения и передаст результаты обратно в текстовое поле.
- Нажмите кнопку Отменить, чтобы отменить предыдущую команду на генерацию.
- Нажмите кнопку "Повторно создать", чтобы совместно завершить вызов отмены и создания.
Azure OpenAI также выполняет модерацию контента в запросах и созданных выходных данных. Запросы или ответы могут быть отфильтрованы, если обнаружено вредное содержимое. Для получения дополнительной информации см. статью о фильтре содержимого.
В разделе 'Completions Playground' вы ещё можете просмотреть примеры кода Python и curl, уже заполненные в соответствии с выбранными параметрами. Просто выберите код представления рядом с раскрывающимся списком примеров. Вы можете написать приложение для выполнения той же задачи с помощью пакета SDK Для OpenAI Python, curl или другого клиента REST API.
Попробуйте резюмирование текста
Чтобы использовать Azure OpenAI для суммаризации текста в песочнице Completions, выполните следующие действия.
Войдите на портал Azure AI Foundry.
Выберите подписку и ресурс OpenAI для работы.
Выберите песочницу Completions на главной странице.
Выберите развертывание из выпадающего списка Развертывания. Если у ресурса нет развертывания, нажмите кнопку "Создать развертывание ", а затем повторите этот шаг.
Введите запрос для модели.
Выберите
Generate
. Azure OpenAI попытается записать контекст текста и переразить его кратко. Вы должны получить результат, похожий на следующий текст:
Точность ответа может отличаться на модель. Модель gpt-35-turbo-instruct
на основе этого примера хорошо подходит для этого типа суммирования, хотя в целом мы рекомендуем использовать API альтернативных завершений чата, если у вас нет конкретного варианта использования, который особенно подходит для API завершения.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Следующие шаги
- Дополнительные сведения о том, как создать наилучшее завершение, см. в руководстве по завершениям.
- Для получения дополнительных примеров ознакомьтесь с репозиторием GitHub в Azure OpenAI Samples.
Исходный код | Пакет (NuGet) | Примеры
Предварительные условия
- подписка Azure — создайте бесплатную учетную запись.
- Текущая версия .NET Core.
- Ресурс службы Azure OpenAI с развернутой моделью
gpt-35-turbo-instruct
. Дополнительные сведения о развертывании моделей см. в руководстве по развертыванию ресурсов.
Настройка
Создание приложения .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
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Мы рекомендуем использовать аутентификацию с помощью 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, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.
Следующие шаги
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples
Примеры пакета исходного кода | (Go)|
Предварительные условия
- подписка Azure — создайте бесплатную учетную запись.
- Go 1.21.0 или более поздней версии, установленной локально.
- Ресурс службы Azure OpenAI с развернутой моделью
gpt-35-turbo-instuct
. Дополнительные сведения о развертывании моделей см. в руководстве по развертыванию ресурсов.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечную точку службы можно найти в разделе "Ключи и Конечные точки", изучая ваш ресурс из портала Azure. Кроме того, можно найти конечную точку на странице "Развертывания " на портале Azure AI Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Мы рекомендуем проверку подлинности с 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, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.
Следующие шаги
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples
Исходный код | Артефакт (Maven) | Примеры
Предварительные условия
- подписка Azure — создайте бесплатную учетную запись.
- Текущая версия пакета средств разработки Java (JDK).
- Средство сборки Gradle или другой диспетчер зависимостей.
- Ресурс службы Azure OpenAI с развернутой моделью
gpt-35-turbo-instruct
. Дополнительные сведения о развертывании моделей см. в руководстве по развертыванию ресурсов.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечную точку службы можно обнаружить в разделе "Ключи и конечная точка" при изучении ресурса из портала Azure. Кроме того, можно найти конечную точку на странице "Развертывания " на портале Azure AI Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Мы рекомендуем использовать аутентификацию 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")
}
Создание примера приложения
Создайте файл Java.
В рабочей папке выполните следующую команду, чтобы создать исходную папку проекта.
mkdir -p src/main/java
Перейдите к новой папке и создайте файл с именем GetCompletionsSample.java.
Откройте 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.
Вернитесь в корневую папку проекта и выполните сборку приложения:
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, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.
Следующие шаги
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples
Исходный код | Артефакты (Maven) | Пример
Предварительные условия
- подписка Azure — создайте бесплатную учетную запись.
- Текущая версия пакета средств разработки Java (JDK).
- Инструмент командной строки Spring Boot
- Ресурс службы Azure OpenAI с развернутой моделью
gpt-35-turbo
. Дополнительные сведения о развертывании моделей см. в руководстве по развертыванию ресурсов.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечную точку службы можно найти в разделе Ключи и конечная точка, при изучении ресурса из портала Azure. Кроме того, можно найти конечную точку на странице "Развертывания " на портале Azure AI Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Используйте ключи 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
Отредактируйте файл 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>
В папке 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.
Вернитесь к корневой папке проекта и запустите приложение с помощью следующей команды:
./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 — создайте бесплатную учетную запись.
- LTS версии Node.js
- Azure CLI , используемый для проверки подлинности без пароля в локальной среде разработки, создайте необходимый контекст, выполнив вход с помощью Azure CLI.
- Ресурс службы Azure OpenAI с развернутой моделью
gpt-35-turbo-instruct
. Дополнительные сведения о развертывании моделей см. в руководстве по развертыванию ресурсов.
Получение сведений о ресурсе
Чтобы проверить подлинность приложения с помощью ресурса 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, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.
Следующие шаги
- Обзор Azure OpenAI
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples
Исходный код | Пакет (npm) | Примеры
Примечание.
В этом руководстве используется последний пакет OpenAI npm, который теперь полностью поддерживает Azure OpenAI. Если вы ищете примеры кода для устаревшего пакета SDK Для JavaScript для Azure OpenAI, они в настоящее время по-прежнему доступны в этом репозитории.
Предварительные условия
- подписка Azure — создайте бесплатную учетную запись.
- Версии Node.js с долгосрочной поддержкой (LTS)
- TypeScript
- Azure CLI , используемый для проверки подлинности без пароля в локальной среде разработки, создайте необходимый контекст, выполнив вход с помощью Azure CLI.
- Ресурс службы Azure OpenAI с развернутой моделью
gpt-35-turbo-instruct
. Для получения дополнительной информации о развертывании моделей, см. руководство по развертыванию ресурсов.
Получение сведений о ресурсе
Чтобы проверить подлинность приложения с помощью ресурса 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, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.
Следующие шаги
- Обзор Azure OpenAI
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples
Исходный код библиотеки | Пакет (PyPi) |
Пререквизиты
- подписка Azure — создайте бесплатную учетную запись.
- Python 3.8 или более поздней версии
- Следующие библиотеки Python: os, requests, json
- Ресурс службы Azure OpenAI, где развернута модель
gpt-35-turbo-instruct
. Дополнительные сведения о развертывании моделей см. в руководстве по развертыванию ресурсов.
Настройка
Установите клиентную библиотеку 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
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Мы рекомендуем использовать аутентификацию 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
Создайте файл Python с именем quickstart.py. Затем откройте его в предпочитаемом редакторе или интегрированной среде разработки.
Замените содержимое файла 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.
Запустите приложение командой
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, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Следующие шаги
- Дополнительные сведения о том, как создать наилучшее завершение, см. в руководстве по завершениям.
- Дополнительные примеры смотрите в репозитории GitHub Azure OpenAI Samples.
Предварительные условия
- подписка Azure — создайте бесплатную учетную запись.
- Python 3.8 или более поздней версии
- Следующие библиотеки Python: os, requests, json
- Ресурс 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
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Мы рекомендуем использовать аутентификацию 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, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Следующие шаги
- Дополнительные сведения о том, как создать наилучшее завершение, см. в руководстве по завершениям.
- Дополнительные примеры см. в репозитории GitHub Azure OpenAI Samples.
Предварительные условия
- подписка Azure — создайте бесплатную учетную запись.
- Вы можете использовать последнюю версию, PowerShell 7 или Windows PowerShell 5.1.
- Ресурс службы 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
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Используйте ключи 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
Создайте новый файл PowerShell с именем quickstart.ps1. Затем откройте его в предпочитаемом редакторе или интегрированной среде разработки.
Замените содержимое 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.
Запустите скрипт с помощью 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, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Следующие шаги
- Дополнительные сведения о том, как создать наилучшее завершение, см. в руководстве по завершениям.
- Дополнительные примеры см. в репозитории GitHub Azure OpenAI Samples.