Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Помощники Azure OpenAI (предварительная версия) позволяют создавать помощники по искусственному интеллекту, адаптированные к вашим потребностям, с помощью пользовательских инструкций и дополнены расширенными средствами, такими как интерпретатор кода, поиск файлов и пользовательские функции.
Внимание
Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.
Предварительные условия
- Подписка Azure — создайте бесплатную учетную запись.
- Ресурс центра Azure AI с развернутой моделью. Дополнительные сведения о развертывании моделей см. в руководстве по развертыванию ресурсов.
- Проект Azure AI на портале Azure AI Foundry.
Перейдите на портал Azure AI Foundry
Azure AI Foundry позволяет использовать Помощники версии 2, которые предоставляют несколько обновлений, таких как средство поиска файлов, которое быстрее и поддерживает больше файлов.
Войдите в Azure AI Foundry.
Если экран не выглядит на следующем снимке экрана, выберите Azure AI Foundry в левом верхнем углу экрана.
Выберите " Давайте пойдем " на карточке службы Azure OpenAI.
В меню навигации слева выберите помощники, расположенные под игровыми площадками.
На игровой площадке Помощников можно изучить, прототипировать и тестировать помощников по искусственному интеллекту без необходимости выполнять какой-либо код. На этой странице можно быстро итерировать и экспериментировать с новыми идеями.
На детской площадке есть несколько вариантов настройки помощника. На следующих шагах вы будете использовать панель установки для создания нового помощника по искусственному интеллекту.
Имя Description Имя помощника Имя развертывания, связанное с определенной моделью. Инструкции Инструкции напоминают системные сообщения, с их помощью вы даете модели руководство по поведению и контекст, на который она должна ссылаться при создании ответа. Вы можете описать личность помощника, указать ему, что он должен и не должен отвечать, и сообщить о том, как форматировать ответы. Вы также можете указать примеры действий, которые следует предпринять при ответе. Развертывание Здесь вы выбираете, какое развертывание модели использовать с вашим помощником. Функции Создайте пользовательские определения функций для моделей, чтобы сформулировать вызовы API и структурировать выходные данные на основе ваших спецификаций. Не используется в этом кратком руководстве. Интерпретатор кода Интерпретатор кода предоставляет доступ к изолированной среде Python, которую можно использовать для проверки и выполнения кода модели. Файлы Вы можете отправить до 10 000 файлов с максимальным размером 512 МБ для использования с инструментами. Не используется в этом кратком руководстве.
Создание первого помощника
Выберите развертывание в раскрывающемся списке "Развертывания".
В раскрывающемся списке настроек "Ассистент" выберите "Новый ассистент".
Присвойте помощнику имя.
Введите следующие инструкции : "Вы являетесь помощником по искусственному интеллекту, который может писать код, чтобы помочь ответить на математические вопросы"
Выберите развертывание модели. Мы рекомендуем протестировать одну из последних моделей gpt-4.
Выберите переключатель включения интерпретатора кода.
Выберите Сохранить.
Введите вопрос, чтобы получить ответ от помощника: "Мне нужно решить уравнение
3x + 11 = 14
. Ты можешь мне помочь?"Нажмите кнопку "Добавить и запустить"
The solution to the equation (3x + 11 = 14) is (x = 1).
Хотя мы видим, что ответ правильный, чтобы убедиться, что модель использовала интерпретатор кода для получения этого ответа, и что написанный код является действительным, а не просто повторением ответа из обучающих данных модели, мы зададим другой вопрос.
Введите следующий вопрос: "Показать мне код, который вы запустили, чтобы получить это решение".
Sure. The code is very straightforward
# calculation x = (14 - 11) / 3 x
First, we subtract 11 from 14, then divide the result by 3. This gives us the value of x which is 1.0.
Вы также можете обратиться к журналам на правой панели, чтобы убедиться, что интерпретатор кода использовался и для проверки кода, выполняемого для создания ответа. Важно помнить, что в то время как интерпретатор кода дает модели возможность реагировать на более сложные математические вопросы, преобразовав вопросы в код и выполняясь в изолированной среде Python, вам по-прежнему необходимо проверить ответ, чтобы убедиться, что модель правильно преобразовала свой вопрос в допустимое представление в коде.
Основные понятия
При использовании игровой площадки Помощников помните о следующих понятиях.
Инструменты
Отдельный помощник может получить доступ к 128 инструментам, включая code interpreter
, а также к любым пользовательским инструментам, которые вы создаете с помощью функций.
Сеанс чата
Сеанс чата, также называемый потоком в API помощника, это место, где происходит беседа между пользователем и помощником. В отличие от традиционных вызовов завершения чата, количество сообщений в потоке не ограничено. Помощник автоматически сжимает запросы, чтобы соответствовать пределу количества входных токенов модели.
Это также означает, что вы не контролируете, сколько токенов передается модели во время каждого шага беседы. Управление токенами абстрагируется и полностью осуществляется API для ассистентов.
Нажмите кнопку "Очистить чат", чтобы удалить текущий журнал бесед.
Под текстовым полем ввода есть две кнопки:
- Добавьте сообщение без запуска.
- Добавьте и запустите.
Логи
Журналы предоставляют подробный снимок действия API помощника.
Показать панели
По умолчанию существует три панели: настройка помощника, сеанс чата и журналы. Отображение панелей позволяет добавлять, удалять и изменять порядок панелей. Если вы когда-либо закрыли панель и хотите вернуть её, используйте Показать панели для её восстановления.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Также вы можете удалить помощника или поток через API Помощника.
См. также
- Узнайте больше об использовании помощников с нашим руководством по помощникам.
- Примеры API Azure OpenAI Assistants
Справочная документация | Исходный код библиотеки | Пакет (PyPi) |
Предварительные условия
- подписка Azure — создайте бесплатную учетную запись.
- Python 3.8 или более поздней версии
- Следующие библиотеки Python: os, openai (требуется версия 1.x)
- Azure CLI , используемый для проверки подлинности без пароля в локальной среде разработки, создайте необходимый контекст, выполнив вход с помощью Azure CLI.
- Ресурс Azure OpenAI с совместимой моделью в поддерживаемом регионе.
- Мы рекомендуем ознакомиться с примечанием о прозрачности ответственного ИИ и другими ресурсами ответственного искусственного интеллекта, чтобы ознакомиться с возможностями и ограничениями службы Azure OpenAI.
- Ресурс Azure OpenAI с
gpt-4 (1106-preview)
развернутой моделью использовался для тестирования этого примера.
Рекомендуется использовать проверку подлинности без пароля
Для проверки подлинности без пароля необходимо выполнить следующие действия.
- Используйте пакет azure-identity.
- Назначьте
Cognitive Services User
роль вашей учетной записи пользователя. Это можно сделать в портале Azure в разделе Управление доступом (IAM)>Добавить назначение ролей. - Войдите с помощью Azure CLI, например
az login
.
Настройка
- Установите клиентную библиотеку OpenAI Python с помощью следующих компонентов:
pip install openai
- Для рекомендуемой аутентификации без пароля:
pip install azure-identity
Примечание.
-
Поиск по файлам может использовать до 10 000 файлов на одного помощника — в 500 раз больше, чем раньше. Это быстрый процесс, который поддерживает параллельные многопоточные поисковые запросы, а также функции расширенного повторного ранжирования и перезаписи запросов.
- Векторное хранилище — это новый объект в API. После добавления файла в векторное хранилище он автоматически анализируется, делится на блоки и кодируется в векторном представлении, чтобы подготовить к поиску по содержимому. Векторные хранилища можно использовать между разными помощниками и потоками, упрощая управление файлами и выставление счетов.
- Мы добавили поддержку
tool_choice
параметра, который можно использовать для принудительного использования определенного средства (например, поиска файлов, интерпретатора кода или функции) в определенном запуске.
Примечание.
Эта библиотека поддерживается 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"
Создание помощника
В нашем коде мы укажем следующие значения:
Имя | Description |
---|---|
Имя помощника | Имя развертывания, связанное с определенной моделью. |
Инструкции | Инструкции напоминают системные сообщения, с их помощью вы даете модели руководство по поведению и контекст, на который она должна ссылаться при создании ответа. Вы можете описать личность помощника, указать ему, что он должен и не должен отвечать, и сообщить о том, как форматировать ответы. Вы также можете указать примеры действий, которые следует предпринять при ответе. |
Модель | Здесь вы выбираете имя развертывания модели, которое будет использоваться с помощником. Инструмент извлечения требует модель gpt-35-turbo (1106) или gpt-4 (1106-preview) .
Присвойте этому значению имя развертывания, а не имя модели, если оно не совпадает. |
Интерпретатор кода | Интерпретатор кода предоставляет доступ к изолированной среде Python, которую можно использовать для проверки и выполнения кода модели. |
Инструменты
Отдельный помощник может получить доступ к 128 инструментам, включая code interpreter
, а также к любым пользовательским инструментам, созданным с помощью функций.
Создание приложения Python
Войдите в Azure с az login
затем создайте и запустите помощника с помощью следующего рекомендуемого примера Python без необходимости пароля:
import os
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import AzureOpenAI
token_provider = get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default")
client = AzureOpenAI(
azure_ad_token_provider=token_provider,
azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
api_version="2024-05-01-preview",
)
# Create an assistant
assistant = client.beta.assistants.create(
name="Math Assist",
instructions="You are an AI assistant that can write code to help answer math questions.",
tools=[{"type": "code_interpreter"}],
model="gpt-4-1106-preview" # You must replace this value with the deployment name for your model.
)
# Create a thread
thread = client.beta.threads.create()
# Add a user question to the thread
message = client.beta.threads.messages.create(
thread_id=thread.id,
role="user",
content="I need to solve the equation `3x + 11 = 14`. Can you help me?"
)
# Run the thread and poll for the result
run = client.beta.threads.runs.create_and_poll(
thread_id=thread.id,
assistant_id=assistant.id,
instructions="Please address the user as Jane Doe. The user has a premium account.",
)
print("Run completed with status: " + run.status)
if run.status == "completed":
messages = client.beta.threads.messages.list(thread_id=thread.id)
print(messages.to_json(indent=2))
Чтобы использовать ключ API службы для проверки подлинности, можно создать и запустить помощник с помощью следующего примера Python:
import os
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.environ["AZURE_OPENAI_API_KEY"],
azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
api_version="2024-05-01-preview",
)
# Create an assistant
assistant = client.beta.assistants.create(
name="Math Assist",
instructions="You are an AI assistant that can write code to help answer math questions.",
tools=[{"type": "code_interpreter"}],
model="gpt-4-1106-preview" # You must replace this value with the deployment name for your model.
)
# Create a thread
thread = client.beta.threads.create()
# Add a user question to the thread
message = client.beta.threads.messages.create(
thread_id=thread.id,
role="user",
content="I need to solve the equation `3x + 11 = 14`. Can you help me?"
)
# Run the thread and poll for the result
run = client.beta.threads.runs.create_and_poll(
thread_id=thread.id,
assistant_id=assistant.id,
instructions="Please address the user as Jane Doe. The user has a premium account.",
)
print("Run completed with status: " + run.status)
if run.status == "completed":
messages = client.beta.threads.messages.list(thread_id=thread.id)
print(messages.to_json(indent=2))
Выходные данные
Выполнение завершено с состоянием: завершено
{
"data": [
{
"id": "msg_4SuWxTubHsHpt5IlBTO5Hyw9",
"assistant_id": "asst_cYqL1RuwLyFV3HU1gkaE2k0K",
"attachments": [],
"content": [
{
"text": {
"annotations": [],
"value": "The solution to the equation \\(3x + 11 = 14\\) is \\(x = 1\\)."
},
"type": "text"
}
],
"created_at": 1716397091,
"metadata": {},
"object": "thread.message",
"role": "assistant",
"run_id": "run_hFgBPbUtO8ZNTnNPC8PgpH1S",
"thread_id": "thread_isb7spwRycI5ueT9E7357aOm"
},
{
"id": "msg_Z32w2E7kY5wEWhZqQWxIbIUB",
"assistant_id": null,
"attachments": [],
"content": [
{
"text": {
"annotations": [],
"value": "I need to solve the equation `3x + 11 = 14`. Can you help me?"
},
"type": "text"
}
],
"created_at": 1716397025,
"metadata": {},
"object": "thread.message",
"role": "user",
"run_id": null,
"thread_id": "thread_isb7spwRycI5ueT9E7357aOm"
}
],
"object": "list",
"first_id": "msg_4SuWxTubHsHpt5IlBTO5Hyw9",
"last_id": "msg_Z32w2E7kY5wEWhZqQWxIbIUB",
"has_more": false
}
Расшифровка результатов
В этом примере мы создадим помощника с включенным интерпретатором кода. Когда мы задаем помощнику математический вопрос, он преобразует вопрос в код Python и выполняет код в изолированной среде, чтобы определить ответ на этот вопрос. Код, который создает и тестирует модель, чтобы получить ответ:
from sympy import symbols, Eq, solve
# Define the variable
x = symbols('x')
# Define the equation
equation = Eq(3*x + 11, 14)
# Solve the equation
solution = solve(equation, x)
solution
Важно помнить, что в то время как интерпретатор кода дает модели возможность реагировать на более сложные запросы, преобразовав вопросы в код и выполняя этот код итеративно в песочнице Python, пока он не достигнет решения, необходимо проверить ответ, чтобы убедиться, что модель правильно преобразовала вопрос в допустимое представление в коде.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
См. также
- Узнайте больше об использовании помощников с нашим руководством по помощникам.
- Примеры API Azure OpenAI Assistants
Справочная документация | Исходный код | Пакет (NuGet)
Предварительные условия
- подписка Azure — создайте бесплатную учетную запись.
- Пакет SDK для .NET 8
- Ресурс Azure OpenAI с совместимой моделью в поддерживаемом регионе.
- Мы рекомендуем ознакомиться с примечанием о прозрачности ответственного ИИ и другими ресурсами ответственного искусственного интеллекта, чтобы ознакомиться с возможностями и ограничениями службы Azure OpenAI.
- Ресурс Azure OpenAI с развернутой моделью
gpt-4o
использовался для тестирования этого примера.
Предварительные требования для идентификатора Microsoft Entra
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:
- Установите Azure CLI, используемый для проверки подлинности без ключа с помощью идентификатора Microsoft Entra.
- Назначьте роль
Cognitive Services User
вашей учетной записи пользователя. Роли можно назначить на портале Azure в разделе Управление доступом (IAM)>Добавить назначение роли.
Настройка
Создайте новую папку
assistants-quickstart
и перейдите в папку быстрого запуска, используя следующую команду:mkdir assistants-quickstart && cd assistants-quickstart
Создайте консольное приложение со следующей командой:
dotnet new console
Установите клиентскую библиотеку OpenAI .NET с помощью команды dotnet add package:
dotnet add package Azure.AI.OpenAI --prerelease
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra установите пакет Azure.Identity с помощью:
dotnet add package Azure.Identity
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra войдите в Azure с помощью следующей команды:
az login
Получение сведений о ресурсе
Чтобы проверить подлинность приложения с помощью ресурса Azure OpenAI, необходимо получить следующие сведения:
Имя переменной | Значение |
---|---|
AZURE_OPENAI_ENDPOINT |
Это значение можно найти в разделе «Ключи и конечная точка» при изучении ресурса в портале Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Это значение будет соответствовать пользовательскому имени, которое вы выбрали при развертывании модели. Это значение можно найти в разделе Управление ресурсами>Развертывания моделей в портале Azure. |
OPENAI_API_VERSION |
Дополнительные сведения о версиях API. Вы можете изменить версию в коде или использовать переменную среды. |
Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.
Выполните быстрый старт
Пример кода в этом кратком руководстве использует идентификатор Microsoft Entra для рекомендуемой проверки подлинности без ключей. Если вы предпочитаете использовать ключ API, можно заменить объект #D0 объектом #D1.
AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential());
Чтобы запустить быстрый старт, выполните следующие действия.
Замените содержимое
Program.cs
следующим кодом и обновите значения заполнителей на ваши собственные.using Azure; using Azure.AI.OpenAI; using Azure.Identity; using OpenAI.Assistants; using OpenAI.Files; using System.ClientModel; // Assistants is a beta API and subject to change // Acknowledge its experimental status by suppressing the matching warning. #pragma warning disable OPENAI001 string deploymentName = "gpt-4o"; string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? "https://<your-resource-name>.openai.azure.com/"; string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? "<your-key>"; // Use the recommended keyless credential instead of the AzureKeyCredential credential. AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); //AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key)); OpenAIFileClient fileClient = openAIClient.GetOpenAIFileClient(); AssistantClient assistantClient = openAIClient.GetAssistantClient(); // First, let's contrive a document we'll use retrieval with and upload it. using Stream document = BinaryData.FromString(""" { "description": "This document contains the sale history data for Contoso products.", "sales": [ { "month": "January", "by_product": { "113043": 15, "113045": 12, "113049": 2 } }, { "month": "February", "by_product": { "113045": 22 } }, { "month": "March", "by_product": { "113045": 16, "113055": 5 } } ] } """).ToStream(); OpenAI.Files.OpenAIFile salesFile = await fileClient.UploadFileAsync( document, "monthly_sales.json", FileUploadPurpose.Assistants); // Now, we'll create a client intended to help with that data OpenAI.Assistants.AssistantCreationOptions assistantOptions = new() { Name = "Example: Contoso sales RAG", Instructions = "You are an assistant that looks up sales data and helps visualize the information based" + " on user queries. When asked to generate a graph, chart, or other visualization, use" + " the code interpreter tool to do so.", Tools = { new FileSearchToolDefinition(), new OpenAI.Assistants.CodeInterpreterToolDefinition(), }, ToolResources = new() { FileSearch = new() { NewVectorStores = { new VectorStoreCreationHelper([salesFile.Id]), } } }, }; Assistant assistant = await assistantClient.CreateAssistantAsync(deploymentName, assistantOptions); // Create and run a thread with a user query about the data already associated with the assistant ThreadCreationOptions threadOptions = new() { InitialMessages = { "How well did product 113045 sell in February? Graph its trend over time." } }; var initialMessage = new OpenAI.Assistants.ThreadInitializationMessage(OpenAI.Assistants.MessageRole.User, ["hi"]); ThreadRun threadRun = await assistantClient.CreateThreadAndRunAsync(assistant.Id, threadOptions); // Check back to see when the run is done do { Thread.Sleep(TimeSpan.FromSeconds(1)); threadRun = assistantClient.GetRun(threadRun.ThreadId, threadRun.Id); } while (!threadRun.Status.IsTerminal); // Finally, we'll print out the full history for the thread that includes the augmented generation AsyncCollectionResult<OpenAI.Assistants.ThreadMessage> messages = assistantClient.GetMessagesAsync( threadRun.ThreadId, new MessageCollectionOptions() { Order = MessageCollectionOrder.Ascending }); await foreach (OpenAI.Assistants.ThreadMessage message in messages) { Console.Write($"[{message.Role.ToString().ToUpper()}]: "); foreach (OpenAI.Assistants.MessageContent contentItem in message.Content) { if (!string.IsNullOrEmpty(contentItem.Text)) { Console.WriteLine($"{contentItem.Text}"); if (contentItem.TextAnnotations.Count > 0) { Console.WriteLine(); } // Include annotations, if any. foreach (TextAnnotation annotation in contentItem.TextAnnotations) { if (!string.IsNullOrEmpty(annotation.InputFileId)) { Console.WriteLine($"* File citation, file ID: {annotation.InputFileId}"); } if (!string.IsNullOrEmpty(annotation.OutputFileId)) { Console.WriteLine($"* File output, new file ID: {annotation.OutputFileId}"); } } } if (!string.IsNullOrEmpty(contentItem.ImageFileId)) { OpenAI.Files.OpenAIFile imageFile = await fileClient.GetFileAsync(contentItem.ImageFileId); BinaryData imageBytes = await fileClient.DownloadFileAsync(contentItem.ImageFileId); using FileStream stream = File.OpenWrite($"{imageFile.Filename}.png"); imageBytes.ToStream().CopyTo(stream); Console.WriteLine($"<image: {imageFile.Filename}.png>"); } } Console.WriteLine(); }
Запустите приложение, выполнив следующую команду:
dotnet run
Выходные данные
Выходные данные консоли должны выглядеть следующим образом:
[USER]: How well did product 113045 sell in February? Graph its trend over time.
[ASSISTANT]: Product 113045 sold 22 units in February. Let's visualize its sales trend over the given months (January through March).
I'll create a graph to depict this trend.
[ASSISTANT]: <image: 553380b7-fdb6-49cf-9df6-e8e6700d69f4.png>
The graph above visualizes the sales trend for product 113045 from January to March. As seen, the sales peaked in February with 22 units sold, and fluctuated over the period from January (12 units) to March (16 units).
If you need further analysis or more details, feel free to ask!
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
См. также
- Узнайте больше об использовании помощников с нашим руководством по помощникам.
- Примеры API Azure OpenAI Assistants
Справочная документация | Исходный код библиотеки | Пакет (npm) |
Предварительные условия
- подписка Azure — создайте бесплатную учетную запись.
- Node.js поддержка LTS или ESM.
- Azure CLI , используемый для проверки подлинности без пароля в локальной среде разработки, создайте необходимый контекст, выполнив вход с помощью Azure CLI.
- Ресурс Azure OpenAI с совместимой моделью в поддерживаемом регионе.
- Мы рекомендуем ознакомиться с примечанием о прозрачности ответственного ИИ и другими ресурсами ответственного искусственного интеллекта, чтобы ознакомиться с возможностями и ограничениями службы Azure OpenAI.
- Ресурс Azure OpenAI с уже развернутой моделью
gpt-4 (1106-preview)
был использован для тестирования этого примера.
Предварительные требования для идентификатора Microsoft Entra
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:
- Установите Azure CLI, используемый для проверки подлинности без ключа с помощью идентификатора Microsoft Entra.
- Назначьте роль
Cognitive Services User
своей учетной записи пользователя. Роли можно назначить в портале Azure в разделе Управление доступом (IAM)>Добавление роли.
Настройка
Создайте новую папку
assistants-quickstart
и перейдите в папку быстрого запуска, используя следующую команду:mkdir assistants-quickstart && cd assistants-quickstart
Создайте
package.json
с помощью следующей команды:npm init -y
Установите клиентскую библиотеку OpenAI для JavaScript с помощью:
npm install openai
Для рекомендуемой аутентификации без пароля:
npm install @azure/identity
Получение сведений о ресурсе
Чтобы проверить подлинность приложения с помощью ресурса Azure OpenAI, необходимо получить следующие сведения:
Имя переменной | Значение |
---|---|
AZURE_OPENAI_ENDPOINT |
Это значение можно найти в разделе "Ключи и конечная точка" при изучении ресурса из портала Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Это значение будет соответствовать пользовательскому имени, которое вы выбрали при развертывании модели. Это значение можно найти в разделе Управление ресурсами>Развертывания модели в портале Azure. |
OPENAI_API_VERSION |
Дополнительные сведения о версиях API. Вы можете изменить версию в коде или использовать переменную среды. |
Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.
Внимание
Чтобы использовать рекомендуемую проверку подлинности без ключа с пакетом SDK, убедитесь, что AZURE_OPENAI_API_KEY
переменная среды не задана.
Создание помощника
В нашем коде мы укажем следующие значения:
Имя | Description |
---|---|
Имя помощника | Имя развертывания, связанное с определенной моделью. |
Инструкции | Инструкции напоминают системные сообщения, с их помощью вы даете модели руководство по поведению и контекст, на который она должна ссылаться при создании ответа. Вы можете описать личность помощника, указать ему, что он должен и не должен отвечать, и сообщить о том, как форматировать ответы. Вы также можете указать примеры действий, которые следует предпринять при ответе. |
Модель | Это имя развертывания. |
Интерпретатор кода | Интерпретатор кода предоставляет доступ к изолированной среде Python, которую можно использовать для проверки и выполнения кода модели. |
Инструменты
Отдельный помощник может получить доступ к 128 инструментам, включая code interpreter
, а также любые пользовательские инструменты, создаваемые с помощью функций.
Создание приложения JavaScript
index.js
Создайте файл со следующим кодом:const { AzureOpenAI } = require("openai"); const { DefaultAzureCredential, getBearerTokenProvider, } = require("@azure/identity"); // Get environment variables const azureOpenAIEndpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint"; const azureOpenAIDeployment = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "Your deployment name"; const azureOpenAIVersion = process.env.OPENAI_API_VERSION || "A supported API version"; // Check env variables if (!azureOpenAIEndpoint || !azureOpenAIDeployment || !azureOpenAIVersion) { throw new Error( "You need to set the endpoint, deployment name, and API version." ); } // Get Azure SDK client const getClient = () => { const credential = new DefaultAzureCredential(); const scope = "https://cognitiveservices.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); const assistantsClient = new AzureOpenAI({ endpoint: azureOpenAIEndpoint, apiVersion: azureOpenAIVersion, azureADTokenProvider, }); return assistantsClient; }; const assistantsClient = getClient(); const options = { model: azureOpenAIDeployment, // Deployment name seen in Azure AI Foundry portal name: "Math Tutor", instructions: "You are a personal math tutor. Write and run JavaScript code to answer math questions.", tools: [{ type: "code_interpreter" }], }; const role = "user"; const message = "I need to solve the equation `3x + 11 = 14`. Can you help me?"; // Create an assistant const assistantResponse = await assistantsClient.beta.assistants.create( options ); console.log(`Assistant created: ${JSON.stringify(assistantResponse)}`); // Create a thread const assistantThread = await assistantsClient.beta.threads.create({}); console.log(`Thread created: ${JSON.stringify(assistantThread)}`); // Add a user question to the thread const threadResponse = await assistantsClient.beta.threads.messages.create( assistantThread.id, { role, content: message, } ); console.log(`Message created: ${JSON.stringify(threadResponse)}`); // Run the thread and poll it until it is in a terminal state const runResponse = await assistantsClient.beta.threads.runs.createAndPoll( assistantThread.id, { assistant_id: assistantResponse.id, }, { pollIntervalMs: 500 } ); console.log(`Run created: ${JSON.stringify(runResponse)}`); // Get the messages const runMessages = await assistantsClient.beta.threads.messages.list( assistantThread.id ); for await (const runMessageDatum of runMessages) { for (const item of runMessageDatum.content) { // types are: "image_file" or "text" if (item.type === "text") { console.log(`Message content: ${JSON.stringify(item.text?.value)}`); } } }
Войдите в Azure с помощью следующей команды:
az login
Запустите файл JavaScript.
node index.js
Выходные данные
Assistant created: {"id":"asst_zXaZ5usTjdD0JGcNViJM2M6N","createdAt":"2024-04-08T19:26:38.000Z","name":"Math Tutor","description":null,"model":"daisy","instructions":"You are a personal math tutor. Write and run JavaScript code to answer math questions.","tools":[{"type":"code_interpreter"}],"fileIds":[],"metadata":{}}
Thread created: {"id":"thread_KJuyrB7hynun4rvxWdfKLIqy","createdAt":"2024-04-08T19:26:38.000Z","metadata":{}}
Message created: {"id":"msg_o0VkXnQj3juOXXRCnlZ686ff","createdAt":"2024-04-08T19:26:38.000Z","threadId":"thread_KJuyrB7hynun4rvxWdfKLIqy","role":"user","content":[{"type":"text","text":{"value":"I need to solve the equation `3x + 11 = 14`. Can you help me?","annotations":[]},"imageFile":{}}],"assistantId":null,"runId":null,"fileIds":[],"metadata":{}}
Created run
Run created: {"id":"run_P8CvlouB8V9ZWxYiiVdL0FND","object":"thread.run","status":"queued","model":"daisy","instructions":"You are a personal math tutor. Write and run JavaScript code to answer math questions.","tools":[{"type":"code_interpreter"}],"metadata":{},"usage":null,"assistantId":"asst_zXaZ5usTjdD0JGcNViJM2M6N","threadId":"thread_KJuyrB7hynun4rvxWdfKLIqy","fileIds":[],"createdAt":"2024-04-08T19:26:39.000Z","expiresAt":"2024-04-08T19:36:39.000Z","startedAt":null,"completedAt":null,"cancelledAt":null,"failedAt":null}
Message content: "The solution to the equation \\(3x + 11 = 14\\) is \\(x = 1\\)."
Message content: "Yes, of course! To solve the equation \\( 3x + 11 = 14 \\), we can follow these steps:\n\n1. Subtract 11 from both sides of the equation to isolate the term with x.\n2. Then, divide by 3 to find the value of x.\n\nLet me calculate that for you."
Message content: "I need to solve the equation `3x + 11 = 14`. Can you help me?"
Важно помнить, что, хотя интерпретатор кода дает модели возможность реагировать на более сложные запросы, преобразовав вопросы в код и выполняя этот код итеративно в JavaScript, пока он не достигнет решения, необходимо проверить ответ, чтобы убедиться, что модель правильно преобразовала вопрос в допустимое представление в коде.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Пример кода
См. также
- Узнайте больше об использовании помощников с нашим руководством по помощникам.
- Примеры API Azure OpenAI Assistants
Справочная документация | Исходный код библиотеки | Пакет (npm) |
Предварительные условия
- подписка Azure — создайте бесплатную учетную запись.
- Node.js поддержка LTS или ESM.
- TypeScript , установленный глобально
- Azure CLI , используемый для проверки подлинности без пароля в локальной среде разработки, создайте необходимый контекст, выполнив вход с помощью Azure CLI.
- Ресурс Azure OpenAI с совместимой моделью в поддерживаемом регионе.
- Мы рекомендуем ознакомиться с примечанием о прозрачности ответственного ИИ и другими ресурсами ответственного искусственного интеллекта, чтобы ознакомиться с возможностями и ограничениями службы Azure OpenAI.
- Ресурс Azure OpenAI с
gpt-4 (1106-preview)
развернутой моделью использовался для тестирования этого примера.
Предварительные требования для идентификатора Microsoft Entra
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:
- Установите Azure CLI, используемый для проверки подлинности без ключа с помощью идентификатора Microsoft Entra.
- Назначьте роль
Cognitive Services User
вашей учетной записи пользователя. Роли можно назначить на портале Azure в разделе Управление доступом (IAM)>Добавить назначение ролей.
Настройка
Создайте новую папку
assistants-quickstart
и перейдите в папку быстрого запуска, используя следующую команду:mkdir assistants-quickstart && cd assistants-quickstart
Создайте
package.json
с помощью следующей команды:npm init -y
Обновите
package.json
на ECMAScript с помощью следующей команды:npm pkg set type=module
Установите клиентскую библиотеку OpenAI для JavaScript с помощью:
npm install openai
Для рекомендуемой аутентификации без пароля:
npm install @azure/identity
Получение сведений о ресурсе
Чтобы проверить подлинность приложения с помощью ресурса Azure OpenAI, необходимо получить следующие сведения:
Имя переменной | Значение |
---|---|
AZURE_OPENAI_ENDPOINT |
Это значение можно найти в разделе Keys and Endpoint при изучении вашего ресурса в портале Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Это значение будет соответствовать пользовательскому имени, которое вы выбрали во время развертывания модели. Это значение можно найти в разделе Управление ресурсами>Развертывания моделей в портале Azure. |
OPENAI_API_VERSION |
Дополнительные сведения о версиях API. Вы можете изменить версию в коде или использовать переменную среды. |
Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.
Внимание
Чтобы использовать рекомендуемую проверку подлинности без ключа с пакетом SDK, убедитесь, что AZURE_OPENAI_API_KEY
переменная среды не задана.
Создание помощника
В нашем коде мы укажем следующие значения:
Имя | Description |
---|---|
Имя помощника | Имя развертывания, связанное с определенной моделью. |
Инструкции | Инструкции напоминают системные сообщения, с их помощью вы даете модели руководство по поведению и контекст, на который она должна ссылаться при создании ответа. Вы можете описать личность помощника, указать ему, что он должен и не должен отвечать, и сообщить о том, как форматировать ответы. Вы также можете указать примеры действий, которые следует предпринять при ответе. |
Модель | Это имя развертывания. |
Интерпретатор кода | Интерпретатор кода предоставляет доступ к изолированной среде Python, которую можно использовать для проверки и выполнения кода модели. |
Инструменты
Отдельный помощник может получить доступ к 128 инструментам, включая code interpreter
, а также к любым пользовательским инструментам, создаваемым с помощью функций.
Создание нового приложения TypeScript
index.ts
Создайте файл со следующим кодом:import { AzureOpenAI } from "openai"; import { Assistant, AssistantCreateParams, AssistantTool, } from "openai/resources/beta/assistants"; import { Message, MessagesPage } from "openai/resources/beta/threads/messages"; import { Run } from "openai/resources/beta/threads/runs/runs"; import { Thread } from "openai/resources/beta/threads/threads"; // Add `Cognitive Services User` to identity for Azure OpenAI resource import { DefaultAzureCredential, getBearerTokenProvider, } from "@azure/identity"; // Get environment variables const azureOpenAIEndpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint" as string; const azureOpenAIDeployment = process.env .AZURE_OPENAI_DEPLOYMENT_NAME || "Your deployment name" as string; const openAIVersion = process.env.OPENAI_API_VERSION || "A supported API version" as string; // Check env variables if (!azureOpenAIEndpoint || !azureOpenAIDeployment || !openAIVersion) { throw new Error( "You need to set the endpoint, deployment name, and API version." ); } // Get Azure SDK client const getClient = (): AzureOpenAI => { const credential = new DefaultAzureCredential(); const scope = "https://cognitiveservices.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); const assistantsClient = new AzureOpenAI({ endpoint: azureOpenAIEndpoint, apiVersion: openAIVersion, azureADTokenProvider, }); return assistantsClient; }; const assistantsClient = getClient(); const options: AssistantCreateParams = { model: azureOpenAIDeployment, // Deployment name seen in Azure AI Foundry portal name: "Math Tutor", instructions: "You are a personal math tutor. Write and run JavaScript code to answer math questions.", tools: [{ type: "code_interpreter" } as AssistantTool], }; const role = "user"; const message = "I need to solve the equation `3x + 11 = 14`. Can you help me?"; // Create an assistant const assistantResponse: Assistant = await assistantsClient.beta.assistants.create(options); console.log(`Assistant created: ${JSON.stringify(assistantResponse)}`); // Create a thread const assistantThread: Thread = await assistantsClient.beta.threads.create({}); console.log(`Thread created: ${JSON.stringify(assistantThread)}`); // Add a user question to the thread const threadResponse: Message = await assistantsClient.beta.threads.messages.create(assistantThread.id, { role, content: message, }); console.log(`Message created: ${JSON.stringify(threadResponse)}`); // Run the thread and poll it until it is in a terminal state const runResponse: Run = await assistantsClient.beta.threads.runs.createAndPoll( assistantThread.id, { assistant_id: assistantResponse.id, }, { pollIntervalMs: 500 } ); console.log(`Run created: ${JSON.stringify(runResponse)}`); // Get the messages const runMessages: MessagesPage = await assistantsClient.beta.threads.messages.list(assistantThread.id); for await (const runMessageDatum of runMessages) { for (const item of runMessageDatum.content) { // types are: "image_file" or "text" if (item.type === "text") { console.log(`Message content: ${JSON.stringify(item.text?.value)}`); } } }
tsconfig.json
Создайте файл для транспиля кода TypeScript и скопируйте следующий код для ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }
Транспилировать из TypeScript в JavaScript.
tsc
Войдите в Azure с помощью следующей команды:
az login
Выполните следующую команду, чтобы запустить код:
node index.js
Выходные данные
Assistant created: {"id":"asst_zXaZ5usTjdD0JGcNViJM2M6N","createdAt":"2024-04-08T19:26:38.000Z","name":"Math Tutor","description":null,"model":"daisy","instructions":"You are a personal math tutor. Write and run JavaScript code to answer math questions.","tools":[{"type":"code_interpreter"}],"fileIds":[],"metadata":{}}
Thread created: {"id":"thread_KJuyrB7hynun4rvxWdfKLIqy","createdAt":"2024-04-08T19:26:38.000Z","metadata":{}}
Message created: {"id":"msg_o0VkXnQj3juOXXRCnlZ686ff","createdAt":"2024-04-08T19:26:38.000Z","threadId":"thread_KJuyrB7hynun4rvxWdfKLIqy","role":"user","content":[{"type":"text","text":{"value":"I need to solve the equation `3x + 11 = 14`. Can you help me?","annotations":[]},"imageFile":{}}],"assistantId":null,"runId":null,"fileIds":[],"metadata":{}}
Created run
Run created: {"id":"run_P8CvlouB8V9ZWxYiiVdL0FND","object":"thread.run","status":"queued","model":"daisy","instructions":"You are a personal math tutor. Write and run JavaScript code to answer math questions.","tools":[{"type":"code_interpreter"}],"metadata":{},"usage":null,"assistantId":"asst_zXaZ5usTjdD0JGcNViJM2M6N","threadId":"thread_KJuyrB7hynun4rvxWdfKLIqy","fileIds":[],"createdAt":"2024-04-08T19:26:39.000Z","expiresAt":"2024-04-08T19:36:39.000Z","startedAt":null,"completedAt":null,"cancelledAt":null,"failedAt":null}
Message content: "The solution to the equation \\(3x + 11 = 14\\) is \\(x = 1\\)."
Message content: "Yes, of course! To solve the equation \\( 3x + 11 = 14 \\), we can follow these steps:\n\n1. Subtract 11 from both sides of the equation to isolate the term with x.\n2. Then, divide by 3 to find the value of x.\n\nLet me calculate that for you."
Message content: "I need to solve the equation `3x + 11 = 14`. Can you help me?"
Важно помнить, что, хотя интерпретатор кода дает модели возможность реагировать на более сложные запросы, преобразовав вопросы в код и выполняя этот код итеративно в JavaScript, пока он не достигнет решения, необходимо проверить ответ, чтобы убедиться, что модель правильно преобразовала вопрос в допустимое представление в коде.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Пример кода
См. также
- Узнайте больше об использовании помощников с нашим руководством по помощникам.
- Примеры API Azure OpenAI Assistants
Предварительные требования
- подписка Azure — создайте бесплатную учетную запись.
- Python 3.8 или более поздней версии
- Ресурс Azure OpenAI с совместимой моделью в поддерживаемом регионе.
- Мы рекомендуем ознакомиться с примечанием о прозрачности ответственного ИИ и другими ресурсами ответственного искусственного интеллекта, чтобы ознакомиться с возможностями и ограничениями службы Azure OpenAI.
- Ресурс Azure OpenAI с
gpt-4 (1106-preview)
развернутой моделью использовался для тестирования этого примера.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к 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 с управляемыми удостоверениями для ресурсов 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
Создание помощника
Примечание.
При использовании Azure OpenAI для model
параметра требуется имя развертывания модели. Если имя развертывания модели отличается от имени базовой модели, то вы измените код на "model": "{your-custom-model-deployment-name}"
.
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"instructions": "You are an AI assistant that can write code to help answer math questions.",
"name": "Math Assist",
"tools": [{"type": "code_interpreter"}],
"model": "gpt-4-1106-preview"
}'
Инструменты
Отдельный помощник может получить доступ к 128 инструментам, включая code interpreter
, а также любые пользовательские инструменты, создаваемые с помощью функций.
Создание потока
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-d ''
Добавить вопрос пользователя в ветку
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/messages \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-d '{
"role": "user",
"content": "I need to solve the equation `3x + 11 = 14`. Can you help me?"
}'
Запуск потока
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/runs \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"assistant_id": "asst_abc123",
}'
Получить состояние выполнения
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/runs/run_abc123 \
-H "api-key: $AZURE_OPENAI_API_KEY" \
Ответ помощника
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/messages \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
Расшифровка результатов
В этом примере мы создадим помощника с включенным интерпретатором кода. Когда мы задаем помощнику математический вопрос, он преобразует вопрос в код Python и выполняет код в изолированной среде, чтобы определить ответ на этот вопрос. Код, который создает и тестирует модель, чтобы получить ответ:
from sympy import symbols, Eq, solve
# Define the variable
x = symbols('x')
# Define the equation
equation = Eq(3*x + 11, 14)
# Solve the equation
solution = solve(equation, x)
solution
Важно помнить, что в то время как интерпретатор кода дает модели возможность реагировать на более сложные запросы, преобразовав вопросы в код и выполняя этот код итеративно в песочнице Python, пока он не достигнет решения, необходимо проверить ответ, чтобы убедиться, что модель правильно преобразовала вопрос в допустимое представление в коде.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
См. также
- Узнайте больше об использовании помощников с нашим руководством по помощникам.
- Примеры API Azure OpenAI Assistants