適用於 Azure Functions 的 Azure OpenAI 助理查詢輸入繫結
重要
適用於 Azure Functions 的 Azure OpenAI 延伸模組目前為預覽狀態。
Azure OpenAI 助理查詢輸入繫結可讓您將助理 API 查詢整合到程式碼執行中。
如需 Azure OpenAI 延伸模組的安裝和設定詳細資訊,請參閱適用於 Azure Functions 的 Azure OpenAI 延伸模組。 若要深入了解 Azure OpenAI 助理,請參閱 Azure OpenAI 助理 API。
注意
參考和範例僅適用於 Node.js v4 模型。
注意
參考和範例僅適用於 Python v2 模型。
注意
雖然支援這兩個 C# 進程模型,但只會 提供隔離的背景工作模型 範例。
範例
此範例示範建立程序,其中 HTTP GET 函式可查詢助理聊天機器人的交談歷程記錄。 對提示的回應將在 HTTP 回應中傳回。
public static async Task<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 回應中傳回。
"Ask for clarification if a user request is ambiguous.";
AssistantCreateRequest assistantCreateRequest = new AssistantCreateRequest(assistantId, instructions);
assistantCreateRequest.setChatStorageConnectionSetting(DEFAULT_CHATSTORAGE);
assistantCreateRequest.setCollectionName(DEFAULT_COLLECTION);
message.setValue(assistantCreateRequest);
JSONObject response = new JSONObject();
response.put("assistantId", assistantId);
return request.createResponseBuilder(HttpStatus.CREATED)
.header("Content-Type", "application/json")
.body(response.toString())
.build();
}
尚未提供範例。
此範例示範建立程序,其中 HTTP GET 函式可查詢助理聊天機器人的交談歷程記錄。 對提示的回應將在 HTTP 回應中傳回。
}
};
}
})
const chatBotQueryInput = input.generic({
type: 'assistantQuery',
id: '{assistantId}',
timestampUtc: '{Query.timestampUTC}',
chatStorageConnectionSetting: CHAT_STORAGE_CONNECTION_SETTING,
collectionName: COLLECTION_NAME
})
app.http('GetChatState', {
methods: ['GET'],
此範例示範建立程序,其中 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 回應中傳回。
recent_message_content = data['recentMessages'][0]['content']
return func.HttpResponse(recent_message_content, status_code=200, mimetype="text/plain")
@apis.function_name("GetChatState")
屬性
套用 AssistantQuery
屬性來定義助理查詢輸入繫結,其支援下列參數:
參數 | 描述 |
---|---|
Id | 取得要查詢之助理的識別碼。 |
TimeStampUtc | 選擇性。 取得或設定要擷取之聊天歷程記錄中最早訊息的時間戳記。 時間戳應為 ISO 8601 格式,例如 2023-08-01T00:00:00Z。 |
註釋
assistantQuery
註釋可讓您定義助理查詢輸入繫結,其支援下列參數:
元素 | 描述 |
---|---|
name | 取得或設定輸入繫結的名稱。 |
id | 取得要查詢之助理的識別碼。 |
timeStampUtc | 選擇性。 取得或設定要擷取之聊天歷程記錄中最早訊息的時間戳記。 時間戳應為 ISO 8601 格式,例如 2023-08-01T00:00:00Z。 |
裝飾項目
在預覽期間,將輸入繫結定義為 assistantQuery
類型的 generic_input_binding
繫結,其支援下列參數:
參數 | 描述 |
---|---|
arg_name | 代表繫結參數的變數名稱。 |
id | 取得要查詢之助理的識別碼。 |
time_stamp_utc | 選擇性。 取得或設定要擷取之聊天歷程記錄中最早訊息的時間戳記。 時間戳應為 ISO 8601 格式,例如 2023-08-01T00:00:00Z。 |
組態
繫結支援您在 function.json 檔案中設定的下列組態屬性。
屬性 | 描述 |
---|---|
type | 必須是 assistantQuery 。 |
direction | 必須是 in 。 |
name | 輸入繫結的名稱。 |
id | 取得要查詢之助理的識別碼。 |
timeStampUtc | 選擇性。 取得或設定要擷取之聊天歷程記錄中最早訊息的時間戳記。 時間戳應為 ISO 8601 格式,例如 2023-08-01T00:00:00Z。 |
組態
繫結支援您在程式碼中定義的下列屬性:
屬性 | 說明 |
---|---|
id | 取得要查詢之助理的識別碼。 |
timeStampUtc | 選擇性。 取得或設定要擷取之聊天歷程記錄中最早訊息的時間戳記。 時間戳應為 ISO 8601 格式,例如 2023-08-01T00:00:00Z。 |
使用方式
如需完整範例,請參閱範例一節。