Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Modele czatów z obsługą przetwarzania obrazów to duże modele wielomodalne (LMM) opracowane przez platformę OpenAI, które umożliwiają analizowanie obrazów i dostarczanie odpowiedzi tekstowych na pytania dotyczące nich. Obejmują one zarówno przetwarzanie języka naturalnego, jak i zrozumienie wizualne. Obecne modele obsługujące przetwarzanie obrazów to modele rozumowania serii O, modele serii GPT-4.1, GPT-4.5, seria GPT-4o i GPT-4 Turbo z usługą Vision.
Modele obsługujące wizję mogą odpowiedzieć na ogólne pytania dotyczące tego, co jest obecne na przekazanych obrazach.
Wskazówka
Aby używać modeli z obsługą widzenia, należy wywołać interfejs API uzupełniania czatu na obsługiwanym modelu, który wdrożyłeś. Jeśli nie znasz interfejsu API uzupełniania czatu, zapoznaj się z przewodnikiem z instrukcjami dotyczącymi czatu z obsługą przetwarzania obrazów.
Wywołaj API kompletacji czatu
Poniższe polecenie przedstawia najbardziej podstawowy sposób używania modelu czatu z wbudowaną obsługą wizji w kodzie. Jeśli po raz pierwszy korzystasz z tych modeli programowo, zalecamy rozpoczęcie od naszego Przewodnika szybkiego startu czatu z obrazami.
Wyślij żądanie POST do https://{RESOURCE_NAME}.openai.azure.com/openai/deployments/{DEPLOYMENT_NAME}/chat/completions?api-version=2024-02-15-preview
- RESOURCE_NAME to nazwa zasobu usługi Azure OpenAI
- DEPLOYMENT_NAME to nazwa wdrożenia Twojego modelu
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ść "max_tokens"
, lub zwracane dane wyjściowe zostaną odcięte.
Ważne
Podczas przesyłania obrazów istnieje limit 10 obrazów na każde żądanie czatu.
{
"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
}
Wskazówka
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>"
}
...
Szczegółowe ustawienia parametrów
Można zdefiniować parametr "detail"
w polu "image_url"
opcjonalnie. Wybierz jedną z trzech wartości, low
, high
lub auto
, aby dostosować sposób interpretowania i przetwarzania obrazów przez model.
-
auto
ustawienie: ustawienie domyślne. Model decyduje między niskim a wysokim w zależności od rozmiaru danych wejściowych obrazu. -
low
ustawienie: model nie aktywuje trybu "wysokiej res", zamiast tego przetwarza niższą wersję rozdzielczości 512x512, co skutkuje szybszymi odpowiedziami i zmniejszeniem zużycia tokenów w scenariuszach, w których dokładne szczegóły nie są kluczowe. -
high
ustawienie: model aktywuje tryb "wysoka rozdzielczość". 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 podwójnego budżetu tokenów, co pozwala na bardziej szczegółową interpretację obrazu.
Wartość można ustawić przy użyciu formatu pokazanego w tym przykładzie:
{
"type": "image_url",
"image_url": {
"url": "<image URL>",
"detail": "high"
}
}
Aby uzyskać szczegółowe informacje na temat wpływu parametrów obrazu na używane tokeny i ceny, proszę zapoznać się z Co to jest usługa Azure OpenAI? Tokeny obrazów
Wynik
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_reason"
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ściowegomax_tokens
lub modelu. -
content_filter
: pominięto zawartość z powodu flagi z filtrów zawartości.
Wynik
Odpowiedzi na czacie otrzymywane z modelu powinny teraz zawierać rozszerzone informacje o obrazie, w tym etykiety obiektów, ramki ograniczające 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_reason": {
"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."
}
}
],
"usage":
{
"prompt_tokens": 816,
"completion_tokens": 49,
"total_tokens": 865
}
}
Każda odpowiedź zawiera "finish_reason"
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ściowegomax_tokens
lub modelu. -
content_filter
: pominięto zawartość z powodu flagi z filtrów zawartości.
Uaktualnienie modelu GPT-4 Turbo
Najnowsza wersja GA GPT-4 Turbo to:
-
gpt-4
Wersja:turbo-2024-04-09
Jest to zamiennik następujących modeli w wersji zapoznawczej:
-
gpt-4
Wersja:1106-Preview
-
gpt-4
Wersja:0125-Preview
-
gpt-4
Wersja:vision-preview
Różnice między modelami OpenAI a modelami Azure OpenAI GPT-4 Turbo GA
- Wersja najnowszego
0409
modelu turbo OpenAI obsługuje tryb JSON oraz wywoływanie funkcji dla wszystkich żądań wnioskowania. - Najnowsza wersja usługi Azure OpenAI
turbo-2024-04-09
nie obsługuje obecnie użycia trybu JSON i wywoływania funkcji przy składaniu zapytań inferencyjnych z wejściem obrazowym (wizja). Żądania wejściowe oparte na tekście (żądania bezimage_url
i obrazów wbudowanych) obsługują tryb JSON i wywoływanie funkcji.
Różnice względem gpt-4 vision-preview
- Integracja ulepszeń dotyczących przetwarzania obrazów specyficznych dla sztucznej inteligencji platformy Azure z GPT-4 Turbo Vision nie jest obsługiwana dla
gpt-4
wersji:turbo-2024-04-09
. Obejmuje to optyczne rozpoznawanie znaków (OCR), lokalizowanie obiektów, podpowiedzi wideo oraz ulepszoną obsługę danych z użyciem obrazów.
Ważne
Udoskonalenia wizualne w wersji zapoznawczej, w tym optyczne rozpoznawanie znaków (OCR), kontekstualizacja obiektów, interaktywne wskazówki wideo, zostaną wycofane i nie będą już dostępne po gpt-4
uaktualnieniu wersji vision-preview
do turbo-2024-04-09
programu. Jeśli obecnie polegasz na którejkolwiek z tych funkcji w wersji zapoznawczej, ta automatyczna aktualizacja modelu będzie znaczącą zmianą.
Zarządzana dostępność zapewniona przez GPT-4 Turbo
-
gpt-4
Wersja:turbo-2024-04-09
jest dostępna zarówno dla standardowych, jak i zdefiniowanych wdrożeń. Obecnie aprowizowana wersja tego modelu nie obsługuje żądań wnioskowania z wykorzystaniem obrazu/wizji. Aprowidowane wdrożenia tego modelu akceptują tylko wprowadzanie tekstu. Standardowe wdrożenia modeli akceptują zarówno tekstowe, jak i obrazowe/wizyjne żądania inferencji.
Wdrażanie GPT-4 Turbo z Vision GA
Aby wdrożyć model GA z portalu Azure AI Foundry, wybierz GPT-4
, a następnie wybierz wersję turbo-2024-04-09
z menu rozwijanego. Domyślna kwota dla modelu gpt-4-turbo-2024-04-09
będzie taka sama jak obecna kwota dla GPT-4-Turbo. Zobacz regionalne limity kwotowe.