ChatClientBuilder.Use Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
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 быть не равно 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 экземпляр.
Исключения
Оба getResponseFunc и getStreamingResponseFunc есть 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.