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ı tetikleyicisi, özel sohbet botunu veya bir yardımcıya yapılan beceri isteğini temel alarak kodunuzu çalıştırmanı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 veritabanına yeni yapılacaklar görevi ekleyen bir yardımcının nasıl oluşturulacağı gösterilmektedir. Tetikleyici, model tarafından kullanılan statik bir açıklamasına Create a new todo task sahiptir. İşlev, eklenecek yeni bir görevi temsil eden bir dize alır. İşlev yürütüldüğünde, görevi özel bir öğe deposuna yeni yapılacaklar öğesi olarak ekler ve depodan bir yanıt döndürür.
[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));
}
Bu örnekte veritabanına yeni yapılacaklar görevi ekleyen bir yardımcının nasıl oluşturulacağı gösterilmektedir. Tetikleyici, model tarafından kullanılan statik bir açıklamasına Create a new todo task sahiptir. İşlev, eklenecek yeni bir görevi temsil eden bir dize alır. İşlev yürütüldüğünde, görevi özel bir öğe deposuna yeni yapılacaklar öğesi olarak ekler ve depodan bir yanıt döndürür.
/**
* 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);
}
Bu örnekte veritabanına yeni yapılacaklar görevi ekleyen bir yardımcının nasıl oluşturulacağı gösterilmektedir. Tetikleyici, model tarafından kullanılan statik bir açıklamasına Create a new todo task sahiptir. İşlev, eklenecek yeni bir görevi temsil eden bir dize alır. İşlev yürütüldüğünde, görevi özel bir öğe deposuna yeni yapılacaklar öğesi olarak ekler ve depodan bir yanıt döndürür.
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))
}
})
Bu örnekte veritabanına yeni yapılacaklar görevi ekleyen bir yardımcının nasıl oluşturulacağı gösterilmektedir. Tetikleyici, model tarafından kullanılan statik bir açıklamasına Create a new todo task sahiptir. İşlev, eklenecek yeni bir görevi temsil eden bir dize alır. İşlev yürütüldüğünde, görevi özel bir öğe deposuna yeni yapılacaklar öğesi olarak ekler ve depodan bir yanıt döndürür.
Todo Ekle'nin function.json dosyası aşağıdadır:
{
"bindings": [
{
"name": "TaskDescription",
"type": "assistantSkillTrigger",
"dataType": "string",
"direction": "in",
"functionDescription": "Create a new todo task"
}
]
}
function.json dosya özellikleri hakkında daha fazla bilgi için Yapılandırma bölümüne bakın.
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
Bu örnekte veritabanına yeni yapılacaklar görevi ekleyen bir yardımcının nasıl oluşturulacağı gösterilmektedir. Tetikleyici, model tarafından kullanılan statik bir açıklamasına Create a new todo task sahiptir. İşlev, eklenecek yeni bir görevi temsil eden bir dize alır. İşlev yürütüldüğünde, görevi özel bir öğe deposuna yeni yapılacaklar öğesi olarak ekler ve depodan bir yanıt döndürür.
@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
Özellikler
AssistantSkillTrigger Şu parametreleri destekleyen bir yardımcı tetikleyicisi tanımlamak için özniteliğini uygulayın:
| Parametre | Açıklama |
|---|---|
| FunctionDescription | Modele sağlanan yardımcı işlevinin açıklamasını alır. |
| İşlevAdı | İsteğe bağlı. Yardımcı tarafından çağrılan işlevin adını alır veya ayarlar. |
| ParameterDescriptionJson | İsteğe bağlı. Modele sağlanan işlev parametresinin JSON açıklamasını alır veya ayarlar. Daha fazla bilgi için bkz . Kullanım. |
Ek Açıklamalar
Ek AssistantSkillTrigger açıklama, şu parametreleri destekleyen bir yardımcı tetikleyicisi tanımlamanızı sağlar:
| Öğe | Açıklama |
|---|---|
| ad | Giriş bağlamasının adını alır veya ayarlar. |
| functionDescription | Modele sağlanan yardımcı işlevinin açıklamasını alır. |
| functionName | İsteğe bağlı. Yardımcı tarafından çağrılan işlevin adını alır veya ayarlar. |
| parameterDescriptionJson | İsteğe bağlı. Modele sağlanan işlev parametresinin JSON açıklamasını alır veya ayarlar. Daha fazla bilgi için bkz . Kullanım. |
Dekoratörler
Önizleme sırasında, giriş bağlamasını şu parametreleri destekleyen türündeki generic_triggerbir assistantSkillTrigger bağlama olarak tanımlayın:
| Parametre | Açıklama |
|---|---|
| function_description | Modele sağlanan yardımcı işlevinin açıklamasını alır. |
| function_name | İsteğe bağlı. Yardımcı tarafından çağrılan bir işlevin adını alır veya ayarlar. |
| parameterDescriptionJson | İsteğe bağlı. Modele sağlanan işlev parametresinin JSON açıklamasını alır veya ayarlar. Daha fazla bilgi için bkz . Kullanım. |
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 AssistantSkillTrigger. |
| yön | olmalıdır in. |
| ad | Tetikleyicinin adı. |
| functionName | Yardımcı tarafından çağrılan işlevin adını alır veya ayarlar. |
| functionDescription | Dil modeline sağlanan yardımcı işlevinin açıklamasını alır. |
| parameterDescriptionJson | İsteğe bağlı. Modele sağlanan işlev parametresinin JSON açıklamasını alır veya ayarlar. Daha fazla bilgi için bkz . Kullanım. |
Yapılandırma
Bağlama, kodunuzda tanımlanan şu özellikleri destekler:
| Özellik | Açıklama |
|---|---|
| türü | olmalıdır AssistantSkillTrigger. |
| ad | Tetikleyicinin adı. |
| functionName | Yardımcı tarafından çağrılan işlevin adını alır veya ayarlar. |
| functionDescription | LLM'ye sağlanan yardımcı işlevinin açıklamasını alır |
| parameterDescriptionJson | İsteğe bağlı. Modele sağlanan işlev parametresinin JSON açıklamasını alır veya ayarlar. Daha fazla bilgi için bkz . Kullanım. |
Tam örnekler için Örnek bölümüne bakın.
Kullanım
parameterDescriptionJson JSON değeri sağlanmazsa otomatik olarak oluşturulur. Bu nesnenin söz dizimi hakkında daha fazla bilgi için OpenAI API belgelerine bakın.