Share via


FunctionTool Class

Definition

Defines a function in your own code the model can choose to call. Learn more about function calling.

public class FunctionTool : Azure.AI.AgentServer.Contracts.Generated.OpenAI.Tool, System.ClientModel.Primitives.IJsonModel<Azure.AI.AgentServer.Contracts.Generated.OpenAI.FunctionTool>, System.ClientModel.Primitives.IPersistableModel<Azure.AI.AgentServer.Contracts.Generated.OpenAI.FunctionTool>
type FunctionTool = class
    inherit Tool
    interface IUtf8JsonSerializable
    interface IJsonModel<FunctionTool>
    interface IPersistableModel<FunctionTool>
Public Class FunctionTool
Inherits Tool
Implements IJsonModel(Of FunctionTool), IPersistableModel(Of FunctionTool)
Inheritance
FunctionTool
Implements

Constructors

Name Description
FunctionTool()

Initializes a new instance of FunctionTool for deserialization.

FunctionTool(String, BinaryData, Nullable<Boolean>)

Initializes a new instance of FunctionTool.

FunctionTool(ToolType, IDictionary<String,BinaryData>, String, String, BinaryData, Nullable<Boolean>)

Initializes a new instance of FunctionTool.

Properties

Name Description
Description

A description of the function. Used by the model to determine whether or not to call the function.

Name

The name of the function to call.

Parameters

A JSON schema object describing the parameters of the function.

To assign an object to this property use FromObjectAsJson<T>(T, JsonSerializerOptions).

To assign an already formatted json string to this property use FromString(String).

Examples:

  • BinaryData.FromObjectAsJson("foo"): Creates a payload of "foo".
  • BinaryData.FromString("\"foo\""): Creates a payload of "foo".
  • BinaryData.FromObjectAsJson(new { key = "value" }): Creates a payload of { "key": "value" }.
  • BinaryData.FromString("{\"key\": \"value\"}"): Creates a payload of { "key": "value" }.

Strict

Whether to enforce strict parameter validation. Default true.

Type

Gets or sets the type.

(Inherited from Tool)

Methods

Name Description
DeserializeFunctionTool(JsonElement, ModelReaderWriterOptions)
FromResponse(Response)

Deserializes the model from a raw response.

JsonModelWriteCore(Utf8JsonWriter, ModelReaderWriterOptions)
ToRequestContent()

Convert into a RequestContent.

Explicit Interface Implementations

Name Description
IJsonModel<FunctionTool>.Create(Utf8JsonReader, ModelReaderWriterOptions)

Reads one JSON value (including objects or arrays) from the provided reader and converts it to a model.

IJsonModel<FunctionTool>.Write(Utf8JsonWriter, ModelReaderWriterOptions)

Writes the model to the provided Utf8JsonWriter.

IJsonModel<Tool>.Create(Utf8JsonReader, ModelReaderWriterOptions)

Reads one JSON value (including objects or arrays) from the provided reader and converts it to a model.

(Inherited from Tool)
IJsonModel<Tool>.Write(Utf8JsonWriter, ModelReaderWriterOptions)

Writes the model to the provided Utf8JsonWriter.

(Inherited from Tool)
IPersistableModel<FunctionTool>.Create(BinaryData, ModelReaderWriterOptions)

Converts the provided BinaryData into a model.

IPersistableModel<FunctionTool>.GetFormatFromOptions(ModelReaderWriterOptions)

Gets the data interchange format (JSON, Xml, etc) that the model uses when communicating with the service.

IPersistableModel<FunctionTool>.Write(ModelReaderWriterOptions)

Writes the model into a BinaryData.

IPersistableModel<Tool>.Create(BinaryData, ModelReaderWriterOptions)

Converts the provided BinaryData into a model.

(Inherited from Tool)
IPersistableModel<Tool>.GetFormatFromOptions(ModelReaderWriterOptions)

Gets the data interchange format (JSON, Xml, etc) that the model uses when communicating with the service.

(Inherited from Tool)
IPersistableModel<Tool>.Write(ModelReaderWriterOptions)

Writes the model into a BinaryData.

(Inherited from Tool)
IUtf8JsonSerializable.Write(Utf8JsonWriter)

Applies to