1. GPT-4 Vision Model के परिचय
GPT-4 Vision मॉडल (GPT-4V) एक मल्टीमोडल कृत्रिम बुद्धिमत्ता मॉडल है जो OpenAI द्वारा पेश किया गया है, जो GPT-4 पर आधारित दृश्य समझने क्षमताओं को एकीकृत करता है। पारंपरिक पाठ प्रसंस्करण मॉडलों के विपरीत, GPT-4V छवि सामग्री प्राप्त कर सकता है और उसे विश्लेषण कर सकता है, छवियों से संबंधित विवरण प्रस्तुत कर सकता है, प्रश्नों का उत्तर दे सकता है, और छवियों से संबंधित अंतर्क्रियाओं में भाग ले सकता है।
उदाहरण अनुप्रयोग:
- उत्पाद पहचान और वर्गीकरण: ई-कॉमर्स प्लेटफ़ॉर्म GPT-4V का उपयोग करके उत्पाद छवियों की पहचान और विवरण प्रदान कर सकते हैं, जिससे खोज और सिफारिश प्रणालियों को सुधारने में मदद मिलती है।
- चिकित्सा निर्णय में सहायता: जबकि GPT-4V निर्देशन देने वाले चिकित्सा छवि निदान के लिए उपयुक्त नहीं है, लेकिन यह चिकित्सा कार्यकर्ताओं को प्राथमिक रूप से छवि समझ और डेटा संगठन में मदद कर सकता है।
- शिक्षा और अनुसंधान: शिक्षा और वैज्ञानिक अनुसंधान में, GPT-4V का उपयोग आंकड़ों, प्रयोग परिणामों का विश्लेषण और स्वचालित रूप से वैज्ञानिक छवि संदेशों की व्याख्या के लिए किया जा सकता है।
- यातायात मॉनिटरिंग और विश्लेषण: यातायात निगरानी छवियों का विश्लेषण करके, GPT-4V स्थिति की रिपोर्टिंग और दुर्घटना पहचान में यातायात प्रबंधन प्रणालियों को सहायता कर सकता है।
2. सरल उदाहरण
नीचे एक सरल उदाहरण है जिसमें एक CURL अनुरोध का उपयोग करके दिखाया गया है कि GPT-4 Vision मॉडल को छवियों का विश्लेषण कैसे करें:
API अनुरोध पैरामीटर:
-
model
: उपयोग करने के लिए मॉडल संस्करण को निर्दिष्ट करता है, इस मामले में "gpt-4-vision-preview"। -
messages
: भूमिका परिभाषित करता है और सामग्री को शामिल करता है, जहां सामग्री में पाठ और छवि लिंक शामिल हो सकते हैं। -
max_tokens
: पाठ उत्पन्न करने के लिए अधिकतम लंबाई सीमा को निर्दिष्ट करता है।
CURL अनुरोध उदाहरण:
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-4-vision-preview",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "इस छवि में क्या है?"
},
{
"type": "image_url",
"image_url": {
"url": "आपका छवि लिंक"
}
}
]
}
],
"max_tokens": 300
}'
उपर्युक्त अनुरोध के साथ, हमने एक छवि को GPT-4 Vision मॉडल को सबमिट किया और एक सरल सवाल पूछा: "इस छवि में क्या है?" मॉडल छवि सामग्री का विश्लेषण करेगा और छवि सामग्री के आधार पर उत्तर प्रदान करेगा।
3. Base64 कोडिंग का उपयोग करके छवियों को अपलोड करना
कुछ मामलों में, आपको स्थानीय छवि फ़ाइल को GPT-4 Vision मॉडल में अपलोड करने की आवश्यकता हो सकती है। इस तरह के मामलों में, हम छवि डेटा को बेस64 कोडिंग का उपयोग करके API अनुरोध में समामिल कर सकते हैं।
पायथन कोड उदाहरण:
import base64
import requests
api_key = "आपकी OPENAI_API_KEY"
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode('utf-8')
image_path = "आपकी छवि का पथ.jpg"
base64_image = encode_image(image_path)
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
payload = {
"model": "gpt-4-vision-preview",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "इस छवि में क्या है?"
},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}"
}
}
]
}
],
"max_tokens": 300
}
response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)
print(response.json())
उपर्युक्त कोड में, हम पहले एक स्थानीय छवि फ़ाइल को बेस64 कोडिंग स्ट्रिंग में बदलते हैं, और फिर इस स्ट्रिंग को अनुरोध के हिस्से के रूप में API को भेजते हैं। मॉडल की प्रतिक्रिया में छवि सामग्री का वर्णन होता है।
4. एकाधिक छवि इनपुट को संभालना
कभी-कभी कई छवियों का विश्लेषण करना आवश्यक होता है। GPT-4 Vision मॉडल का समर्थन होता है एक साथ कई छवि इनपुट प्राप्त करने का और उपयोगकर्ताओं को इन छवियों के बारे में सवाल करने या उनके अंतरों का मूल्यांकन करने की अनुमति देता है।
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-4-vision-preview",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "इन छवियों में क्या अलग है?"
},
{
"type": "image_url",
"image_url": {
"url": "पहली छवि का URL",
}
},
{
"type": "image_url",
"image_url": {
"url": "दूसरी छवि का URL",
}
}
]
}
],
"max_tokens": 300
}'
इस अनुरोध में, हम API को दो छवियाँ प्रस्तुत कर रहे हैं। मॉडल प्रत्येक छवि को अलग-अलग रूप में विश्लेषण करेगा और पूछे गए प्रश्नों के आधार पर विवरण और तुलनाएँ प्रदान करेगा। यह दृष्टि छवियों के समूह का सामान्य विश्लेषण के लिए आदर्श है।
5. छवि विश्लेषण विवरण स्तर सेट करना
GPT-4 दृष्टि मॉडल का उपयोग करते समय, आप अपनी आवश्यकताओं के अनुसार विवरण स्तर को सेट कर सकते हैं। detail
पैरामीटर को समायोजित करके, आप low
, high
, या auto
में से एक का चयन कर सकते हैं। हर विकल्प की एक विस्तृत स्पष्टीकरण और इसे सेट करने का तरीका नीचे दिया गया है:
-
low
: कम विवरण स्तर का चयन करने से "उच्च-संकल्प" मॉडल को निष्क्रिय कर दिया जाएगा। इस मॉडल को छवि के 512 पिक्सेल x 512 पिक्सेल के कम विवरण वाला एक संस्करण मिलेगा और इस छवि को प्रतिनिधित्व करने के लिए 65 टोकन्स का बजट उपयोग करेगा। यह उच्च विवरण की आवश्यकता नहीं होने वाली स्थितियों के लिए उपयुक्त है, जिससे जल्दी प्रतिक्रिया समय हासिल किया जा सकता है और इनपुट टोकन्स की कम खपत हो सकती है। -
high
: उच्च विवरण स्तर की अनुमति देता है कि मॉडल पहले एक कम-विवरण वाली छवि देखेगा, और फिर इस छवि के आकार के आधार पर 512-पिक्सेल ग्रिड में विस्तृत क्रॉप का निर्माण करेगा। प्रत्येक विस्तृत क्रॉप का प्रतिनिधित्व 129 टोकन्स के डबल बजट से किया जाता है (अर्थात, प्रति डिफ़ॉल्ट क्रॉप के लिए 65 टोकन्स)। -
auto
: स्वचालित विवरण स्तर यह निर्धारित करता है कि छवि के आकार के आधार परlow
याhigh
विवरण स्तर का उपयोग करना है।
निम्नलिखित कोड उदाहरण दिखाता है कि विवरण स्तर कैसे सेट करना है:
import base64
import requests
api_key = "आपकी_OPENAI_API_KEY"
image_path = "आपकी_छवि_का_पथ.jpg"
base64_image = base64.b64encode(open(image_path, "rb").read()).decode('utf-8')
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
payload = {
"model": "gpt-4-vision-preview",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "इस छवि में क्या है?"
},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}",
"detail": "high" # उच्च विवरण स्तर पर सेट करें
}
}
]
}
],
"max_tokens": 300
}
response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)
print(response.json())
6. मॉडल की सीमाओं को समझना और छवियों का प्रबंधन करना
6.1. मॉडल की सीमाएँ
GPT-4 दृष्टि मॉडल की शक्तिशाली क्षमता के बावजूद, इसमें कुछ संबंधित प्रतिबंध हैं, और इन प्रतिबंधों को समझना छवि समझने के लिए इसका उपयोग करने के लिए महत्वपूर्ण है। यहां कुछ जाने गए प्रतिबंधों का विवरण है:
-
चिकित्सा छवियाँ: मॉडल व्यावसायिक चिकित्सा छवियों, जैसे सीटी स्कैन, का विवरण करने के लिए उपयुक्त नहीं है, और चिकित्सा सलाह के लिए इसका उपयोग नहीं किया जाना चाहिए।
-
गैर-अंग्रेजी टेक्स्ट: मॉडल अगर जापानी या कोरियाई जैसे अल्फाबेट वाले गैर-लैटिन प्रतीकों को समागम करती छवियाँ को प्रसंस्करण करते समय अच्छा प्रदर्शन नहीं कर सकता है।
-
आकारिक स्थानीयकरण: मॉडल का प्रदर्शन, उचित स्थानीय स्थान संलग्नताओं की निर्देशों को पहचानने जैसे कार्यों में अधिकांश समयगत नहीं होता है, जैसे कि चेसबोर्ड पर टुकड़ों की स्थितियों की पहचान।
-
छवि विवरण: मॉडल को छवि में चार्ट या रंग और शैली विविधताओं वाले पाठ या लाइनों को समझने में समस्या हो सकती है।
-
छवि का घुमाव: मॉडल उलटी और ढ़ली हुई पाठ और छवियों को गलततरीके से समझ सकता है।
### 6.2 सत्रों में छवियों का प्रबंधन
चैट पूर्णता API स्थितिल होता है, इसलिए आपको मॉडल को पारित किए जाने वाले संदेशों (छवियों सहित) का स्वयं प्रबंधन करना होता है। यदि आप एक ही छवि को कई बार उपयोग करना चाहते हैं, तो हर API अनुरोध के साथ छवि डेटा को फिर से भेजना चाहिए।
```python
additional_payload = {
"model": "gpt-4-vision-preview",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "इस छवि के आधार पर, आपके पास क्या सुझाव हैं?"
},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}"
}
}
]
}
],
"max_tokens": 300
}
new_response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=additional_payload)
print(new_response.json())
7. लागत की गणना
detail: low
विकल्प का उपयोग करते हुए प्रत्येक छवि एक निश्चित 85 टोकन का उपभोग करती है। detail: high
विकल्प के साथ छवियों के लिए, छवि सबसे पहले 2048px x 2048px के आकार में संवर्धित किया जाता है, और फिर छवि की अल्पतम सीमा को 768px करने के लिए देखा जाता है। तब छवि को कई 512px वर्गों में विभाजित किया जाता है, जिसमें प्रत्येक वर्ग 170 टोकन का उपयोग करता है, और फाइनल कुल गणना में 85 टोकन जोड़े जाते हैं।
उदाहरण के लिए, यदि एक छवि के आयाम 1024px x 1024px है और detail: high
विकल्प चुना गया है, तो टोकन लागत होगी:
- सबसे पहले, क्योंकि 1024 से कम है, कोई प्रारंभिक आकार समायोजन नहीं है।
- फिर, छवि को 768 x 768 में साइज किया जाता है, क्योंकि छवि की छोटी सीमा 1024 है।
- छवि को दर्शाने के लिए 4 512px वर्ग आवश्यक होते हैं, इसलिए अंतिम टोकन लागत 170 * 4 + 85 = 765 होगी।
लागत गणना विधि की विस्तृत समझ के लिए, कृपया GPT-4 विज़न मॉडल के दस्तावेज़ीकरण का संदर्भ देखें।
8. अक्सर पूछे जाने वाले प्रश्न
नीचे कुछ सामान्य प्रश्न और उनके उत्तर हैं जो उपयोगकर्ता GPT-4 विज़न मॉडल का उपयोग करते समय सामना कर सकते हैं:
प: क्या मैं gpt-4
की छवि क्षमताएँ फाइन ट्यून कर सकता हूँ?
उ: वर्तमान में, हम gpt-4
की छवि क्षमताओं को फाइन ट्यून करने का समर्थन नहीं करते हैं।
प: क्या मैं gpt-4
का उपयोग छवियों बनाने के लिए कर सकता हूँ?
उ: नहीं, आप dall-e-3
का उपयोग कर सकते हैं छवियाँ बनाने के लिए और gpt-4-vision-preview
का उपयोग छवियों को समझने के लिए कर सकते हैं।
प: किस प्रकार के फ़ाइल अपलोड समर्थित हैं?
उ: हम वर्तमान में PNG (.png), JPEG (.jpeg और .jpg), WEBP (.webp), और नॉन-एनिमेटेड GIF (.gif) फ़ाइलें समर्थित करते हैं।