إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
هام
ملحق Azure OpenAI ل Azure Functions قيد المعاينة حاليا.
يسمح لك ربط إدخال البحث الدلالي Azure OpenAI باستخدام البحث الدلالي على التضمينات الخاصة بك.
للحصول على معلومات حول تفاصيل الإعداد والتكوين لملحق Azure OpenAI، راجع ملحقات Azure OpenAI لوظائف Azure. لمعرفة المزيد حول الترتيب الدلالي في Azure الذكاء الاصطناعي Search، راجع الترتيب الدلالي في Azure الذكاء الاصطناعي Search.
إشعار
بينما يتم دعم نموذجي عملية C#، يتم توفير أمثلة نموذج عامل معزول فقط.
مثال
يوضح هذا المثال كيفية إجراء بحث دلالي على ملف.
[Function("PromptFile")]
public static IActionResult PromptFile(
[HttpTrigger(AuthorizationLevel.Function, "post")] SemanticSearchRequest unused,
[SemanticSearchInput("AISearchEndpoint", "openai-index", Query = "{prompt}", ChatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", EmbeddingsModel = "%EMBEDDING_MODEL_DEPLOYMENT_NAME%")] SemanticSearchContext result)
{
return new ContentResult { Content = result.Response, ContentType = "text/plain" };
}
يوضح هذا المثال كيفية إجراء بحث دلالي على ملف.
@FunctionName("PromptFile")
public HttpResponseMessage promptFile(
@HttpTrigger(
name = "req",
methods = {HttpMethod.POST},
authLevel = AuthorizationLevel.ANONYMOUS)
HttpRequestMessage<SemanticSearchRequest> request,
@SemanticSearch(name = "search", searchConnectionName = "AISearchEndpoint", collection = "openai-index", query = "{prompt}", chatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", embeddingsModel = "%EMBEDDING_MODEL_DEPLOYMENT_NAME%", isReasoningModel = false ) String semanticSearchContext,
final ExecutionContext context) {
String response = new JSONObject(semanticSearchContext).getString("Response");
return request.createResponseBuilder(HttpStatus.OK)
.header("Content-Type", "application/json")
.body(response)
.build();
}
public class SemanticSearchRequest {
public String prompt;
public String getPrompt() {
return prompt;
}
public void setPrompt(String prompt) {
this.prompt = prompt;
}
}
يوضح هذا المثال كيفية إجراء بحث دلالي على ملف.
const semanticSearchInput = input.generic({
type: "semanticSearch",
connectionName: "AISearchEndpoint",
collection: "openai-index",
query: "{prompt}",
chatModel: "%CHAT_MODEL_DEPLOYMENT_NAME%",
embeddingsModel: "%EMBEDDING_MODEL_DEPLOYMENT_NAME%"
});
app.http('PromptFile', {
methods: ['POST'],
authLevel: 'function',
extraInputs: [semanticSearchInput],
handler: async (_request, context) => {
var responseBody = context.extraInputs.get(semanticSearchInput)
return { status: 200, body: responseBody.Response.trim() }
}
});
const semanticSearchInput = input.generic({
type: "semanticSearch",
connectionName: "AISearchEndpoint",
collection: "openai-index",
query: "{prompt}",
chatModel: "%CHAT_MODEL_DEPLOYMENT_NAME%",
embeddingsModel: "%EMBEDDING_MODEL_DEPLOYMENT_NAME%"
});
app.http('PromptFile', {
methods: ['POST'],
authLevel: 'function',
extraInputs: [semanticSearchInput],
handler: async (_request, context) => {
var responseBody: any = context.extraInputs.get(semanticSearchInput)
return { status: 200, body: responseBody.Response.trim() }
}
});
يوضح هذا المثال كيفية إجراء بحث دلالي على ملف.
فيما يلي ملف 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",
"searchConnectionName": "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
})
يوضح هذا المثال كيفية إجراء بحث دلالي على ملف.
@app.function_name("PromptFile")
@app.route(methods=["POST"])
@app.semantic_search_input(
arg_name="result",
search_connection_name="AISearchEndpoint",
collection="openai-index",
query="{prompt}",
embeddings_model="%EMBEDDING_MODEL_DEPLOYMENT_NAME%",
chat_model="%CHAT_MODEL_DEPLOYMENT_NAME%",
)
def prompt_file(req: func.HttpRequest, result: str) -> func.HttpResponse:
result_json = json.loads(result)
response_json = {
"content": result_json.get("Response"),
"content_type": "text/plain",
}
return func.HttpResponse(
json.dumps(response_json), status_code=200, mimetype="application/json"
)
السمات
تطبيق السمة SemanticSearchInput لتعريف ربط إدخال بحث دلالي، والذي يدعم هذه المعلمات:
| المعلمة | الوصف |
|---|---|
| SearchConnectionName | اسم إعداد التطبيق أو متغير البيئة الذي يحتوي على قيمة سلسلة الاتصال. تدعم هذه الخاصية تعبيرات الربط. |
| مجموعة | اسم المجموعة أو الجدول أو الفهرس للبحث. تدعم هذه الخاصية تعبيرات الربط. |
| استعلام |
نص الاستعلام الدلالي المراد استخدامه للبحث. تدعم هذه الخاصية تعبيرات الربط. |
| EmbeddingsModel |
اختياري. معرف النموذج لاستخدامه للتضمينات. القيمة الافتراضية هي text-embedding-3-small. تدعم هذه الخاصية تعبيرات الربط. |
| ChatModel |
اختياري. الحصول على اسم نموذج اللغة الكبيرة أو تعيينه لاستدعاء استجابات الدردشة. القيمة الافتراضية هي gpt-3.5-turbo. تدعم هذه الخاصية تعبيرات الربط. |
| AIConnectionName | اختياري. الحصول على اسم قسم التكوين أو تعيينه لإعدادات اتصال الخدمة الذكاء الاصطناعي. بالنسبة إلى Azure OpenAI: إذا تم تحديده، يبحث عن قيم "نقطة النهاية" و"المفتاح" في قسم التكوين هذا. إذا لم يتم تحديده أو لم يكن المقطع موجودا، يعود إلى متغيرات البيئة: AZURE_OPENAI_ENDPOINT AZURE_OPENAI_KEY. لمصادقة الهوية المدارة المعينة من قبل المستخدم، هذه الخاصية مطلوبة. بالنسبة لخدمة OpenAI (غير Azure)، قم بتعيين متغير البيئة OPENAI_API_KEY. |
| SystemPrompt |
اختياري. الحصول على مطالبة النظام أو تعيينها لاستخدامها لمطالبة نموذج اللغة الكبير. يتم إلحاق مطالبة النظام بالمعرفة التي يتم جلبها نتيجة ل Query. يتم إرسال المطالبة المجمعة إلى OpenAI Chat API. تدعم هذه الخاصية تعبيرات الربط. |
| MaxKnowledgeCount |
اختياري. يحصل على أو يعين عدد عناصر المعرفة لإدخالها في SystemPrompt. |
| IsReasoningModel |
اختياري. الحصول على قيمة تشير إلى ما إذا كان نموذج إكمال الدردشة نموذجا منطقيا أم لا. هذا الخيار تجريبي ومرتبط بنموذج المنطق حتى يكون لجميع النماذج تماثل في الخصائص المتوقعة، بقيمة افتراضية ل false. |
تعليقات توضيحية
SemanticSearchInput يمكنك التعليق التوضيحي من تعريف ربط إدخال بحث دلالي، والذي يدعم هذه المعلمات:
| العنصر | الوصف |
|---|---|
| الاسم | الحصول على اسم ربط الإدخال أو تعيينه. |
| searchConnectionName | اسم إعداد التطبيق أو متغير البيئة الذي يحتوي على قيمة سلسلة الاتصال. تدعم هذه الخاصية تعبيرات الربط. |
| مجموعة | اسم المجموعة أو الجدول أو الفهرس للبحث. تدعم هذه الخاصية تعبيرات الربط. |
| الاستعلام | نص الاستعلام الدلالي المراد استخدامه للبحث. تدعم هذه الخاصية تعبيرات الربط. |
| embeddingsModel |
اختياري. معرف النموذج لاستخدامه للتضمينات. القيمة الافتراضية هي text-embedding-3-small. تدعم هذه الخاصية تعبيرات الربط. |
| نموذج الدردشة |
اختياري. الحصول على اسم نموذج اللغة الكبيرة أو تعيينه لاستدعاء استجابات الدردشة. القيمة الافتراضية هي gpt-3.5-turbo. تدعم هذه الخاصية تعبيرات الربط. |
| aiConnectionName | اختياري. الحصول على اسم قسم التكوين أو تعيينه لإعدادات اتصال الخدمة الذكاء الاصطناعي. بالنسبة إلى Azure OpenAI: إذا تم تحديده، يبحث عن قيم "نقطة النهاية" و"المفتاح" في قسم التكوين هذا. إذا لم يتم تحديده أو لم يكن المقطع موجودا، يعود إلى متغيرات البيئة: AZURE_OPENAI_ENDPOINT AZURE_OPENAI_KEY. لمصادقة الهوية المدارة المعينة من قبل المستخدم، هذه الخاصية مطلوبة. بالنسبة لخدمة OpenAI (غير Azure)، قم بتعيين متغير البيئة OPENAI_API_KEY. |
| systemPrompt |
اختياري. الحصول على مطالبة النظام أو تعيينها لاستخدامها لمطالبة نموذج اللغة الكبير. يتم إلحاق مطالبة النظام بالمعرفة التي يتم جلبها نتيجة ل Query. يتم إرسال المطالبة المجمعة إلى OpenAI Chat API. تدعم هذه الخاصية تعبيرات الربط. |
| maxKnowledgeCount |
اختياري. يحصل على أو يعين عدد عناصر المعرفة لإدخالها في SystemPrompt. |
| isReasoningModel |
اختياري. الحصول على قيمة تشير إلى ما إذا كان نموذج إكمال الدردشة نموذجا منطقيا أم لا. هذا الخيار تجريبي ومرتبط بنموذج المنطق حتى يكون لجميع النماذج تماثل في الخصائص المتوقعة، بقيمة افتراضية ل false. |
الديكور
أثناء المعاينة، حدد ربط الإدخال كربط generic_input_binding من النوع semanticSearch، والذي يدعم هذه المعلمات:
| المعلمة | الوصف |
|---|---|
| arg_name | اسم المتغير الذي يمثل معلمة الربط. |
| search_connection_name | اسم إعداد التطبيق أو متغير البيئة الذي يحتوي على قيمة سلسلة الاتصال. تدعم هذه الخاصية تعبيرات الربط. |
| مجموعة | اسم المجموعة أو الجدول أو الفهرس للبحث. تدعم هذه الخاصية تعبيرات الربط. |
| الاستعلام | نص الاستعلام الدلالي المراد استخدامه للبحث. تدعم هذه الخاصية تعبيرات الربط. |
| embeddings_model |
اختياري. معرف النموذج لاستخدامه للتضمينات. القيمة الافتراضية هي text-embedding-3-small. تدعم هذه الخاصية تعبيرات الربط. |
| chat_model |
اختياري. الحصول على اسم نموذج اللغة الكبيرة أو تعيينه لاستدعاء استجابات الدردشة. القيمة الافتراضية هي gpt-3.5-turbo. تدعم هذه الخاصية تعبيرات الربط. |
| ai_connection_name | اختياري. الحصول على اسم قسم التكوين أو تعيينه لإعدادات اتصال الخدمة الذكاء الاصطناعي. بالنسبة إلى Azure OpenAI: إذا تم تحديده، يبحث عن قيم "نقطة النهاية" و"المفتاح" في قسم التكوين هذا. إذا لم يتم تحديده أو لم يكن المقطع موجودا، يعود إلى متغيرات البيئة: AZURE_OPENAI_ENDPOINT AZURE_OPENAI_KEY. لمصادقة الهوية المدارة المعينة من قبل المستخدم، هذه الخاصية مطلوبة. بالنسبة لخدمة OpenAI (غير Azure)، قم بتعيين متغير البيئة OPENAI_API_KEY. |
| system_prompt |
اختياري. الحصول على مطالبة النظام أو تعيينها لاستخدامها لمطالبة نموذج اللغة الكبير. يتم إلحاق مطالبة النظام بالمعرفة التي يتم جلبها نتيجة ل Query. يتم إرسال المطالبة المجمعة إلى OpenAI Chat API. تدعم هذه الخاصية تعبيرات الربط. |
| max_knowledge_count |
اختياري. يحصل على أو يعين عدد عناصر المعرفة لإدخالها في SystemPrompt. |
| is_reasoning _model |
اختياري. الحصول على قيمة تشير إلى ما إذا كان نموذج إكمال الدردشة نموذجا منطقيا أم لا. هذا الخيار تجريبي ومرتبط بنموذج المنطق حتى يكون لجميع النماذج تماثل في الخصائص المتوقعة، بقيمة افتراضية ل false. |
التكوين
يدعم الربط خصائص التكوين هذه التي قمت بتعيينها في ملف function.json.
| الخاصية | الوصف |
|---|---|
| النوع | يجب أن يكونsemanticSearch. |
| الاتجاه | يجب أن يكونin. |
| الاسم | اسم ربط الإدخال. |
| searchConnectionName | الحصول على اسم إعداد التطبيق أو متغير البيئة الذي يحتوي على قيمة سلسلة اتصال أو تعيينه. تدعم هذه الخاصية تعبيرات الربط. |
| مجموعة | اسم المجموعة أو الجدول أو الفهرس للبحث. تدعم هذه الخاصية تعبيرات الربط. |
| الاستعلام | نص الاستعلام الدلالي المراد استخدامه للبحث. تدعم هذه الخاصية تعبيرات الربط. |
| embeddingsModel |
اختياري. معرف النموذج لاستخدامه للتضمينات. القيمة الافتراضية هي text-embedding-3-small. تدعم هذه الخاصية تعبيرات الربط. |
| نموذج الدردشة |
اختياري. الحصول على اسم نموذج اللغة الكبيرة أو تعيينه لاستدعاء استجابات الدردشة. القيمة الافتراضية هي gpt-3.5-turbo. تدعم هذه الخاصية تعبيرات الربط. |
| aiConnectionName | اختياري. الحصول على اسم قسم التكوين أو تعيينه لإعدادات اتصال الخدمة الذكاء الاصطناعي. بالنسبة إلى Azure OpenAI: إذا تم تحديده، يبحث عن قيم "نقطة النهاية" و"المفتاح" في قسم التكوين هذا. إذا لم يتم تحديده أو لم يكن المقطع موجودا، يعود إلى متغيرات البيئة: AZURE_OPENAI_ENDPOINT AZURE_OPENAI_KEY. لمصادقة الهوية المدارة المعينة من قبل المستخدم، هذه الخاصية مطلوبة. بالنسبة لخدمة OpenAI (غير Azure)، قم بتعيين متغير البيئة OPENAI_API_KEY. |
| systemPrompt |
اختياري. الحصول على مطالبة النظام أو تعيينها لاستخدامها لمطالبة نموذج اللغة الكبير. يتم إلحاق مطالبة النظام بالمعرفة التي يتم جلبها نتيجة ل Query. يتم إرسال المطالبة المجمعة إلى OpenAI Chat API. تدعم هذه الخاصية تعبيرات الربط. |
| maxKnowledgeCount |
اختياري. يحصل على أو يعين عدد عناصر المعرفة لإدخالها في SystemPrompt. |
| isReasoningModel |
اختياري. الحصول على قيمة تشير إلى ما إذا كان نموذج إكمال الدردشة نموذجا منطقيا أم لا. هذا الخيار تجريبي ومرتبط بنموذج المنطق حتى يكون لجميع النماذج تماثل في الخصائص المتوقعة، بقيمة افتراضية ل false. |
التكوين
يدعم الربط هذه الخصائص، والتي يتم تعريفها في التعليمات البرمجية الخاصة بك:
| الخاصية | الوصف |
|---|---|
| searchConnectionName | اسم إعداد التطبيق أو متغير البيئة الذي يحتوي على قيمة سلسلة الاتصال. تدعم هذه الخاصية تعبيرات الربط. |
| مجموعة | اسم المجموعة أو الجدول أو الفهرس للبحث. تدعم هذه الخاصية تعبيرات الربط. |
| الاستعلام | نص الاستعلام الدلالي المراد استخدامه للبحث. تدعم هذه الخاصية تعبيرات الربط. |
| embeddingsModel |
اختياري. معرف النموذج لاستخدامه للتضمينات. القيمة الافتراضية هي text-embedding-3-small. تدعم هذه الخاصية تعبيرات الربط. |
| نموذج الدردشة |
اختياري. الحصول على اسم نموذج اللغة الكبيرة أو تعيينه لاستدعاء استجابات الدردشة. القيمة الافتراضية هي gpt-3.5-turbo. تدعم هذه الخاصية تعبيرات الربط. |
| aiConnectionName | اختياري. الحصول على اسم قسم التكوين أو تعيينه لإعدادات اتصال الخدمة الذكاء الاصطناعي. بالنسبة إلى Azure OpenAI: إذا تم تحديده، يبحث عن قيم "نقطة النهاية" و"المفتاح" في قسم التكوين هذا. إذا لم يتم تحديده أو لم يكن المقطع موجودا، يعود إلى متغيرات البيئة: AZURE_OPENAI_ENDPOINT AZURE_OPENAI_KEY. لمصادقة الهوية المدارة المعينة من قبل المستخدم، هذه الخاصية مطلوبة. بالنسبة لخدمة OpenAI (غير Azure)، قم بتعيين متغير البيئة OPENAI_API_KEY. |
| systemPrompt |
اختياري. الحصول على مطالبة النظام أو تعيينها لاستخدامها لمطالبة نموذج اللغة الكبير. يتم إلحاق مطالبة النظام بالمعرفة التي يتم جلبها نتيجة ل Query. يتم إرسال المطالبة المجمعة إلى OpenAI Chat API. تدعم هذه الخاصية تعبيرات الربط. |
| maxKnowledgeCount |
اختياري. يحصل على أو يعين عدد عناصر المعرفة لإدخالها في SystemPrompt. |
| isReasoningModel |
اختياري. الحصول على قيمة تشير إلى ما إذا كان نموذج إكمال الدردشة نموذجا منطقيا أم لا. هذا الخيار تجريبي ومرتبط بنموذج المنطق حتى يكون لجميع النماذج تماثل في الخصائص المتوقعة، بقيمة افتراضية ل false. |
الاستخدام
راجع قسم Example للحصول على أمثلة كاملة.