语言

DistributedCachingChatClient 类

定义

委托聊天客户端,用于缓存响应调用的结果,并将其存储为 JSON。IDistributedCache

public ref class DistributedCachingChatClient : Microsoft::Extensions::AI::CachingChatClient
public class DistributedCachingChatClient : Microsoft.Extensions.AI.CachingChatClient
type DistributedCachingChatClient = class
    inherit CachingChatClient
Public Class DistributedCachingChatClient
Inherits CachingChatClient
继承
DistributedCachingChatClient

注解

将 DistributedCachingChatClient JSON 序列化用作存储缓存数据的一部分。 不保证聊天客户端管道中其他任何对象使用ChatMessageChatOptionsChatResponseChatResponseUpdate的对象模型将通过 JSON 序列化往返,且完全保真。 例如, RawRepresentation 将被忽略,并且 Object 值 AdditionalProperties 将反序列化, JsonElement 而不是原始类型。 通常,使用 DistributedCachingChatClient 代码应仅依赖于访问可以通过 JSON 序列化和反序列化保留足够好的数据。

提供的实现 IChatClient 是线程安全的并发使用,只要采用 IDistributedCache 的同样线程安全供并发使用。

构造函数

名称 说明
DistributedCachingChatClient(IChatClient, IDistributedCache)

初始化 DistributedCachingChatClient 类的新实例。

属性

名称 说明
CacheKeyAdditionalValues

获取或设置用于通知用于存储状态的缓存密钥的其他值。

CoalesceStreamingUpdates

获取或设置一个值,该值指示是否合并流式处理更新。

(继承自 CachingChatClient)
InnerClient

获取内部 IChatClient。

(继承自 DelegatingChatClient)
JsonSerializerOptions

获取或设置序列化缓存数据时要使用的 JSON 序列化选项。

方法

名称 说明
Dispose()

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

(继承自 DelegatingChatClient)
Dispose(Boolean)

提供用于释放非托管资源的机制。

(继承自 DelegatingChatClient)
EnableCaching(IEnumerable<ChatMessage>, ChatOptions)

确定缓存是否应与指定的请求一起使用。

(继承自 CachingChatClient)
GetCacheKey(IEnumerable<ChatMessage>, ChatOptions, ReadOnlySpan<Object>)

计算指定值的缓存键。

GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)

委托聊天客户端,用于缓存响应调用的结果,并将其存储为 JSON。IDistributedCache

(继承自 CachingChatClient)
GetService(Type, Object)

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

(继承自 DelegatingChatClient)
GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)

委托聊天客户端,用于缓存响应调用的结果,并将其存储为 JSON。IDistributedCache

(继承自 CachingChatClient)
ReadCacheAsync(String, CancellationToken)

返回以前缓存 ChatResponse的(如果可用)。 当有调用 GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)时,将使用此值。

ReadCacheStreamingAsync(String, CancellationToken)

返回以前缓存的值列表 ChatResponseUpdate (如果可用)。 当有调用 GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)时,将使用此值。

WriteCacheAsync(String, ChatResponse, CancellationToken)

将 a ChatResponse 存储在基础缓存中。 当有调用 GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)时,将使用此值。

WriteCacheStreamingAsync(String, IReadOnlyList<ChatResponseUpdate>, CancellationToken)

将值列表 ChatResponseUpdate 存储在基础缓存中。 当有调用 GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, 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)

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

适用于