Menggunakan model obrolan yang mendukung visi
Model obrolan berkemampuan visi adalah model multimodal besar (LMM) yang dikembangkan oleh OpenAI yang dapat menganalisis gambar dan memberikan respons tekstual terhadap pertanyaan tentang mereka. Mereka menggabungkan pemrosesan bahasa alami dan pemahaman visual. Model yang mendukung visi saat ini adalah o1, GPT-4o, GPT-4o-mini, dan GPT-4 Turbo dengan Visi.
Model yang mendukung visi dapat menjawab pertanyaan umum tentang apa yang ada dalam gambar yang Anda unggah.
Tip
Untuk menggunakan model berkemampuan visi, Anda memanggil CHAT Completion API pada model yang didukung yang telah Anda sebarkan. Jika Anda tidak terbiasa dengan API Penyelesaian Obrolan, lihat panduan cara mengobrol berkemampuan Visi.
Memanggil API Penyelesaian Obrolan
Perintah berikut menunjukkan cara paling mendasar untuk menggunakan model obrolan yang mendukung visi dengan kode. Jika ini pertama kalinya Anda menggunakan model ini secara terprogram, sebaiknya mulai dengan mulai cepat Mengobrol dengan gambar kami.
Mengirim permintaan POST ke https://{RESOURCE_NAME}.openai.azure.com/openai/deployments/{DEPLOYMENT_NAME}/chat/completions?api-version=2024-02-15-preview
tempat
- RESOURCE_NAME adalah nama sumber daya Azure OpenAI Anda
- DEPLOYMENT_NAME adalah nama penyebaran model Anda
Header yang diperlukan:
-
Content-Type
: aplikasi/json -
api-key
: {API_KEY}
Isi: Berikut ini adalah isi permintaan sampel. Formatnya sama dengan API penyelesaian obrolan untuk GPT-4, kecuali bahwa konten pesan dapat berupa array yang berisi teks dan gambar (URL HTTP atau HTTPS yang valid ke gambar, atau gambar yang dikodekan base-64).
Penting
Ingatlah untuk mengatur "max_tokens"
nilai, atau output pengembalian akan dipotong.
Penting
Saat mengunggah gambar, ada batas 10 gambar per permintaan obrolan.
{
"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
Menggunakan gambar lokal
Jika Anda ingin menggunakan gambar lokal, Anda dapat menggunakan kode Python berikut untuk mengonversinya ke base64 sehingga dapat diteruskan ke API. Alat konversi file alternatif tersedia secara 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)
Saat data gambar base64 Anda siap, Anda dapat meneruskannya ke API di isi permintaan seperti ini:
...
"type": "image_url",
"image_url": {
"url": "data:image/jpeg;base64,<your_image_data>"
}
...
Output
Respons API akan terlihat seperti berikut ini.
{
"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
}
}
Setiap respons menyertakan "finish_reason"
bidang. Ini memiliki kemungkinan nilai berikut:
-
stop
: API mengembalikan output model lengkap. -
length
: Output model yang tidak lengkap karenamax_tokens
parameter input atau batas token model. -
content_filter
: Konten yang dihilangkan karena bendera dari filter konten kami.
Pengaturan parameter detail dalam pemrosesan gambar: Rendah, Tinggi, Otomatis
Parameter detail dalam model menawarkan tiga pilihan: low
, , high
atau auto
, untuk menyesuaikan cara model menafsirkan dan memproses gambar. Pengaturan default adalah otomatis, di mana model memutuskan antara rendah atau tinggi berdasarkan ukuran input gambar.
-
low
pengaturan: model tidak mengaktifkan mode "high res", sebaliknya memproses versi resolusi 512x512 yang lebih rendah, menghasilkan respons yang lebih cepat dan mengurangi konsumsi token untuk skenario di mana detail halus tidak penting. -
high
pengaturan: model mengaktifkan mode "high res". Di sini, model awalnya melihat gambar resolusi rendah dan kemudian menghasilkan segmen 512x512 terperinci dari gambar input. Setiap segmen menggunakan anggaran token ganda, memungkinkan interpretasi gambar yang lebih rinci.''
Untuk detail tentang bagaimana parameter gambar memengaruhi token yang digunakan dan harga, silakan lihat - Apa itu Azure OpenAI? Token Gambar
Output
Respons obrolan yang Anda terima dari model sekarang harus menyertakan informasi yang ditingkatkan tentang gambar, seperti label objek dan kotak pembatas, dan hasil OCR. Respons API akan terlihat seperti berikut ini.
{
"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
}
}
Setiap respons menyertakan "finish_reason"
bidang. Ini memiliki kemungkinan nilai berikut:
-
stop
: API mengembalikan output model lengkap. -
length
: Output model yang tidak lengkap karenamax_tokens
parameter input atau batas token model. -
content_filter
: Konten yang dihilangkan karena bendera dari filter konten kami.
Peningkatan model GPT-4 Turbo
Rilis GA terbaru dari GPT-4 Turbo adalah:
-
gpt-4
Versi:turbo-2024-04-09
Ini adalah pengganti untuk model pratinjau berikut:
-
gpt-4
Versi:1106-Preview
-
gpt-4
Versi:0125-Preview
-
gpt-4
Versi:vision-preview
Perbedaan antara OpenAI dan Azure OpenAI GPT-4 Turbo GA Model
- Versi OpenAI dari model turbo terbaru
0409
mendukung mode JSON dan panggilan fungsi untuk semua permintaan inferensi. - Versi
turbo-2024-04-09
Terbaru Azure OpenAI saat ini tidak mendukung penggunaan mode JSON dan panggilan fungsi saat membuat permintaan inferensi dengan input gambar (visi). Permintaan input berbasis teks (permintaan tanpaimage_url
dan gambar sebaris) mendukung mode JSON dan panggilan fungsi.
Perbedaan dari gpt-4 vision-preview
- Integrasi peningkatan Visi khusus Azure AI dengan GPT-4 Turbo dengan Visi tidak didukung untuk
gpt-4
Versi:turbo-2024-04-09
. Ini termasuk Pengenalan Karakter Optik (OCR), landasan objek, permintaan video, dan peningkatan penanganan data Anda dengan gambar.
Penting
Fitur pratinjau peningkatan visi termasuk Optical Character Recognition (OCR), object grounding, perintah video akan dihentikan dan tidak lagi tersedia setelah gpt-4
Versi: vision-preview
ditingkatkan ke turbo-2024-04-09
. Jika saat ini Anda mengandalkan salah satu fitur pratinjau ini, peningkatan model otomatis ini akan menjadi perubahan yang melanggar.
Ketersediaan terkelola yang disediakan GPT-4 Turbo
-
gpt-4
Versi:turbo-2024-04-09
tersedia untuk penyebaran standar dan yang disediakan. Saat ini versi yang disediakan dari model ini tidak mendukung permintaan inferensi gambar/penglihatan. Penyebaran yang disediakan dari model ini hanya menerima input teks. Penyebaran model standar menerima permintaan inferensi teks dan gambar/visi.
Menyebarkan GPT-4 Turbo dengan Vision GA
Untuk menyebarkan model GA dari portal Azure AI Foundry, pilih GPT-4
lalu pilih turbo-2024-04-09
versi dari menu dropdown. Kuota default untuk gpt-4-turbo-2024-04-09
model akan sama dengan kuota saat ini untuk GPT-4-Turbo.
Lihat batas kuota regional.