跳至内容

API参考:反馈

POST /feedback

/feedback 端点用于为特定推理或事件分配反馈。

每条反馈都与配置文件中定义的指标相关联。

请求

dryrun

  • 类型: boolean
  • 必填:

如果设为true,反馈请求将被执行但不会存储到数据库中(即无操作)。

此字段主要用于调试和测试,在生产环境中应忽略它。

episode_id

  • 类型: UUID
  • 必填项:当指标级别为episode

提供反馈的剧集ID。

当指标级别为episode时,应使用此字段。

仅使用由TensorZero网关返回的剧集ID。

inference_id

  • 类型: UUID
  • 必填项:当指标级别为inference

提供反馈所需的推理ID。

当指标级别为inference时,应使用此字段。

仅使用由TensorZero网关返回的推理ID。

metric_name

  • 类型: string
  • 必填项:

提供反馈的指标名称。

例如,如果您的指标在配置文件中定义为[metrics.draft_accepted],那么您需要设置metric_name: "draft_accepted"

指标名称commentdemonstration被保留用于特殊类型的反馈。 comment是自由格式的文本(字符串),可以分配给推理或事件。 demonstration指标接受有效输出值。 详情请参阅Metrics & Feedback

tags

  • 类型: 带有字符串键和值的扁平JSON对象
  • 必填:

用户提供的标签,用于与反馈关联。

例如,{"user_id": "123"}{"author": "Alice"}

value

  • 类型: 可变
  • 必填项:

反馈的值。

值的类型取决于指标类型(例如,对于type = "boolean"的指标,其值为布尔型)。

响应

feedback_id

  • 类型: UUID

分配给反馈的ID。

示例

推理级布尔指标

Inference-Level Boolean Metric
配置
tensorzero.toml
# ...
[metrics.draft_accepted]
type = "boolean"
level = "inference"
# ...
请求
POST /feedback
from tensorzero import AsyncTensorZeroGateway
async with await AsyncTensorZeroGateway.build_http(gateway_url="http://localhost:3000") as client:
result = await client.feedback(
inference_id="00000000-0000-0000-0000-000000000000",
metric_name="draft_accepted",
value=True,
)
响应
提交反馈
{ "feedback_id": "11111111-1111-1111-1111-111111111111" }

回合级浮点指标

Episode-Level Float Metric
配置
tensorzero.toml
# ...
[metrics.user_rating]
type = "float"
level = "episode"
# ...
请求
提交反馈 /feedback
from tensorzero import AsyncTensorZeroGateway
async with await AsyncTensorZeroGateway.build_http(gateway_url="http://localhost:3000") as client:
result = await client.feedback(
episode_id="00000000-0000-0000-0000-000000000000",
metric_name="user_rating",
value=10,
)
响应
提交反馈
{ "feedback_id": "11111111-1111-1111-1111-111111111111" }