ChatClientBuilder.Use メソッド

定義

中間チャット クライアントのファクトリをチャット クライアント パイプラインに追加します。

オーバーロード

名前 説明
Use(Func<IChatClient,IChatClient>)

中間チャット クライアントのファクトリをチャット クライアント パイプラインに追加します。

Use(Func<IChatClient,IServiceProvider,IChatClient>)

中間チャット クライアントのファクトリをチャット クライアント パイプラインに追加します。

Use(Func<IEnumerable<ChatMessage>,ChatOptions,Func<IEnumerable<ChatMessage>,ChatOptions,CancellationToken,Task>,CancellationToken,Task>)

GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)の両方の実装を提供するデリゲートに基づいて、匿名の委任チャット クライアントをチャット クライアント パイプラインに追加します。

Use(Func<IEnumerable<ChatMessage>,ChatOptions,IChatClient,CancellationToken, Task<ChatResponse>>, Func<IEnumerable<ChatMessage>,ChatOptions, IChatClient,CancellationToken,IAsyncEnumerable<ChatResponseUpdate>>)

GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)の両方の実装を提供するデリゲートに基づいて、匿名の委任チャット クライアントをチャット クライアント パイプラインに追加します。

Use(Func<IChatClient,IChatClient>)

ソース:
ChatClientBuilder.cs

中間チャット クライアントのファクトリをチャット クライアント パイプラインに追加します。

public:
 Microsoft::Extensions::AI::ChatClientBuilder ^ Use(Func<Microsoft::Extensions::AI::IChatClient ^, Microsoft::Extensions::AI::IChatClient ^> ^ clientFactory);
public Microsoft.Extensions.AI.ChatClientBuilder Use(Func<Microsoft.Extensions.AI.IChatClient,Microsoft.Extensions.AI.IChatClient> clientFactory);
member this.Use : Func<Microsoft.Extensions.AI.IChatClient, Microsoft.Extensions.AI.IChatClient> -> Microsoft.Extensions.AI.ChatClientBuilder
Public Function Use (clientFactory As Func(Of IChatClient, IChatClient)) As ChatClientBuilder

パラメーター

clientFactory
Func<IChatClient,IChatClient>

クライアント ファクトリ関数。

返品

更新された ChatClientBuilder インスタンス。

例外

clientFactorynullです。

こちらもご覧ください

適用対象

Use(Func<IChatClient,IServiceProvider,IChatClient>)

ソース:
ChatClientBuilder.cs

中間チャット クライアントのファクトリをチャット クライアント パイプラインに追加します。

public:
 Microsoft::Extensions::AI::ChatClientBuilder ^ Use(Func<Microsoft::Extensions::AI::IChatClient ^, IServiceProvider ^, Microsoft::Extensions::AI::IChatClient ^> ^ clientFactory);
public Microsoft.Extensions.AI.ChatClientBuilder Use(Func<Microsoft.Extensions.AI.IChatClient,IServiceProvider,Microsoft.Extensions.AI.IChatClient> clientFactory);
member this.Use : Func<Microsoft.Extensions.AI.IChatClient, IServiceProvider, Microsoft.Extensions.AI.IChatClient> -> Microsoft.Extensions.AI.ChatClientBuilder
Public Function Use (clientFactory As Func(Of IChatClient, IServiceProvider, IChatClient)) As ChatClientBuilder

パラメーター

clientFactory
Func<IChatClient,IServiceProvider,IChatClient>

クライアント ファクトリ関数。

返品

更新された ChatClientBuilder インスタンス。

例外

clientFactorynullです。

こちらもご覧ください

適用対象

Use(Func<IEnumerable<ChatMessage>,ChatOptions,Func<IEnumerable<ChatMessage>,ChatOptions,CancellationToken,Task>,CancellationToken,Task>)

ソース:
ChatClientBuilder.cs

GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)の両方の実装を提供するデリゲートに基づいて、匿名の委任チャット クライアントをチャット クライアント パイプラインに追加します。

public:
 Microsoft::Extensions::AI::ChatClientBuilder ^ Use(Func<System::Collections::Generic::IEnumerable<Microsoft::Extensions::AI::ChatMessage ^> ^, Microsoft::Extensions::AI::ChatOptions ^, Func<System::Collections::Generic::IEnumerable<Microsoft::Extensions::AI::ChatMessage ^> ^, Microsoft::Extensions::AI::ChatOptions ^, System::Threading::CancellationToken, System::Threading::Tasks::Task ^> ^, System::Threading::CancellationToken, System::Threading::Tasks::Task ^> ^ sharedFunc);
public Microsoft.Extensions.AI.ChatClientBuilder Use(Func<System.Collections.Generic.IEnumerable<Microsoft.Extensions.AI.ChatMessage>,Microsoft.Extensions.AI.ChatOptions?,Func<System.Collections.Generic.IEnumerable<Microsoft.Extensions.AI.ChatMessage>,Microsoft.Extensions.AI.ChatOptions?,System.Threading.CancellationToken,System.Threading.Tasks.Task>,System.Threading.CancellationToken,System.Threading.Tasks.Task> sharedFunc);
member this.Use : Func<seq<Microsoft.Extensions.AI.ChatMessage>, Microsoft.Extensions.AI.ChatOptions, Func<seq<Microsoft.Extensions.AI.ChatMessage>, Microsoft.Extensions.AI.ChatOptions, System.Threading.CancellationToken, System.Threading.Tasks.Task>, System.Threading.CancellationToken, System.Threading.Tasks.Task> -> Microsoft.Extensions.AI.ChatClientBuilder
Public Function Use (sharedFunc As Func(Of IEnumerable(Of ChatMessage), ChatOptions, Func(Of IEnumerable(Of ChatMessage), ChatOptions, CancellationToken, Task), CancellationToken, Task)) As ChatClientBuilder

パラメーター

sharedFunc
Func<IEnumerable<ChatMessage>,ChatOptions,Func<IEnumerable<ChatMessage>,ChatOptions,CancellationToken,Task>,CancellationToken,Task>

GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)の両方の実装を提供するデリゲート。 このデリゲートは、チャット メッセージの一覧、チャット オプション、内部クライアントの呼び出しを表すデリゲート、およびキャンセル トークンで呼び出されます。 デリゲートは、チャット メッセージ、オプション、キャンセル トークンをパイプラインの次のステージに渡す必要があります。 これは、非ストリーミングとストリーミングの両方のケースを処理します。

返品

更新された ChatClientBuilder インスタンス。

例外

sharedFuncnullです。

注釈

このオーバーロードは、匿名実装が前処理や後処理を提供する必要があるが、内部クライアントから取得される操作の結果と対話する必要がない場合に使用できます。

こちらもご覧ください

適用対象

Use(Func<IEnumerable<ChatMessage>,ChatOptions,IChatClient,CancellationToken, Task<ChatResponse>>, Func<IEnumerable<ChatMessage>,ChatOptions, IChatClient,CancellationToken,IAsyncEnumerable<ChatResponseUpdate>>)

ソース:
ChatClientBuilder.cs

GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)の両方の実装を提供するデリゲートに基づいて、匿名の委任チャット クライアントをチャット クライアント パイプラインに追加します。

public:
 Microsoft::Extensions::AI::ChatClientBuilder ^ Use(Func<System::Collections::Generic::IEnumerable<Microsoft::Extensions::AI::ChatMessage ^> ^, Microsoft::Extensions::AI::ChatOptions ^, Microsoft::Extensions::AI::IChatClient ^, System::Threading::CancellationToken, System::Threading::Tasks::Task<Microsoft::Extensions::AI::ChatResponse ^> ^> ^ getResponseFunc, Func<System::Collections::Generic::IEnumerable<Microsoft::Extensions::AI::ChatMessage ^> ^, Microsoft::Extensions::AI::ChatOptions ^, Microsoft::Extensions::AI::IChatClient ^, System::Threading::CancellationToken, System::Collections::Generic::IAsyncEnumerable<Microsoft::Extensions::AI::ChatResponseUpdate ^> ^> ^ getStreamingResponseFunc);
public Microsoft.Extensions.AI.ChatClientBuilder Use(Func<System.Collections.Generic.IEnumerable<Microsoft.Extensions.AI.ChatMessage>,Microsoft.Extensions.AI.ChatOptions?,Microsoft.Extensions.AI.IChatClient,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.Extensions.AI.ChatResponse>>? getResponseFunc, Func<System.Collections.Generic.IEnumerable<Microsoft.Extensions.AI.ChatMessage>,Microsoft.Extensions.AI.ChatOptions?,Microsoft.Extensions.AI.IChatClient,System.Threading.CancellationToken,System.Collections.Generic.IAsyncEnumerable<Microsoft.Extensions.AI.ChatResponseUpdate>>? getStreamingResponseFunc);
member this.Use : Func<seq<Microsoft.Extensions.AI.ChatMessage>, Microsoft.Extensions.AI.ChatOptions, Microsoft.Extensions.AI.IChatClient, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.Extensions.AI.ChatResponse>> * Func<seq<Microsoft.Extensions.AI.ChatMessage>, Microsoft.Extensions.AI.ChatOptions, Microsoft.Extensions.AI.IChatClient, System.Threading.CancellationToken, System.Collections.Generic.IAsyncEnumerable<Microsoft.Extensions.AI.ChatResponseUpdate>> -> Microsoft.Extensions.AI.ChatClientBuilder
Public Function Use (getResponseFunc As Func(Of IEnumerable(Of ChatMessage), ChatOptions, IChatClient, CancellationToken, Task(Of ChatResponse)), getStreamingResponseFunc As Func(Of IEnumerable(Of ChatMessage), ChatOptions, IChatClient, CancellationToken, IAsyncEnumerable(Of ChatResponseUpdate))) As ChatClientBuilder

パラメーター

getResponseFunc
Func<IEnumerable<ChatMessage>,ChatOptions,IChatClient,CancellationToken,Task<ChatResponse>>

GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)の実装を提供するデリゲート。 null場合、getStreamingResponseFuncは null 以外である必要があり、GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)の実装では実装にgetStreamingResponseFuncが使用されます。

getStreamingResponseFunc
Func<IEnumerable<ChatMessage>,ChatOptions,IChatClient,CancellationToken,IAsyncEnumerable<ChatResponseUpdate>>

GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)の実装を提供するデリゲート。 null場合、getResponseFuncは null 以外である必要があり、GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)の実装では実装にgetResponseFuncが使用されます。

返品

更新された ChatClientBuilder インスタンス。

例外

getResponseFuncgetStreamingResponseFuncの両方がnull

注釈

1 つまたは両方のデリゲートを指定できます。 両方が指定されている場合は、それぞれのメソッドに使用されます。 getResponseFuncGetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)の実装を提供し、 getStreamingResponseFuncGetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)の実装を提供します。 デリゲートの 1 つだけが指定されている場合は、両方のメソッドに使用されます。 つまり、 getResponseFuncgetStreamingResponseFuncなしで提供される場合、 GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken) の実装では、 getResponseFuncによって生成されたバッチ出力で動作することになるため、限られたストリーミングが使用されます。 また、 getStreamingResponseFuncgetResponseFuncなしで提供される場合、 GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken) の実装は、 getStreamingResponseFuncからの更新プログラムを組み合わせることによって実装されます。

こちらもご覧ください

適用対象