ربط إدخال البحث الدلالي ل Azure OpenAI لوظائف Azure

هام

ملحق Azure OpenAI ل Azure Functions قيد المعاينة حاليا.

يسمح لك ربط إدخال البحث الدلالي Azure OpenAI باستخدام البحث الدلالي على التضمينات الخاصة بك.

للحصول على معلومات حول تفاصيل الإعداد والتكوين لملحق Azure OpenAI، راجع ملحقات Azure OpenAI لوظائف Azure. لمعرفة المزيد حول الترتيب الدلالي في Azure الذكاء الاصطناعي Search، راجع الترتيب الدلالي في Azure الذكاء الاصطناعي Search.

إشعار

يتم توفير المراجع والأمثلة فقط لنموذج Node.js v4.

إشعار

يتم توفير المراجع والأمثلة فقط لنموذج Python v2.

إشعار

بينما يتم دعم نموذجي عملية C#، يتم توفير أمثلة نموذج عامل معزول فقط.

مثال

يوضح هذا المثال كيفية إجراء بحث دلالي على ملف.


public class EmbeddingsStoreOutputResponse
{
    [EmbeddingsStoreOutput("{Url}", InputType.Url, "AISearchEndpoint", "openai-index", Model = "%EMBEDDING_MODEL_DEPLOYMENT_NAME%")]
    public required SearchableDocument SearchableDocument { get; init; }

    public IActionResult? HttpResponse { get; set; }
}

يوضح هذا المثال كيفية إجراء بحث دلالي على ملف.

        return searchableDocument;
    }

}

@FunctionName("PromptFile")
public HttpResponseMessage promptFile(
    @HttpTrigger(
        name = "req", 
        methods = {HttpMethod.POST},
        authLevel = AuthorizationLevel.ANONYMOUS)
        HttpRequestMessage<SemanticSearchRequest> request,
    @SemanticSearch(name = "search", connectionName = "AISearchEndpoint", collection = "openai-index", query = "{Prompt}", chatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", embeddingsModel = "%EMBEDDING_MODEL_DEPLOYMENT_NAME%" ) String semanticSearchContext,
    final ExecutionContext context) {
        String response = new JSONObject(semanticSearchContext).getString("Response");

الأمثلة غير متوفرة بعد.

يوضح هذا المثال كيفية إجراء بحث دلالي على ملف.

    type: 'embeddings',
    maxChunkLength: 512,
    model: '%EMBEDDING_MODEL_DEPLOYMENT_NAME%'
})

app.http('getEmbeddingsFilePath', {
    methods: ['POST'],
    route: 'embeddings-from-file',
    authLevel: 'function',
    extraInputs: [embeddingsFilePathInput],
    handler: async (request, context) => {
        let requestBody: EmbeddingsFilePath = await request.json();
        let response: any = context.extraInputs.get(embeddingsFilePathInput);

        context.log(
            `Received ${response.count} embedding(s) for input file ${requestBody.FilePath}.`
        );
        
        // TODO: Store the embeddings into a database or other storage.

يوضح هذا المثال كيفية إجراء بحث دلالي على ملف.

فيما يلي ملف function.json لمطالبة ملف:

{
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "Request",
      "methods": [
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "Response"
    },
    {
      "name": "SemanticSearchInput",
      "type": "semanticSearch",
      "direction": "in",
      "connectionName": "AISearchEndpoint",
      "collection": "openai-index",
      "query": "{Prompt}",
      "chatModel": "%CHAT_MODEL_DEPLOYMENT_NAME%",
      "embeddingsModel": "%EMBEDDING_MODEL_DEPLOYMENT_NAME%"
    }
  ]
}

لمزيد من المعلومات حول خصائص الملف function.json ، راجع قسم التكوين .

using namespace System.Net

param($Request, $TriggerMetadata, $SemanticSearchInput)

Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
        StatusCode = [HttpStatusCode]::OK
        Body       = $SemanticSearchInput.Response
    })

الأمثلة غير متوفرة بعد.

السمات

تطبيق السمة SemanticSearchInput لتعريف ربط إدخال بحث دلالي، والذي يدعم هذه المعلمات:

المعلمة ‏‏الوصف
اسم الاتصال اسم إعداد التطبيق أو متغير البيئة الذي يحتوي على قيمة سلسلة الاتصال. تدعم هذه الخاصية تعبيرات الربط.
مجموعة اسم المجموعة أو الجدول أو الفهرس للبحث. تدعم هذه الخاصية تعبيرات الربط.
استفسار نص الاستعلام الدلالي المراد استخدامه للبحث. تدعم هذه الخاصية تعبيرات الربط.
EmbeddingsModel معرف النموذج لاستخدامه للتضمينات. القيمة الافتراضية هي text-embedding-3-small. تدعم هذه الخاصية تعبيرات الربط.
ChatModel الحصول على اسم نموذج اللغة الكبيرة أو تعيينه لاستدعاء استجابات الدردشة. القيمة الافتراضية هي gpt-3.5-turbo. تدعم هذه الخاصية تعبيرات الربط.
SystemPrompt اختياري. الحصول على مطالبة النظام أو تعيينها لاستخدامها لمطالبة نموذج اللغة الكبير. يتم إلحاق مطالبة النظام بالمعرفة التي يتم جلبها نتيجة ل Query. يتم إرسال المطالبة المجمعة إلى OpenAI Chat API. تدعم هذه الخاصية تعبيرات الربط.
MaxKnowledgeCount اختياري. يحصل على أو يعين عدد عناصر المعرفة لإدخالها في SystemPrompt.

تعليقات توضيحية

SemanticSearchInput يمكنك التعليق التوضيحي من تعريف ربط إدخال بحث دلالي، والذي يدعم هذه المعلمات:

العنصر ‏‏الوصف‬
الاسم الحصول على اسم ربط الإدخال أو تعيينه.
اسم الاتصال اسم إعداد التطبيق أو متغير البيئة الذي يحتوي على قيمة سلسلة الاتصال. تدعم هذه الخاصية تعبيرات الربط.
مجموعة اسم المجموعة أو الجدول أو الفهرس للبحث. تدعم هذه الخاصية تعبيرات الربط.
الاستعلام نص الاستعلام الدلالي المراد استخدامه للبحث. تدعم هذه الخاصية تعبيرات الربط.
embeddingsModel معرف النموذج لاستخدامه للتضمينات. القيمة الافتراضية هي text-embedding-3-small. تدعم هذه الخاصية تعبيرات الربط.
نموذج الدردشة الحصول على اسم نموذج اللغة الكبيرة أو تعيينه لاستدعاء استجابات الدردشة. القيمة الافتراضية هي gpt-3.5-turbo. تدعم هذه الخاصية تعبيرات الربط.
systemPrompt اختياري. الحصول على مطالبة النظام أو تعيينها لاستخدامها لمطالبة نموذج اللغة الكبير. يتم إلحاق مطالبة النظام بالمعرفة التي يتم جلبها نتيجة ل Query. يتم إرسال المطالبة المجمعة إلى OpenAI Chat API. تدعم هذه الخاصية تعبيرات الربط.
maxKnowledgeCount اختياري. يحصل على أو يعين عدد عناصر المعرفة لإدخالها في SystemPrompt.

الديكور

أثناء المعاينة، حدد ربط الإدخال كربط generic_input_binding من النوع semanticSearch، والذي يدعم هذه المعلمات:

المعلمة ‏‏الوصف‬
arg_name اسم المتغير الذي يمثل معلمة الربط.
connection_name اسم إعداد التطبيق أو متغير البيئة الذي يحتوي على قيمة سلسلة الاتصال. تدعم هذه الخاصية تعبيرات الربط.
مجموعة اسم المجموعة أو الجدول أو الفهرس للبحث. تدعم هذه الخاصية تعبيرات الربط.
الاستعلام نص الاستعلام الدلالي المراد استخدامه للبحث. تدعم هذه الخاصية تعبيرات الربط.
embeddings_model معرف النموذج لاستخدامه للتضمينات. القيمة الافتراضية هي text-embedding-3-small. تدعم هذه الخاصية تعبيرات الربط.
chat_model الحصول على اسم نموذج اللغة الكبيرة أو تعيينه لاستدعاء استجابات الدردشة. القيمة الافتراضية هي gpt-3.5-turbo. تدعم هذه الخاصية تعبيرات الربط.
system_prompt اختياري. الحصول على مطالبة النظام أو تعيينها لاستخدامها لمطالبة نموذج اللغة الكبير. يتم إلحاق مطالبة النظام بالمعرفة التي يتم جلبها نتيجة ل Query. يتم إرسال المطالبة المجمعة إلى OpenAI Chat API. تدعم هذه الخاصية تعبيرات الربط.
max_knowledge_count اختياري. يحصل على أو يعين عدد عناصر المعرفة لإدخالها في SystemPrompt.

التكوين

يدعم الربط خصائص التكوين هذه التي قمت بتعيينها في ملف function.json.

الخاصية الوصف
النوع يجب أن يكونsemanticSearch.
الاتجاه يجب أن يكونin.
الاسم اسم ربط الإدخال.
اسم الاتصال الحصول على اسم إعداد التطبيق أو متغير البيئة الذي يحتوي على قيمة سلسلة الاتصال أو تعيينه. تدعم هذه الخاصية تعبيرات الربط.
مجموعة اسم المجموعة أو الجدول أو الفهرس للبحث. تدعم هذه الخاصية تعبيرات الربط.
الاستعلام نص الاستعلام الدلالي المراد استخدامه للبحث. تدعم هذه الخاصية تعبيرات الربط.
embeddingsModel معرف النموذج لاستخدامه للتضمينات. القيمة الافتراضية هي text-embedding-3-small. تدعم هذه الخاصية تعبيرات الربط.
نموذج الدردشة الحصول على اسم نموذج اللغة الكبيرة أو تعيينه لاستدعاء استجابات الدردشة. القيمة الافتراضية هي gpt-3.5-turbo. تدعم هذه الخاصية تعبيرات الربط.
systemPrompt اختياري. الحصول على مطالبة النظام أو تعيينها لاستخدامها لمطالبة نموذج اللغة الكبير. يتم إلحاق مطالبة النظام بالمعرفة التي يتم جلبها نتيجة ل Query. يتم إرسال المطالبة المجمعة إلى OpenAI Chat API. تدعم هذه الخاصية تعبيرات الربط.
maxKnowledgeCount اختياري. يحصل على أو يعين عدد عناصر المعرفة لإدخالها في SystemPrompt.

التكوين

يدعم الربط هذه الخصائص، والتي يتم تعريفها في التعليمات البرمجية الخاصة بك:

الخاصية ‏‏الوصف
اسم الاتصال اسم إعداد التطبيق أو متغير البيئة الذي يحتوي على قيمة سلسلة الاتصال. تدعم هذه الخاصية تعبيرات الربط.
مجموعة اسم المجموعة أو الجدول أو الفهرس للبحث. تدعم هذه الخاصية تعبيرات الربط.
الاستعلام نص الاستعلام الدلالي المراد استخدامه للبحث. تدعم هذه الخاصية تعبيرات الربط.
embeddingsModel معرف النموذج لاستخدامه للتضمينات. القيمة الافتراضية هي text-embedding-3-small. تدعم هذه الخاصية تعبيرات الربط.
نموذج الدردشة الحصول على اسم نموذج اللغة الكبيرة أو تعيينه لاستدعاء استجابات الدردشة. القيمة الافتراضية هي gpt-3.5-turbo. تدعم هذه الخاصية تعبيرات الربط.
systemPrompt اختياري. الحصول على مطالبة النظام أو تعيينها لاستخدامها لمطالبة نموذج اللغة الكبير. يتم إلحاق مطالبة النظام بالمعرفة التي يتم جلبها نتيجة ل Query. يتم إرسال المطالبة المجمعة إلى OpenAI Chat API. تدعم هذه الخاصية تعبيرات الربط.
maxKnowledgeCount اختياري. يحصل على أو يعين عدد عناصر المعرفة لإدخالها في SystemPrompt.

الاستخدام

راجع قسم Example للحصول على أمثلة كاملة.