AIFunctionFactory.Create 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
| Name | Description |
|---|---|
| Create(Delegate, AIFunctionFactoryOptions) |
대리자를 AIFunction 통해 지정된 메서드에 대한 인스턴스를 만듭니다. |
| Create(MethodInfo, Func<AIFunctionArguments,Object>, AIFunctionFactoryOptions) |
AIFunction 호출될 때마다 인스턴스 메서드 및 Func<T,TResult> 수신기 개체의 인스턴스를 생성하기 위해 지정된 MethodInfo 메서드에 대한 인스턴스를 AIFunction 만듭니다. |
| Create(MethodInfo, Object, AIFunctionFactoryOptions) |
메서드가 AIFunction 인스턴스 메서드인 경우 인스턴스 및 선택적 대상 개체를 통해 MethodInfo 지정된 메서드에 대한 인스턴스를 만듭니다. |
| Create(Delegate, String, String, JsonSerializerOptions) |
대리자를 AIFunction 통해 지정된 메서드에 대한 인스턴스를 만듭니다. |
| Create(MethodInfo, Object, String, String, JsonSerializerOptions) |
메서드가 AIFunction 인스턴스 메서드인 경우 인스턴스 및 선택적 대상 개체를 통해 MethodInfo 지정된 메서드에 대한 인스턴스를 만듭니다. |
Create(Delegate, AIFunctionFactoryOptions)
- Source:
- AIFunctionFactory.cs
대리자를 AIFunction 통해 지정된 메서드에 대한 인스턴스를 만듭니다.
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
매개 변수
- method
- Delegate
만든 AIFunction메서드를 통해 나타낼 메서드입니다.
- options
- AIFunctionFactoryOptions
에서 유추된 method기본값을 재정의하는 데 사용할 메타데이터입니다.
반품
호출을 위해 만든 AIFunction 것입니다 method.
예외
method은 null입니다.
serialize할 method 수 없는 매개 변수입니다.
설명
기본적으로 키/값 쌍의 사전에서 원본으로 method 제공되는 매개 변수는 반환AIFunction된 '에 JsonSchema노출되는 함수의 JSON 스키마에 AIFunctionArguments표시됩니다. 다음과 같은 몇 가지 예외가 있습니다.
- CancellationToken매개 변수는 's CancellationToken 매개 변수를 CancellationToken 통해 InvokeAsync(AIFunctionArguments, CancellationToken)호출에 전달된 매개 변수에 자동으로 바인딩됩니다. 매개 변수는 생성된 JSON 스키마에 포함되지 않습니다. 매개 변수의 동작을 재정의 CancellationToken 할 수 없습니다.
- 기본적으로 IServiceProvider 매개 변수는 속성에서 Services 바인딩되며 JSON 스키마에 포함되지 않습니다. 매개 변수가 선택 사항인 경우 기본값이 제공되거나 허용 Services 됩니다
null. 그렇지 않으면 비null이어야 합니다. 그렇지 않으면 Services 매개 변수의 필수 특성으로 인해 호출이 실패하고 예외가 발생합니다. 매개 변수 처리는 .를 통해 ConfigureParameterBinding재정의 IServiceProvider 할 수 있습니다. - 기본적으로 AIFunctionArguments 매개 변수는 전달된 InvokeAsync(AIFunctionArguments, CancellationToken) 인스턴스에 AIFunctionArguments 직접 바인딩되며 JSON 스키마에 포함되지 않습니다.
AIFunctionArguments 전달된 InvokeAsync(AIFunctionArguments, CancellationToken) 인스턴스가 있는 경우 구현은 AIFunction
null형식의 AIFunctionArguments 매개 변수가 선택적이든 아니든 항상 충족될 수 있도록 빈 인스턴스를 제조합니다. 매개 변수 처리는 .를 통해 ConfigureParameterBinding재정의 AIFunctionArguments 할 수 있습니다.
options 재정의할 수 있습니다. 모든 매개 변수에 대해 대리자는 매개 변수를 생성된 스키마에 포함할지 여부와 선택적 처리(기본적으로 사전에 포함되지 AIFunctionArguments 않은 필수 매개 변수로 인해 예외가 throw됨)를 포함하여 해당 값을 바인딩하는 방법을 선택할 수 있습니다. 느슨하게 형식화된 추가 컨텍스트 정보는 '의 Context 사전을 통해 AIFunctionArguments전달 InvokeAsync(AIFunctionArguments, CancellationToken) 될 수 있습니다. 기본 바인딩은 이 컬렉션을 무시하지만, 제공된 ConfigureParameterBinding 사용자 지정 바인딩은 이 데이터의 인수를 원본으로 선택할 수 있습니다.사전에서 AIFunctionArguments 매개 변수를 기본 마샬링하면 개체가 이미 호환되는 형식인 경우 값을 '호출에 직접 전달할 method수 있습니다. 그렇지 않으면 인수가 JsonElement매개 JsonDocumentJsonNode변수 형식으로 역직렬화되거나, 제공된 경우 활용 SerializerOptions 되거나, 그렇지 않으면 .를 사용하여 DefaultOptions역직렬화됩니다. 인수가 다른 경우 JSON을 통해 라운드트립되고 개체를 JSON으로 직렬화한 다음 예상 형식으로 역직렬화합니다.
일반적으로 사전을 AIFunctionArguments통해 제공된 데이터는 AI 서비스에서 제공되므로 검증되지 않고 신뢰할 수 없는 것으로 간주되어야 합니다. 유효성이 검사되고 신뢰할 수 있는 데이터를 호출 method에 제공하려면 적절한 상태를 유지하도록 구성된 인스턴스의 인스턴스 메서드를 가리키는 것이 좋습니다 method . 매개 변수를 IServiceProvider 사용하여 종속성 주입 컨테이너에서 서비스를 확인할 수도 있습니다.
기본적으로 반환 값은 제공된 경우 's SerializerOptions 를 사용options하거나 다른 값을 사용하여 DefaultOptions직렬화 JsonElement 됩니다. 그러나 선언된 형식AIContent, 파생 형식 AIContent또는 할당할 수 있는 IEnumerable<T> 형식(예: AIContent[]List<AIContent>)이 특수하고 직렬화되지 않은 값을 반환합니다. 생성된 함수는 호출자(예: IChatClient)가 형식 테스트를 수행하고 특수 처리를 구현할 수 있도록 원래 인스턴스를 직접 반환합니다. 제공된 경우 MarshalResult 해당 대리자가 대신 동작을 제어합니다.
매개 변수 스키마 외에도 JSON 스키마는 메서드의 반환 형식에서 파생되고 반환 AIFunction된 '를 ReturnJsonSchema통해 노출됩니다. 반환 스키VoidTask마를 반환하거나 ValueTask반환 스키마를 생성하지 않는 메서드의 경우(속성은 null). 반환하거나 ValueTask<TResult>메서드의 Task<TResult> 경우 스키마는 래핑되지 않은 결과 형식에서 파생됩니다. 반환 스키마 생성은 통해 ExcludeResultSchema제외할 수 있으며 해당 생성은 '의 JsonSchemaCreateOptions제어를 받습니다options.
적용 대상
Create(MethodInfo, Func<AIFunctionArguments,Object>, AIFunctionFactoryOptions)
- Source:
- AIFunctionFactory.cs
AIFunction 호출될 때마다 인스턴스 메서드 및 Func<T,TResult> 수신기 개체의 인스턴스를 생성하기 위해 지정된 MethodInfo 메서드에 대한 인스턴스를 AIFunction 만듭니다.
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
매개 변수
- method
- MethodInfo
만든 AIFunction인스턴스를 통해 나타낼 인스턴스 메서드입니다.
- createInstanceFunc
- Func<AIFunctionArguments,Object>
각 함수 호출에서 인스턴스 메서드 method 를 호출할 형식의 인스턴스를 만드는 데 사용되는 콜백입니다. 반환된 인스턴스가 IAsyncDisposable 거나 IDisposable호출을 완료한 후 method 삭제됩니다.
- options
- AIFunctionFactoryOptions
에서 유추된 method기본값을 재정의하는 데 사용할 메타데이터입니다.
반품
호출을 위해 만든 AIFunction 것입니다 method.
예외
createInstanceFunc은 null입니다.
method 에는 매개 변수 이름이 없는 매개 변수가 포함되어 있습니다.
또는 해당 반환 형식에 대한 method 매개 변수를 serialize할 수 없습니다.
설명
반환 값은 'sSerializerOptions를 JsonElement 사용하도록 optionsserialize됩니다. 아직 예상 형식이 아닌 인수는 JSON 및 'sSerializerOptions를 사용하여 options예상 형식으로 마샬링됩니다. 인수가 <
기본적으로 키/값 쌍의 사전에서 원본으로 method 제공되는 매개 변수는 반환AIFunction된 '에 JsonSchema노출되는 함수의 JSON 스키마에 AIFunctionArguments표시됩니다. 다음과 같은 몇 가지 예외가 있습니다.
- CancellationToken매개 변수는 's CancellationToken 매개 변수를 CancellationToken 통해 InvokeAsync(AIFunctionArguments, CancellationToken)호출에 전달된 매개 변수에 자동으로 바인딩됩니다. 매개 변수는 생성된 JSON 스키마에 포함되지 않습니다. 매개 변수의 동작을 재정의 CancellationToken 할 수 없습니다.
- 기본적으로 IServiceProvider 매개 변수는 속성에서 Services 바인딩되며 JSON 스키마에 포함되지 않습니다. 매개 변수가 선택 사항인 경우 기본값이 제공되거나 허용 Services 됩니다
null. 그렇지 않으면 비null이어야 합니다. 그렇지 않으면 Services 매개 변수의 필수 특성으로 인해 호출이 실패하고 예외가 발생합니다. 매개 변수 처리는 .를 통해 ConfigureParameterBinding재정의 IServiceProvider 할 수 있습니다. - 기본적으로 AIFunctionArguments 매개 변수는 전달된 InvokeAsync(AIFunctionArguments, CancellationToken) 인스턴스에 AIFunctionArguments 직접 바인딩되며 JSON 스키마에 포함되지 않습니다.
AIFunctionArguments 전달된 InvokeAsync(AIFunctionArguments, CancellationToken) 인스턴스가 있는 경우 구현은 AIFunction
null형식의 AIFunctionArguments 매개 변수가 선택적이든 아니든 항상 충족될 수 있도록 빈 인스턴스를 제조합니다. 매개 변수 처리는 .를 통해 ConfigureParameterBinding재정의 AIFunctionArguments 할 수 있습니다.
options 재정의할 수 있습니다. 모든 매개 변수에 대해 대리자는 매개 변수를 생성된 스키마에 포함할지 여부와 선택적 처리(기본적으로 사전에 포함되지 AIFunctionArguments 않은 필수 매개 변수로 인해 예외가 throw됨)를 포함하여 해당 값을 바인딩하는 방법을 선택할 수 있습니다. 느슨하게 형식화된 추가 컨텍스트 정보는 '의 Context 사전을 통해 AIFunctionArguments전달 InvokeAsync(AIFunctionArguments, CancellationToken) 될 수 있습니다. 기본 바인딩은 이 컬렉션을 무시하지만, 제공된 ConfigureParameterBinding 사용자 지정 바인딩은 이 데이터의 인수를 원본으로 선택할 수 있습니다.사전에서 AIFunctionArguments 매개 변수를 기본 마샬링하면 개체가 이미 호환되는 형식인 경우 값을 '호출에 직접 전달할 method수 있습니다. 그렇지 않으면 인수가 JsonElement매개 JsonDocumentJsonNode변수 형식으로 역직렬화되거나, 제공된 경우 활용 SerializerOptions 되거나, 그렇지 않으면 .를 사용하여 DefaultOptions역직렬화됩니다. 인수가 다른 경우 JSON을 통해 라운드트립되고 개체를 JSON으로 직렬화한 다음 예상 형식으로 역직렬화합니다.
일반적으로 사전을 AIFunctionArguments통해 제공된 데이터는 AI 서비스에서 제공되므로 검증되지 않고 신뢰할 수 없는 것으로 간주되어야 합니다. 호출에 유효성이 검사되고 신뢰할 수 있는 method데이터를 제공하기 위해 각 호출에 대해 생성된 인스턴스는 해당 데이터를 포함할 수 있으므로 인스턴스 데이터로 사용할 수 있습니다 method . 매개 변수를 IServiceProvider 사용하여 종속성 주입 컨테이너에서 서비스를 확인할 수도 있습니다.
기본적으로 반환 값은 제공된 경우 's SerializerOptions 를 사용options하거나 다른 값을 사용하여 DefaultOptions직렬화 JsonElement 됩니다. 그러나 선언된 형식, 파생 형식 AIContent또는 할당할 수 있는 IEnumerable<T> 모든 형식이 AIContentserialization 없이 직접 반환되는 값을 반환합니다. 반환 값의 처리는 .를 통해 MarshalResult재정의할 수 있습니다.
매개 변수 스키마 외에도 JSON 스키마는 메서드의 반환 형식에서 파생되고 반환 AIFunction된 '를 ReturnJsonSchema통해 노출됩니다. 반환 스키VoidTask마를 반환하거나 ValueTask반환 스키마를 생성하지 않는 메서드의 경우(속성은 null). 반환하거나 ValueTask<TResult>메서드의 Task<TResult> 경우 스키마는 래핑되지 않은 결과 형식에서 파생됩니다. 반환 스키마 생성은 통해 ExcludeResultSchema제외할 수 있으며 해당 생성은 '의 JsonSchemaCreateOptions제어를 받습니다options.
적용 대상
Create(MethodInfo, Object, AIFunctionFactoryOptions)
- Source:
- AIFunctionFactory.cs
메서드가 AIFunction 인스턴스 메서드인 경우 인스턴스 및 선택적 대상 개체를 통해 MethodInfo 지정된 메서드에 대한 인스턴스를 만듭니다.
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
매개 변수
- method
- MethodInfo
만든 AIFunction메서드를 통해 나타낼 메서드입니다.
- target
- Object
인스턴스 메서드를 나타내는 경우 대상 method 개체입니다.
정적 메서드인 경우에만 method 사용해야 합니다null.
- options
- AIFunctionFactoryOptions
에서 유추된 method기본값을 재정의하는 데 사용할 메타데이터입니다.
반품
호출을 위해 만든 AIFunction 것입니다 method.
예외
method 는 인스턴스 메서드를 나타내지만 target null입니다.
method 에는 매개 변수 이름이 없는 매개 변수가 포함되어 있습니다.
또는 해당 반환 형식에 대한 method 매개 변수를 serialize할 수 없습니다.
설명
기본적으로 키/값 쌍의 사전에서 원본으로 method 제공되는 매개 변수는 반환AIFunction된 '에 JsonSchema노출되는 함수의 JSON 스키마에 AIFunctionArguments표시됩니다. 다음과 같은 몇 가지 예외가 있습니다.
- CancellationToken매개 변수는 's CancellationToken 매개 변수를 CancellationToken 통해 InvokeAsync(AIFunctionArguments, CancellationToken)호출에 전달된 매개 변수에 자동으로 바인딩됩니다. 매개 변수는 생성된 JSON 스키마에 포함되지 않습니다. 매개 변수의 동작을 재정의 CancellationToken 할 수 없습니다.
- 기본적으로 IServiceProvider 매개 변수는 속성에서 Services 바인딩되며 JSON 스키마에 포함되지 않습니다. 매개 변수가 선택 사항인 경우 기본값이 제공되거나 허용 Services 됩니다
null. 그렇지 않으면 비null이어야 합니다. 그렇지 않으면 Services 매개 변수의 필수 특성으로 인해 호출이 실패하고 예외가 발생합니다. 매개 변수 처리는 .를 통해 ConfigureParameterBinding재정의 IServiceProvider 할 수 있습니다. - 기본적으로 AIFunctionArguments 매개 변수는 전달된 InvokeAsync(AIFunctionArguments, CancellationToken) 인스턴스에 AIFunctionArguments 직접 바인딩되며 JSON 스키마에 포함되지 않습니다.
AIFunctionArguments 전달된 InvokeAsync(AIFunctionArguments, CancellationToken) 인스턴스가 있는 경우 구현은 AIFunction
null형식의 AIFunctionArguments 매개 변수가 선택적이든 아니든 항상 충족될 수 있도록 빈 인스턴스를 제조합니다. 매개 변수 처리는 .를 통해 ConfigureParameterBinding재정의 AIFunctionArguments 할 수 있습니다.
options 재정의할 수 있습니다. 모든 매개 변수에 대해 대리자는 매개 변수를 생성된 스키마에 포함할지 여부와 선택적 처리(기본적으로 사전에 포함되지 AIFunctionArguments 않은 필수 매개 변수로 인해 예외가 throw됨)를 포함하여 해당 값을 바인딩하는 방법을 선택할 수 있습니다. 느슨하게 입력된 InvokeAsync(AIFunctionArguments, CancellationToken) 추가 컨텍스트 정보는 '의 Context 사전을 통해 AIFunctionArguments전달될 수 있습니다. 기본 바인딩은 이 컬렉션을 무시하지만, 제공된 사용자 지정 바인딩은 ConfigureParameterBinding 이 데이터의 인수를 원본으로 선택할 수 있습니다.사전에서 AIFunctionArguments 매개 변수를 기본 마샬링하면 개체가 이미 호환되는 형식인 경우 값을 '호출에 직접 전달할 method수 있습니다. 그렇지 않으면 인수가 JsonElement매개 JsonDocumentJsonNode변수 형식으로 역직렬화되거나, 제공된 경우 활용 SerializerOptions 되거나, 그렇지 않으면 .를 사용하여 DefaultOptions역직렬화됩니다. 인수가 다른 경우 JSON을 통해 라운드트립되고 개체를 JSON으로 직렬화한 다음 예상 형식으로 역직렬화합니다.
일반적으로 사전을 AIFunctionArguments통해 제공된 데이터는 AI 서비스에서 제공되므로 검증되지 않고 신뢰할 수 없는 것으로 간주되어야 합니다. 유효성이 검사되고 신뢰할 수 있는 데이터를 호출 method에 제공하려면 적절한 상태를 유지하도록 구성된 인스턴스의 인스턴스 메서드를 가리키는 것이 좋습니다 method . 매개 변수를 IServiceProvider 사용하여 종속성 주입 컨테이너에서 서비스를 확인할 수도 있습니다.
기본적으로 반환 값은 제공된 경우 's SerializerOptions 를 사용options하거나 다른 값을 사용하여 DefaultOptions직렬화 JsonElement 됩니다. 그러나 선언된 형식, 파생 형식 또는 할당할 수 있는 IEnumerable<T> 형식의 AIContent반환 값은 AIContentserialize되지 않고 대신 직접 반환됩니다. 반환 값의 처리는 .를 통해 MarshalResult재정의할 수 있습니다.
매개 변수 스키마 외에도 JSON 스키마는 메서드의 반환 형식에서 파생되고 반환 AIFunction된 '를 ReturnJsonSchema통해 노출됩니다. 반환 스키VoidTask마를 반환하거나 ValueTask반환 스키마를 생성하지 않는 메서드의 경우(속성은 null). 반환하거나 ValueTask<TResult>메서드의 Task<TResult> 경우 스키마는 래핑되지 않은 결과 형식에서 파생됩니다. 반환 스키마 생성은 통해 ExcludeResultSchema제외할 수 있으며 해당 생성은 '의 JsonSchemaCreateOptions제어를 받습니다options.
적용 대상
Create(Delegate, String, String, JsonSerializerOptions)
- Source:
- AIFunctionFactory.cs
대리자를 AIFunction 통해 지정된 메서드에 대한 인스턴스를 만듭니다.
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
매개 변수
- method
- Delegate
만든 AIFunction메서드를 통해 나타낼 메서드입니다.
- name
- String
에 사용할 이름입니다 AIFunction. 이 경우 null이름은 on, 사용 가능한 경우 또는 이름에서 methodDisplayNameAttributemethod파생됩니다.
- description
- String
에 사용할 설명입니다 AIFunction. 이 경우 null설명은 사용 가능한 경우 on DescriptionAttributemethod에서 파생됩니다.
- serializerOptions
- JsonSerializerOptions
JsonSerializerOptions 함수 매개 변수 및 반환 값을 마샬링하는 데 사용됩니다.
반품
호출을 위해 만든 AIFunction 것입니다 method.
예외
method은 null입니다.
serialize할 method 수 없는 매개 변수입니다.
설명
키/값 쌍의 '의 사전에서 AIFunctionArguments원본으로 제공되는 모든 매개 변수 method 는 반환AIFunction된 'JsonSchema에 노출되는 것처럼 함수의 JSON 스키마에 표시됩니다. 다음과 같은 몇 가지 예외가 있습니다.
- CancellationToken매개 변수는 's CancellationToken 매개 변수를 CancellationToken 통해 InvokeAsync(AIFunctionArguments, CancellationToken)호출에 전달된 매개 변수에 자동으로 바인딩됩니다. 매개 변수는 생성된 JSON 스키마에 포함되지 않습니다.
- 기본적으로 IServiceProvider 매개 변수는 속성에서 Services 바인딩되며 JSON 스키마에 포함되지 않습니다. 매개 변수가 선택 사항인 경우 기본값이 제공되거나 허용 Services 됩니다
null. 그렇지 않으면 비null이어야 합니다. 그렇지 않으면 Services 매개 변수의 필수 특성으로 인해 호출이 실패하고 예외가 발생합니다. - 기본적으로 AIFunctionArguments 매개 변수는 전달된 InvokeAsync(AIFunctionArguments, CancellationToken) 인스턴스에 AIFunctionArguments 직접 바인딩되며 JSON 스키마에 포함되지 않습니다.
AIFunctionArguments 전달된 InvokeAsync(AIFunctionArguments, CancellationToken) 인스턴스가 있는 경우 구현은 AIFunction
null형식의 AIFunctionArguments 매개 변수가 선택적이든 아니든 항상 충족될 수 있도록 빈 인스턴스를 제조합니다.
사전에서 AIFunctionArguments 매개 변수를 마샬링하면 개체가 이미 호환되는 형식인 경우 값을 '의 호출에 직접 전달할 method수 있습니다. 그렇지 않으면 인수가 JsonElement매개 JsonDocumentJsonNode변수 형식으로 역직렬화되거나 제공된 DefaultOptions경우 활용 serializerOptions 됩니다. 인수가 다른 경우 JSON을 통해 라운드트립되고 개체를 JSON으로 직렬화한 다음 예상 형식으로 역직렬화합니다.
일반적으로 사전을 AIFunctionArguments통해 제공된 데이터는 AI 서비스에서 제공되므로 검증되지 않고 신뢰할 수 없는 것으로 간주되어야 합니다. 유효성이 검사되고 신뢰할 수 있는 데이터를 호출 method에 제공하려면 적절한 상태를 유지하도록 구성된 인스턴스의 인스턴스 메서드를 가리키는 것이 좋습니다 method . 매개 변수를 IServiceProvider 사용하여 종속성 주입 컨테이너에서 서비스를 확인할 수도 있습니다.
반환 값은 제공된 경우 또는 다른 값을 사용하여 serializerOptionsDefaultOptions직렬화 JsonElement 됩니다. 그러나 선언된 형식AIContent, 파생 형식 또는 할당할 수 있는 IEnumerable<T> 형식이 AIContentserialize되지 않은 반환 값은 특수 처리를 용이하게 하기 위해 as-is 반환됩니다.
또한 JSON 스키마는 메서드의 반환 형식에서 파생되고 ReturnJsonSchema. 반환 스키마 또는 ValueTask반환 스키마를 반환하는 VoidTask메서드의 경우 생성되지 않습니다. 반환하거나 ValueTask<TResult>메서드의 Task<TResult> 경우 스키마는 래핑되지 않은 결과 형식에서 파생됩니다.
적용 대상
Create(MethodInfo, Object, String, String, JsonSerializerOptions)
- Source:
- AIFunctionFactory.cs
메서드가 AIFunction 인스턴스 메서드인 경우 인스턴스 및 선택적 대상 개체를 통해 MethodInfo 지정된 메서드에 대한 인스턴스를 만듭니다.
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
매개 변수
- method
- MethodInfo
만든 AIFunction메서드를 통해 나타낼 메서드입니다.
- target
- Object
인스턴스 메서드를 나타내는 경우 대상 method 개체입니다.
정적 메서드인 경우에만 method 사용해야 합니다null.
- name
- String
에 사용할 이름입니다 AIFunction. 이 경우 null이름은 on, 사용 가능한 경우 또는 이름에서 methodDisplayNameAttributemethod파생됩니다.
- description
- String
에 사용할 설명입니다 AIFunction. 이 경우 null설명은 사용 가능한 경우 on DescriptionAttributemethod에서 파생됩니다.
- serializerOptions
- JsonSerializerOptions
JsonSerializerOptions 함수 매개 변수를 마샬링하고 값을 반환하는 데 사용됩니다.
반품
호출을 위해 만든 AIFunction 것입니다 method.
예외
method 는 인스턴스 메서드를 나타내지만 target null입니다.
method 에는 매개 변수 이름이 없는 매개 변수가 포함되어 있습니다.
또는 해당 반환 형식에 대한 method 매개 변수를 serialize할 수 없습니다.
설명
키/값 쌍의 '의 사전에서 AIFunctionArguments원본으로 제공되는 모든 매개 변수 method 는 반환AIFunction된 'JsonSchema에 노출되는 것처럼 함수의 JSON 스키마에 표시됩니다. 다음과 같은 몇 가지 예외가 있습니다.
- CancellationToken매개 변수는 's CancellationToken 매개 변수를 CancellationToken 통해 InvokeAsync(AIFunctionArguments, CancellationToken)호출에 전달된 매개 변수에 자동으로 바인딩됩니다. 매개 변수는 생성된 JSON 스키마에 포함되지 않습니다.
- 기본적으로 IServiceProvider 매개 변수는 속성에서 Services 바인딩되며 JSON 스키마에 포함되지 않습니다. 매개 변수가 선택 사항인 경우 기본값이 제공되거나 허용 Services 됩니다
null. 그렇지 않으면 비null이어야 합니다. 그렇지 않으면 Services 매개 변수의 필수 특성으로 인해 호출이 실패하고 예외가 발생합니다. - 기본적으로 AIFunctionArguments 매개 변수는 전달된 InvokeAsync(AIFunctionArguments, CancellationToken) 인스턴스에 AIFunctionArguments 직접 바인딩되며 JSON 스키마에 포함되지 않습니다.
AIFunctionArguments 전달된 InvokeAsync(AIFunctionArguments, CancellationToken) 인스턴스가 있는 경우 구현은 AIFunction
null형식의 AIFunctionArguments 매개 변수가 선택적이든 아니든 항상 충족될 수 있도록 빈 인스턴스를 제조합니다.
사전에서 AIFunctionArguments 매개 변수를 마샬링하면 개체가 이미 호환되는 형식인 경우 값을 '의 호출에 직접 전달할 method수 있습니다. 그렇지 않으면 인수가 JsonElement매개 JsonDocumentJsonNode변수 형식으로 역직렬화되거나 제공된 DefaultOptions경우 활용 serializerOptions 됩니다. 인수가 다른 경우 JSON을 통해 라운드트립되고 개체를 JSON으로 직렬화한 다음 예상 형식으로 역직렬화합니다.
일반적으로 사전을 AIFunctionArguments통해 제공된 데이터는 AI 서비스에서 제공되므로 검증되지 않고 신뢰할 수 없는 것으로 간주되어야 합니다. 유효성이 검사되고 신뢰할 수 있는 데이터를 호출 method에 제공하려면 적절한 상태를 유지하도록 구성된 인스턴스의 인스턴스 메서드를 가리키는 것이 좋습니다 method . 매개 변수를 IServiceProvider 사용하여 종속성 주입 컨테이너에서 서비스를 확인할 수도 있습니다.
반환 값은 제공된 경우 또는 다른 값을 사용하여 serializerOptionsDefaultOptions직렬화 JsonElement 됩니다. 그러나 선언된 형식, 파생 형식 또는 할당할 수 있는 IEnumerable<T> 형식의 AIContent반환 값은 AIContentserialization 없이 반환되어 특수 처리를 사용하도록 설정합니다.
또한 JSON 스키마는 메서드의 반환 형식에서 파생되고 ReturnJsonSchema. 반환 스키마 또는 ValueTask반환 스키마를 반환하는 VoidTask메서드의 경우 생성되지 않습니다. 반환하거나 ValueTask<TResult>메서드의 Task<TResult> 경우 스키마는 래핑되지 않은 결과 형식에서 파생됩니다.