Share via


AIFunction Class

Definition

Represents a function that can be described to an AI service and invoked.

public ref class AIFunction abstract : Microsoft::Extensions::AI::AIFunctionDeclaration
public abstract class AIFunction : Microsoft.Extensions.AI.AIFunctionDeclaration
type AIFunction = class
    inherit AIFunctionDeclaration
Public MustInherit Class AIFunction
Inherits AIFunctionDeclaration
Inheritance
Derived

Constructors

Name Description
AIFunction()

Initializes a new instance of the AIFunction class.

Properties

Name Description
AdditionalProperties

Gets any additional properties associated with the tool.

(Inherited from AITool)
Description

Gets a description of the tool, suitable for use in describing the purpose to a model.

(Inherited from AITool)
JsonSchema

Gets a JSON Schema describing the function and its input parameters.

(Inherited from AIFunctionDeclaration)
JsonSerializerOptions

Gets a JsonSerializerOptions that can be used to marshal function parameters.

Name

Gets the name of the tool.

(Inherited from AITool)
ReturnJsonSchema

Gets a JSON Schema describing the function's return value.

(Inherited from AIFunctionDeclaration)
UnderlyingMethod

Gets the underlying MethodInfo that this AIFunction might be wrapping.

Methods

Name Description
AsDeclarationOnly()

Creates a AIFunctionDeclaration representation of this AIFunction that can't be invoked.

GetService(Type, Object)

Asks the AITool for an object of the specified type serviceType.

(Inherited from AITool)
GetService<TService>(Object)

Asks the AITool for an object of type TService.

(Inherited from AITool)
InvokeAsync(AIFunctionArguments, CancellationToken)

Invokes the AIFunction and returns its result.

InvokeCoreAsync(AIFunctionArguments, CancellationToken)

Invokes the AIFunction and returns its result.

ToString()

Returns a string that represents the current object.

(Inherited from AITool)

Extension Methods

Name Description
AsOpenAIAssistantsFunctionToolDefinition(AIFunctionDeclaration)

Creates an OpenAI FunctionToolDefinition from an AIFunctionDeclaration.

AsOpenAIChatTool(AIFunctionDeclaration)

Creates an OpenAI ChatTool from an AIFunctionDeclaration.

AsOpenAIConversationFunctionTool(AIFunctionDeclaration)

Creates an OpenAI ConversationFunctionTool from an AIFunctionDeclaration.

AsOpenAIResponseTool(AIFunctionDeclaration)

Creates an OpenAI ResponseTool from an AIFunctionDeclaration.

AsOpenAIResponseTool(AITool)

Creates an OpenAI ResponseTool from an AITool.

Applies to