إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
هام
ملحق Azure OpenAI ل Azure Functions قيد المعاينة حاليا.
يسمح لك ربط إدخال استعلام مساعد Azure OpenAI بدمج استعلامات Assistants API في عمليات تنفيذ التعليمات البرمجية.
للحصول على معلومات حول تفاصيل الإعداد والتكوين لملحق Azure OpenAI، راجع ملحقات Azure OpenAI لوظائف Azure. لمعرفة المزيد حول مساعدي Azure OpenAI، راجع واجهة برمجة تطبيقات مساعدي Azure OpenAI.
إشعار
بينما يتم دعم نموذجي عملية C#، يتم توفير أمثلة نموذج عامل معزول فقط.
مثال
يوضح هذا المثال عملية الإنشاء، حيث تقوم وظيفة HTTP GET بالاستعلامات عن محفوظات المحادثات لروبوت الدردشة المساعد. يتم إرجاع الاستجابة إلى المطالبة في استجابة HTTP.
/// <summary>
/// HTTP GET function that queries the conversation history of the assistant chat bot.
/// </summary>
[Function(nameof(GetChatState))]
public static IActionResult GetChatState(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "assistants/{assistantId}")] HttpRequestData req,
string assistantId,
[AssistantQueryInput("{assistantId}", TimestampUtc = "{Query.timestampUTC}", ChatStorageConnectionSetting = DefaultChatStorageConnectionSetting, CollectionName = DefaultCollectionName)] AssistantState state)
{
return new OkObjectResult(state);
}
يوضح هذا المثال عملية الإنشاء، حيث تقوم وظيفة HTTP GET بالاستعلامات عن محفوظات المحادثات لروبوت الدردشة المساعد. يتم إرجاع الاستجابة إلى المطالبة في استجابة HTTP.
/*
* HTTP GET function that queries the conversation history of the assistant chat bot.
*/
@FunctionName("GetChatState")
public HttpResponseMessage getChatState(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET},
authLevel = AuthorizationLevel.ANONYMOUS,
route = "assistants/{assistantId}")
HttpRequestMessage<Optional<String>> request,
@BindingName("assistantId") String assistantId,
@AssistantQuery(name = "AssistantState", id = "{assistantId}", timestampUtc = "{Query.timestampUTC}", chatStorageConnectionSetting = DEFAULT_CHATSTORAGE, collectionName = DEFAULT_COLLECTION) AssistantState state,
final ExecutionContext context) {
return request.createResponseBuilder(HttpStatus.OK)
.header("Content-Type", "application/json")
.body(state)
.build();
}
يوضح هذا المثال عملية الإنشاء، حيث تقوم وظيفة HTTP GET بالاستعلامات عن محفوظات المحادثات لروبوت الدردشة المساعد. يتم إرجاع الاستجابة إلى المطالبة في استجابة HTTP.
const { app, input, output } = require("@azure/functions");
const chatBotQueryInput = input.generic({
type: 'assistantQuery',
id: '{assistantId}',
timestampUtc: '{Query.timestampUTC}',
chatStorageConnectionSetting: CHAT_STORAGE_CONNECTION_SETTING,
collectionName: COLLECTION_NAME
})
app.http('GetChatState', {
methods: ['GET'],
route: 'assistants/{assistantId}',
authLevel: 'anonymous',
extraInputs: [chatBotQueryInput],
handler: async (_, context) => {
const state = context.extraInputs.get(chatBotQueryInput)
return { status: 200, jsonBody: state }
}
})
يوضح هذا المثال عملية الإنشاء، حيث تقوم وظيفة HTTP GET بالاستعلامات عن محفوظات المحادثات لروبوت الدردشة المساعد. يتم إرجاع الاستجابة إلى المطالبة في استجابة HTTP.
import { HttpRequest, InvocationContext, app, input, output } from "@azure/functions"
const chatBotQueryInput = input.generic({
type: 'assistantQuery',
id: '{assistantId}',
timestampUtc: '{Query.timestampUTC}',
chatStorageConnectionSetting: CHAT_STORAGE_CONNECTION_SETTING,
collectionName: COLLECTION_NAME
})
app.http('GetChatState', {
methods: ['GET'],
route: 'assistants/{assistantId}',
authLevel: 'anonymous',
extraInputs: [chatBotQueryInput],
handler: async (_, context) => {
const state: any = context.extraInputs.get(chatBotQueryInput)
return { status: 200, jsonBody: state }
}
})
يوضح هذا المثال عملية الإنشاء، حيث تقوم وظيفة HTTP GET بالاستعلامات عن محفوظات المحادثات لروبوت الدردشة المساعد. يتم إرجاع الاستجابة إلى المطالبة في استجابة HTTP.
فيما يلي ملف function.json للحصول على حالة الدردشة:
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "Request",
"route": "assistants/{assistantId}",
"methods": [
"get"
]
},
{
"type": "http",
"direction": "out",
"name": "Response"
},
{
"name": "State",
"type": "assistantQuery",
"direction": "in",
"dataType": "string",
"id": "{assistantId}",
"timestampUtc": "{Query.timestampUTC}",
"chatStorageConnectionSetting": "AzureWebJobsStorage",
"collectionName": "ChatState"
}
]
}
لمزيد من المعلومات حول خصائص الملف function.json ، راجع قسم التكوين .
using namespace System.Net
param($Request, $TriggerMetadata, $State)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $State
Headers = @{
"Content-Type" = "application/json"
}
})
يوضح هذا المثال عملية الإنشاء، حيث تقوم وظيفة HTTP GET بالاستعلامات عن محفوظات المحادثات لروبوت الدردشة المساعد. يتم إرجاع الاستجابة إلى المطالبة في استجابة HTTP.
@apis.function_name("GetChatState")
@apis.route(route="assistants/{assistantId}", methods=["GET"])
@apis.assistant_query_input(
arg_name="state",
id="{assistantId}",
timestamp_utc="{Query.timestampUTC}",
chat_storage_connection_setting=DEFAULT_CHAT_STORAGE_SETTING,
collection_name=DEFAULT_CHAT_COLLECTION_NAME,
)
def get_chat_state(req: func.HttpRequest, state: str) -> func.HttpResponse:
return func.HttpResponse(state, status_code=200, mimetype="application/json")
السمات
تطبيق السمة AssistantQuery لتعريف ربط إدخال استعلام مساعد، والذي يدعم هذه المعلمات:
| المعلمة | الوصف |
|---|---|
| معرّف | يحصل على معرف المساعد للاستعلام. |
| TimeStampUtc | اختياري. الحصول على الطابع الزمني لأقدم رسالة في محفوظات الدردشة أو تعيينها لإحضارها. يجب أن يكون الطابع الزمني بتنسيق ISO 8601 - على سبيل المثال، 2023-08-01T00:00:00Z. |
تعليقات توضيحية
assistantQuery يمكنك التعليق التوضيحي من تعريف ربط إدخال استعلام مساعد، والذي يدعم هذه المعلمات:
| العنصر | الوصف |
|---|---|
| الاسم | الحصول على اسم ربط الإدخال أو تعيينه. |
| معرف | يحصل على معرف المساعد للاستعلام. |
| timeStampUtc | اختياري. الحصول على الطابع الزمني لأقدم رسالة في محفوظات الدردشة أو تعيينها لإحضارها. يجب أن يكون الطابع الزمني بتنسيق ISO 8601 - على سبيل المثال، 2023-08-01T00:00:00Z. |
الديكور
أثناء المعاينة، حدد ربط الإدخال كربط generic_input_binding من النوع assistantQuery، والذي يدعم هذه المعلمات:
| المعلمة | الوصف |
|---|---|
| arg_name | اسم المتغير الذي يمثل معلمة الربط. |
| معرف | يحصل على معرف المساعد للاستعلام. |
| time_stamp_utc | اختياري. الحصول على الطابع الزمني لأقدم رسالة في محفوظات الدردشة أو تعيينها لإحضارها. يجب أن يكون الطابع الزمني بتنسيق ISO 8601 - على سبيل المثال، 2023-08-01T00:00:00Z. |
التكوين
يدعم الربط خصائص التكوين هذه التي قمت بتعيينها في ملف function.json.
| الخاصية | الوصف |
|---|---|
| النوع | يجب أن يكونassistantQuery. |
| الاتجاه | يجب أن يكونin. |
| الاسم | اسم ربط الإدخال. |
| معرف | يحصل على معرف المساعد للاستعلام. |
| timeStampUtc | اختياري. الحصول على الطابع الزمني لأقدم رسالة في محفوظات الدردشة أو تعيينها لإحضارها. يجب أن يكون الطابع الزمني بتنسيق ISO 8601 - على سبيل المثال، 2023-08-01T00:00:00Z. |
التكوين
يدعم الربط هذه الخصائص، والتي يتم تعريفها في التعليمات البرمجية الخاصة بك:
| الخاصية | الوصف |
|---|---|
| معرف | يحصل على معرف المساعد للاستعلام. |
| timeStampUtc | اختياري. الحصول على الطابع الزمني لأقدم رسالة في محفوظات الدردشة أو تعيينها لإحضارها. يجب أن يكون الطابع الزمني بتنسيق ISO 8601 - على سبيل المثال، 2023-08-01T00:00:00Z. |
الاستخدام
راجع قسم Example للحصول على أمثلة كاملة.