语言

RoutingChatClient 类

定义

提供用于选择并调用另一个 IChatClient 聊天客户端的模板。

public ref class RoutingChatClient abstract : IDisposable, Microsoft::Extensions::AI::IChatClient
[System.Diagnostics.CodeAnalysis.Experimental("MEAI001", UrlFormat="https://aka.ms/dotnet-extensions-warnings/{0}")]
public abstract class RoutingChatClient : IDisposable, Microsoft.Extensions.AI.IChatClient
public abstract class RoutingChatClient : IDisposable, Microsoft.Extensions.AI.IChatClient
[<System.Diagnostics.CodeAnalysis.Experimental("MEAI001", UrlFormat="https://aka.ms/dotnet-extensions-warnings/{0}")>]
type RoutingChatClient = class
    interface IChatClient
    interface IDisposable
type RoutingChatClient = class
    interface IChatClient
    interface IDisposable
Public MustInherit Class RoutingChatClient
Implements IChatClient, IDisposable
继承
RoutingChatClient
派生
属性
实现

注解

派生类实现 SelectClientAsync(RoutingContext, CancellationToken) 为每个请求提供一个客户端。 所选客户端调用一次,其响应或失败将传播到调用方。 确切的客户端实例表示所选路由标识。 调用方提供的选项可能因调用而异,但它们是临时的,并且不参与该标识。 当配置需要不同的路由标识时,应用程序可以使用不同的配置的客户端包装器,而自定义策略可以维护单独的特定于应用程序的分组密钥。

ChatOptions 保留请求的选项,以及所选客户端接收的选项。 属于特定路由的选项在客户端上配置,通常使用 ConfigureOptionsChatClient 包装器,该包装器克隆请求选项,并在它们上面应用路由自己的值。

构造函数

名称 说明
RoutingChatClient()

提供用于选择并调用另一个 IChatClient 聊天客户端的模板。

方法

名称 说明
Create(Func<RoutingContext,CancellationToken,ValueTask<IChatClient>>)

创建一个路由客户端,该客户端为每个请求选择一个客户端。

Dispose()

执行与释放、释放或重置非托管资源关联的应用程序定义任务。

Dispose(Boolean)

提供一种机制,用于释放派生实例拥有的资源。

GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)

发送聊天消息并返回响应。

GetService(Type, Object)

IChatClient请求指定类型的serviceType对象。

GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)

发送聊天消息并流式传输响应。

SelectClientAsync(RoutingContext, CancellationToken)

选择要为请求调用的客户端。

扩展方法

名称 说明
AsBuilder(IChatClient)

创建一个新的 ChatClientBuilder 使用 innerClient 作为其内部客户端。

GetRequiredService(IChatClient, Type, Object)

IChatClient请求指定类型的serviceType对象,如果一个对象不可用,则会引发异常。

GetRequiredService<TService>(IChatClient, Object)

IChatClient询问类型的TService对象,如果对象不可用,则会引发异常。

GetResponseAsync(IChatClient, ChatMessage, ChatOptions, CancellationToken)

发送聊天消息并返回响应消息。

GetResponseAsync(IChatClient, String, ChatOptions, CancellationToken)

发送用户聊天短信并返回响应消息。

GetResponseAsync<T>(IChatClient, ChatMessage, ChatOptions, Nullable<Boolean>, CancellationToken)

发送聊天消息,请求与类型 T匹配的响应。

GetResponseAsync<T>(IChatClient, ChatMessage, JsonSerializerOptions, ChatOptions, Nullable<Boolean>, CancellationToken)

发送聊天消息,请求与类型 T匹配的响应。

GetResponseAsync<T>(IChatClient, IEnumerable<ChatMessage>, ChatOptions, Nullable<Boolean>, CancellationToken)

发送聊天消息,请求与类型 T匹配的响应。

GetResponseAsync<T>(IChatClient, IEnumerable<ChatMessage>, JsonSerializerOptions, ChatOptions, Nullable<Boolean>, CancellationToken)

发送聊天消息,请求与类型 T匹配的响应。

GetResponseAsync<T>(IChatClient, String, ChatOptions, Nullable<Boolean>, CancellationToken)

发送用户聊天短信,请求与类型 T匹配的响应。

GetResponseAsync<T>(IChatClient, String, JsonSerializerOptions, ChatOptions, Nullable<Boolean>, CancellationToken)

发送用户聊天短信,请求与类型 T匹配的响应。

GetService<TService>(IChatClient, Object)

IChatClient请求类型的对象TService

GetStreamingResponseAsync(IChatClient, ChatMessage, ChatOptions, CancellationToken)

发送聊天消息并流式传输响应消息。

GetStreamingResponseAsync(IChatClient, String, ChatOptions, CancellationToken)

发送用户聊天短信并流式传输响应消息。

适用于