AIFunctionFactory.Create Méthode

Définition

Surcharges

Nom Description
Create(Delegate, AIFunctionFactoryOptions)

Crée une AIFunction instance pour une méthode, spécifiée via un délégué.

Create(MethodInfo, Func<AIFunctionArguments,Object>, AIFunctionFactoryOptions)

Crée une AIFunction instance pour une méthode, spécifiée par le biais d’une MethodInfo méthode d’instance et d’une Func<T,TResult> instance pour construire une instance de l’objet récepteur chaque fois que l’objet AIFunction est appelé.

Create(MethodInfo, Object, AIFunctionFactoryOptions)

Crée une AIFunction instance pour une méthode, spécifiée via une MethodInfo instance et un objet cible facultatif si la méthode est une méthode d’instance.

Create(Delegate, String, String, JsonSerializerOptions)

Crée une AIFunction instance pour une méthode, spécifiée via un délégué.

Create(MethodInfo, Object, String, String, JsonSerializerOptions)

Crée une AIFunction instance pour une méthode, spécifiée via une MethodInfo instance et un objet cible facultatif si la méthode est une méthode d’instance.

Create(Delegate, AIFunctionFactoryOptions)

Source:
AIFunctionFactory.cs

Crée une AIFunction instance pour une méthode, spécifiée via un délégué.

public:
 static Microsoft::Extensions::AI::AIFunction ^ Create(Delegate ^ method, Microsoft::Extensions::AI::AIFunctionFactoryOptions ^ options);
public static Microsoft.Extensions.AI.AIFunction Create(Delegate method, Microsoft.Extensions.AI.AIFunctionFactoryOptions? options);
static member Create : Delegate * Microsoft.Extensions.AI.AIFunctionFactoryOptions -> Microsoft.Extensions.AI.AIFunction
Public Shared Function Create (method As Delegate, options As AIFunctionFactoryOptions) As AIFunction

Paramètres

method
Delegate

Méthode à représenter via le fichier créé AIFunction.

options
AIFunctionFactoryOptions

Métadonnées à utiliser pour remplacer les valeurs par défaut déduites à partir de method.

Retours

AIFunction Créé pour appeler method.

Exceptions

method a la valeur null.

Paramètre à method ne pas sérialisable.

Remarques

Par défaut, tous les paramètres à method sourcer à partir du AIFunctionArgumentsdictionnaire des paires clé/valeur et sont représentés dans le schéma JSON de la fonction, tel qu’exposé dans le fichier retourné AIFunctionJsonSchema. Il existe quelques exceptions à ceci :

Tous les autres types de paramètres sont, par défaut, liés à partir du AIFunctionArguments dictionnaire passé InvokeAsync(AIFunctionArguments, CancellationToken) et sont inclus dans le schéma JSON généré. Cela peut être remplacé par le ConfigureParameterBinding paramètre fourni par le biais du options paramètre ; pour chaque paramètre, le délégué est activé pour choisir si le paramètre doit être inclus dans le schéma généré et comment sa valeur doit être liée, y compris la gestion de la facultatifité (par défaut, les paramètres requis qui ne sont pas inclus dans le AIFunctionArguments dictionnaire entraînent une exception levée). Des informations de contexte supplémentaires faiblement typées peuvent être transmises InvokeAsync(AIFunctionArguments, CancellationToken) via le AIFunctionArgumentsdictionnaire du Context « dictionnaire » ; la liaison par défaut ignore cette collection, mais une liaison personnalisée fournie par ConfigureParameterBinding le biais peut choisir d’utiliser des arguments sources à partir de ces données.

Le marshaling par défaut des paramètres du AIFunctionArguments dictionnaire permet de passer les valeurs directement dans l’appel de l’objet methodsi l’objet est déjà d’un type compatible. Sinon, si l’argument est un JsonElement, JsonDocumentou JsonNode, il est désérialisé dans le type de paramètre, en SerializerOptions utilisant s’il est fourni, ou autre à l’aide DefaultOptionsde . Si l’argument est autre chose, il est aller-retour via JSON, sérialisant l’objet en tant que JSON, puis le désérialisant au type attendu.

En général, les données fournies par le biais d’un AIFunctionArgumentsdictionnaire sont fournies à partir d’un service IA et doivent être considérées comme non approuvées et non approuvées. Pour fournir des données validées et approuvées à l’appel de method, envisagez method de pointer vers une méthode d’instance sur une instance configurée pour contenir l’état approprié. Un IServiceProvider paramètre peut également être utilisé pour résoudre les services à partir d’un conteneur d’injection de dépendances.

Par défaut, les valeurs de retour sont sérialisées à JsonElement l’aide optionsde 's SerializerOptions si elles sont fournies, ou bien à l’aide DefaultOptionsde . Toutefois, les valeurs de retour dont le type déclaré est AIContent, un type dérivé de AIContent, ou tout type assignable à partir IEnumerable<T> (par exemple AIContent[], ) List<AIContent>sont en cas spécial et ne sont pas sérialisées : la fonction créée retourne directement les instances d’origine pour permettre aux appelants (par exemple, un IChatClient) d’effectuer des tests de type et d’implémenter une gestion spécialisée. S’il MarshalResult est fourni, ce délégué régit le comportement à la place.

En plus du schéma de paramètre, un schéma JSON est également dérivé du type de retour de la méthode et exposé via le fichier retourné AIFunctionReturnJsonSchema. Pour les méthodes retournant Void, Taskou ValueTask, aucun schéma de retour n’est généré (la propriété est null). Pour les méthodes retournant Task<TResult> ou ValueTask<TResult>, le schéma est dérivé du type de résultat non extrait. La génération de schéma de retour peut être exclue via ExcludeResultSchema, et sa génération est régie par options's JsonSchemaCreateOptions.

S’applique à

Create(MethodInfo, Func<AIFunctionArguments,Object>, AIFunctionFactoryOptions)

Source:
AIFunctionFactory.cs

Crée une AIFunction instance pour une méthode, spécifiée par le biais d’une MethodInfo méthode d’instance et d’une Func<T,TResult> instance pour construire une instance de l’objet récepteur chaque fois que l’objet AIFunction est appelé.

public static Microsoft.Extensions.AI.AIFunction Create(System.Reflection.MethodInfo method, Func<Microsoft.Extensions.AI.AIFunctionArguments,object> createInstanceFunc, Microsoft.Extensions.AI.AIFunctionFactoryOptions? options = default);
static member Create : System.Reflection.MethodInfo * Func<Microsoft.Extensions.AI.AIFunctionArguments, obj> * Microsoft.Extensions.AI.AIFunctionFactoryOptions -> Microsoft.Extensions.AI.AIFunction
Public Shared Function Create (method As MethodInfo, createInstanceFunc As Func(Of AIFunctionArguments, Object), Optional options As AIFunctionFactoryOptions = Nothing) As AIFunction

Paramètres

method
MethodInfo

Méthode d’instance à représenter via le fichier créé AIFunction.

createInstanceFunc
Func<AIFunctionArguments,Object>

Rappel utilisé sur chaque appel de fonction pour créer une instance du type sur lequel la méthode method d’instance sera appelée. Si l’instance retournée est IAsyncDisposable ou IDisposable, elle est supprimée une fois method son appel terminé.

options
AIFunctionFactoryOptions

Métadonnées à utiliser pour remplacer les valeurs par défaut déduites à partir de method.

Retours

AIFunction Créé pour appeler method.

Exceptions

createInstanceFunc a la valeur null.

method contient un paramètre sans nom de paramètre.

Un paramètre vers method ou son type de retour n’est pas sérialisable.

Remarques

Les valeurs de retour sont sérialisées à JsonElement l’aide optionsde 's SerializerOptions. Les arguments qui ne sont pas déjà du type attendu sont marshalés vers le type attendu via JSON et à l’aide optionsde 's SerializerOptions. Si l’argument est un JsonElement, JsonDocumentou JsonNode, il est désérialisé directement. Si l’argument est inconnu, il est aller-retour via JSON, sérialisant l’objet en tant que JSON, puis le désérialisant au type attendu.

Par défaut, tous les paramètres à method sourcer à partir du AIFunctionArgumentsdictionnaire des paires clé/valeur et sont représentés dans le schéma JSON de la fonction, tel qu’exposé dans le fichier retourné AIFunctionJsonSchema. Il existe quelques exceptions à ceci :

Tous les autres types de paramètres sont, par défaut, liés à partir du AIFunctionArguments dictionnaire passé InvokeAsync(AIFunctionArguments, CancellationToken) et sont inclus dans le schéma JSON généré. Cela peut être remplacé par le ConfigureParameterBinding paramètre fourni par le biais du options paramètre ; pour chaque paramètre, le délégué est activé pour choisir si le paramètre doit être inclus dans le schéma généré et comment sa valeur doit être liée, y compris la gestion de la facultatifité (par défaut, les paramètres requis qui ne sont pas inclus dans le AIFunctionArguments dictionnaire entraînent une exception levée). Des informations de contexte supplémentaires faiblement typées peuvent être transmises InvokeAsync(AIFunctionArguments, CancellationToken) via le AIFunctionArgumentsdictionnaire du Context « dictionnaire » ; la liaison par défaut ignore cette collection, mais une liaison personnalisée fournie par ConfigureParameterBinding le biais peut choisir d’utiliser des arguments sources à partir de ces données.

Le marshaling par défaut des paramètres du AIFunctionArguments dictionnaire permet de passer les valeurs directement dans l’appel de l’objet methodsi l’objet est déjà d’un type compatible. Sinon, si l’argument est un JsonElement, JsonDocumentou JsonNode, il est désérialisé dans le type de paramètre, en SerializerOptions utilisant s’il est fourni, ou autre à l’aide DefaultOptionsde . Si l’argument est autre chose, il est aller-retour via JSON, sérialisant l’objet en tant que JSON, puis le désérialisant au type attendu.

En général, les données fournies par le biais d’un AIFunctionArgumentsdictionnaire sont fournies à partir d’un service IA et doivent être considérées comme non approuvées et non approuvées. Pour fournir des données validées et approuvées à l’appel de method, l’instance construite pour chaque appel peut contenir ces données, de sorte qu’elles soient ensuite disponibles en method tant que données d’instance. Un IServiceProvider paramètre peut également être utilisé pour résoudre les services à partir d’un conteneur d’injection de dépendances.

Par défaut, les valeurs de retour sont sérialisées à JsonElement l’aide optionsde 's SerializerOptions si elles sont fournies, ou bien à l’aide DefaultOptionsde . Toutefois, les valeurs de retour dont le type déclaré est AIContent, un type dérivé de AIContent, ou tout type assignable sont IEnumerable<T> retournés directement sans sérialisation. La gestion des valeurs de retour peut être substituée via MarshalResult.

En plus du schéma de paramètre, un schéma JSON est également dérivé du type de retour de la méthode et exposé via le fichier retourné AIFunctionReturnJsonSchema. Pour les méthodes retournant Void, Taskou ValueTask, aucun schéma de retour n’est généré (la propriété est null). Pour les méthodes retournant Task<TResult> ou ValueTask<TResult>, le schéma est dérivé du type de résultat non extrait. La génération de schéma de retour peut être exclue via ExcludeResultSchema, et sa génération est régie par options's JsonSchemaCreateOptions.

S’applique à

Create(MethodInfo, Object, AIFunctionFactoryOptions)

Source:
AIFunctionFactory.cs

Crée une AIFunction instance pour une méthode, spécifiée via une MethodInfo instance et un objet cible facultatif si la méthode est une méthode d’instance.

public:
 static Microsoft::Extensions::AI::AIFunction ^ Create(System::Reflection::MethodInfo ^ method, System::Object ^ target, Microsoft::Extensions::AI::AIFunctionFactoryOptions ^ options);
public static Microsoft.Extensions.AI.AIFunction Create(System.Reflection.MethodInfo method, object? target, Microsoft.Extensions.AI.AIFunctionFactoryOptions? options);
static member Create : System.Reflection.MethodInfo * obj * Microsoft.Extensions.AI.AIFunctionFactoryOptions -> Microsoft.Extensions.AI.AIFunction
Public Shared Function Create (method As MethodInfo, target As Object, options As AIFunctionFactoryOptions) As AIFunction

Paramètres

method
MethodInfo

Méthode à représenter via le fichier créé AIFunction.

target
Object

Objet cible pour le method cas où il représente une méthode d’instance. Cela doit être null si et uniquement s’il s’agit method d’une méthode statique.

options
AIFunctionFactoryOptions

Métadonnées à utiliser pour remplacer les valeurs par défaut déduites à partir de method.

Retours

AIFunction Créé pour appeler method.

Exceptions

method représente une méthode d’instance, mais target a la valeur Null.

method contient un paramètre sans nom de paramètre.

Un paramètre vers method ou son type de retour n’est pas sérialisable.

Remarques

Par défaut, tous les paramètres à method sourcer à partir du AIFunctionArgumentsdictionnaire des paires clé/valeur et sont représentés dans le schéma JSON de la fonction, tel qu’exposé dans le fichier retourné AIFunctionJsonSchema. Il existe quelques exceptions à ceci :

Tous les autres types de paramètres sont, par défaut, liés à partir du AIFunctionArguments dictionnaire passé InvokeAsync(AIFunctionArguments, CancellationToken) et sont inclus dans le schéma JSON généré. Cela peut être remplacé par le ConfigureParameterBinding paramètre fourni par le biais du options paramètre ; pour chaque paramètre, le délégué est activé pour choisir si le paramètre doit être inclus dans le schéma généré et comment sa valeur doit être liée, y compris la gestion de la facultatifité (par défaut, les paramètres requis qui ne sont pas inclus dans le AIFunctionArguments dictionnaire entraînent une exception levée). Des informations de contexte supplémentaires faiblement typées peuvent être transmises InvokeAsync(AIFunctionArguments, CancellationToken) via le AIFunctionArgumentsdictionnaire du Context « dictionnaire » ; la liaison par défaut ignore cette collection, mais une liaison personnalisée fournie par ConfigureParameterBinding le biais peut choisir d’utiliser des arguments sources à partir de ces données.

Le marshaling par défaut des paramètres du AIFunctionArguments dictionnaire permet de passer les valeurs directement dans l’appel de l’objet methodsi l’objet est déjà d’un type compatible. Sinon, si l’argument est un JsonElement, JsonDocumentou JsonNode, il est désérialisé dans le type de paramètre, en SerializerOptions utilisant s’il est fourni, ou autre à l’aide DefaultOptionsde . Si l’argument est autre chose, il est aller-retour via JSON, sérialisant l’objet en tant que JSON, puis le désérialisant au type attendu.

En général, les données fournies par le biais d’un AIFunctionArgumentsdictionnaire sont fournies à partir d’un service IA et doivent être considérées comme non approuvées et non approuvées. Pour fournir des données validées et approuvées à l’appel de method, envisagez method de pointer vers une méthode d’instance sur une instance configurée pour contenir l’état approprié. Un IServiceProvider paramètre peut également être utilisé pour résoudre les services à partir d’un conteneur d’injection de dépendances.

Par défaut, les valeurs de retour sont sérialisées à JsonElement l’aide optionsde 's SerializerOptions si elles sont fournies, ou bien à l’aide DefaultOptionsde . Toutefois, les valeurs de retour dont le type déclaré est AIContent, un type dérivé de , ou tout type assignable à partir IEnumerable<T> de AIContentne sont pas sérialisés et sont retournés directement. La gestion des valeurs de retour peut être substituée via MarshalResult.

En plus du schéma de paramètre, un schéma JSON est également dérivé du type de retour de la méthode et exposé via le fichier retourné AIFunctionReturnJsonSchema. Pour les méthodes retournant Void, Taskou ValueTask, aucun schéma de retour n’est généré (la propriété est null). Pour les méthodes retournant Task<TResult> ou ValueTask<TResult>, le schéma est dérivé du type de résultat non extrait. La génération de schéma de retour peut être exclue via ExcludeResultSchema, et sa génération est régie par options's JsonSchemaCreateOptions.

S’applique à

Create(Delegate, String, String, JsonSerializerOptions)

Source:
AIFunctionFactory.cs

Crée une AIFunction instance pour une méthode, spécifiée via un délégué.

public static Microsoft.Extensions.AI.AIFunction Create(Delegate method, string? name = default, string? description = default, System.Text.Json.JsonSerializerOptions? serializerOptions = default);
static member Create : Delegate * string * string * System.Text.Json.JsonSerializerOptions -> Microsoft.Extensions.AI.AIFunction
Public Shared Function Create (method As Delegate, Optional name As String = Nothing, Optional description As String = Nothing, Optional serializerOptions As JsonSerializerOptions = Nothing) As AIFunction

Paramètres

method
Delegate

Méthode à représenter via le fichier créé AIFunction.

name
String

Nom à utiliser pour le AIFunction. Si null, le nom sera dérivé d’un DisplayNameAttribute élément sur method, s’il est disponible ou autre du nom de method.

description
String

Description à utiliser pour le AIFunction. Si null, une description est dérivée de n’importe laquelle DescriptionAttribute , methodsi disponible.

serializerOptions
JsonSerializerOptions

Utilisé JsonSerializerOptions pour marshaler les paramètres de fonction et toute valeur de retour.

Retours

AIFunction Créé pour appeler method.

Exceptions

method a la valeur null.

Paramètre à method ne pas sérialisable.

Remarques

Tous les paramètres à method sourcer à partir du AIFunctionArgumentsdictionnaire des paires clé/valeur et sont représentés dans le schéma JSON de la fonction, tel qu’exposé dans le fichier JsonSchemaretourné AIFunction. Il existe quelques exceptions à ceci :

Tous les autres types de paramètres sont liés à partir du AIFunctionArguments dictionnaire passé InvokeAsync(AIFunctionArguments, CancellationToken) et sont inclus dans le schéma JSON généré.

Le marshaling des paramètres du AIFunctionArguments dictionnaire permet de passer les valeurs directement dans l’appel de l’objet methodsi l’objet est déjà d’un type compatible. Sinon, si l’argument est un JsonElement, JsonDocumentou JsonNode, il est désérialisé dans le type de paramètre, en utilisant serializerOptions le cas échéant, ou sinon DefaultOptions. Si l’argument est autre chose, il est aller-retour via JSON, sérialisant l’objet en tant que JSON, puis le désérialisant au type attendu.

En général, les données fournies par le biais d’un AIFunctionArgumentsdictionnaire sont fournies à partir d’un service IA et doivent être considérées comme non approuvées et non approuvées. Pour fournir des données validées et approuvées à l’appel de method, envisagez method de pointer vers une méthode d’instance sur une instance configurée pour contenir l’état approprié. Un IServiceProvider paramètre peut également être utilisé pour résoudre les services à partir d’un conteneur d’injection de dépendances.

Les valeurs de retour sont sérialisées à JsonElement l’aide serializerOptions si elles sont fournies ou si elles sont fournies DefaultOptions. Toutefois, les valeurs de retour dont le type déclaré est AIContent, un type dérivé de , ou tout type assignable à partir de AIContentIEnumerable<T> ne sont pas sérialisés ; ils sont retournés as-is pour faciliter la gestion spécialisée.

Un schéma JSON est également dérivé du type de retour de la méthode et exposé via ReturnJsonSchema. Pour les méthodes retournant Void, Taskou ValueTask, aucun schéma de retour n’est généré. Pour les méthodes retournant Task<TResult> ou ValueTask<TResult>, le schéma est dérivé du type de résultat non extrait.

S’applique à

Create(MethodInfo, Object, String, String, JsonSerializerOptions)

Source:
AIFunctionFactory.cs

Crée une AIFunction instance pour une méthode, spécifiée via une MethodInfo instance et un objet cible facultatif si la méthode est une méthode d’instance.

public static Microsoft.Extensions.AI.AIFunction Create(System.Reflection.MethodInfo method, object? target, string? name = default, string? description = default, System.Text.Json.JsonSerializerOptions? serializerOptions = default);
static member Create : System.Reflection.MethodInfo * obj * string * string * System.Text.Json.JsonSerializerOptions -> Microsoft.Extensions.AI.AIFunction
Public Shared Function Create (method As MethodInfo, target As Object, Optional name As String = Nothing, Optional description As String = Nothing, Optional serializerOptions As JsonSerializerOptions = Nothing) As AIFunction

Paramètres

method
MethodInfo

Méthode à représenter via le fichier créé AIFunction.

target
Object

Objet cible pour le method cas où il représente une méthode d’instance. Cela doit être null si et uniquement s’il s’agit method d’une méthode statique.

name
String

Nom à utiliser pour le AIFunction. Si null, le nom sera dérivé d’un DisplayNameAttribute élément sur method, s’il est disponible ou autre du nom de method.

description
String

Description à utiliser pour le AIFunction. Si null, une description est dérivée de n’importe laquelle DescriptionAttribute , methodsi disponible.

serializerOptions
JsonSerializerOptions

Utilisé JsonSerializerOptions pour marshaler les paramètres de fonction et la valeur de retour.

Retours

AIFunction Créé pour appeler method.

Exceptions

method représente une méthode d’instance, mais target a la valeur Null.

method contient un paramètre sans nom de paramètre.

Un paramètre vers method ou son type de retour n’est pas sérialisable.

Remarques

Tous les paramètres à method sourcer à partir du AIFunctionArgumentsdictionnaire des paires clé/valeur et sont représentés dans le schéma JSON de la fonction, tel qu’exposé dans le fichier JsonSchemaretourné AIFunction. Il existe quelques exceptions à ceci :

Tous les autres types de paramètres sont liés à partir du AIFunctionArguments dictionnaire passé InvokeAsync(AIFunctionArguments, CancellationToken) et sont inclus dans le schéma JSON généré.

Le marshaling des paramètres du AIFunctionArguments dictionnaire permet de passer les valeurs directement dans l’appel de l’objet methodsi l’objet est déjà d’un type compatible. Sinon, si l’argument est un JsonElement, JsonDocumentou JsonNode, il est désérialisé dans le type de paramètre, en utilisant serializerOptions le cas échéant, ou sinon DefaultOptions. Si l’argument est autre chose, il est aller-retour via JSON, sérialisant l’objet en tant que JSON, puis le désérialisant au type attendu.

En général, les données fournies par le biais d’un AIFunctionArgumentsdictionnaire sont fournies à partir d’un service IA et doivent être considérées comme non approuvées et non approuvées. Pour fournir des données validées et approuvées à l’appel de method, envisagez method de pointer vers une méthode d’instance sur une instance configurée pour contenir l’état approprié. Un IServiceProvider paramètre peut également être utilisé pour résoudre les services à partir d’un conteneur d’injection de dépendances.

Les valeurs de retour sont sérialisées à JsonElement l’aide serializerOptions si elles sont fournies ou si elles sont fournies DefaultOptions. Toutefois, les valeurs de retour dont le type déclaré est AIContent, un type dérivé de , ou tout type assignable à partir IEnumerable<T> de AIContentsont retournés sans sérialisation pour activer la gestion spécialisée.

Un schéma JSON est également dérivé du type de retour de la méthode et exposé via ReturnJsonSchema. Pour les méthodes retournant Void, Taskou ValueTask, aucun schéma de retour n’est généré. Pour les méthodes retournant Task<TResult> ou ValueTask<TResult>, le schéma est dérivé du type de résultat non extrait.

S’applique à