Język

AIFunctionFactory.Create Metoda

Definicja

AIFunction Tworzy wystąpienie metody określonej za pośrednictwem delegata.

Przeciążenia

Nazwa Opis
Create(Delegate, AIFunctionFactoryOptions)

AIFunction Tworzy wystąpienie metody określonej za pośrednictwem delegata.

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

AIFunction Tworzy wystąpienie metody określonej za pośrednictwem MethodInfo metody dla metody wystąpienia i klasy Func<T,TResult> do konstruowania wystąpienia obiektu odbiornika AIFunction za każdym razem, gdy jest wywoływany.

Create(MethodInfo, Object, AIFunctionFactoryOptions)

AIFunction Tworzy wystąpienie metody określonej za pośrednictwem MethodInfo wystąpienia i opcjonalnego obiektu docelowego, jeśli metoda jest metodą wystąpienia.

Create(Delegate, String, String, JsonSerializerOptions)

AIFunction Tworzy wystąpienie metody określonej za pośrednictwem delegata.

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

AIFunction Tworzy wystąpienie metody określonej za pośrednictwem MethodInfo wystąpienia i opcjonalnego obiektu docelowego, jeśli metoda jest metodą wystąpienia.

Create(Delegate, AIFunctionFactoryOptions)

Źródło:
AIFunctionFactory.cs

AIFunction Tworzy wystąpienie metody określonej za pośrednictwem delegata.

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

Parametry

method
Delegate

Metoda, która ma być reprezentowana za pośrednictwem utworzonego AIFunctionelementu .

options
AIFunctionFactoryOptions

Metadane używane do zastępowania wartości domyślnych wywnioskowanych z elementu method.

Zwraca

AIFunction Utworzony do wywoływania methodelementu .

Wyjątki

Parametr method ma wartość null.

Parametr do method nie można serializować.

Uwagi

Domyślnie wszystkie parametry, które method mają być źródłowe ze AIFunctionArgumentssłownika par klucz/wartość i są reprezentowane w schemacie JSON dla funkcji, jak uwidocznione AIFunctionJsonSchemaw zwróconych parametrach . Istnieje kilka wyjątków od tego:

Wszystkie inne typy parametrów są domyślnie powiązane ze AIFunctionArguments słownika przekazanego do InvokeAsync(AIFunctionArguments, CancellationToken) i są uwzględniane w wygenerowanym schemacie JSON. Można to przesłonić za pomocą podanego ConfigureParameterBinding parametru options . Dla każdego parametru delegat jest włączony, aby wybrać, czy parametr powinien być uwzględniony w wygenerowanym schemacie i jak jego wartość powinna być powiązana, w tym obsługa opcjonalnych (domyślnie wymagane parametry, które nie są uwzględnione w AIFunctionArguments słowniku, spowoduje zgłoszenie wyjątku). Luźno wpisywane dodatkowe informacje kontekstowe można przekazać za InvokeAsync(AIFunctionArguments, CancellationToken) pośrednictwem słownika AIFunctionArguments . Domyślne powiązanie ignoruje tę kolekcję, ale powiązanie niestandardowe dostarczone za pośrednictwem Context programu może wybrać argumenty źródłowe ConfigureParameterBindingz tych danych.

Domyślne marshaling parametrów ze AIFunctionArguments słownika zezwala na przekazywanie wartości do methodwywołania bezpośrednio, jeśli obiekt jest już zgodnym typem. W przeciwnym razie, jeśli argument jest argumentem JsonElement, JsonDocumentlub JsonNode, jest deserializowany do typu parametru, używającSerializerOptions, jeśli podano, lub w inny sposób przy użyciu .DefaultOptions Jeśli argument jest czymkolwiek innym, jest zaokrąglony przez kod JSON, serializując obiekt jako JSON, a następnie deserializując go do oczekiwanego typu.

Ogólnie rzecz biorąc, dane dostarczane za pośrednictwem AIFunctionArgumentssłownika "s" są dostarczane z usługi sztucznej inteligencji i powinny być traktowane jako niezaufane i niezaufane. Aby dostarczyć zweryfikowane i zaufane dane do wywołania methodmetody , rozważ wskazanie method metody wystąpienia w wystąpieniu skonfigurowanym do przechowywania odpowiedniego stanu. Parametr IServiceProvider może również służyć do rozpoznawania usług z kontenera iniekcji zależności.

Domyślnie wartości zwracane są serializowane w celu JsonElement używania optionsparametrów "s SerializerOptions if provided" lub w inny sposób przy użyciu polecenia DefaultOptions. Jednak zwracane wartości, których zadeklarowany typ to AIContent, typ pochodny , lub dowolny typ AIContentprzypisywany z IEnumerable<T> (np. AIContent[], List<AIContent>) są specjalne i nie są serializowane: utworzona funkcja zwraca oryginalne wystąpienia bezpośrednio w celu włączenia wywołań (takich jak IChatClient) do wykonywania testów typów i implementowania wyspecjalizowanej obsługi. Jeśli MarshalResult zostanie podany, ten delegat zamiast tego zarządza zachowaniem.

Oprócz schematu parametrów schemat JSON pochodzi również z zwracanego typu metody i uwidacznianego za pośrednictwem zwracanego AIFunctionReturnJsonSchemaelementu . W przypadku metod zwracanych Voidprzez metody , Tasklub ValueTasknie jest generowany żaden schemat zwracany (właściwość to null). W przypadku metod zwracanych Task<TResult> lub ValueTask<TResult>schemat pochodzi z niezapisanego typu wyniku. Generowanie schematu zwracanego można wykluczyć za pomocą ExcludeResultSchemametody , a jego generowanie podlega optionsoperatorowi JsonSchemaCreateOptions.

Dotyczy

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

Źródło:
AIFunctionFactory.cs

AIFunction Tworzy wystąpienie metody określonej za pośrednictwem MethodInfo metody dla metody wystąpienia i klasy Func<T,TResult> do konstruowania wystąpienia obiektu odbiornika AIFunction za każdym razem, gdy jest wywoływany.

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

Parametry

method
MethodInfo

Metoda wystąpienia, która ma być reprezentowana za pośrednictwem utworzonego AIFunctionobiektu .

createInstanceFunc
Func<AIFunctionArguments,Object>

Wywołanie zwrotne używane w każdej wywołaniu funkcji w celu utworzenia wystąpienia typu, na którym zostanie wywołana metoda method wystąpienia. Jeśli zwrócone wystąpienie to IAsyncDisposable lub IDisposable, zostanie usunięte po method zakończeniu wywołania.

options
AIFunctionFactoryOptions

Metadane używane do zastępowania wartości domyślnych wywnioskowanych z elementu method.

Zwraca

AIFunction Utworzony do wywoływania methodelementu .

Wyjątki

Parametr createInstanceFunc ma wartość null.

method zawiera parametr bez nazwy parametru.

Parametr do method lub jego zwracany typ nie można serializować.

Uwagi

Wartości zwracane są serializowane do JsonElement używania optionsSerializerOptionselementu . Argumenty, które nie są jeszcze oczekiwanego typu, są marshalowane do oczekiwanego typu za pośrednictwem formatu JSON i przy użyciu optionsparametru SerializerOptions. Jeśli argument jest argumentem JsonElement, JsonDocumentlub JsonNode, jest deserializowany bezpośrednio. Jeśli argument jest nieznany, jest zaokrąglony przez kod JSON, serializując obiekt jako JSON, a następnie deserializacji go do oczekiwanego typu.

Domyślnie wszystkie parametry, które method mają być źródłowe ze AIFunctionArgumentssłownika par klucz/wartość i są reprezentowane w schemacie JSON dla funkcji, jak uwidocznione AIFunctionJsonSchemaw zwróconych parametrach . Istnieje kilka wyjątków od tego:

Wszystkie inne typy parametrów są domyślnie powiązane ze AIFunctionArguments słownika przekazanego do InvokeAsync(AIFunctionArguments, CancellationToken) i są uwzględniane w wygenerowanym schemacie JSON. Można to przesłonić za pomocą podanego ConfigureParameterBinding parametru options . Dla każdego parametru delegat jest włączony, aby wybrać, czy parametr powinien być uwzględniony w wygenerowanym schemacie i jak jego wartość powinna być powiązana, w tym obsługa opcjonalnych (domyślnie wymagane parametry, które nie są uwzględnione w AIFunctionArguments słowniku, spowoduje zgłoszenie wyjątku). Luźno wpisywane dodatkowe informacje kontekstowe można przekazać za InvokeAsync(AIFunctionArguments, CancellationToken) pośrednictwem słownika AIFunctionArguments . Domyślne powiązanie ignoruje tę kolekcję, ale powiązanie niestandardowe dostarczone za pośrednictwem Context programu może wybrać argumenty źródłowe ConfigureParameterBindingz tych danych.

Domyślne marshaling parametrów ze AIFunctionArguments słownika zezwala na przekazywanie wartości do methodwywołania bezpośrednio, jeśli obiekt jest już zgodnym typem. W przeciwnym razie, jeśli argument jest argumentem JsonElement, JsonDocumentlub JsonNode, jest deserializowany do typu parametru, używającSerializerOptions, jeśli podano, lub w inny sposób przy użyciu .DefaultOptions Jeśli argument jest czymkolwiek innym, jest zaokrąglony przez kod JSON, serializując obiekt jako JSON, a następnie deserializując go do oczekiwanego typu.

Ogólnie rzecz biorąc, dane dostarczane za pośrednictwem AIFunctionArgumentssłownika "s" są dostarczane z usługi sztucznej inteligencji i powinny być traktowane jako niezaufane i niezaufane. Aby dostarczyć zweryfikowane i zaufane dane do wywołania methodmetody , wystąpienie skonstruowane dla każdego wywołania może zawierać te dane, tak aby było dostępne method jako dane wystąpienia. Parametr IServiceProvider może również służyć do rozpoznawania usług z kontenera iniekcji zależności.

Domyślnie wartości zwracane są serializowane w celu JsonElement używania optionsparametrów "s SerializerOptions if provided" lub w inny sposób przy użyciu polecenia DefaultOptions. Jednak zwracane wartości, których zadeklarowany typ to AIContent, typ AIContentpochodny , lub dowolny typ, z IEnumerable<T> którego można przypisać, są zwracane bezpośrednio bez serializacji. Obsługa zwracanych wartości można zastąpić za pomocą metody MarshalResult.

Oprócz schematu parametrów schemat JSON pochodzi również z zwracanego typu metody i uwidacznianego za pośrednictwem zwracanego AIFunctionReturnJsonSchemaelementu . W przypadku metod zwracanych Voidprzez metody , Tasklub ValueTasknie jest generowany żaden schemat zwracany (właściwość to null). W przypadku metod zwracanych Task<TResult> lub ValueTask<TResult>schemat pochodzi z niezapisanego typu wyniku. Generowanie schematu zwracanego można wykluczyć za pomocą ExcludeResultSchemametody , a jego generowanie podlega optionsoperatorowi JsonSchemaCreateOptions.

Dotyczy

Create(MethodInfo, Object, AIFunctionFactoryOptions)

Źródło:
AIFunctionFactory.cs

AIFunction Tworzy wystąpienie metody określonej za pośrednictwem MethodInfo wystąpienia i opcjonalnego obiektu docelowego, jeśli metoda jest metodą wystąpienia.

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

Parametry

method
MethodInfo

Metoda, która ma być reprezentowana za pośrednictwem utworzonego AIFunctionelementu .

target
Object

Obiekt docelowy method obiektu , jeśli reprezentuje metodę wystąpienia. Powinno to być null , jeśli i tylko wtedy, gdy method jest metodą statyczną.

options
AIFunctionFactoryOptions

Metadane używane do zastępowania wartości domyślnych wywnioskowanych z elementu method.

Zwraca

AIFunction Utworzony do wywoływania methodelementu .

Wyjątki

method reprezentuje metodę wystąpienia, ale target ma wartość null.

method zawiera parametr bez nazwy parametru.

Parametr do method lub jego zwracany typ nie można serializować.

Uwagi

Domyślnie wszystkie parametry, które method mają być źródłowe ze AIFunctionArgumentssłownika par klucz/wartość i są reprezentowane w schemacie JSON dla funkcji, jak uwidocznione AIFunctionJsonSchemaw zwróconych parametrach . Istnieje kilka wyjątków od tego:

Wszystkie inne typy parametrów są domyślnie powiązane ze AIFunctionArguments słownika przekazanego do InvokeAsync(AIFunctionArguments, CancellationToken) i są uwzględniane w wygenerowanym schemacie JSON. Można to przesłonić za pomocą podanego ConfigureParameterBinding parametru options . Dla każdego parametru delegat jest włączony, aby wybrać, czy parametr powinien być uwzględniony w wygenerowanym schemacie i jak jego wartość powinna być powiązana, w tym obsługa opcjonalnych (domyślnie wymagane parametry, które nie są uwzględnione w AIFunctionArguments słowniku, spowoduje zgłoszenie wyjątku). Luźno wpisane dodatkowe informacje kontekstowe można przekazać za InvokeAsync(AIFunctionArguments, CancellationToken) pośrednictwem słownika AIFunctionArguments . Powiązanie domyślne ignoruje tę kolekcję, ale powiązanie niestandardowe dostarczone za pośrednictwem Context programu może wybrać argumenty źródłowe ConfigureParameterBindingz tych danych.

Domyślne marshaling parametrów ze AIFunctionArguments słownika zezwala na przekazywanie wartości do methodwywołania bezpośrednio, jeśli obiekt jest już zgodnym typem. W przeciwnym razie, jeśli argument jest argumentem JsonElement, JsonDocumentlub JsonNode, jest deserializowany do typu parametru, używającSerializerOptions, jeśli podano, lub w inny sposób przy użyciu .DefaultOptions Jeśli argument jest czymkolwiek innym, jest zaokrąglony przez kod JSON, serializując obiekt jako JSON, a następnie deserializując go do oczekiwanego typu.

Ogólnie rzecz biorąc, dane dostarczane za pośrednictwem AIFunctionArgumentssłownika "s" są dostarczane z usługi sztucznej inteligencji i powinny być traktowane jako niezaufane i niezaufane. Aby dostarczyć zweryfikowane i zaufane dane do wywołania methodmetody , rozważ wskazanie method metody wystąpienia w wystąpieniu skonfigurowanym do przechowywania odpowiedniego stanu. Parametr IServiceProvider może również służyć do rozpoznawania usług z kontenera iniekcji zależności.

Domyślnie wartości zwracane są serializowane w celu JsonElement używania optionsparametrów "s SerializerOptions if provided" lub w inny sposób przy użyciu polecenia DefaultOptions. Jednak zwracane wartości, których zadeklarowany typ to AIContent, typ pochodny lub dowolny typ AIContent, z IEnumerable<T> którego można przypisać, nie są serializowane i są zwracane bezpośrednio. Obsługa zwracanych wartości można zastąpić za pomocą metody MarshalResult.

Oprócz schematu parametrów schemat JSON pochodzi również z zwracanego typu metody i uwidacznianego za pośrednictwem zwracanego AIFunctionReturnJsonSchemaelementu . W przypadku metod zwracanych Voidprzez metody , Tasklub ValueTasknie jest generowany żaden schemat zwracany (właściwość to null). W przypadku metod zwracanych Task<TResult> lub ValueTask<TResult>schemat pochodzi z niezapisanego typu wyniku. Generowanie schematu zwracanego można wykluczyć za pomocą ExcludeResultSchemametody , a jego generowanie podlega optionsoperatorowi JsonSchemaCreateOptions.

Dotyczy

Create(Delegate, String, String, JsonSerializerOptions)

Źródło:
AIFunctionFactory.cs

AIFunction Tworzy wystąpienie metody określonej za pośrednictwem delegata.

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

Parametry

method
Delegate

Metoda, która ma być reprezentowana za pośrednictwem utworzonego AIFunctionelementu .

name
String

Nazwa, która ma być używana dla elementu AIFunction. Jeśli nullnazwa będzie pochodzić z dowolnego elementu w AIFunctionNameAttributedniu , a następnie z dowolnego methodDisplayNameAttribute w methoddniu , jeśli jest dostępna, lub innego z nazwy method.

description
String

Opis do użycia dla elementu AIFunction. Jeśli nullwartość , opis będzie pochodzić z dowolnego DescriptionAttribute elementu w parametrze method, jeśli jest dostępny.

serializerOptions
JsonSerializerOptions

Służy JsonSerializerOptions do marshalingu parametrów funkcji i dowolnej wartości zwracanej.

Zwraca

AIFunction Utworzony do wywoływania methodelementu .

Wyjątki

Parametr method ma wartość null.

Parametr do method nie można serializować.

Uwagi

Wszystkie parametry do method są pozyskiwane ze AIFunctionArgumentssłownika par klucz/wartość i są reprezentowane w schemacie JSON dla funkcji, jak uwidocznione w zwracanych AIFunctionJsonSchemaparametrach . Istnieje kilka wyjątków od tego:

Wszystkie inne typy parametrów są powiązane ze słownika przekazanego AIFunctionArguments do InvokeAsync(AIFunctionArguments, CancellationToken) i są uwzględniane w wygenerowanym schemacie JSON.

Marshaling parametrów ze AIFunctionArguments słownika zezwala na przekazywanie wartości do methodwywołania bezpośrednio, jeśli obiekt jest już zgodnym typem. W przeciwnym razie, jeśli argument jest argumentem , lub , jest deserializowany do typu parametru, używającJsonElement, jeśli podano, lub w przeciwnym razie JsonDocument.JsonNodeserializerOptionsDefaultOptions Jeśli argument jest czymkolwiek innym, jest zaokrąglony przez kod JSON, serializując obiekt jako JSON, a następnie deserializując go do oczekiwanego typu.

Ogólnie rzecz biorąc, dane dostarczane za pośrednictwem AIFunctionArgumentssłownika "s" są dostarczane z usługi sztucznej inteligencji i powinny być traktowane jako niezaufane i niezaufane. Aby dostarczyć zweryfikowane i zaufane dane do wywołania methodmetody , rozważ wskazanie method metody wystąpienia w wystąpieniu skonfigurowanym do przechowywania odpowiedniego stanu. Parametr IServiceProvider może również służyć do rozpoznawania usług z kontenera iniekcji zależności.

Wartości zwracane są serializowane do JsonElement użycia serializerOptions , jeśli podano, lub w innym przypadku przy użyciu metody DefaultOptions. Jednak zwracane wartości, których zadeklarowany typ to AIContent, typ pochodny lub dowolny typ AIContentprzypisywany z IEnumerable<T> nie są serializowane; są zwracane as-is w celu ułatwienia wyspecjalizowanej obsługi.

Schemat JSON pochodzi również z typu zwracanego metody i uwidacznianego za pośrednictwem metody ReturnJsonSchema. W przypadku metod zwracanych Voidprzez metodę , Tasklub ValueTasknie jest generowany żaden schemat zwracany. W przypadku metod zwracanych Task<TResult> lub ValueTask<TResult>schemat pochodzi z niezapisanego typu wyniku.

Dotyczy

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

Źródło:
AIFunctionFactory.cs

AIFunction Tworzy wystąpienie metody określonej za pośrednictwem MethodInfo wystąpienia i opcjonalnego obiektu docelowego, jeśli metoda jest metodą wystąpienia.

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

Parametry

method
MethodInfo

Metoda, która ma być reprezentowana za pośrednictwem utworzonego AIFunctionelementu .

target
Object

Obiekt docelowy method obiektu , jeśli reprezentuje metodę wystąpienia. Powinno to być null , jeśli i tylko wtedy, gdy method jest metodą statyczną.

name
String

Nazwa, która ma być używana dla elementu AIFunction. Jeśli nullnazwa będzie pochodzić z dowolnego elementu w AIFunctionNameAttributedniu , a następnie z dowolnego methodDisplayNameAttribute w methoddniu , jeśli jest dostępna, lub innego z nazwy method.

description
String

Opis do użycia dla elementu AIFunction. Jeśli nullwartość , opis będzie pochodzić z dowolnego DescriptionAttribute elementu w parametrze method, jeśli jest dostępny.

serializerOptions
JsonSerializerOptions

Służy JsonSerializerOptions do marshalingu parametrów funkcji i zwracanej wartości.

Zwraca

AIFunction Utworzony do wywoływania methodelementu .

Wyjątki

method reprezentuje metodę wystąpienia, ale target ma wartość null.

method zawiera parametr bez nazwy parametru.

Parametr do method lub jego zwracany typ nie można serializować.

Uwagi

Wszystkie parametry do method są pozyskiwane ze AIFunctionArgumentssłownika par klucz/wartość i są reprezentowane w schemacie JSON dla funkcji, jak uwidocznione w zwracanych AIFunctionJsonSchemaparametrach . Istnieje kilka wyjątków od tego:

Wszystkie inne typy parametrów są powiązane ze słownika przekazanego AIFunctionArguments do InvokeAsync(AIFunctionArguments, CancellationToken) i są uwzględniane w wygenerowanym schemacie JSON.

Marshaling parametrów ze AIFunctionArguments słownika zezwala na przekazywanie wartości do methodwywołania bezpośrednio, jeśli obiekt jest już zgodnym typem. W przeciwnym razie, jeśli argument jest argumentem , lub , jest deserializowany do typu parametru, używającJsonElement, jeśli podano, lub w przeciwnym razie JsonDocument.JsonNodeserializerOptionsDefaultOptions Jeśli argument jest czymkolwiek innym, jest zaokrąglony przez kod JSON, serializując obiekt jako JSON, a następnie deserializując go do oczekiwanego typu.

Ogólnie rzecz biorąc, dane dostarczane za pośrednictwem AIFunctionArgumentssłownika "s" są dostarczane z usługi sztucznej inteligencji i powinny być traktowane jako niezaufane i niezaufane. Aby dostarczyć zweryfikowane i zaufane dane do wywołania methodmetody , rozważ wskazanie method metody wystąpienia w wystąpieniu skonfigurowanym do przechowywania odpowiedniego stanu. Parametr IServiceProvider może również służyć do rozpoznawania usług z kontenera iniekcji zależności.

Wartości zwracane są serializowane do JsonElement użycia serializerOptions , jeśli podano, lub w innym przypadku przy użyciu metody DefaultOptions. Jednak zwracane wartości, których zadeklarowany typ to AIContent, typ pochodny lub dowolny typ AIContentprzypisywany z IEnumerable<T> są zwracane bez serializacji, aby umożliwić wyspecjalizowaną obsługę.

Schemat JSON pochodzi również z typu zwracanego metody i uwidacznianego za pośrednictwem metody ReturnJsonSchema. W przypadku metod zwracanych Voidprzez metodę , Tasklub ValueTasknie jest generowany żaden schemat zwracany. W przypadku metod zwracanych Task<TResult> lub ValueTask<TResult>schemat pochodzi z niezapisanego typu wyniku.

Dotyczy