Použití chatovacích modelů s podporou zpracování obrazu
Chatovací modely s podporou zpracování obrazu jsou velké multimodální modely (LMM) vyvinuté openAI, které můžou analyzovat obrázky a poskytovat textové odpovědi na otázky týkající se nich. Zahrnují zpracování přirozeného jazyka i vizuální porozumění. Aktuální modely s podporou zraku jsou GPT-4 Turbo s vision, GPT-4o a GPT-4o-mini.
Modely s podporou zpracování obrazu odpovídají na obecné otázky týkající se toho, co je přítomné na obrázcích, které nahrajete.
Tip
Pokud chcete používat modely s podporou zpracování obrazu, zavoláte rozhraní API pro dokončování chatu na podporovaném modelu, který jste nasadili. Pokud rozhraní API pro dokončování chatu neznáte, prohlédni si průvodce postupy chatu s podporou zpracování obrazu.
Upgrade modelu GPT-4 Turbo
Nejnovější verze GA GPT-4 Turbo je:
gpt-4
Verze:turbo-2024-04-09
Toto je náhrada následujících modelů Preview:
gpt-4
Verze:1106-Preview
gpt-4
Verze:0125-Preview
gpt-4
Verze:vision-preview
Rozdíly mezi modely OpenAI a Azure OpenAI GPT-4 Turbo GA
- Verze nejnovějšího
0409
modelu Turbo OpenAI podporuje režim JSON a volání funkcí pro všechny žádosti o odvozování. - Verze nejnovější
turbo-2024-04-09
verze Azure OpenAI v současné době nepodporuje použití režimu JSON a volání funkcí při odvozování požadavků na odvozování pomocí vstupu obrázku (vision). Textové vstupní požadavky (požadavky bezimage_url
a vložené obrázky) podporují režim JSON a volání funkcí.
Rozdíly od gpt-4 vision-preview
- Integrace vylepšení zpracování obrazu specifické pro Azure AI s GPT-4 Turbo s vision není pro
gpt-4
verzi podporovaná:turbo-2024-04-09
Patří sem optické rozpoznávání znaků (OCR), uzemnění objektů, výzvy k videu a vylepšené zpracování dat pomocí obrázků.
Důležité
Vylepšení obrazu ve verzi Preview, včetně optického rozpoznávání znaků (OCR), uzemnění objektů, zobrazování obrazových výzev se vyřadí a po upgradu turbo-2024-04-09
na verzi vision-preview
už nebudou k dispozicigpt-4
. Pokud se v současné době spoléháte na některou z těchto funkcí ve verzi Preview, bude tento automatický upgrade modelu zásadní změnou.
Spravovaná dostupnost zřízená pomocí GPT-4 Turbo
gpt-4
Verze:turbo-2024-04-09
je k dispozici pro standardní i zřízená nasazení. V současné době zřízená verze tohoto modelu nepodporuje požadavky na odvozování obrázků a obrazu. Zřízená nasazení tohoto modelu přijímají pouze textové zadání. Nasazení standardního modelu přijímají požadavky na odvozování textu i obrazu a obrazu.
Nasazení GPT-4 Turbo s ga vision
Pokud chcete nasadit model GA z portálu Azure AI Foundry, vyberte GPT-4
a pak v rozevírací nabídce zvolte turbo-2024-04-09
verzi. Výchozí kvóta modelu gpt-4-turbo-2024-04-09
bude stejná jako aktuální kvóta pro GPT-4-Turbo. Podívejte se na limity kvót v jednotlivých oblastech.
Volání rozhraní API pro dokončování chatu
Následující příkaz ukazuje nejzásadnější způsob použití modelu GPT-4 Turbo s kódem. Pokud tyto modely používáte programově poprvé, doporučujeme začít s naším rychlým startem GPT-4 Turbo s vision.
Odeslání požadavku POST na místo, kde https://{RESOURCE_NAME}.openai.azure.com/openai/deployments/{DEPLOYMENT_NAME}/chat/completions?api-version=2024-02-15-preview
- RESOURCE_NAME je název vašeho prostředku Azure OpenAI.
- DEPLOYMENT_NAME je název vašeho nasazení modelu GPT-4 Turbo s nasazením modelu Vision.
Povinná záhlaví:
Content-Type
: application/jsonapi-key
: {API_KEY}
Text: Následuje ukázkový text požadavku. Formát je stejný jako rozhraní API pro dokončování chatu pro GPT-4, s výjimkou toho, že obsah zprávy může být pole obsahující text a obrázky (platnou adresu URL HTTP nebo HTTPS obrázku nebo zakódovaný v base-64).
Důležité
Nezapomeňte nastavit "max_tokens"
hodnotu nebo se ořízne návratový výstup.
Důležité
Při nahrávání obrázků platí limit 10 obrázků na žádost chatu.
{
"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
}
Tip
Použití místní image
Pokud chcete použít místní image, můžete ho pomocí následujícího kódu Pythonu převést na base64, aby se mohl předat do rozhraní API. Alternativní nástroje pro převod souborů jsou k dispozici 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)
Jakmile jsou data image base64 připravená, můžete je předat do rozhraní API v textu požadavku takto:
...
"type": "image_url",
"image_url": {
"url": "data:image/jpeg;base64,<your_image_data>"
}
...
Výstup
Odpověď rozhraní API by měla vypadat následovně.
{
"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ždá odpověď obsahuje "finish_reason"
pole. Má následující možné hodnoty:
stop
: Rozhraní API vrátilo úplný výstup modelu.length
: Nekompletní výstup modelu z důvodu limitumax_tokens
tokenu vstupního parametru nebo modelu.content_filter
: Vynechání obsahu kvůli příznaku z našich filtrů obsahu.
Nastavení parametrů podrobností při zpracování obrazu: Nízká, Vysoká, Automatické
Parametr podrobností v modelu nabízí tři volby: low
, high
nebo auto
, upravit způsob, jakým model interpretuje a zpracovává obrázky. Výchozí nastavení je automatické, kde se model rozhodne mezi nízkým nebo vysokým na základě velikosti vstupu obrázku.
low
nastavení: Model neaktivuje režim "s vysokým rozlišením", místo toho zpracovává nižší rozlišení 512x512, což vede k rychlejším odpovědím a snížení spotřeby tokenů ve scénářích, kde nejsou podrobné podrobnosti zásadní.high
nastavení: Model aktivuje režim "high res". V této části model zpočátku zobrazí obrázek s nízkým rozlišením a pak vygeneruje z vstupního obrázku podrobné segmenty 512x512. Každý segment používá dvojitý rozpočet tokenu, což umožňuje podrobnější interpretaci obrázku."
Podrobnosti o tom, jak parametry image ovlivňují použité tokeny a ceny, najdete v tématu – Co je Azure OpenAI? Tokeny obrázků
Výstup
Odpovědi na chat, které obdržíte z modelu, by teď měly obsahovat vylepšené informace o obrázku, jako jsou popisky objektů a ohraničující rámečky a výsledky OCR. Odpověď rozhraní API by měla vypadat následovně.
{
"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ždá odpověď obsahuje "finish_reason"
pole. Má následující možné hodnoty:
stop
: Rozhraní API vrátilo úplný výstup modelu.length
: Nekompletní výstup modelu z důvodu limitumax_tokens
tokenu vstupního parametru nebo modelu.content_filter
: Vynechání obsahu kvůli příznaku z našich filtrů obsahu.