تطوير تطبيق دردشة يستند إلى الرؤية
تلميح
راجع علامة التبويب النص والصور لمزيد من التفاصيل!
لتطوير تطبيق عميل يشارك في الدردشات المستندة إلى الرؤية باستخدام نموذج متعدد الوسائط، يمكنك استخدام نفس التقنيات الأساسية المستخدمة للدردشات المستندة إلى النص. تحتاج إلى اتصال بنقطة النهاية حيث يتم نشر النموذج، وتستخدم نقطة النهاية هذه لإرسال المطالبات التي تتكون من رسائل إلى النموذج ومعالجة الاستجابات.
الفرق الرئيسي هو أن المحفزات للدردشة القائمة على الرؤية تتضمن رسائل مستخدم متعددة الأجزاء تحتوي على عنصر محتوى نصي وعنصر محتوى صورة .
تقديم طلب يعتمد على الصور باستخدام واجهة برمجة التطبيقات Responses API
لإدراج صورة في طلب باستخدام واجهة برمجة تطبيقات الاستجابات ، حدد رابط لملف صورة على الويب، أو قم بتحميل صورة محلية وترميز بياناتها بصيغة Base64 وتقديم عنوان URL بهذا الشكل data:image/jpeg;base64,{image_data} (مع استبدال "jpeg" ب "png" أو صيغ أخرى حسب الحاجة).
المثال التالي في بايثون يوضح كيفية تقديم صورة في طلب باستخدام واجهة برمجة تطبيقات الاستجابات :
# Read the image data from a local file
image_path = Path("dragon-fruit.jpeg")
image_format = "jpeg"
with open(image_path, "rb") as image_file:
image_data = base64.b64encode(image_file.read()).decode("utf-8")
data_url = f"data:image/{image_format};base64,{image_data}" # You can also use a web URL
# Send the image data in a prompt to the model
response = client.responses.create(
model="gpt-4.1",
input=[
{"role": "developer", "content": "You are an AI assistant for chefs planning recipes."},
{"role": "user", "content": [
{ "type": "input_text", "text": "What desserts could I make with this?"},
{ "type": "input_image", "image_url": data_url}
] }
]
)
print(response.output_text)
تقديم طلب يعتمد على الصور باستخدام واجهة برمجة تطبيقات ChatCompletetions
عند استخدام نقطة نهاية Azure OpenAI لإرسال التنبيهات إلى النماذج التي لا تدعم واجهة برمجة تطبيقات الاستجابات ، يمكنك استخدام واجهة CatCompletions ؛ مثل هذا:
# Read the image data from a local file
image_path = Path("orange.jpeg")
image_format = "jpeg"
with open(image_path, "rb") as image_file:
image_data = base64.b64encode(image_file.read()).decode("utf-8")
data_url = f"data:image/{image_format};base64,{image_data}" # You can also use a web URL
# Send the image data in a prompt to the model
response = client.chat.completions.create(
model="Phi-4-multimodal-instruct",
messages=[
{"role": "system", "content": "You are an AI assistant for chefs planning recipes."},
{ "role": "user", "content": [
{ "type": "text", "text": "What can I make with this fruit?"},
{ "type": "image_url", "image_url": {"url": data_url}}
] }
]
)
print(response.choices[0].message.content)