AI 与 LLM机器学习Performance 和 Scale 套餐

实时 ML 特征存储

为用户、条目和会话提供带类型的特征,由您的流水线写入,由您的模型在推理时读取,并附带其时效。

种特征类型
3
随每次读取返回
时效
读取多个实体
批量
步骤 1 / 5
定义 schema

一个带类型的特征组。类型错误的写入会被拒绝。

示例会话playing
# 定义 schema
hotkv> FEATURE.CREATE user_features "Signals for scoring" SCHEMA age int64 ctr double country string
OK

使用真实 HotKV 命令和示例回复的动画演示。点击任意步骤即可跳转。 命令和回复保持英文,与您在 HotKV 中输入和看到的完全一致。

问题所在

生产环境中的模型,好坏取决于它在推理时看到的特征。离线数据仓库太慢,无法在每个请求中查询,而普通的键值存储没有 schema,流水线的 bug 把文本写进数值特征时,发现问题的是模型,而不是存储。

HotKV 如何解决

HotKV 中的特征组有带类型的 schema。流式任务写入最新的值,批处理任务用自己的时间戳回填,模型服务器一次调用就能读取一个实体或一整批实体。每次读取都会返回实体最后的更新时间和时效,因此可以发现过期的特征。

逐步演示

逐条命令,看看发生了什么

  1. 01

    定义 schema

    一个带类型的特征组。类型错误的写入会被拒绝。

    FEATURE.CREATE user_features "Signals for scoring" SCHEMA age int64 ctr double country string
  2. 02

    流式写入最新值

    流式任务在事件到达时更新特征。

    FEATURE.SET user_features user:42 ctr 0.051 country DE
  3. 03

    用正确的时间回填

    批处理任务为实体标记的是这些值成立的时间,而不是加载的时间。

    FEATURE.SETAT user_features user:42 1790985600123 age 31
  4. 04

    为一次结账评分

    模型服务器读取该用户的特征,以及更新时间和以毫秒计的时效。

    FEATURE.GET user_features user:42
  5. 05

    批量读取多个实体

    一次调用即可为一整页候选排序。

    FEATURE.BATCH user_features user:42 user:77 user:91 FEATURES ctr
适用场景

真实场景

欺诈与风险评分

在支付获批之前,在请求链路中于结账时读取银行卡频次、设备时长和账户历史。

排序与广告

页面上每个候选的点击率和近期兴趣都在一次批量调用中读取。

动态定价

需求和库存特征持续流入,定价模型在每次报价时读取。

内置功能

您将获得

带类型的 schema

int64、double 和 string 特征。类型错误的写入会被拒绝。

FEATURE.CREATEFEATURE.SCHEMA

流式写入与回填

可以用当前时间写入,也可以用这些值成立的时间写入。

FEATURE.SETFEATURE.SETAT

每次读取都有时效

每次读取都返回实体的更新时间和时效。

FEATURE.GET

批量提供

多个实体、选定的特征,一次调用。

FEATURE.BATCHFEATURE.STATS

常见问题

这会取代我的离线特征存储吗?

它是在线的一侧,用于推理时的低延迟读取。训练数据仍可来自您的数据仓库,回填数据用 FEATURE.SETAT 写入 HotKV。

如何发现过期的特征?

每次 FEATURE.GET 都会返回最后的更新时间和以毫秒计的时效,模型服务器可以拒绝或标记旧值。

哪些套餐包含此功能?

特征存储包含在 Performance 和 Scale 套餐中。

相关用例

在您自己的工作负载上试试

HotKV 兼容 Redis 协议,您可以把现有客户端指向它,运行这些相同的命令。