日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

快速創(chuàng)建項目

快速開始

安裝命令

我們可以使用 pairecmd 快速創(chuàng)建項目。現(xiàn)在 V2 版本支持 PAI-Rec控制臺(推薦使用)。

V2 版本

下載地址:

linux 版本

mac 版本

mac arm版本

window 版本

下載之后,在類 *nix 系統(tǒng),需要設(shè)置下可執(zhí)行文件。命令:chmod +x pairecmd

創(chuàng)建項目

以創(chuàng)建項目名稱 pairec-demo 舉例,執(zhí)行命令后,會在當(dāng)前目錄生成 pairec-demo 目錄,該目錄包含項目代碼。

./pairecmdmac project --name pairec-demo

生成的目錄結(jié)構(gòu)如下:

pairec-demo
├── Makefile
├── conf
│   └── config.json.production
├── docker
│   └── Dockerfile
├── go.mod
└── src
    ├── controller
    │   └── feed.go
    └── main.go

進(jìn)入 pairec-demo 目錄,執(zhí)行

go mod tidy

編譯打包項目

項目里提供了 Makefile 文件, 如果要編譯的話,直接運(yùn)行

make && make build

如果遇到錯誤的話,可以先執(zhí)行

go mod tidy

如果要打包成鏡像的話,執(zhí)行

make release

可以結(jié)合實(shí)際情況來修改 Makefile 文件。

image-20240715174501233.png

注:可以通過 阿里云鏡像 開通個人鏡像,然后創(chuàng)建BIN_NAME 指定的鏡像倉庫。

運(yùn)行項目

可以進(jìn)入到 pairec-demo 目錄, 運(yùn)行一下命令啟動服務(wù),日志會輸出到終端上。

通過config參數(shù)傳入配置文件路徑。

go run src/main.go --config=conf/config.json.production --alsologtostderr

可以用下面的接口進(jìn)行測試(開啟另一個終端,運(yùn)行):

curl -v http://localhost:8000/api/rec/feed -d '{"uid":"76295990", "size":10, "scene_id":"home_feed"}'

config 具體的配置可以參考引擎配置單

接口測試

在生成的項目中,本身已經(jīng)實(shí)現(xiàn)了一個推薦接口,具體實(shí)現(xiàn)可以參考 controller/feed.go 。 接口定義如下:

接口名稱

/api/rec/feed

請求參數(shù)

參數(shù)名稱

參數(shù)說明

類型

是否必須

用例

uid

用戶id

string

"1000079"

size

獲取item數(shù)量

integer

10

scene_id

場景id

String

home_feed

features

上下文特征

json map

{"age":20, "sex":"male"}

complex_type_features

復(fù)雜類型的上下文特征,如果需要有類型的信息請求模型服務(wù),需要設(shè)置此值。

json array

[{"name":"age", "type":"int", "values":20}, {"name":"sex", "values":"male", "type":"string"}]

item_id

相似性推薦傳入的物品ID

string

248791390

item_list

自定義的召回傳入列表

json array

[{"item_id":"1111", "score":1},{"item_id":"222", "score":0.95}]

debug

debug 用,打印更多的日志

bool

true

request_id

請求唯一標(biāo)識ID,此參數(shù)為空時,PAI-Rec 引擎會自動生成,如果用戶傳入,使用參數(shù)值當(dāng)成請求的ID

string

"c46c3f5e-6b32-4b5c-8aac-59a319941248"

當(dāng)有一批召回的數(shù)據(jù),希望通過接口傳遞進(jìn)來,可以賦值給 item_list。 item_list 是一個數(shù)組,每個 item 是 map object ,item 中必須有 item_id 字段,表示物品的ID。其余都是可選的。 item 中如果包含 score 字段,會當(dāng)成召回得分處理。其余字段當(dāng)成 item 屬性進(jìn)行處理。

complex_type_features

復(fù)雜類型的上下文特征需要數(shù)組傳遞過來,每個元素包含的內(nèi)容如下:

名稱

說明

用例

name

上下文特征名稱

age

type

上下文特征類型

int

values

上下文特征值,這里可以設(shè)置多種類型,支持具體值,數(shù)組, map 等

20

使用示例:

  1. 傳遞單個值,[{"name":"age", "type":"int", "values":20}, {"name":"sex", "values":"male", "type":"string"}]

  2. 傳遞數(shù)組 [{"name":"list_features", "type":"list<int>", "values":[1,2,3]}]

  3. 傳遞map [{"name":"map_features", "type":"map<int,int>", "values":{"1":10,"2":20,"3":30}}], 或者 [{"name":"map_features", "type":"map<int,int>", "values":{"1":"10","2":"20","3":"30"}}],

type 支持的類型包括 int, int64, float, double, string, list<int> , list<int64> , list<float>, list<double>, list<string>, map<int,int>, map<int,int64>, map<int,float>, map<int,double>, map<int,string>, map<string,int>, map<string,int64>, map<string,float>, map<string,double>, map<string,string>, map<int64,int>, map<int64,int64>,map<int64,float>, map<int64,double>, map<int64,string>

傳遞上下文中, complex_type_features 和 features 可以同時使用。

接口返回

名稱

說明

類型

示例

code

接口返回業(yè)務(wù)碼

int

200

msg

業(yè)務(wù)信息

string

success

request_id

請求的唯一標(biāo)識

string

e332fe9c-7d99-45a8-a047-bc7ec33d07f6

size

返回的推薦條目數(shù)量

int

10

experiment_id

實(shí)驗ID 標(biāo)識, 沒有對接 AB 實(shí)驗,返回為空

string

ER2_L1#EG1#E2

items

返回推薦條目的列表

json array

[{"item_id":"248791390","score":0.9991594902203332,"retrieve_id":"mock_recall"}]

items 條目具體說明如下:

名稱

說明

類型

示例

item_id

推薦物品ID

string

3v5RE7417j7R

retrieve_id

召回源ID標(biāo)識

string

u2i_recall

score

推薦得分

float

0.45

錯誤碼說明

錯誤碼

說明

msg

200

接口正常

success

299

返回的數(shù)量不足

items size not enough

400

參數(shù)錯誤,不同的情況, msg 說明不同

uid not empty 或者nexpected end of JSON input 等

500

服務(wù)器錯誤, 以 HTTP 錯誤碼形式返回

請求樣例

curl -v http://host/api/rec/feed -d '{"uid":"76295990", "size":10, "scene_id":"home_feed"}'

返回數(shù)據(jù)

{
    "code":200,
    "msg":"success",
    "request_id":"e332fe9c-7d99-45a8-a047-bc7ec33d07f6",
    "size":10,
    "experiment_id":"",
    "items":[
          {
            "item_id":"248791390",
            "score":0.9991594902203332,
            "retrieve_id":"mock_recall"
          },
                ...
    ]
}