Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
Ekstensi Azure OpenAI untuk Azure Functions saat ini dalam pratinjau.
Pengikatan input kueri asisten Azure OpenAI memungkinkan Anda mengintegrasikan kueri Assistants API ke dalam eksekusi kode Anda.
Untuk informasi tentang penyiapan dan detail konfigurasi ekstensi Azure OpenAI, lihat Ekstensi Azure OpenAI untuk Azure Functions. Untuk mempelajari selengkapnya tentang asisten Azure OpenAI, lihat Azure OpenAI Assistants API.
Catatan
Referensi dan contoh hanya disediakan untuk model Node.js v4.
Catatan
Referensi dan contoh hanya disediakan untuk model Python v2.
Catatan
Meskipun kedua model proses C# didukung, hanya contoh model pekerja terisolasi yang disediakan.
Contoh
Contoh ini menunjukkan proses pembuatan, di mana fungsi HTTP GET yang meminta riwayat percakapan bot obrolan asisten. Respons terhadap perintah dikembalikan dalam respons 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);
}
Contoh ini menunjukkan proses pembuatan, di mana fungsi HTTP GET yang meminta riwayat percakapan bot obrolan asisten. Respons terhadap perintah dikembalikan dalam respons 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();
}
Contoh ini menunjukkan proses pembuatan, di mana fungsi HTTP GET yang meminta riwayat percakapan bot obrolan asisten. Respons terhadap perintah dikembalikan dalam respons 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 }
}
})
Contoh ini menunjukkan proses pembuatan, di mana fungsi HTTP GET yang meminta riwayat percakapan bot obrolan asisten. Respons terhadap perintah dikembalikan dalam respons 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 }
}
})
Contoh ini menunjukkan proses pembuatan, di mana fungsi HTTP GET yang meminta riwayat percakapan bot obrolan asisten. Respons terhadap perintah dikembalikan dalam respons HTTP.
Berikut adalah file function.json untuk Dapatkan Status Obrolan:
{
"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"
}
]
}
Untuk informasi selengkapnya tentang properti file function.json , lihat bagian Konfigurasi .
using namespace System.Net
param($Request, $TriggerMetadata, $State)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $State
Headers = @{
"Content-Type" = "application/json"
}
})
Contoh ini menunjukkan proses pembuatan, di mana fungsi HTTP GET yang meminta riwayat percakapan bot obrolan asisten. Respons terhadap perintah dikembalikan dalam respons 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")
Atribut
Terapkan AssistantQuery atribut untuk menentukan pengikatan input kueri asisten, yang mendukung parameter ini:
| Pengaturan | Deskripsi |
|---|---|
| Id | Mendapatkan ID asisten untuk dikueri. |
| Stempel WaktuUtc | Opsional. Mendapatkan atau mengatur tanda waktu pesan paling awal dalam riwayat obrolan untuk diambil. Tanda waktu harus dalam format ISO 8601 - misalnya, 2023-08-01T00:00:00Z. |
Anotasi
Anotasi assistantQuery memungkinkan Anda menentukan pengikatan input kueri asisten, yang mendukung parameter ini:
| Elemen | Deskripsi |
|---|---|
| nama | Mendapatkan atau mengatur nama pengikatan input. |
| Id | Mendapatkan ID asisten untuk dikueri. |
| timeStampUtc | Opsional. Mendapatkan atau mengatur tanda waktu pesan paling awal dalam riwayat obrolan untuk diambil. Tanda waktu harus dalam format ISO 8601 - misalnya, 2023-08-01T00:00:00Z. |
Dekorator
Selama pratinjau, tentukan pengikatan input sebagai generic_input_binding pengikatan jenis assistantQuery, yang mendukung parameter ini:
| Pengaturan | Deskripsi |
|---|---|
| arg_name | Nama variabel yang mewakili parameter pengikatan. |
| Id | Mendapatkan ID asisten untuk dikueri. |
| time_stamp_utc | Opsional. Mendapatkan atau mengatur tanda waktu pesan paling awal dalam riwayat obrolan untuk diambil. Tanda waktu harus dalam format ISO 8601 - misalnya, 2023-08-01T00:00:00Z. |
Konfigurasi
Pengikatan mendukung properti konfigurasi ini yang Anda tetapkan dalam file function.json.
| Properti | Deskripsi |
|---|---|
| jenis | Harus berupa assistantQuery . |
| arah | Harus berupa in . |
| nama | Nama pengikatan input. |
| Id | Mendapatkan ID asisten untuk dikueri. |
| timeStampUtc | Opsional. Mendapatkan atau mengatur tanda waktu pesan paling awal dalam riwayat obrolan untuk diambil. Tanda waktu harus dalam format ISO 8601 - misalnya, 2023-08-01T00:00:00Z. |
Konfigurasi
Pengikatan mendukung properti ini, yang ditentukan dalam kode Anda:
| Properti | Deskripsi |
|---|---|
| Id | Mendapatkan ID asisten untuk dikueri. |
| timeStampUtc | Opsional. Mendapatkan atau mengatur tanda waktu pesan paling awal dalam riwayat obrolan untuk diambil. Tanda waktu harus dalam format ISO 8601 - misalnya, 2023-08-01T00:00:00Z. |
Penggunaan
Lihat Bagian contoh untuk contoh lengkapnya.