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.
Pemicu asisten Azure OpenAI memungkinkan Anda menjalankan kode berdasarkan bot obrolan kustom atau permintaan keterampilan yang dibuat untuk asisten.
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 cara membuat asisten yang menambahkan tugas todo baru ke database. Pemicu memiliki deskripsi statis yang Create a new todo task digunakan oleh model. Fungsi itu sendiri mengambil string, yang mewakili tugas baru untuk ditambahkan. Saat dijalankan, fungsi menambahkan tugas sebagai item todo baru di penyimpanan item kustom dan mengembalikan respons dari penyimpanan.
[Function(nameof(AddTodo))]
public Task AddTodo([AssistantSkillTrigger("Create a new todo task")] string taskDescription)
{
if (string.IsNullOrEmpty(taskDescription))
{
throw new ArgumentException("Task description cannot be empty");
}
this.logger.LogInformation("Adding todo: {task}", taskDescription);
string todoId = Guid.NewGuid().ToString()[..6];
return this.todoManager.AddTodoAsync(new TodoItem(todoId, taskDescription));
}
Contoh ini menunjukkan cara membuat asisten yang menambahkan tugas todo baru ke database. Pemicu memiliki deskripsi statis yang Create a new todo task digunakan oleh model. Fungsi itu sendiri mengambil string, yang mewakili tugas baru untuk ditambahkan. Saat dijalankan, fungsi menambahkan tugas sebagai item todo baru di penyimpanan item kustom dan mengembalikan respons dari penyimpanan.
/**
* Called by the assistant to create new todo tasks.
*/
@FunctionName("AddTodo")
public void addTodo(
@AssistantSkillTrigger(
name = "assistantSkillCreateTodo",
functionDescription = "Create a new todo task"
) String taskDescription,
final ExecutionContext context) {
if (taskDescription == null || taskDescription.isEmpty()) {
throw new IllegalArgumentException("Task description cannot be empty");
}
context.getLogger().info("Adding todo: " + taskDescription);
String todoId = UUID.randomUUID().toString().substring(0, 6);
TodoItem todoItem = new TodoItem(todoId, taskDescription);
todoManager.addTodo(todoItem);
}
Contoh ini menunjukkan cara membuat asisten yang menambahkan tugas todo baru ke database. Pemicu memiliki deskripsi statis yang Create a new todo task digunakan oleh model. Fungsi itu sendiri mengambil string, yang mewakili tugas baru untuk ditambahkan. Saat dijalankan, fungsi menambahkan tugas sebagai item todo baru di penyimpanan item kustom dan mengembalikan respons dari penyimpanan.
const { app, trigger } = require("@azure/functions");
const { TodoItem, CreateTodoManager } = require("../services/todoManager");
const { randomUUID } = require('crypto');
const todoManager = CreateTodoManager()
app.generic('AddTodo', {
trigger: trigger.generic({
type: 'assistantSkillTrigger',
functionDescription: 'Create a new todo task'
}),
handler: async (taskDescription, context) => {
if (!taskDescription) {
throw new Error('Task description cannot be empty')
}
context.log(`Adding todo: ${taskDescription}`)
const todoId = randomUUID().substring(0, 6)
return todoManager.AddTodo(new TodoItem(todoId, taskDescription))
}
})
import { InvocationContext, app, trigger } from "@azure/functions"
import { TodoItem, ITodoManager, CreateTodoManager } from "../services/todoManager"
import { randomUUID } from 'crypto';
const todoManager: ITodoManager = CreateTodoManager()
app.generic('AddTodo', {
trigger: trigger.generic({
type: 'assistantSkillTrigger',
functionDescription: 'Create a new todo task'
}),
handler: async (taskDescription: string, context: InvocationContext) => {
if (!taskDescription) {
throw new Error('Task description cannot be empty')
}
context.log(`Adding todo: ${taskDescription}`)
const todoId = randomUUID().substring(0, 6)
return todoManager.AddTodo(new TodoItem(todoId, taskDescription))
}
})
Contoh ini menunjukkan cara membuat asisten yang menambahkan tugas todo baru ke database. Pemicu memiliki deskripsi statis yang Create a new todo task digunakan oleh model. Fungsi itu sendiri mengambil string, yang mewakili tugas baru untuk ditambahkan. Saat dijalankan, fungsi menambahkan tugas sebagai item todo baru di penyimpanan item kustom dan mengembalikan respons dari penyimpanan.
Berikut adalah file function.json untuk Tambahkan Todo:
{
"bindings": [
{
"name": "TaskDescription",
"type": "assistantSkillTrigger",
"dataType": "string",
"direction": "in",
"functionDescription": "Create a new todo task"
}
]
}
Untuk informasi selengkapnya tentang properti file function.json , lihat bagian Konfigurasi .
using namespace System.Net
param($TaskDescription, $TriggerMetadata)
$ErrorActionPreference = "Stop"
if (-not $TaskDescription) {
throw "Task description cannot be empty"
}
Write-Information "Adding todo: $TaskDescription"
$todoID = [Guid]::NewGuid().ToString().Substring(0, 5)
Add-Todo $todoId $TaskDescription
Contoh ini menunjukkan cara membuat asisten yang menambahkan tugas todo baru ke database. Pemicu memiliki deskripsi statis yang Create a new todo task digunakan oleh model. Fungsi itu sendiri mengambil string, yang mewakili tugas baru untuk ditambahkan. Saat dijalankan, fungsi menambahkan tugas sebagai item todo baru di penyimpanan item kustom dan mengembalikan respons dari penyimpanan.
@skills.function_name("AddTodo")
@skills.assistant_skill_trigger(
arg_name="taskDescription", function_description="Create a new todo task"
)
def add_todo(taskDescription: str) -> None:
if not taskDescription:
raise ValueError("Task description cannot be empty")
logging.info(f"Adding todo: {taskDescription}")
todo_id = str(uuid.uuid4())[0:6]
todo_manager.add_todo(TodoItem(id=todo_id, task=taskDescription))
return
Atribut
Terapkan AssistantSkillTrigger atribut untuk menentukan pemicu asisten, yang mendukung parameter ini:
| Pengaturan | Deskripsi |
|---|---|
| FunctionDescription | Mendapatkan deskripsi fungsi asisten, yang disediakan untuk model. |
| FunctionName | Opsional. Mendapatkan atau mengatur nama fungsi yang dipanggil oleh asisten. |
| ParameterDescriptionJson | Opsional. Mendapatkan atau mengatur deskripsi JSON dari parameter fungsi, yang disediakan untuk model. Untuk informasi selengkapnya, lihat Penggunaan. |
Anotasi
Anotasi AssistantSkillTrigger memungkinkan Anda menentukan pemicu asisten, yang mendukung parameter ini:
| Elemen | Deskripsi |
|---|---|
| nama | Mendapatkan atau mengatur nama pengikatan input. |
| functionDescription | Mendapatkan deskripsi fungsi asisten, yang disediakan untuk model. |
| functionName | Opsional. Mendapatkan atau mengatur nama fungsi yang dipanggil oleh asisten. |
| parameterDescriptionJson | Opsional. Mendapatkan atau mengatur deskripsi JSON dari parameter fungsi, yang disediakan untuk model. Untuk informasi selengkapnya, lihat Penggunaan. |
Dekorator
Selama pratinjau, tentukan pengikatan input sebagai generic_trigger pengikatan jenis assistantSkillTrigger, yang mendukung parameter ini:
| Pengaturan | Deskripsi |
|---|---|
| function_description | Mendapatkan deskripsi fungsi asisten, yang disediakan untuk model. |
| function_name | Opsional. Mendapatkan atau menetapkan nama fungsi yang dipanggil oleh asisten. |
| parameterDescriptionJson | Opsional. Mendapatkan atau mengatur deskripsi JSON dari parameter fungsi, yang disediakan untuk model. Untuk informasi selengkapnya, lihat Penggunaan. |
Konfigurasi
Pengikatan mendukung properti konfigurasi ini yang Anda tetapkan dalam file function.json.
| Properti | Deskripsi |
|---|---|
| jenis | Harus berupa AssistantSkillTrigger . |
| arah | Harus berupa in . |
| nama | Nama pemicu. |
| functionName | Mendapatkan atau mengatur nama fungsi yang dipanggil oleh asisten. |
| functionDescription | Mendapatkan deskripsi fungsi asisten, yang disediakan untuk model bahasa. |
| parameterDescriptionJson | Opsional. Mendapatkan atau mengatur deskripsi JSON dari parameter fungsi, yang disediakan untuk model. Untuk informasi selengkapnya, lihat Penggunaan. |
Konfigurasi
Pengikatan mendukung properti ini, yang ditentukan dalam kode Anda:
| Properti | Deskripsi |
|---|---|
| jenis | Harus berupa AssistantSkillTrigger . |
| nama | Nama pemicu. |
| functionName | Mendapatkan atau mengatur nama fungsi yang dipanggil oleh asisten. |
| functionDescription | Mendapatkan deskripsi fungsi asisten, yang disediakan untuk LLM |
| parameterDescriptionJson | Opsional. Mendapatkan atau mengatur deskripsi JSON dari parameter fungsi, yang disediakan untuk model. Untuk informasi selengkapnya, lihat Penggunaan. |
Lihat Bagian contoh untuk contoh lengkapnya.
Penggunaan
Ketika parameterDescriptionJson nilai JSON tidak disediakan, nilai tersebut dibuat secara otomatis. Untuk informasi selengkapnya tentang sintaks objek ini, lihat dokumentasi OpenAI API.