إنشاء تضمينات للاستعلامات والمستندات الخاصة بالبحث

لا يستضيف Azure الذكاء الاصطناعي Search نماذج المتجهات، لذلك يتمثل أحد تحدياتك في إنشاء تضمينات لإدخالات الاستعلام ومخرجاته. يمكنك استخدام أي نموذج تضمين، ولكن تفترض هذه المقالة تضمين نماذج Azure OpenAI. تضغط العروض التوضيحية في مستودع العينة على نماذج تضمين التشابه ل Azure OpenAI.

سمات البعد لها 2 كحد أدنى و3072 بعدا كحد أقصى لكل حقل متجه.

إشعار

تنطبق هذه المقالة على الإصدار المتوفر بشكل عام من البحث عن المتجهات، والذي يفترض أن التعليمات البرمجية للتطبيق تستدعي موردا خارجيا مثل Azure OpenAI للتوجهات. توفر ميزة جديدة تسمى المتجهات المتكاملة، قيد المعاينة حاليا، متجها مضمنا. تعتمد المتجهات المتكاملة على المفهرسات ومجموعات المهارات وإما مهارة AzureOpenAIEmbedding أو مهارة مخصصة تشير إلى نموذج ينفذ خارجيا من Azure الذكاء الاصطناعي Search.

كيفية استخدام النماذج

  • تتطلب مدخلات الاستعلام إرسال الإدخال الذي يوفره المستخدم إلى نموذج تضمين يحول النص البشري القابل للقراءة بسرعة إلى متجه.

    • على سبيل المثال، يمكنك استخدام text-embedding-ada-002 لإنشاء تضمينات النص وواجهة برمجة تطبيقات REST لاسترداد الصور لتضمين الصور.

    • لتجنب تحديد المعدل، يمكنك تنفيذ منطق إعادة المحاولة في حمل العمل الخاص بك. بالنسبة إلى عرض Python التوضيحي، استخدمنا المثابرة.

  • مخرجات الاستعلام هي أي مستندات مطابقة موجودة في فهرس بحث. يجب أن يكون فهرس البحث قد تم تحميله مسبقا بمستندات تحتوي على حقل متجه واحد أو أكثر مع تضمينات. أيا كان النموذج الذي استخدمته للفهرسة، استخدم نفس النموذج للاستعلامات.

إنشاء موارد في نفس المنطقة

إذا كنت تريد موارد في نفس المنطقة، فابدأ ب:

  1. منطقة لنموذج تضمين التشابه، حاليا في أوروبا والولايات المتحدة.

  2. منطقة ل Azure الذكاء الاصطناعي Search.

  3. لدعم الاستعلامات المختلطة التي تتضمن الترتيب الدلالي، أو إذا كنت تريد تجربة تكامل نموذج التعلم الآلي باستخدام مهارة مخصصة في مسار إثراء الذكاء الاصطناعي، لاحظ المناطق التي توفر هذه الميزات.

إنشاء تضمين لاستعلام مرتجل

تنشئ التعليمات البرمجية Python التالية تضمينا يمكنك لصقه في خاصية "القيم" لاستعلام متجه.

!pip install openai==0.28.1

import openai

openai.api_type = "azure"
openai.api_key = "YOUR-API-KEY"
openai.api_base = "https://YOUR-OPENAI-RESOURCE.openai.azure.com"
openai.api_version = "2023-05-15"

response = openai.Embedding.create(
    input="How do I use Python in VSCode?",
    engine="text-embedding-ada-002"
)
embeddings = response['data'][0]['embedding']
print(embeddings)

تلميحات وتوصيات لتضمين تكامل النموذج

  • تحديد حالات الاستخدام: تقييم حالات الاستخدام المحددة حيث يمكن لتضمين تكامل النموذج لميزات البحث في المتجهات إضافة قيمة إلى حل البحث. يمكن أن يتضمن ذلك مطابقة محتوى الصورة مع محتوى نصي أو عمليات بحث متعددة اللغات أو العثور على مستندات مماثلة.
  • تحسين التكلفة والأداء: يمكن أن يكون البحث عن المتجهات كثيف الموارد ويخضع لحدود قصوى، لذا ضع في اعتبارك فقط تحويل الحقول التي تحتوي على معنى دلالي.
  • اختر نموذج التضمين الصحيح: حدد نموذجا مناسبا لحالة الاستخدام المحددة، مثل تضمين الكلمات لعمليات البحث المستندة إلى النص أو تضمين الصور لعمليات البحث المرئية. ضع في اعتبارك استخدام نماذج مدربة مسبقا مثل text-embedding-ada-002 من OpenAI أو Image Retrieval REST API من Azure الذكاء الاصطناعي Computer Vision.
  • تسوية أطوال المتجهات: تأكد من تسوية أطوال المتجهات قبل تخزينها في فهرس البحث لتحسين دقة وأداء بحث التشابه. معظم النماذج المدربة مسبقا تمت تسويتها بالفعل ولكن ليس كلها.
  • ضبط النموذج: إذا لزم الأمر، فضبط النموذج المحدد على البيانات الخاصة بالمجال لتحسين أدائه وملاءمته لتطبيق البحث الخاص بك.
  • الاختبار والتكرار: اختبر باستمرار وصقل تكامل نموذج التضمين لتحقيق أداء البحث المطلوب ورضا المستخدم.

الخطوات التالية