Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Azure İşlevleri için Azure OpenAI uzantısı şu anda önizleme aşamasındadır.
Azure OpenAI yardımcısı oluşturma çıkış bağlaması, işlev kodu yürütmenizden yeni bir yardımcı sohbet botu oluşturmanıza olanak tanır.
Azure OpenAI uzantısının kurulum ve yapılandırma ayrıntıları hakkında bilgi için bkz. Azure İşlevleri için Azure OpenAI uzantıları. Azure OpenAI yardımcıları hakkında daha fazla bilgi edinmek için bkz . Azure OpenAI Yardımcıları API'si.
Not
Başvurular ve örnekler yalnızca Node.js v4 modeli için sağlanır.
Not
Başvurular ve örnekler yalnızca Python v2 modeli için sağlanır.
Not
Her iki C# işlem modeli de destekleniyor olsa da yalnızca yalıtılmış çalışan modeli örnekleri sağlanır.
Örnek
Bu örnekte, belirtilen kimlikle yeni bir yardımcı sohbet botu oluşturan HTTP PUT işlevinin oluşturulduğu oluşturma işlemi gösterilmektedir. İstem yanıtı HTTP yanıtında döndürülür.
/// <summary>
/// HTTP PUT function that creates a new assistant chat bot with the specified ID.
/// </summary>
[Function(nameof(CreateAssistant))]
public static async Task<CreateChatBotOutput> CreateAssistant(
[HttpTrigger(AuthorizationLevel.Anonymous, "put", Route = "assistants/{assistantId}")] HttpRequestData req,
string assistantId)
{
string instructions =
"""
Don't make assumptions about what values to plug into functions.
Ask for clarification if a user request is ambiguous.
""";
using StreamReader reader = new(req.Body);
string request = await reader.ReadToEndAsync();
return new CreateChatBotOutput
{
HttpResponse = new ObjectResult(new { assistantId }) { StatusCode = 201 },
ChatBotCreateRequest = new AssistantCreateRequest(assistantId, instructions)
{
ChatStorageConnectionSetting = DefaultChatStorageConnectionSetting,
CollectionName = DefaultCollectionName,
},
};
}
public class CreateChatBotOutput
{
[AssistantCreateOutput()]
public AssistantCreateRequest? ChatBotCreateRequest { get; set; }
[HttpResult]
public IActionResult? HttpResponse { get; set; }
}
Bu örnekte, belirtilen kimlikle yeni bir yardımcı sohbet botu oluşturan HTTP PUT işlevinin oluşturulduğu oluşturma işlemi gösterilmektedir. İstem yanıtı HTTP yanıtında döndürülür.
/**
* The default storage account setting for the table storage account.
* This constant is used to specify the connection string for the table storage
* account
* where chat data will be stored.
*/
final String DEFAULT_CHATSTORAGE = "AzureWebJobsStorage";
/**
* The default collection name for the table storage account.
* This constant is used to specify the collection name for the table storage
* account
* where chat data will be stored.
*/
final String DEFAULT_COLLECTION = "ChatState";
/*
* HTTP PUT function that creates a new assistant chat bot with the specified ID.
*/
@FunctionName("CreateAssistant")
public HttpResponseMessage createAssistant(
@HttpTrigger(
name = "req",
methods = {HttpMethod.PUT},
authLevel = AuthorizationLevel.ANONYMOUS,
route = "assistants/{assistantId}")
HttpRequestMessage<Optional<String>> request,
@BindingName("assistantId") String assistantId,
@AssistantCreate(name = "AssistantCreate") OutputBinding<AssistantCreateRequest> message,
final ExecutionContext context) {
context.getLogger().info("Java HTTP trigger processed a request.");
String instructions = "Don't make assumptions about what values to plug into functions.\n" +
"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();
}
Bu örnekte, belirtilen kimlikle yeni bir yardımcı sohbet botu oluşturan HTTP PUT işlevinin oluşturulduğu oluşturma işlemi gösterilmektedir. İstem yanıtı HTTP yanıtında döndürülür.
const { app, input, output } = require("@azure/functions");
const CHAT_STORAGE_CONNECTION_SETTING = "AzureWebJobsStorage";
const COLLECTION_NAME = "ChatState";
const chatBotCreateOutput = output.generic({
type: 'assistantCreate'
})
app.http('CreateAssistant', {
methods: ['PUT'],
route: 'assistants/{assistantId}',
authLevel: 'anonymous',
extraOutputs: [chatBotCreateOutput],
handler: async (request, context) => {
const assistantId = request.params.assistantId
const instructions =
`
Don't make assumptions about what values to plug into functions.
Ask for clarification if a user request is ambiguous.
`
const createRequest = {
id: assistantId,
instructions: instructions,
chatStorageConnectionSetting: CHAT_STORAGE_CONNECTION_SETTING,
collectionName: COLLECTION_NAME
}
context.extraOutputs.set(chatBotCreateOutput, createRequest)
return { status: 202, jsonBody: { assistantId: assistantId } }
}
})
import { HttpRequest, InvocationContext, app, input, output } from "@azure/functions"
const CHAT_STORAGE_CONNECTION_SETTING = "AzureWebJobsStorage";
const COLLECTION_NAME = "ChatState";
const chatBotCreateOutput = output.generic({
type: 'assistantCreate'
})
app.http('CreateAssistant', {
methods: ['PUT'],
route: 'assistants/{assistantId}',
authLevel: 'anonymous',
extraOutputs: [chatBotCreateOutput],
handler: async (request: HttpRequest, context: InvocationContext) => {
const assistantId = request.params.assistantId
const instructions =
`
Don't make assumptions about what values to plug into functions.
Ask for clarification if a user request is ambiguous.
`
const createRequest = {
id: assistantId,
instructions: instructions,
chatStorageConnectionSetting: CHAT_STORAGE_CONNECTION_SETTING,
collectionName: COLLECTION_NAME
}
context.extraOutputs.set(chatBotCreateOutput, createRequest)
return { status: 202, jsonBody: { assistantId: assistantId } }
}
})
Bu örnekte, belirtilen kimlikle yeni bir yardımcı sohbet botu oluşturan HTTP PUT işlevinin oluşturulduğu oluşturma işlemi gösterilmektedir. İstem yanıtı HTTP yanıtında döndürülür.
Create Assistant için function.json dosyası aşağıdadır:
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "Request",
"route": "assistants/{assistantId}",
"methods": [
"put"
]
},
{
"type": "http",
"direction": "out",
"name": "Response"
},
{
"type": "assistantCreate",
"direction": "out",
"dataType": "string",
"name": "Requests"
}
]
}
function.json dosya özellikleri hakkında daha fazla bilgi için Yapılandırma bölümüne bakın.
{{Bu örnek kod açıklamasından gelir}}
using namespace System.Net
param($Request, $TriggerMetadata)
$assistantId = $Request.params.assistantId
$instructions = "Don't make assumptions about what values to plug into functions."
$instructions += "\nAsk for clarification if a user request is ambiguous."
$create_request = @{
"id" = $assistantId
"instructions" = $instructions
"chatStorageConnectionSetting" = "AzureWebJobsStorage"
"collectionName" = "ChatState"
}
Push-OutputBinding -Name Requests -Value (ConvertTo-Json $create_request)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::Accepted
Body = (ConvertTo-Json @{ "assistantId" = $assistantId})
Headers = @{
"Content-Type" = "application/json"
}
})
Bu örnekte, belirtilen kimlikle yeni bir yardımcı sohbet botu oluşturan HTTP PUT işlevinin oluşturulduğu oluşturma işlemi gösterilmektedir. İstem yanıtı HTTP yanıtında döndürülür.
DEFAULT_CHAT_STORAGE_SETTING = "AzureWebJobsStorage"
DEFAULT_CHAT_COLLECTION_NAME = "ChatState"
@apis.function_name("CreateAssistant")
@apis.route(route="assistants/{assistantId}", methods=["PUT"])
@apis.assistant_create_output(arg_name="requests")
def create_assistant(
req: func.HttpRequest, requests: func.Out[str]
) -> func.HttpResponse:
assistantId = req.route_params.get("assistantId")
instructions = """
Don't make assumptions about what values to plug into functions.
Ask for clarification if a user request is ambiguous.
"""
create_request = {
"id": assistantId,
"instructions": instructions,
"chatStorageConnectionSetting": DEFAULT_CHAT_STORAGE_SETTING,
"collectionName": DEFAULT_CHAT_COLLECTION_NAME,
}
requests.set(json.dumps(create_request))
response_json = {"assistantId": assistantId}
return func.HttpResponse(
json.dumps(response_json), status_code=202, mimetype="application/json"
)
Özellikler
CreateAssistant Şu parametreleri destekleyen bir yardımcı oluşturma çıkış bağlaması tanımlamak için özniteliğini uygulayın:
| Parametre | Açıklama |
|---|---|
| Kimlik | Oluşturulacak yardımcının tanımlayıcısı. |
| Yönergeler | İsteğe bağlı. Yardımcıya izleyebileceğiniz yönergeler. |
| ChatStorageConnectionSetting |
İsteğe bağlı. Sohbet depolama için tablo ayarlarının yapılandırma bölümü adı. Varsayılan değer şudur: AzureWebJobsStorage. |
| CollectionName |
İsteğe bağlı. Sohbet depolama için tablo koleksiyonu adı. Varsayılan değer şudur: ChatState. |
Ek Açıklamalar
Ek CreateAssistant açıklama, şu parametreleri destekleyen bir yardımcı oluşturma çıkış bağlaması tanımlamanızı sağlar:
| Öğe | Açıklama |
|---|---|
| ad | Çıkış bağlamasının adını alır veya ayarlar. |
| ID | Oluşturulacak yardımcının tanımlayıcısı. |
| Talimat -ları | İsteğe bağlı. Yardımcıya izleyebileceğiniz yönergeler. |
| chatStorageConnectionSetting |
İsteğe bağlı. Sohbet depolama için tablo ayarlarının yapılandırma bölümü adı. Varsayılan değer şudur: AzureWebJobsStorage. |
| collectionName |
İsteğe bağlı. Sohbet depolama için tablo koleksiyonu adı. Varsayılan değer şudur: ChatState. |
Dekoratörler
Önizleme sırasında çıkış bağlamasını, şu parametreleri destekleyen türünde generic_output_bindingbir createAssistant bağlama olarak tanımlayın:
| Parametre | Açıklama |
|---|---|
| arg_name | Bağlama parametresini temsil eden değişkenin adı. |
| ID | Oluşturulacak yardımcının tanımlayıcısı. |
| Talimat -ları | İsteğe bağlı. Yardımcıya izleyebileceğiniz yönergeler. |
| chat_storage_connection_setting |
İsteğe bağlı. Sohbet depolama için tablo ayarlarının yapılandırma bölümü adı. Varsayılan değer şudur: AzureWebJobsStorage. |
| collection_name |
İsteğe bağlı. Sohbet depolama için tablo koleksiyonu adı. Varsayılan değer şudur: ChatState. |
Yapılandırma
Bağlama, function.json dosyasında ayarladığınız bu yapılandırma özelliklerini destekler.
| Özellik | Açıklama |
|---|---|
| türü | olmalıdır CreateAssistant. |
| yön | olmalıdır out. |
| ad | Çıkış bağlamasının adı. |
| ID | Oluşturulacak yardımcının tanımlayıcısı. |
| Talimat -ları | İsteğe bağlı. Yardımcıya izleyebileceğiniz yönergeler. |
| chatStorageConnectionSetting |
İsteğe bağlı. Sohbet depolama için tablo ayarlarının yapılandırma bölümü adı. Varsayılan değer şudur: AzureWebJobsStorage. |
| collectionName |
İsteğe bağlı. Sohbet depolama için tablo koleksiyonu adı. Varsayılan değer şudur: ChatState. |
Yapılandırma
Bağlama, kodunuzda tanımlanan şu özellikleri destekler:
| Özellik | Açıklama |
|---|---|
| ID | Oluşturulacak yardımcının tanımlayıcısı. |
| Talimat -ları | İsteğe bağlı. Yardımcıya izleyebileceğiniz yönergeler. |
| chatStorageConnectionSetting |
İsteğe bağlı. Sohbet depolama için tablo ayarlarının yapılandırma bölümü adı. Varsayılan değer şudur: AzureWebJobsStorage. |
| collectionName |
İsteğe bağlı. Sohbet depolama için tablo koleksiyonu adı. Varsayılan değer şudur: ChatState. |
Kullanım
Tam örnekler için Örnek bölümüne bakın.