快速开始
我们可以使用 pairecmd 快速创建项目。下载地址:
下载之后,在类 *nix 系统,需要设置下可执行文件。 chmod +x pairecmd
创建项目
以创建项目名称 pairec-demo 举例,执行命令后,会在当前目录生成 pairec-demo 目录,里面包含项目代码。
./pairecmdmac project --name pairec-demo
生成的目录结构如下
pairec-demo
├── Makefile
├── conf
│ └── config.json.production
├── docker
│ └── Dockerfile
├── go.mod
└── src
├── controller
│ └── feed.go
└── main.go
运行项目
可以进入到 pairec-demo, 里面可以创建 log 目录,可以把服务的log 打到里面。
config 传入配置文件路径,log_dir 指定日志目录
go run src/main.go --config=conf/config.json.production --log_dir=./log
如果使用配置的热加载功能,可以参考PAI-Rec 引擎配置热加载。
编译打包项目
项目里提供了 Makefile 文件, 如果要编译的话,直接运行
make && make build
如果要打包成镜像的话,可以
make release
可以结合实际情况来修改 Makefile 文件。
接口测试
在生成的项目中,本身已经实现了一个推荐接口,具体实现可以参考 controller/feed.go 。 接口定义如下。
接口名称
/api/rec/feed
请求参数
参数名称 | 参数说明 | 类型 | 是否必须 | 用例 |
uid | 用户id | string | 是 | "1000079" |
size | 获取item数量 | integer | 是 | 10 |
scene_id | 场景id | String | 是 | feed |
features | 上下文特征 | json map | 否 | {"age":20, "sex":"male"} |
debug | debug 用,打印更多的日志 | bool | 否 | true |
请求样例
curl -v http://host/api/rec/feed -d '{"uid":"76295990", "size":10}'
返回数据
{
"code":200,
"msg":"success",
"request_id":"e332fe9c-7d99-45a8-a047-bc7ec33d07f6",
"size":10,
"items":[
{
"item_id":"3v5RE7417j7R",
"item_type":"",
"retrieve_id":"short_prefer_tag"
},
...
]
}