You need to enable JavaScript to run this app.
文档中心
智能推荐平台

智能推荐平台

复制全文
下载 pdf
推荐服务
推荐接口(predict)
复制全文
下载 pdf
推荐接口(predict)

调用个性化推荐接口,传入用户id以及相关的上下文信息等,可以获得推荐结果列表。

调用方法

Predict(request *PredictRequest,  opts …option.Option) (*PredictResponse, error)

方法参数

参数

类型

说明

request

PredictRequest

请求体,请求体包含的参数说明见下表,具体使用方式见用例示范

opts

[]option.Option

额外参数可通过
option.WithRequestId(requestId string)自行设置requestId

  • requestId字段很重要,会通过requestId串起个性化推荐、曝光数据上报、行为数据。
  • 每次请求的requestId需要保证唯一
  • 如果未指定requestId,SDK会自动生成唯一的requestId,可通过返回体拿到该requestId

request请求体参数:

参数
类型
是否必传
描述
user
object
是
用户信息
context
object
是
上下文信息
candidateItems
object list
否
跳过召回等特殊场景需要上传候选集
parentItem
object
否
相关推荐场景需要上传
filterItems
object list
否
需要过滤的物品列表
size
int
否
接口返回物品个数(优先级高于栏位配置返回数量)

方法返回

推荐服务相关方法使用自定义的PredictRsp类作为响应类型

参数
类型
描述
code
int32
0或200代表正常,不等同于http status,用于排查业务错误
message
string
状态信息,默认"OK",遇到错误会返回错误信息
value
object
requestId
string
推荐请求的requestId

示例

import (
   "github.com/google/uuid"
   "github.com/volcengine/volcengine-sdk-go-rec/byteair"
   "github.com/volcengine/volcengine-sdk-go-rec/byteair/protocol"
   "github.com/volcengine/volcengine-sdk-go-rec/core/logs"
   "github.com/volcengine/volcengine-sdk-go-rec/core/option"
)


// 已经初始化好的client.示例省略init()
var client byteair.Client


func Predict() {
   // 请求体
   req := &protocol.PredictRequest{
      User: &protocol.PredictUser{
         Uid: "uid1",
      },
      Context: &protocol.PredictContext{
         Spm:   "A$##$B$##$C",
         Extra: map[string]string{"extra_key": "extra_value"},
      },
      CandidateItems: []*protocol.PredictCandidateItem{&protocol.PredictCandidateItem{
         Id: "item_id1",
      }},
      ParentItem: &protocol.PredictParentItem{
         Id: "item_id2",
      },
      Size: 10,
   }
   opts := []option.Option{
      // 默认default,无需修改.
      option.WithScene("default"),
      option.WithRequestId(uuid.NewString()),
      // 是否开启SPM路由.开启的话需要保证请求体里的SPM存在且绑定了栏位.
      // server会根据body里的SPM路由到选择的栏位.
      option.WithHeaders(map[string]string{
         "Enable-spm-route": "true",
      }),
   }
   rsp, err := client.Predict(req, opts...)
   if err != nil {
      logs.Error("[predict] occur error, msg: %s", err.Error())
      return
   }
    if !rsp.GetSuccess() {
       logs.Error("[predict] failure")
       return
    }
    logs.Info("[predict] success")
}
最近更新时间:2024.05.30 15:18:09
这个页面对您有帮助吗?
有用
有用
无用
无用