Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Внимание
Расширение Azure OpenAI для Функции Azure в настоящее время находится в предварительной версии.
Триггер помощника По Azure OpenAI позволяет запускать код на основе пользовательского чат-бота или запроса навыка, сделанного помощнику.
Сведения о настройке и настройке расширения Azure OpenAI см. в Функции Azure расширения Azure OpenAI. Дополнительные сведения о помощниках По Azure OpenAI см. в api Azure OpenAI Assistants.
Примечание.
Ссылки и примеры предоставляются только для модели Node.js версии 4.
Примечание.
Ссылки и примеры предоставляются только для модели Python версии 2.
Примечание.
Хотя поддерживаются обе модели процессов C#, предоставляются только примеры изолированных рабочих моделей .
Пример
В этом примере показано, как создать помощник, который добавляет новую задачу todo в базу данных. Триггер содержит статическое описание, используемое Create a new todo task моделью. Сама функция принимает строку, представляющую новую задачу для добавления. При выполнении функция добавляет задачу в качестве нового элемента todo в пользовательском хранилище элементов и возвращает ответ из хранилища.
[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));
}
В этом примере показано, как создать помощник, который добавляет новую задачу todo в базу данных. Триггер содержит статическое описание, используемое Create a new todo task моделью. Сама функция принимает строку, представляющую новую задачу для добавления. При выполнении функция добавляет задачу в качестве нового элемента todo в пользовательском хранилище элементов и возвращает ответ из хранилища.
/**
* 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);
}
В этом примере показано, как создать помощник, который добавляет новую задачу todo в базу данных. Триггер содержит статическое описание, используемое Create a new todo task моделью. Сама функция принимает строку, представляющую новую задачу для добавления. При выполнении функция добавляет задачу в качестве нового элемента todo в пользовательском хранилище элементов и возвращает ответ из хранилища.
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))
}
})
В этом примере показано, как создать помощник, который добавляет новую задачу todo в базу данных. Триггер содержит статическое описание, используемое Create a new todo task моделью. Сама функция принимает строку, представляющую новую задачу для добавления. При выполнении функция добавляет задачу в качестве нового элемента todo в пользовательском хранилище элементов и возвращает ответ из хранилища.
Ниже приведен файл function.json для добавления todo:
{
"bindings": [
{
"name": "TaskDescription",
"type": "assistantSkillTrigger",
"dataType": "string",
"direction": "in",
"functionDescription": "Create a new todo task"
}
]
}
Дополнительные сведения о свойствах файла function.json см. в разделе "Конфигурация ".
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
В этом примере показано, как создать помощник, который добавляет новую задачу todo в базу данных. Триггер содержит статическое описание, используемое Create a new todo task моделью. Сама функция принимает строку, представляющую новую задачу для добавления. При выполнении функция добавляет задачу в качестве нового элемента todo в пользовательском хранилище элементов и возвращает ответ из хранилища.
@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
Атрибуты
Примените атрибут для AssistantSkillTrigger определения триггера помощника, который поддерживает следующие параметры:
| Параметр | Описание |
|---|---|
| FunctionDescription | Возвращает описание функции помощника, которая предоставляется модели. |
| Имя функции | Необязательно. Возвращает или задает имя функции, вызываемой помощником. |
| ParameterDescriptionJson | Необязательно. Возвращает или задает описание JSON параметра функции, который предоставляется модели. Дополнительные сведения см. в разделе "Использование". |
Заметки
Заметка AssistantSkillTrigger позволяет определить триггер помощника, который поддерживает следующие параметры:
| Элемент | Описание |
|---|---|
| имя | Возвращает или задает имя входной привязки. |
| functionDescription | Возвращает описание функции помощника, которая предоставляется модели. |
| functionName | Необязательно. Возвращает или задает имя функции, вызываемой помощником. |
| parameterDescriptionJson | Необязательно. Возвращает или задает описание JSON параметра функции, который предоставляется модели. Дополнительные сведения см. в разделе "Использование". |
Декораторы
Во время предварительной версии определите входную привязку как привязку generic_trigger типа assistantSkillTrigger, которая поддерживает следующие параметры:
| Параметр | Описание |
|---|---|
| function_description | Возвращает описание функции помощника, которая предоставляется модели. |
| function_name | Необязательно. Возвращает или задает имя функции, вызываемой помощником. |
| parameterDescriptionJson | Необязательно. Возвращает или задает описание JSON параметра функции, который предоставляется модели. Дополнительные сведения см. в разделе "Использование". |
Настройка
Привязка поддерживает эти свойства конфигурации, заданные в файле function.json.
| Свойство | Описание |
|---|---|
| тип | Этот параметр должен содержать значение AssistantSkillTrigger. |
| направление | Этот параметр должен содержать значение in. |
| имя | Имя триггера. |
| functionName | Возвращает или задает имя функции, вызываемой помощником. |
| functionDescription | Возвращает описание функции помощника, которая предоставляется языковой модели. |
| parameterDescriptionJson | Необязательно. Возвращает или задает описание JSON параметра функции, который предоставляется модели. Дополнительные сведения см. в разделе "Использование". |
Настройка
Привязка поддерживает эти свойства, определенные в коде:
| Свойство | Описание |
|---|---|
| тип | Этот параметр должен содержать значение AssistantSkillTrigger. |
| имя | Имя триггера. |
| functionName | Возвращает или задает имя функции, вызываемой помощником. |
| functionDescription | Возвращает описание функции помощника, которая предоставляется LLM |
| parameterDescriptionJson | Необязательно. Возвращает или задает описание JSON параметра функции, который предоставляется модели. Дополнительные сведения см. в разделе "Использование". |
Подробные примеры см. в разделе Примеры.
Использование
Если parameterDescriptionJson значение JSON не указано, оно создается автоматически. Дополнительные сведения о синтаксисе этого объекта см. в документации по API OpenAI.