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


Быстрый старт: Использование изображений в чатах ИИ

Начните использовать GPT-4 Turbo с изображениями с помощью службы Azure OpenAI.

Примечание.

Выбор модели

Последние модели с возможностью зрения — это gpt-4o и gpt-4o mini. Эти модели находятся в общедоступной предварительной версии. Последняя доступная версия модели gpt-4 — это turbo-2024-04-09.

Внимание

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

Используйте эту статью, чтобы приступить к использованию Azure AI Foundry для развертывания и тестирования модели завершения чата с пониманием изображений.

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

Подготовьте ваш носитель

Чтобы завершить это краткое руководство, вам нужно изображение. Вы можете использовать это изображение или любое другое доступное изображение.

Фотография дорожно-транспортного происшествия, которую можно использовать для завершения краткого руководства.

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

  1. Перейдите к Azure AI Foundry и войдите с учетными данными, связанными с ресурсом Azure OpenAI. Во время или после рабочего процесса входа выберите соответствующий каталог, подписку Azure и ресурс Azure OpenAI.
  2. Выберите концентратор, в который вы хотите работать.
  3. В меню навигации слева выберите "Модели + конечные точки" и нажмите кнопку "Развернуть модель".
  4. Выберите развертывание с поддержкой образа, выбрав имя модели: gpt-4o или gpt-4o-mini. В появившемся окне выберите имя и тип развертывания. Убедитесь, что ресурс Azure OpenAI подключен. Дополнительные сведения о развертывании моделей см. в руководстве по развертыванию ресурсов.
  5. Выберите Развернуть.
  6. Затем выберите новую модель и нажмите кнопку "Открыть на детской площадке". В игровой площадке чата в раскрывающемся списке Развертывание должно быть выбрано созданное вами развертывание.

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

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

Общие сведения о настройке помощника, сеансах чата, параметрах и панелях см. в кратком руководстве по чату.

Запуск сеанса чата для анализа изображений

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

  1. Чтобы начать, убедитесь, что в раскрывающемся списке развертывания выбрано развертывание с поддержкой изображений.

  2. В текстовом поле контекста на панели установки укажите этот запрос, чтобы помочь помощнику: "You're an AI assistant that helps people find information." Или вы можете настроить запрос на изображение или сценарий.

    Примечание.

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

  3. Нажмите кнопку "Применить изменения" , чтобы сохранить изменения.

  4. В области сеансов чата нажмите кнопку вложения и отправьте изображение. Выберите изображение.

  5. Добавьте следующий запрос в поле чата: Describe this imageи выберите значок отправки.

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

  7. Помощник отвечает с описанием изображения.

  8. Задайте следующий вопрос, связанный с анализом изображения. Вы можете ввести, "What should I highlight about this image to my insurance company?".

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

    When reporting the incident to your insurance company, you should highlight the following key points from the image:  
    
    1. **Location of Damage**: Clearly state that the front end of the car, particularly the driver's side, is damaged. Mention the crumpled hood, broken front bumper, and the damaged left headlight.  
    
    2. **Point of Impact**: Indicate that the car has collided with a guardrail, which may suggest that no other vehicles were involved in the accident.  
    
    3. **Condition of the Car**: Note that the damage seems to be concentrated on the front end, and there is no visible damage to the windshield or rear of the car from this perspective.  
    
    4. **License Plate Visibility**: Mention that the license plate is intact and can be used for identification purposes.  
    
    5. **Environment**: Report that the accident occurred near a roadside with a guardrail, possibly in a rural or semi-rural area, which might help in establishing the accident location and context.  
    
    6. **Other Observations**: If there were any other circumstances or details not visible in the image that may have contributed to the accident, such as weather conditions, road conditions, or any other relevant information, be sure to include those as well.  
    
    Remember to be factual and descriptive, avoiding speculation about the cause of the accident, as the insurance company will conduct its own investigation.
    

Просмотр и экспорт кода

В любой момент в сеансе чата можно включить переключатель Show raw JSON в верхней части окна чата, чтобы просмотреть беседу в формате JSON. Вот как выглядит в начале сеанса чата быстрого запуска:

[
	{
		"role": "system",
		"content": [
			"You are an AI assistant that helps people find information."
		]
	},
]

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

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

Используйте эту статью, чтобы приступить к использованию REST API Azure OpenAI для развертывания и использования GPT-4 Turbo с моделью визуального распознавания.

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

Примечание.

В настоящее время отключение контентной фильтрации для модели GPT-4 Turbo Vision не поддерживается.

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

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

«Переменная» Имя. Значение
Конечная точка api_base Значение конечной точки находится под Ключи и Конечная точка для вашего ресурса в портале Azure. Вы также можете найти конечную точку на странице "Развертывания" на портале Azure AI Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/.
Ключ api_key Значение ключа также находится в разделе Ключи и Конечная точка для ресурса в портале Azure. Azure создает два ключа для ресурса. Можно использовать любое значение.

Перейдите к своему ресурсу на портале Azure. На панели навигации выберите "Ключи" и "Конечная точка " в разделе "Управление ресурсами". Скопируйте значение конечной точки и значение ключа доступа. Вы можете использовать либо значение KEY 1, либо KEY 2. Наличие двух ключей позволяет безопасно поворачивать и повторно создавать ключи без нарушения работы службы.

На снимке экрана показана страница "Ключи и конечная точка" для ресурса Azure OpenAI в портале Azure.

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

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

  1. Замените содержимое quickstart.py следующим кодом.

    # Packages required:
    import requests 
    import json 
    
    api_base = '<your_azure_openai_endpoint>' 
    deployment_name = '<your_deployment_name>'
    API_KEY = '<your_azure_openai_key>'
    
    base_url = f"{api_base}openai/deployments/{deployment_name}" 
    headers = {   
        "Content-Type": "application/json",   
        "api-key": API_KEY 
    } 
    
    # Prepare endpoint, headers, and request body 
    endpoint = f"{base_url}/chat/completions?api-version=2023-12-01-preview" 
    data = { 
        "messages": [ 
            { "role": "system", "content": "You are a helpful assistant." }, 
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ], 
        "max_tokens": 2000 
    }   
    
    # Make the API call   
    response = requests.post(endpoint, headers=headers, data=json.dumps(data))   
    
    print(f"Status Code: {response.status_code}")   
    print(response.text)
    
  2. Внесите следующие изменения:

    1. Введите URL-адрес конечной точки и ключ в соответствующих полях.
    2. Введите имя развертывания GPT-4 Turbo с Vision в соответствующем поле.
    3. Измените значение "image" поля на адрес URL вашего изображения.

      Совет

      Кроме того, вместо URL-адреса можно использовать данные изображения в кодировке base 64. Дополнительные сведения см. в руководстве пользователя по GPT-4 Turbo с визуальным представлением.

  3. Запустите приложение, выполнив команду python:

    python quickstart.py
    

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

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

Используйте эту статью, чтобы приступить к развертыванию и использованию GPT-4 Turbo с моделью Визуального распознавания с помощью пакета SDK Для Python Для Azure OpenAI.

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

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

Настройка

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

pip install openai

Примечание.

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

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

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

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

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

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

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

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

Внимание

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

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

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

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

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

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

  1. Замените содержимое quickstart.py следующим кодом.

    from openai import AzureOpenAI
    
    api_base = os.getenv("AZURE_OPENAI_ENDPOINT")
    api_key= os.getenv("AZURE_OPENAI_API_KEY")
    deployment_name = '<your_deployment_name>'
    api_version = '2023-12-01-preview' # this might change in the future
    
    client = AzureOpenAI(
        api_key=api_key,  
        api_version=api_version,
        base_url=f"{api_base}/openai/deployments/{deployment_name}"
    )
    
    response = client.chat.completions.create(
        model=deployment_name,
        messages=[
            { "role": "system", "content": "You are a helpful assistant." },
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ],
        max_tokens=2000 
    )
    
    print(response)
    
  2. Внесите следующие изменения:

    1. Введите имя развертывания GPT-4 Turbo с функцией Vision в соответствующее поле.
    2. Измените значение поля "url" на URL-адрес вашего изображения.

      Совет

      Кроме того, вместо URL-адреса можно использовать данные изображения в кодировке base 64. Дополнительные сведения см. в руководстве по работе с GPT-4 Turbo с визуализацией.

  3. Запустите приложение, выполнив команду python:

    python quickstart.py
    

Внимание

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

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

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

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

Используйте эту статью, чтобы начать работу с OpenAI JavaScript SDK для развертывания и использования модели GPT-4 Turbo с поддержкой визуального восприятия.

Этот пакет SDK предоставляется OpenAI с определенными типами Azure, предоставляемыми Azure.

Справочная документация | Исходный код библиотеки | Пакет (npm) | Примеры

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

Примечание.

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

Предварительные требования для идентификатора Microsoft Entra

Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:

  • Установите Azure CLI, используемый для проверки подлинности без ключа с помощью идентификатора Microsoft Entra.
  • Назначьте роль Cognitive Services User своей учетной записи пользователя. Роли можно назначить в портале Azure в разделе Управление доступом (IAM)>Добавить назначение роли.

Настройка

  1. Создайте новую папку vision-quickstart и перейдите в папку быстрого запуска, используя следующую команду:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Создайте package.json с помощью следующей команды:

    npm init -y
    
  3. Установите клиентскую библиотеку OpenAI для JavaScript с помощью:

    npm install openai
    
  4. Для рекомендуемой аутентификации без пароля:

    npm install @azure/identity
    

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

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

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

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

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

Внимание

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

Создание нового приложения JavaScript для запросов изображений

Выберите изображение из azure-samples/cognitive-services-sample-data-files. Используйте URL-адрес изображения в приведенном ниже коде или задайте переменную среды IMAGE_URL значением URL-адреса изображения.

Совет

Кроме того, вместо URL-адреса можно использовать данные изображения в кодировке base 64. Для получения дополнительной информации см. руководство по использованию GPT-4 Turbo с функцией "Vision".

  1. index.js Создайте файл со следующим кодом:

    const AzureOpenAI = require('openai').AzureOpenAI;
    const { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } = require('@azure/identity');
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint";
    const imageUrl = process.env.IMAGE_URL || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-4-with-turbo";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    function createMessages() {
      return {
        messages: [
          { role: "system", content: "You are a helpful assistant." },
          {
            role: "user",
            content: [
              {
                type: "text",
                text: "Describe this picture:",
              },
              {
                type: "image_url",
                image_url: {
                  url: imageUrl,
                },
              },
            ],
          },
        ],
        model: "",
        max_tokens: 2000,
      };
    }
    async function printChoices(completion) {
      for (const choice of completion.choices) {
        console.log(choice.message);
      }
    }
    export async function main() {
      console.log("== Get GPT-4 Turbo with vision Sample ==");
    
      const client = getClient();
      const messages = createMessages();
      const completion = await client.chat.completions.create(messages);
      await printChoices(completion);
    }
    
    main().catch((err) => {
      console.error("Error occurred:", err);
    });
    
  2. Войдите в Azure с помощью следующей команды:

    az login
    
  3. Запустите файл JavaScript.

    node index.js
    

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

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

Используйте эту статью, чтобы начать использовать OpenAI SDK для JavaScript для развертывания и использования модели GPT-4 Turbo с функцией Vision.

Этот пакет SDK предоставляется OpenAI с определенными типами Azure, предоставляемыми Azure.

Справочная документация | Исходный код библиотеки | Пакет (npm) | Примеры

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

Примечание.

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

Предварительные требования для идентификатора Microsoft Entra

Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:

  • Установите Azure CLI, используемый для проверки подлинности без ключа с помощью идентификатора Microsoft Entra.
  • Назначьте роль вашей учетной записи пользователя Cognitive Services User. Роли можно назначать в портале Azure в разделе Управление доступом (IAM)>Добавить назначение ролей.

Настройка

  1. Создайте новую папку vision-quickstart и перейдите в папку быстрого запуска следующей командой:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Создайте package.json с помощью следующей команды:

    npm init -y
    
  3. Обновите package.json до ECMAScript с помощью следующей команды:

    npm pkg set type=module
    
  4. Установите клиентскую библиотеку OpenAI для JavaScript с помощью:

    npm install openai
    
  5. Для рекомендуемой аутентификации без пароля:

    npm install @azure/identity
    

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

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

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

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

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

Внимание

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

Создание нового приложения JavaScript для запросов изображений

Выберите изображение из azure-samples/cognitive-services-sample-data-files. Используйте URL-адрес изображения в коде ниже или установите переменной среды IMAGE_URL значение URL-адреса изображения.

Совет

Кроме того, вместо URL-адреса можно использовать данные изображения в кодировке base 64. Дополнительные сведения см. в руководстве по GPT-4 Turbo с функцией Vision.

  1. index.ts Создайте файл со следующим кодом:

    import { AzureOpenAI } from "openai";
    import { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } from "@azure/identity";
    import type {
      ChatCompletion,
      ChatCompletionCreateParamsNonStreaming,
    } from "openai/resources/index";
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-4-with-turbo";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    function createMessages(): ChatCompletionCreateParamsNonStreaming {
      return {
        messages: [
          { role: "system", content: "You are a helpful assistant." },
          {
            role: "user",
            content: [
              {
                type: "text",
                text: "Describe this picture:",
              },
              {
                type: "image_url",
                image_url: {
                  url: imageUrl,
                },
              },
            ],
          },
        ],
        model: "",
        max_tokens: 2000,
      };
    }
    async function printChoices(completion: ChatCompletion): Promise<void> {
      for (const choice of completion.choices) {
        console.log(choice.message);
      }
    }
    export async function main() {
      console.log("== Get GPT-4 Turbo with vision Sample ==");
    
      const client = getClient();
      const messages = createMessages();
      const completion = await client.chat.completions.create(messages);
      await printChoices(completion);
    }
    
    main().catch((err) => {
      console.error("Error occurred:", err);
    });
    
  2. 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"]
    }
    
  3. Транспилировать код с TypeScript на JavaScript.

    tsc
    
  4. Войдите в Azure с помощью следующей команды:

    az login
    
  5. Выполните следующую команду, чтобы запустить код:

    node index.js
    

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

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

Используйте эту статью, чтобы приступить к работе с пакетом SDK для Azure OpenAI .NET для развертывания и использования GPT-4 Turbo с моделью визуального распознавания.

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

Предварительные требования для идентификатора Microsoft Entra

Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:

  • Установите Azure CLI, используемый для проверки подлинности без ключа с помощью идентификатора Microsoft Entra.
  • Назначьте роль Cognitive Services User вашей учетной записи пользователя. Роли можно назначить в портале Azure в разделе Управление доступом (IAM)>Добавить назначение роли.

Настройка

  1. Создайте новую папку vision-quickstart и перейдите в папку quickstart с помощью следующей команды:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Создайте консольное приложение со следующей командой:

    dotnet new console
    
  3. Установите клиентскую библиотеку OpenAI .NET с помощью команды dotnet add package:

    dotnet add package Azure.AI.OpenAI
    
  4. Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra установите пакет Azure.Identity с помощью:

    dotnet add package Azure.Identity
    
  5. Для рекомендуемой проверки подлинности без ключа с помощью идентификатора 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()); 

Чтобы запустить быстрый старт, выполните следующие действия.

  1. Замените содержимое Program.cs следующим кодом и обновите значения заполнителей на ваши собственные.

    using Azure;
    using Azure.AI.OpenAI;
    using Azure.Identity;
    using OpenAI.Chat; // Required for Passwordless auth
    
    string deploymentName = "gpt-4";
    
    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));
    
    var chatClient = openAIClient.GetChatClient(deploymentName);
    
    var imageUri = "YOUR_IMAGE_URL";
    
    var chatMessages = new List<ChatMessage>
    {
        new SystemChatMessage("You are a helpful assistant."),
        new UserChatMessage($"Describe this picture: {imageUrl}")
    };
    
    ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(chatMessages);
    
    Console.WriteLine($"[ASSISTANT]:");
    Console.WriteLine($"{chatCompletion.Content[0].Text}");
    
  2. Запустите приложение с помощью dotnet run команды или кнопки запуска в верхней части Visual Studio:

    dotnet run
    

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

Выходные данные приложения будут описанием изображения, предоставленного в переменной imageUri . Помощник анализирует изображение и предоставляет подробное описание на основе его содержимого.

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

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

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