aidy.v2.plugin.semantic_cache
Messages
message SemanticCacheLog
请求日志中的 semantic cache 扩展字段。
message SemanticCacheLog { // 缓存处理状态,例如 hit / miss / bypass。 string status = 1; // bypass 时的原因,例如 embedding_empty / embedding_failed / search_failed / store_failed。 string bypass_reason = 2; // 命中时缓存条目的 ID。 string cache_key = 3; // 命中时向量检索返回的距离。 double distance = 4; // 缓存命名空间 (sc:{tenant}:{route}:{model}:{tools_hash})。 string namespace = 5; // Embedding 服务返回的 token 使用量。 uint32 embedding_tokens = 6; // Embedding 服务调用耗时,单位毫秒。 uint64 embedding_latency_ms = 7; // Redis 向量检索耗时,单位毫秒。 uint64 search_latency_ms = 8; // 失败或异常时的错误信息。 string error = 9;}message SemanticCachePluginConfig
route 级语义缓存配置。
message SemanticCachePluginConfig { // 缓存存活时间,单位秒。 uint32 cache_ttl_seconds = 1; // 相似度距离阈值。 float similarity_threshold = 2; // 距离度量方式,当前仅支持 cosine。 string distance_metric = 3; // 从末尾回看多少条匹配消息参与 embedding。 uint32 message_countback = 10; // 哪些 role 参与 embedding。 repeated string include_roles = 11; // 是否将 instructions 纳入 embedding 文本。 bool include_instructions = 12; // 是否将 tools 签名纳入命名空间隔离。 bool include_tools_signature = 13; // 是否按请求 model 隔离命名空间。 bool isolate_by_model = 14;}