語言

ChatClientBuilder.Use 方法

定義

在聊天客戶端流程中新增一個中間聊天客戶端的工廠。

多載

名稱 Description
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 後的實例。

例外狀況

clientFactory 是 null。

另請參閱

適用於

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 後的實例。

例外狀況

clientFactory 是 null。

另請參閱

適用於

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 後的實例。

例外狀況

sharedFunc 是 null。

備註

當匿名實作需要提供預處理和/或後處理,但不需要與操作結果互動時,這種過載會被用於內部客戶端。

另請參閱

適用於

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 必須非空,且 的 GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken) 實作將用於 getStreamingResponseFunc 實作。

傳回

更新 ChatClientBuilder 後的實例。

例外狀況

兩者皆getResponseFuncgetStreamingResponseFunc為null。

備註

可派遣一名或兩名代表。 若兩者皆提供,則分別用於各自方法: getResponseFunc 將提供 的實作 GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken),且 getStreamingResponseFunc 的實作 GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)。 若僅提供一名代表,則該代表將同時用於兩種方法。 這表示若 getResponseFunc 未包含 getStreamingResponseFunc,則 的 GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken) 實作將採用有限串流,因為它將以 所產生 getResponseFunc的批次輸出運作。 若 getStreamingResponseFunc 未 getResponseFunc包含 ,則 的 GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken) 實作將由 的更新 getStreamingResponseFunc合併而成。

另請參閱

適用於