Краткое руководство. Начало создания текста с помощью API устаревших завершений
Используйте эту статью, чтобы приступить к выполнению первых вызовов к Azure OpenAI.
Необходимые компоненты
- Подписка Azure — создайте бесплатную учетную запись.
- Ресурс Azure OpenAI с развернутой моделью. Дополнительные сведения о моделях развертывания Azure, см. в руководстве по развертыванию ресурсов.
Перейдите в Azure OpenAI Studio.
Перейдите в Azure OpenAI Studio https://oai.azure.com/ и войдите с учетными данными, имеющими доступ к ресурсу Azure OpenAI. Во время или после рабочего процесса входа выберите соответствующий каталог, подписку Azure и ресурс Azure OpenAI.
На целевой странице Azure OpenAI Studio перейдите дальше, чтобы изучить примеры завершения запроса, управлять развертываниями и моделями, а также найти учебные ресурсы, такие как документация и форумы сообщества.
Тестовая площадка
Начните изучение возможностей Azure OpenAI с использованием подхода без кода с помощью игровой площадки GPT-3. Это просто текстовое поле, в котором можно отправить запрос на создание завершения. На этой странице можно быстро итерировать и экспериментировать с возможностями.
Чтобы приступить к работе, можно выбрать развертывание и выбрать один из нескольких предварительно загруженных примеров. Если у вашего ресурса нет развертывания, нажмите кнопку "Создать развертывание " и следуйте инструкциям мастера. Дополнительные сведения о моделях развертывания Azure, см. в руководстве по развертыванию ресурсов.
Вы можете поэкспериментировать с параметрами конфигурации, такими как температура и текст предварительного ответа, чтобы повысить производительность задачи. Дополнительные сведения о каждом параметре в REST API можно узнать.
- Нажатие кнопки "Создать " отправит введенный текст в API завершения и передаст результаты обратно в текстовое поле.
- Нажмите кнопку "Отменить", чтобы отменить вызов предыдущего поколения.
- Нажмите кнопку "Повторно создать", чтобы завершить вызов отмены и создания вместе.
Azure OpenAI также выполняет con режим палатки ration в запросах и созданных выходных данных. Запросы или ответы могут быть отфильтрованы, если обнаружено вредное содержимое. Дополнительные сведения см. в статье фильтра содержимого.
На игровой площадке завершения вы также можете просмотреть примеры кода Python и curl, предварительно заполненные в соответствии с выбранными параметрами. Просто выберите код представления рядом с раскрывающимся списком примеров. Вы можете написать приложение для выполнения той же задачи с помощью пакета SDK Для OpenAI Python, curl или другого клиента REST API.
Попробуйте сводные данные по тексту
Чтобы использовать Azure OpenAI для текстовой суммирования на игровой площадке завершения, выполните следующие действия.
Войдите в Azure OpenAI Studio.
Выберите подписку и ресурс OpenAI для работы.
Выберите площадку завершения на целевой странице.
Выберите развертывание в раскрывающемся списке "Развертывания". Если у ресурса нет развертывания, нажмите кнопку "Создать развертывание ", а затем повторите этот шаг.
Введите запрос на модель.
Выберите
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
. Дополнительные сведения о моделях развертывания Azure, см. в руководстве по развертыванию ресурсов.
Настройка
Создание приложения .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 Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ 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, см. в руководстве по развертыванию ресурсов.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечная точка службы можно найти в разделе "Ключи" и "Конечная точка" при изучении ресурса из портал Azure. Кроме того, можно найти конечную точку на странице "Развертывания " в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ 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, см. в руководстве по развертыванию ресурсов.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечная точка службы можно найти в разделе "Ключи" и "Конечная точка" при изучении ресурса из портал Azure. Кроме того, можно найти конечную точку на странице "Развертывания " в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ 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
Когда появится запрос на выбор предметно-ориентированного языка, выберите 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, см. в руководстве по развертыванию ресурсов.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечная точка службы можно найти в разделе "Ключи" и "Конечная точка" при изучении ресурса из портал Azure. Кроме того, можно найти конечную точку на странице "Развертывания " в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ 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.2.0</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> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.experimental.ai</groupId> <artifactId>spring-ai-azure-openai-spring-boot-starter</artifactId> <version>0.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <repositories> <repository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/snapshot</url> <releases> <enabled>false</enabled> </releases> </repository> </repositories> </project>
В папке src/main/java/com/example/aicompletiondemo откройте AiCompletionApplication.java в предпочтительном редакторе или интегрированной среде разработки и вставьте следующий код:
package com.example.aicompletiondemo; import java.util.Collections; import java.util.List; import org.springframework.ai.client.AiClient; import org.springframework.ai.prompt.Prompt; import org.springframework.ai.prompt.messages.Message; import org.springframework.ai.prompt.messages.MessageType; import org.springframework.ai.prompt.messages.UserMessage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class AiCompletionApplication implements CommandLineRunner { private static final String ROLE_INFO_KEY = "role"; @Autowired private AiClient aiClient; public static void main(String[] args) { SpringApplication.run(AiCompletionApplication.class, args); } @Override public void run(String... args) throws Exception { System.out.println(String.format("Sending completion prompt to AI service. One moment please...\r\n")); final List<Message> msgs = Collections.singletonList(new UserMessage("When was Microsoft founded?")); final var resps = aiClient.generate(new Prompt(msgs)); System.out.println(String.format("Prompt created %d generated response(s).", resps.getGenerations().size())); resps.getGenerations().stream() .forEach(gen -> { final var role = gen.getInfo().getOrDefault(ROLE_INFO_KEY, MessageType.ASSISTANT.getValue()); System.out.println(String.format("Generated respose from \"%s\": %s", role, gen.getText())); }); } }
Внимание
Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения о безопасности учетных данных см. в статье о безопасности служб искусственного интеллекта Azure.
Вернитесь к корневой папке проекта и запустите приложение с помощью следующей команды:
./mvnw spring-boot:run
Выходные данные
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.1.5)
2023-11-07T12:47:46.126-06:00 INFO 98687 --- [ main] c.e.a.AiCompletionApplication : No active profile set, falling back to 1 default profile: "default"
2023-11-07T12:47:46.823-06:00 INFO 98687 --- [ main] c.e.a.AiCompletionApplication : Started AiCompletionApplication in 0.925 seconds (process running for 1.238)
Sending completion prompt to AI service. One moment please...
Prompt created 1 generated response(s).
Generated respose from "assistant": Microsoft was founded on April 4, 1975.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс 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, см. в руководстве по развертыванию ресурсов.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечная точка службы можно найти в разделе "Ключи" и "Конечная точка" при изучении ресурса из портал Azure. Кроме того, можно найти конечную точку на странице "Развертывания " в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
В окне консоли (например, 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"] || "<endpoint>";
const apiVersion = "2024-04-01-preview";
const deployment = "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 — создайте бесплатную учетную запись.
- LTS версии Node.js
- TypeScript
- Azure CLI , используемый для проверки подлинности без пароля в локальной среде разработки, создайте необходимый контекст, выполнив вход с помощью Azure CLI.
- Ресурс службы Azure OpenAI с развернутой моделью
gpt-35-turbo-instruct
. Дополнительные сведения о моделях развертывания Azure, см. в руководстве по развертыванию ресурсов.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечная точка службы можно найти в разделе "Ключи" и "Конечная точка" при изучении ресурса из портал Azure. Кроме того, можно найти конечную точку на странице "Развертывания " в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
В окне консоли (например, 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"] || "<endpoint>";
// Required Azure OpenAI deployment name and API version
const apiVersion = "2024-08-01-preview";
const deploymentName = "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
. Дополнительные сведения о моделях развертывания Azure, см. в руководстве по развертыванию ресурсов.
Настройка
Установите клиентную библиотеку OpenAI Python с помощью следующих компонентов:
pip install openai
Примечание.
Эта библиотека поддерживается OpenAI. Ознакомьтесь с журналом выпуска, чтобы отслеживать последние обновления библиотеки.
Получение ключа и конечной точки
Чтобы успешно вызвать службу Azure OpenAI, вам потребуется следующее:
Имя переменной | Значение |
---|---|
ENDPOINT |
Это значение можно найти в разделе "Ключи и конечная точка" при изучении ресурса из портал Azure. Вы также можете найти конечную точку на странице "Развертывания" в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе "Ключи и конечная точка" при изучении ресурса из портал Azure. Вы можете использовать KEY1 или KEY2 . |
DEPLOYMENT-NAME |
Это значение будет соответствовать пользовательскому имени, которое вы выбрали для развертывания при развертывании модели. Это значение можно найти в разделе "Развертывания модели управления>ресурсами" в портал Azure или на странице "Развертывания" в Azure AI Studio. |
Перейдите к своему ресурсу на портале Azure. Ключи и конечная точка можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ 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
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-02-01",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
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 также выполняет con режим палатки ration в запросах и созданных выходных данных. Запросы или ответы могут быть отфильтрованы, если обнаружено вредное содержимое. Дополнительные сведения см. в статье фильтра содержимого.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Следующие шаги
- Дополнительные сведения о том, как создать наилучшее завершение, см. в руководстве по завершениям.
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples.
Необходимые компоненты
- подписка Azure — создайте бесплатную учетную запись.
- Python 3.8 или более поздней версии
- Следующие библиотеки Python: os, requests, json
- Ресурс Azure OpenAI с развернутой моделью. Дополнительные сведения о моделях развертывания Azure, см. в руководстве по развертыванию ресурсов.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется следующее:
Имя переменной | Значение |
---|---|
ENDPOINT |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы также можете найти конечную точку на странице "Развертывания" в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
DEPLOYMENT-NAME |
Это значение будет соответствовать пользовательскому имени, которое вы выбрали для развертывания при развертывании модели. Это значение можно найти в разделе "Развертывания управления>ресурсами" в портал Azure или на странице "Развертывания" в Azure AI Studio. |
Перейдите к своему ресурсу на портале Azure. Конечную точку и ключи можно найти в разделе Управление ресурсами. Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ 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-02-01 \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-d "{\"prompt\": \"Once upon a time\"}"
Формат первой строки команды с примером конечной точки будет выглядеть следующим образом curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/completions?api-version=2024-02-01 \
. Если вы столкнулись с ошибкой двойной проверки, убедитесь, что у вас нет удвоения /
между конечной точкой и /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 также выполняет con режим палатки ration в запросах и созданных выходных данных. Запросы или ответы могут быть отфильтрованы, если обнаружено вредное содержимое. Дополнительные сведения см. в статье фильтра содержимого.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Следующие шаги
- Дополнительные сведения о том, как создать наилучшее завершение, см. в руководстве по завершениям.
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples.
Необходимые компоненты
- подписка Azure — создайте бесплатную учетную запись.
- Вы можете использовать последнюю версию, PowerShell 7 или Windows PowerShell 5.1.
- Ресурс службы Azure OpenAI с развернутой моделью. Дополнительные сведения о моделях развертывания Azure, см. в руководстве по развертыванию ресурсов.
Получение ключа и конечной точки
Для успешного выполнения вызова к службе Azure OpenAI вам потребуется следующее.
Имя переменной | Значение |
---|---|
ENDPOINT |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы также можете найти конечную точку на странице "Развертывания" в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
DEPLOYMENT-NAME |
Это значение будет соответствовать пользовательскому имени, которое вы выбрали для развертывания при развертывании модели. Это значение можно найти в разделе "Развертывания управления>ресурсами" в портал Azure или на странице "Развертывания" в Azure AI Studio. |
Перейдите к своему ресурсу на портале Azure. Конечную точку и ключи можно найти в разделе Управление ресурсами. Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ 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 также выполняет con режим палатки ration в запросах и созданных выходных данных. Запросы или ответы могут быть отфильтрованы, если обнаружено вредное содержимое. Дополнительные сведения см. в статье фильтра содержимого.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Следующие шаги
- Дополнительные сведения о том, как создать наилучшее завершение, см. в руководстве по завершениям.
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples.