Korzystanie z GPT-4 Turbo z usługą Vision

GPT-4 Turbo with Vision to duży model wielomodalny (LMM) opracowany przez openAI, który może analizować obrazy i dostarczać tekstowe odpowiedzi na pytania dotyczące nich. Obejmuje zarówno przetwarzanie języka naturalnego, jak i zrozumienie wizualne.

Model GPT-4 Turbo z usługą Vision odpowiada na ogólne pytania dotyczące tego, co jest obecne na obrazach. Możesz również wyświetlić go wideo, jeśli używasz ulepszenia funkcji Vision.

Napiwek

Aby użyć biblioteki GPT-4 Turbo z usługą Vision, należy wywołać interfejs API uzupełniania czatu w modelu GPT-4 Turbo z wdrożonym modelem przetwarzania obrazów. Jeśli nie znasz interfejsu API uzupełniania czatów, zapoznaj się z przewodnikiem Z instrukcjami GPT-4 Turbo &GPT-4.

Uaktualnienie modelu GPT-4 Turbo

Najnowsza wersja GA GPT-4 Turbo to:

  • gpt-4Wersja:turbo-2024-04-09

Jest to zamiennik następujących modeli w wersji zapoznawczej:

  • gpt-4Wersja:1106-Preview
  • gpt-4Wersja:0125-Preview
  • gpt-4Wersja:vision-preview

Różnice między modelami OpenAI i Azure OpenAI GPT-4 Turbo GA

  • Wersja najnowszego 0409 modelu turbo openAI obsługuje tryb JSON i funkcję wywołującą wszystkie żądania wnioskowania.
  • Wersja najnowszej wersji turbo-2024-04-09 usługi Azure OpenAI obecnie nie obsługuje korzystania z trybu JSON i wywoływania funkcji podczas wprowadzania żądań wnioskowania przy użyciu danych wejściowych obrazu (vision). Żądania wejściowe oparte na tekście (żądania bez image_url obrazów wbudowanych i wbudowanych) obsługują tryb JSON i wywoływanie funkcji.

Różnice w porównaniu z interfejsem gpt-4 vision-preview

  • Integracja funkcji przetwarzania obrazów specyficznych dla sztucznej inteligencji platformy Azure z funkcją GPT-4 Turbo z usługą Vision nie jest obsługiwana w przypadku wersji gpt-4:turbo-2024-04-09. Obejmuje to optyczne rozpoznawanie znaków (OCR), uziemanie obiektów, monity wideo i ulepszoną obsługę danych za pomocą obrazów.

Dostępność zarządzana zaaprowizowana przez GPT-4 Turbo

  • gpt-4Wersja:turbo-2024-04-09 jest dostępna zarówno dla wdrożeń standardowych, jak i aprowizowania. Obecnie aprowizowana wersja tego modelu nie obsługuje żądań wnioskowania obrazów/obrazów. Aprowidowane wdrożenia tego modelu akceptują tylko wprowadzanie tekstu. Wdrożenia modelu w warstwie Standardowa akceptują żądania wnioskowania tekstu i obrazu/obrazów.

Dostępność w regionach

Aby uzyskać informacje na temat dostępności regionalnej modelu, zapoznaj się z macierzą modeli dla wdrożeń standardowych i aprowizowania.

Wdrażanie GPT-4 Turbo z usługą Vision GA

Aby wdrożyć model ga z poziomu interfejsu użytkownika programu Studio, wybierz GPT-4 pozycję, a następnie wybierz turbo-2024-04-09 wersję z menu rozwijanego. Domyślny limit przydziału gpt-4-turbo-2024-04-09 dla modelu będzie taki sam jak bieżący limit przydziału dla GPT-4-Turbo. Zobacz regionalne limity przydziału.

Wywoływanie interfejsów API uzupełniania czatu

Poniższe polecenie przedstawia najbardziej podstawowy sposób używania modelu GPT-4 Turbo z kodem. Jeśli używasz tych modeli po raz pierwszy programowo, zalecamy rozpoczęcie od przewodnika Szybki start GPT-4 Turbo z usługą Vision.

Wysyłanie żądania POST do miejsca, w https://{RESOURCE_NAME}.openai.azure.com/openai/deployments/{DEPLOYMENT_NAME}/chat/completions?api-version=2023-12-01-preview którym

  • RESOURCE_NAME to nazwa zasobu usługi Azure OpenAI
  • DEPLOYMENT_NAME to nazwa modelu GPT-4 Turbo z wdrożeniem modelu vision

Wymagane nagłówki:

  • Content-Type: application/json
  • api-key: {API_KEY}

Treść: Poniżej znajduje się przykładowa treść żądania. Format jest taki sam jak interfejs API uzupełniania czatu dla GPT-4, z tą różnicą, że zawartość wiadomości może być tablicą zawierającą tekst i obrazy (prawidłowy adres URL HTTP lub HTTPS do obrazu albo obraz zakodowany w formacie base-64).

Ważne

Pamiętaj, aby ustawić wartość lub zwracane dane wyjściowe zostaną odcięte "max_tokens" .

{
    "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": 100, 
    "stream": false 
} 

Napiwek

Używanie obrazu lokalnego

Jeśli chcesz użyć obrazu lokalnego, możesz użyć następującego kodu języka Python, aby przekonwertować go na base64, aby można go było przekazać do interfejsu API. Alternatywne narzędzia konwersji plików są dostępne w trybie online.

import base64
from mimetypes import guess_type

# Function to encode a local image into data URL 
def local_image_to_data_url(image_path):
    # Guess the MIME type of the image based on the file extension
    mime_type, _ = guess_type(image_path)
    if mime_type is None:
        mime_type = 'application/octet-stream'  # Default MIME type if none is found

    # Read and encode the image file
    with open(image_path, "rb") as image_file:
        base64_encoded_data = base64.b64encode(image_file.read()).decode('utf-8')

    # Construct the data URL
    return f"data:{mime_type};base64,{base64_encoded_data}"

# Example usage
image_path = '<path_to_image>'
data_url = local_image_to_data_url(image_path)
print("Data URL:", data_url)

Gdy dane obrazu base64 są gotowe, możesz przekazać je do interfejsu API w treści żądania w następujący sposób:

...
"type": "image_url",
"image_url": {
   "url": "data:image/jpeg;base64,<your_image_data>"
}
...

Wyjście

Odpowiedź interfejsu API powinna wyglądać następująco.

{
    "id": "chatcmpl-8VAVx58veW9RCm5K1ttmxU6Cm4XDX",
    "object": "chat.completion",
    "created": 1702439277,
    "model": "gpt-4",
    "prompt_filter_results": [
        {
            "prompt_index": 0,
            "content_filter_results": {
                "hate": {
                    "filtered": false,
                    "severity": "safe"
                },
                "self_harm": {
                    "filtered": false,
                    "severity": "safe"
                },
                "sexual": {
                    "filtered": false,
                    "severity": "safe"
                },
                "violence": {
                    "filtered": false,
                    "severity": "safe"
                }
            }
        }
    ],
    "choices": [
        {
            "finish_reason":"stop",
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "The picture shows an individual dressed in formal attire, which includes a black tuxedo with a black bow tie. There is an American flag on the left lapel of the individual's jacket. The background is predominantly blue with white text that reads \"THE KENNEDY PROFILE IN COURAGE AWARD\" and there are also visible elements of the flag of the United States placed behind the individual."
            },
            "content_filter_results": {
                "hate": {
                    "filtered": false,
                    "severity": "safe"
                },
                "self_harm": {
                    "filtered": false,
                    "severity": "safe"
                },
                "sexual": {
                    "filtered": false,
                    "severity": "safe"
                },
                "violence": {
                    "filtered": false,
                    "severity": "safe"
                }
            }
        }
    ],
    "usage": {
        "prompt_tokens": 1156,
        "completion_tokens": 80,
        "total_tokens": 1236
    }
}

Każda odpowiedź zawiera "finish_details" pole. Ma następujące możliwe wartości:

  • stop: interfejs API zwrócił pełne dane wyjściowe modelu.
  • length: Niekompletne dane wyjściowe modelu ze względu na limit tokenu parametru wejściowego max_tokens lub modelu.
  • content_filter: pominięto zawartość z powodu flagi z filtrów zawartości.

Szczegółowe ustawienia parametrów w przetwarzaniu obrazów: Niski, Wysoki, Automatyczny

Parametr szczegółów w modelu oferuje trzy opcje: low, lub highauto, aby dostosować sposób, w jaki model interpretuje i przetwarza obrazy. Ustawieniem domyślnym jest automatyczne ustawienie, w którym model decyduje o rozmiarze danych wejściowych obrazu o niskim lub wysokim rozmiarze.

  • low ustawienie: model nie aktywuje trybu "wysokiej res", zamiast tego przetwarza niższą rozdzielczość 512x512, co skutkuje szybszymi odpowiedziami i zmniejszeniem użycia tokenów w scenariuszach, w których dokładne szczegóły nie są kluczowe.
  • high ustawienie: model aktywuje tryb "wysoka res". W tym miejscu model początkowo wyświetla obraz o niskiej rozdzielczości, a następnie generuje szczegółowe segmenty 512x512 z obrazu wejściowego. Każdy segment używa dwukrotnego budżetu tokenu, co pozwala na bardziej szczegółową interpretację obrazu".

Aby uzyskać szczegółowe informacje na temat wpływu parametrów obrazu na używane tokeny i ceny, zobacz : Co to jest openAI? Tokeny obrazów z funkcją GPT-4 Turbo z usługą Vision

Korzystanie z ulepszeń obrazów za pomocą obrazów

GPT-4 Turbo with Vision zapewnia wyłączny dostęp do dostosowanych ulepszeń usług Azure AI Services. W połączeniu z usługą Azure AI Vision zwiększa środowisko czatu, udostępniając model czatu bardziej szczegółowe informacje o widocznym tekście na obrazie i lokalizacjach obiektów.

Integracja optycznego rozpoznawania znaków (OCR) umożliwia modelowi tworzenie odpowiedzi o wyższej jakości dla gęstego tekstu, przekształconych obrazów i dokumentów finansowych o dużej liczbie. Obejmuje ona również szerszy zakres języków.

Integracja uziemania obiektów zapewnia nową warstwę do analizy danych i interakcji użytkownika, ponieważ funkcja może wizualnie odróżnić i wyróżnić ważne elementy na obrazach, które przetwarza.

Ważne

Aby użyć rozszerzenia przetwarzania obrazów z zasobem usługi Azure OpenAI, należy określić zasób przetwarzanie obrazów. Musi znajdować się w warstwie płatnej (S1) i w tym samym regionie świadczenia usługi Azure co zasób GPT-4 Turbo z usługą Vision. Jeśli używasz zasobu usług Azure AI Services, nie potrzebujesz dodatkowego zasobu przetwarzanie obrazów.

Uwaga

Ulepszenia sztucznej inteligencji platformy Azure dla GPT-4 Turbo z usługą Vision będą rozliczane oddzielnie od podstawowych funkcji. Każde konkretne rozszerzenie sztucznej inteligencji platformy Azure dla usługi GPT-4 Turbo z usługą Vision ma własne odrębne opłaty. Aby uzyskać szczegółowe informacje, zobacz specjalne informacje o cenach.

Wysyłanie żądania POST do miejsca, w https://{RESOURCE_NAME}.openai.azure.com/openai/deployments/{DEPLOYMENT_NAME}/extensions/chat/completions?api-version=2023-12-01-preview którym

  • RESOURCE_NAME to nazwa zasobu usługi Azure OpenAI
  • DEPLOYMENT_NAME to nazwa modelu GPT-4 Turbo z wdrożeniem modelu vision

Wymagane nagłówki:

  • Content-Type: application/json
  • api-key: {API_KEY}

Treść:

Format jest podobny do formatu interfejsu API uzupełniania czatu dla biblioteki GPT-4, ale zawartość wiadomości może być tablicą zawierającą ciągi i obrazy (prawidłowy adres URL HTTP lub HTTPS do obrazu albo obraz zakodowany w formacie base-64).

Należy również uwzględnić enhancements obiekty i dataSources . enhancements reprezentuje określone funkcje ulepszenia funkcji przetwarzania obrazów żądane w czacie. Ma właściwość iocr, która ma grounding zarówno właściwość logicznąenabled. Użyj tych funkcji, aby zażądać usługi OCR i/lub usługi wykrywania/uziemienia obiektu. dataSourcesreprezentuje dane zasobów przetwarzanie obrazów potrzebne do ulepszenia funkcji przetwarzania obrazów. Ma type właściwość , która powinna być "AzureComputerVision" i parameters właściwość. endpoint Ustaw wartość i key na adres URL punktu końcowego i klucz dostępu zasobu przetwarzanie obrazów.

Ważne

Pamiętaj, aby ustawić wartość lub zwracane dane wyjściowe zostaną odcięte "max_tokens" .

{
    "enhancements": {
            "ocr": {
              "enabled": true
            },
            "grounding": {
              "enabled": true
            }
    },
    "dataSources": [
    {
        "type": "AzureComputerVision",
        "parameters": {
            "endpoint": "<your_computer_vision_endpoint>",
            "key": "<your_computer_vision_key>"
        }
    }],
    "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": 100, 
    "stream": false 
} 

Wyjście

Odpowiedzi na czat otrzymywane z modelu powinny teraz zawierać rozszerzone informacje o obrazie, takie jak etykiety obiektów i pola ograniczenia oraz wyniki OCR. Odpowiedź interfejsu API powinna wyglądać następująco.

{
    "id": "chatcmpl-8UyuhLfzwTj34zpevT3tWlVIgCpPg",
    "object": "chat.completion",
    "created": 1702394683,
    "model": "gpt-4",
    "choices":
    [
        {
            "finish_details": {
                "type": "stop",
                "stop": "<|fim_suffix|>"
            },
            "index": 0,
            "message":
            {
                "role": "assistant",
                "content": "The image shows a close-up of an individual with dark hair and what appears to be a short haircut. The person has visible ears and a bit of their neckline. The background is a neutral light color, providing a contrast to the dark hair."
            },
            "enhancements":
            {
                "grounding":
                {
                    "lines":
                    [
                        {
                            "text": "The image shows a close-up of an individual with dark hair and what appears to be a short haircut. The person has visible ears and a bit of their neckline. The background is a neutral light color, providing a contrast to the dark hair.",
                            "spans":
                            [
                                {
                                    "text": "the person",
                                    "length": 10,
                                    "offset": 99,
                                    "polygon": [{"x":0.11950000375509262,"y":0.4124999940395355},{"x":0.8034999370574951,"y":0.4124999940395355},{"x":0.8034999370574951,"y":0.6434999704360962},{"x":0.11950000375509262,"y":0.6434999704360962}]
                                }
                            ]
                        }
                    ],
                    "status": "Success"
                }
            }
        }
    ],
    "usage":
    {
        "prompt_tokens": 816,
        "completion_tokens": 49,
        "total_tokens": 865
    }
}

Każda odpowiedź zawiera "finish_details" pole. Ma następujące możliwe wartości:

  • stop: interfejs API zwrócił pełne dane wyjściowe modelu.
  • length: Niekompletne dane wyjściowe modelu ze względu na limit tokenu parametru wejściowego max_tokens lub modelu.
  • content_filter: pominięto zawartość z powodu flagi z filtrów zawartości.

Korzystanie z ulepszeń przetwarzania obrazów za pomocą wideo

GPT-4 Turbo with Vision zapewnia wyłączny dostęp do dostosowanych ulepszeń usług Azure AI Services. Integracja monitu wideo używa pobierania wideo usługi Azure AI Vision do próbkowania zestawu klatek z wideo i tworzenia transkrypcji mowy w filmie wideo. Umożliwia modelowi sztucznej inteligencji przekazanie podsumowań i odpowiedzi dotyczących zawartości wideo.

Wykonaj następujące kroki, aby skonfigurować system pobierania wideo i zintegrować go z modelem czatu sztucznej inteligencji.

Ważne

Aby użyć rozszerzenia przetwarzania obrazów z zasobem usługi Azure OpenAI, należy określić zasób przetwarzanie obrazów. Musi znajdować się w warstwie płatnej (S1) i w tym samym regionie świadczenia usługi Azure co zasób GPT-4 Turbo z usługą Vision. Jeśli używasz zasobu usług Azure AI Services, nie potrzebujesz dodatkowego zasobu przetwarzanie obrazów.

Uwaga

Ulepszenia sztucznej inteligencji platformy Azure dla GPT-4 Turbo z usługą Vision będą rozliczane oddzielnie od podstawowych funkcji. Każde konkretne rozszerzenie sztucznej inteligencji platformy Azure dla usługi GPT-4 Turbo z usługą Vision ma własne odrębne opłaty. Aby uzyskać szczegółowe informacje, zobacz specjalne informacje o cenach.

Napiwek

Jeśli wolisz, możesz wykonać poniższe kroki przy użyciu notesu Jupyter: Notes uzupełniania czatów wideo.

Przekazywanie klipów wideo do usługi Azure Blob Storage

Musisz przekazać klipy wideo do kontenera usługi Azure Blob Storage. Utwórz nowe konto magazynu, jeśli jeszcze go nie masz.

Po przekazaniu filmów wideo możesz uzyskać ich adresy URL sygnatur dostępu współdzielonego, których używasz do uzyskiwania dostępu do nich w kolejnych krokach.

Zapewnianie odpowiedniego dostępu do odczytu

W zależności od metody uwierzytelniania może być konieczne wykonanie pewnych dodatkowych kroków w celu udzielenia dostępu do kontenera usługi Azure Blob Storage. Jeśli używasz zasobu usługi Azure AI Services zamiast zasobu azure OpenAI, musisz użyć tożsamości zarządzanych, aby udzielić mu dostępu do odczytu do usługi Azure Blob Storage:

Włącz tożsamości przypisane przez system w zasobie usług Azure AI Services, wykonując następujące kroki:

  1. W zasobie usług sztucznej inteligencji w witrynie Azure Portal wybierz pozycję Zarządzanie zasobami —> tożsamość i przełącz stan na .
  2. Przypisz dostęp do odczytu danych obiektu blob usługi Storage do zasobu usługi AI Services: na stronie Tożsamość wybierz pozycję Przypisania ról platformy Azure, a następnie dodaj przypisanie roli przy użyciu następujących ustawień:
    • zakres: magazyn
    • subskrypcja: {twoja subskrypcja}
    • Zasób: {wybierz zasób usługi Azure Blob Storage}
    • Rola: Czytelnik danych obiektu blob usługi Storage
  3. Zapisz swoje ustawienia.

Tworzenie indeksu pobierania wideo

  1. Uzyskaj zasób usługi Azure AI Vision w tym samym regionie co używany zasób usługi Azure OpenAI.

  2. Utwórz indeks do przechowywania i organizowania plików wideo oraz ich metadanych. W poniższym przykładowym poleceniu pokazano, jak utworzyć indeks o nazwie my-video-index przy użyciu interfejsu API tworzenia indeksu. Zapisz nazwę indeksu w lokalizacji tymczasowej; Będzie on potrzebny w kolejnych krokach.

    Napiwek

    Aby uzyskać bardziej szczegółowe instrukcje dotyczące tworzenia indeksu wideo, zobacz Wykonywanie pobierania wideo przy użyciu wektoryzacji.

    curl.exe -v -X PUT "https://<YOUR_ENDPOINT_URL>/computervision/retrieval/indexes/my-video-index?api-version=2023-05-01-preview" -H "Ocp-Apim-Subscription-Key: <YOUR_SUBSCRIPTION_KEY>" -H "Content-Type: application/json" --data-ascii "
    {
      'metadataSchema': {
        'fields': [
          {
            'name': 'cameraId',
            'searchable': false,
            'filterable': true,
            'type': 'string'
          },
          {
            'name': 'timestamp',
            'searchable': false,
            'filterable': true,
            'type': 'datetime'
          }
        ]
      },
      'features': [
        {
          'name': 'vision',
          'domain': 'surveillance'
        },
        {
          'name': 'speech'
        }
      ]
    }"
    
  3. Dodaj pliki wideo do indeksu ze skojarzonymi metadanymi. W poniższym przykładzie pokazano, jak dodać dwa pliki wideo do indeksu przy użyciu adresów URL sygnatur dostępu współdzielonego za pomocą interfejsu API tworzenia pozyskiwania . Zapisz adresy URL sygnatury dostępu współdzielonego i documentId wartości w lokalizacji tymczasowej. Będą one potrzebne w kolejnych krokach.

    curl.exe -v -X PUT "https://<YOUR_ENDPOINT_URL>/computervision/retrieval/indexes/my-video-index/ingestions/my-ingestion?api-version=2023-05-01-preview" -H "Ocp-Apim-Subscription-Key: <YOUR_SUBSCRIPTION_KEY>" -H "Content-Type: application/json" --data-ascii "
    {
      'videos': [
        {
          'mode': 'add',
          'documentId': '02a504c9cd28296a8b74394ed7488045',
          'documentUrl': 'https://example.blob.core.windows.net/videos/02a504c9cd28296a8b74394ed7488045.mp4?sas_token_here',
          'metadata': {
            'cameraId': 'camera1',
            'timestamp': '2023-06-30 17:40:33'
          }
        },
        {
          'mode': 'add',
          'documentId': '043ad56daad86cdaa6e493aa11ebdab3',
          'documentUrl': '[https://example.blob.core.windows.net/videos/043ad56daad86cdaa6e493aa11ebdab3.mp4?sas_token_here',
          'metadata': {
            'cameraId': 'camera2'
          }
        }
      ]
    }"
    
  4. Po dodaniu plików wideo do indeksu rozpocznie się proces pozyskiwania. Może upłynąć trochę czasu w zależności od rozmiaru i liczby plików. Aby upewnić się, że pozyskiwanie zostało ukończone przed wykonaniem wyszukiwania, możesz użyć interfejsu API pobierania pozyskiwania , aby sprawdzić stan. Poczekaj na powrót "state" = "Completed" tego wywołania przed przejściem do następnego kroku.

    curl.exe -v -X GET "https://<YOUR_ENDPOINT_URL>/computervision/retrieval/indexes/my-video-index/ingestions?api-version=2023-05-01-preview&$top=20" -H "ocp-apim-subscription-key: <YOUR_SUBSCRIPTION_KEY>"
    

Integrowanie indeksu wideo z usługą GPT-4 Turbo z usługą Vision

  1. Przygotowywanie żądania POST do https://{RESOURCE_NAME}.openai.azure.com/openai/deployments/{DEPLOYMENT_NAME}/extensions/chat/completions?api-version=2023-12-01-preview miejsca

    • RESOURCE_NAME to nazwa zasobu usługi Azure OpenAI
    • DEPLOYMENT_NAME to nazwa wdrożenia modelu GPT-4 Vision

    Wymagane nagłówki:

    • Content-Type: application/json
    • api-key: {API_KEY}
  2. Dodaj następującą strukturę JSON w treści żądania:

    {
        "enhancements": {
                "video": {
                  "enabled": true
                }
        },
        "dataSources": [
        {
            "type": "AzureComputerVisionVideoIndex",
            "parameters": {
                "computerVisionBaseUrl": "<your_computer_vision_endpoint>",
                "computerVisionApiKey": "<your_computer_vision_key>",
                "indexName": "<name_of_your_index>",
                "videoUrls": ["<your_video_SAS_URL>"]
            }
        }],
        "messages": [ 
            {
                "role": "system", 
                "content": "You are a helpful assistant." 
            },
            {
                "role": "user",
                "content": [
                        {
                            "type": "acv_document_id",
                            "acv_document_id": "<your_video_ID>"
                        },
                        {
                            "type": "text",
                            "text": "Describe this video:"
                        }
                    ]
            }
        ],
        "max_tokens": 100, 
    } 
    

    Żądanie zawiera enhancements obiekty i dataSources . enhancements reprezentuje określone funkcje ulepszenia funkcji przetwarzania obrazów żądane w czacie. dataSourcesreprezentuje dane zasobów przetwarzanie obrazów potrzebne do ulepszenia funkcji przetwarzania obrazów. Ma type właściwość , która powinna być "AzureComputerVisionVideoIndex" i właściwość zawierająca parameters dane dotyczące przetwarzania obrazów sztucznej inteligencji i wideo.

  3. Wypełnij wszystkie <placeholder> powyższe pola własnymi informacjami: wprowadź adresy URL punktów końcowych i klucze zasobów openAI i AI Vision, jeśli jest to konieczne, a następnie pobierz informacje o indeksie wideo z wcześniejszego kroku.

  4. Wyślij żądanie POST do punktu końcowego interfejsu API. Powinien on zawierać poświadczenia interfejsu OpenAI i usługi AI Vision, nazwę indeksu wideo oraz identyfikator i adres URL sygnatury dostępu współdzielonego pojedynczego wideo.

Ważne

Zawartość "data_sources" obiektu różni się w zależności od typu zasobu platformy Azure i używanej metody uwierzytelniania. Zapoznaj się z następującymi odwołaniami:

"data_sources": [
{
    "type": "AzureComputerVisionVideoIndex",
    "parameters": {
    "endpoint": "<your_computer_vision_endpoint>",
    "computerVisionApiKey": "<your_computer_vision_key>",
    "indexName": "<name_of_your_index>",
    "videoUrls": ["<your_video_SAS_URL>"]
    }
}],

Wyjście

Odpowiedzi na czat otrzymany z modelu powinny zawierać informacje o filmie wideo. Odpowiedź interfejsu API powinna wyglądać następująco.

{
    "id": "chatcmpl-8V4J2cFo7TWO7rIfs47XuDzTKvbct",
    "object": "chat.completion",
    "created": 1702415412,
    "model": "gpt-4",
    "choices":
    [
        {
            "finish_reason":"stop",
            "index": 0,
            "message":
            {
                "role": "assistant",
                "content": "The advertisement video opens with a blurred background that suggests a serene and aesthetically pleasing environment, possibly a workspace with a nature view. As the video progresses, a series of frames showcase a digital interface with search bars and prompts like \"Inspire new ideas,\" \"Research a topic,\" and \"Organize my plans,\" suggesting features of a software or application designed to assist with productivity and creativity.\n\nThe color palette is soft and varied, featuring pastel blues, pinks, and purples, creating a calm and inviting atmosphere. The backgrounds of some frames are adorned with abstract, organically shaped elements and animations, adding to the sense of innovation and modernity.\n\nMidway through the video, the focus shifts to what appears to be a browser or software interface with the phrase \"Screens simulated, subject to change; feature availability and timing may vary,\" indicating the product is in development and that the visuals are illustrative of its capabilities.\n\nThe use of text prompts continues with \"Help me relax,\" followed by a demonstration of a 'dark mode' feature, providing a glimpse into the software's versatility and user-friendly design.\n\nThe video concludes by revealing the product name, \"Copilot,\" and positioning it as \"Your everyday AI companion,\" implying the use of artificial intelligence to enhance daily tasks. The final frames feature the Microsoft logo, associating the product with the well-known technology company.\n\nIn summary, the advertisement video is for a Microsoft product named \"Copilot,\" which seems to be an AI-powered software tool aimed at improving productivity, creativity, and organization for its users. The video conveys a message of innovation, ease, and support in daily digital interactions through a visually appealing and calming presentation."
            }
        }
    ],
    "usage":
    {
        "prompt_tokens": 2068,
        "completion_tokens": 341,
        "total_tokens": 2409
    }
}

Każda odpowiedź zawiera "finish_details" pole. Ma następujące możliwe wartości:

  • stop: interfejs API zwrócił pełne dane wyjściowe modelu.
  • length: Niekompletne dane wyjściowe modelu ze względu na limit tokenu parametru wejściowego max_tokens lub modelu.
  • content_filter: pominięto zawartość z powodu flagi z filtrów zawartości.

Przykład cenowy monitów wideo

Ceny GPT-4 Turbo z wizją są dynamiczne i zależą od określonych funkcji i danych wejściowych. Aby uzyskać kompleksowy widok cennika usługi Azure OpenAI, zobacz Cennik usługi Azure OpenAI.

Opłaty podstawowe i dodatkowe funkcje zostały opisane poniżej:

Podstawowe ceny dla GPT-4 Turbo z wizją są:

  • Dane wejściowe: 0,01 USD na 1000 tokenów
  • Dane wyjściowe: 0,03 USD za 1000 tokenów

Integracja monitu wideo z dodatkiem Video Retrieval:

  • Pozyskiwanie: 0,05 USD na minutę wideo
  • Transakcje: 0,25 USD za 1000 zapytań dotyczących pobierania wideo

Następne kroki