Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Azure OpenAI-tillägget för Azure Functions är för närvarande i förhandsversion.
Med utlösaren för Azure OpenAI-assistenten kan du köra din kod baserat på anpassad chattrobot eller kunskapsbegäran som gjorts till en assistent.
Information om konfiguration och konfigurationsinformation för Azure OpenAI-tillägget finns i Azure OpenAI-tillägg för Azure Functions. Mer information om Azure OpenAI-assistenter finns i API för Azure OpenAI Assistants.
Kommentar
Referenser och exempel tillhandahålls endast för modellen Node.js v4.
Kommentar
Referenser och exempel tillhandahålls endast för Python v2-modellen.
Kommentar
Båda C#-processmodellerna stöds, men endast exempel på isolerade arbetsmodeller tillhandahålls.
Exempel
Det här exemplet visar hur du skapar en assistent som lägger till en ny uppgift att göra i en databas. Utlösaren har en statisk beskrivning av Create a new todo task modellens användning. Själva funktionen tar en sträng som representerar en ny uppgift att lägga till. När den körs lägger funktionen till uppgiften som ett nytt att göra-objekt i ett anpassat objektarkiv och returnerar ett svar från arkivet.
[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));
}
Det här exemplet visar hur du skapar en assistent som lägger till en ny uppgift att göra i en databas. Utlösaren har en statisk beskrivning av Create a new todo task modellens användning. Själva funktionen tar en sträng som representerar en ny uppgift att lägga till. När den körs lägger funktionen till uppgiften som ett nytt att göra-objekt i ett anpassat objektarkiv och returnerar ett svar från arkivet.
/**
* 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);
}
Det här exemplet visar hur du skapar en assistent som lägger till en ny uppgift att göra i en databas. Utlösaren har en statisk beskrivning av Create a new todo task modellens användning. Själva funktionen tar en sträng som representerar en ny uppgift att lägga till. När den körs lägger funktionen till uppgiften som ett nytt att göra-objekt i ett anpassat objektarkiv och returnerar ett svar från arkivet.
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))
}
})
Det här exemplet visar hur du skapar en assistent som lägger till en ny uppgift att göra i en databas. Utlösaren har en statisk beskrivning av Create a new todo task modellens användning. Själva funktionen tar en sträng som representerar en ny uppgift att lägga till. När den körs lägger funktionen till uppgiften som ett nytt att göra-objekt i ett anpassat objektarkiv och returnerar ett svar från arkivet.
Här är function.json-filen för Lägg till todo:
{
"bindings": [
{
"name": "TaskDescription",
"type": "assistantSkillTrigger",
"dataType": "string",
"direction": "in",
"functionDescription": "Create a new todo task"
}
]
}
Mer information om function.json filegenskaper finns i avsnittet Konfiguration .
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
Det här exemplet visar hur du skapar en assistent som lägger till en ny uppgift att göra i en databas. Utlösaren har en statisk beskrivning av Create a new todo task modellens användning. Själva funktionen tar en sträng som representerar en ny uppgift att lägga till. När den körs lägger funktionen till uppgiften som ett nytt att göra-objekt i ett anpassat objektarkiv och returnerar ett svar från arkivet.
@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
Attribut
AssistantSkillTrigger Använd attributet för att definiera en assistentutlösare som stöder följande parametrar:
| Parameter | Beskrivning |
|---|---|
| FunctionDescription | Hämtar beskrivningen av assistentfunktionen, som tillhandahålls till modellen. |
| Funktionsnamn | Valfritt. Hämtar eller anger namnet på funktionen som anropas av assistenten. |
| ParameterDescriptionJson | Valfritt. Hämtar eller anger en JSON-beskrivning av funktionsparametern, som tillhandahålls till modellen. Mer information finns i Användning. |
Kommentarer
Med anteckningen AssistantSkillTrigger kan du definiera en assistentutlösare som stöder följande parametrar:
| Komponent | Beskrivning |
|---|---|
| Namn | Hämtar eller anger namnet på indatabindningen. |
| functionDescription | Hämtar beskrivningen av assistentfunktionen, som tillhandahålls till modellen. |
| functionName | Valfritt. Hämtar eller anger namnet på funktionen som anropas av assistenten. |
| parameterDescriptionJson | Valfritt. Hämtar eller anger en JSON-beskrivning av funktionsparametern, som tillhandahålls till modellen. Mer information finns i Användning. |
Dekoratörer
Under förhandsversionen definierar du indatabindningen som en generic_trigger bindning av typen assistantSkillTrigger, som stöder följande parametrar:
| Parameter | Beskrivning |
|---|---|
| function_description | Hämtar beskrivningen av assistentfunktionen, som tillhandahålls till modellen. |
| function_name | Valfritt. Hämtar eller anger namnet på en funktion som anropas av assistenten. |
| parameterDescriptionJson | Valfritt. Hämtar eller anger en JSON-beskrivning av funktionsparametern, som tillhandahålls till modellen. Mer information finns i Användning. |
Konfiguration
Bindningen stöder de konfigurationsegenskaper som du anger i filen function.json.
| Fastighet | Beskrivning |
|---|---|
| typ | Måste vara AssistantSkillTrigger. |
| riktning | Måste vara in. |
| Namn | Namnet på utlösaren. |
| functionName | Hämtar eller anger namnet på funktionen som anropas av assistenten. |
| functionDescription | Hämtar beskrivningen av assistentfunktionen, som tillhandahålls till språkmodellen. |
| parameterDescriptionJson | Valfritt. Hämtar eller anger en JSON-beskrivning av funktionsparametern, som tillhandahålls till modellen. Mer information finns i Användning. |
Konfiguration
Bindningen stöder dessa egenskaper, som definieras i koden:
| Fastighet | Beskrivning |
|---|---|
| typ | Måste vara AssistantSkillTrigger. |
| Namn | Namnet på utlösaren. |
| functionName | Hämtar eller anger namnet på funktionen som anropas av assistenten. |
| functionDescription | Hämtar beskrivningen av assistentfunktionen, som tillhandahålls till LLM |
| parameterDescriptionJson | Valfritt. Hämtar eller anger en JSON-beskrivning av funktionsparametern, som tillhandahålls till modellen. Mer information finns i Användning. |
Se avsnittet Exempel för fullständiga exempel.
Förbrukning
När parameterDescriptionJson JSON-värdet inte anges genereras det automatiskt. Mer information om syntaxen för det här objektet finns i OpenAI API-dokumentationen.