語言

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 序列化作為快取資料儲存的一部分。 不保證 、 ChatOptionsChatResponseChatResponseUpdate或聊天客戶端管線中其他物件所使用的ChatMessage物件模型,能夠完整地完成 JSON 序列化。 例如,將 RawRepresentation 被忽略, Object 且 中的 AdditionalProperties 值會反序列化為 , JsonElement 而非原始型態。 一般來說,程式碼 DistributedCachingChatClient 使用應該只依賴能透過 JSON 序列化和反序列化來妥善保存的資料。

所提供的實 IChatClient 作對並行使用是執行緒安全的,只要所用 IDistributedCache 的執行緒同樣適用於並行使用。

建構函式

名稱 Description
DistributedCachingChatClient(IChatClient, IDistributedCache)

初始化 DistributedCachingChatClient 類別的新執行個體。

屬性

名稱 Description
CacheKeyAdditionalValues

取得或設定額外值,用以通知用於儲存狀態的快取金鑰。

CoalesceStreamingUpdates

取得或設定一個值,指示串流更新是否被整合。

(繼承來源 CachingChatClient)
InnerClient

得到內層 IChatClient

(繼承來源 DelegatingChatClient)
JsonSerializerOptions

取得或設定 JSON 序列化選項,用於序列化快取資料。

方法

名稱 Description
Dispose()

執行與釋放、釋放或重設非受控資源相關聯的應用程式定義工作。

(繼承來源 DelegatingChatClient)
Dispose(Boolean)

提供釋放 Unmanaged 資源的機制。

(繼承來源 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),會使用此方法。

擴充方法

名稱 Description
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)

發送用戶聊天簡訊並串流回應訊息。

適用於