Documentation
¶
Overview ¶
Package session 定义会话历史存储的契约与工厂,不含具体后端实现。 历史织入由 agent 运行时自动完成(模型无感知)——该不该带历史不是模型 的决策,是流程保证。后端(inmemory/file/redis/…)在 impl/session/* 下实现 并 init 自注册,消费方只经 New 工厂拿 Store,不直接构造具体后端。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Register ¶
Register 注册存储类型(inmemory/file/redis/自定义):实现方 init 自注册, 空导入(或经 agent-kit/std)即可在配置里以 store: <type> 引用。
func RegisterRetriever ¶
func RegisterRetriever(name string, f RetrieverFactory)
RegisterRetriever 注册检索策略(bigram/向量/rerank/自定义):实现方 init 自注册,空导入即可在配置里以 retriever: <name> 引用。
Types ¶
type FullLoader ¶
type FullLoader interface {
LoadAll(ctx context.Context, sessionID string) ([]*schema.Message, error)
}
FullLoader 是可选扩展:返回不裁剪的全量历史。实现它的后端可享受 滚动摘要持久化与会话内相关性召回;内置 inmemory/file/redis 均已实现。
type Retriever ¶
type Retriever interface {
Retrieve(ctx context.Context, history []*schema.Message, input string, topK int) []string
}
Retriever 是窗外会话召回的检索策略契约:从历史消息中找出与本轮 输入相关的片段。查询构造(要不要扩展/改写输入)也是实现的职责。
这是 Ring 1 扩展点:检索是"同一契约、多种实现、坏了只降质量"的 纯函数,语义召回(向量/rerank)注册后即可在配置里以名字引用; 织入视图的重建(摘要/锚定/窗口)则是 Ring 0 不变量,不在此开放。 内置词法保底 bigram 在 impl/session/bigram。
type RetrieverFactory ¶
RetrieverFactory 按配置构造检索器。