專案 (Project)
建立專案 (/create-project)
使用範例
建立一個 RECOMMEND_ITEMS_TO_USER
類別的專案,呼叫 API:
curl --request POST 'https://api.raas.kklab.com/create-project' \
--header 'Authorization: Bearer $TOKEN' \
--header 'APIKey: $API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example-project",
"project_type": "RECOMMEND_ITEMS_TO_USER",
"user_dataset_id": "$USER_DATASET_ID",
"item_dataset_id": "$ITEM_DATASET_ID",
"event_dataset_id": "$EVENT_DATASET_ID",
"target_event_type": "view"
}'
import json
import requests
from pprint import pprint
headers = create_headers(scopes=["/create-project"])
url = "https://api.raas.kklab.com/create-project"
data={
"name": "example-project",
"project_type": "RECOMMEND_ITEMS_TO_USER",
"user_dataset_id": "$USER_DATASET_ID",
"item_dataset_id": "$ITEM_DATASET_ID",
"event_dataset_id": "$EVENT_DATASET_ID",
"target_event_type": "view"
}
response = requests.request("POST", url, headers=headers, data=json.dumps(data))
pprint(response.json())
回傳值:
{
"project_id": "$PROJECT_ID",
"name": "example-project",
"project_type": "RECOMMEND_ITEMS_TO_USER",
"user_dataset_id": "$USER_DATASET_ID",
"item_dataset_id": "$ITEM_DATASET_ID",
"event_dataset_id": "$EVENT_DATASET_ID",
"target_event_type": "view",
"serving_uri": "$SERVING_URI",
"deployment_ts": null,
"generator_model_id": null,
"ranker_model_id": null
}
欄位說明
name
: 專案名稱,僅供開發者辨識使用,無其他用途。project_type
: 專案類別。user_dataset_id
: 訓練模型所使用的使用者資料集。item_dataset_id
: 訓練模型所使用的商品資料集。event_dataset_id
: 訓練模型所使用的事件資料集。target_event_type
: 對事件資料集的此類事件類別進行模型訓練優化。serving_uri
: 呼叫此專案的推薦 API 時使用的網址。deployment_ts
: 模型部署的時間,未進行模型部署前預設為空值。generator_model_id
: 負責產生推薦結果的模型,未進行模型部署前預設為空值。ranker_model_id
: 負責對generator_model
產生的結果再排序的模型,未進行模型部署前預設為空值。
專案類型 (project_type)
Recommend HQ 目前支援以下專案類別:
RECOMMEND_ITEMS_TO_USER
: 對使用者推薦商品。RECOMMEND_ITEMS_TO_ITEM
: 對商品推薦商品。
修改專案設定 (/update-project)
使用範例
呼叫 API:
curl --request PUT 'https://api.raas.kklab.com/update-project' \
--header 'Authorization: Bearer $TOKEN' \
--header 'APIKey: $API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"project_id": "$PROJECT_ID",
"name": "new project name"
}'
import json
import requests
from pprint import pprint
headers = create_headers(scopes=["/update-project"])
url = "https://api.raas.kklab.com/update-project"
data={
"project_id": "$PROJECT_ID",
"name": "new project name",
}
response = requests.request("PUT", url, headers=headers, data=json.dumps(data))
pprint(response.json())
回傳值:
{
"project_id": "$PROJECT_ID",
"name": "new project name",
"project_type": "RECOMMEND_ITEMS_TO_USER",
"user_dataset_id": "$USER_DATASET_ID",
"item_dataset_id": "$ITEM_DATASET_ID",
"event_dataset_id": "$EVENT_DATASET_ID",
"target_event_type": "view",
"serving_uri": "$SERVING_URI",
"deployment_ts": null,
"generator_model_id": null,
"ranker_model_id": null
}
可修改欄位
name
取得單一專案設定 (/get-project)
使用範例
呼叫 API:
curl --request GET 'https://api.raas.kklab.com/get-propject?project_id=$PROJECT_ID' \
--header 'Authorization: Bearer $TOKEN' \
--header 'APIKey: $API_KEY'
import requests
from pprint import pprint
headers = create_headers(scopes=["/get-propject"])
url = "https://api.raas.kklab.com/get-project"
params = {
"project_id": "$PROJECT_ID"
}
response = requests.request("GET", url, headers=headers, params=params)
pprint(response.json())
回傳值:
{
"project_id": "$PROJECT_ID",
"name": "example-project",
"project_type": "RECOMMEND_ITEMS_TO_USER",
"user_dataset_id": "$USER_DATASET_ID",
"item_dataset_id": "$ITEM_DATASET_ID",
"event_dataset_id": "$EVENT_DATASET_ID",
"target_event_type": "view",
"serving_uri": "$SERVING_URI",
"deployment_ts": null,
"generator_model_id": null,
"ranker_model_id": null
}
列出所有專案 (/list-projects)
使用範例
呼叫 API:
curl --request GET 'https://api.raas.kklab.com/list-projects' \
--header 'Authorization: Bearer $TOKEN' \
--header 'APIKey: $API_KEY'
import requests
from pprint import pprint
headers = create_headers(scopes=["/list-projects"])
url = "https://api.raas.kklab.com/list-projects"
response = requests.request("GET", url, headers=headers)
pprint(response.json())
回傳值:
{
"projects": [
{
"project_id": "$PROJECT_ID",
"name": "example-project",
"project_type": "RECOMMEND_ITEMS_TO_USER",
"user_dataset_id": "$USER_DATASET_ID",
"item_dataset_id": "$ITEM_DATASET_ID",
"event_dataset_id": "$EVENT_DATASET_ID",
"target_event_type": "view",
"serving_uri": "$SERVING_URI",
"deployment_ts": null,
"generator_model_id": null,
"ranker_model_id": null
}
]
}
刪除專案 (/delete-project)
使用範例
呼叫 API:
curl --request DELETE 'https://api.raas.kklab.com/delete-project' \
--header 'Authorization: Bearer $TOKEN' \
--header 'APIKey: $API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"project_id": "$PROJECT_ID"
}'
import json
import requests
from pprint import pprint
headers = create_headers(scopes=["/delete-project"])
url = "https://api.raas.kklab.com/delete-project"
data={
"project_id": "$PROJECT_ID",
}
response = requests.request("DELETE", url, headers=headers, data=json.dumps(data))
pprint(response.json())
回傳值:
{
"project_id": "$PROJECT_ID",
"name": "example-project",
"project_type": "RECOMMEND_ITEMS_TO_USER",
"user_dataset_id": "$USER_DATASET_ID",
"item_dataset_id": "$ITEM_DATASET_ID",
"event_dataset_id": "$EVENT_DATASET_ID",
"target_event_type": "view",
"serving_uri": "$SERVING_URI",
"deployment_ts": null,
"generator_model_id": null,
"ranker_model_id": null
}
API 回傳該專案被刪除前的最後設定。
限制與注意事項
- 僅能刪除沒有部署模型的專案,如果欲刪除已部署模型的專案,需要先下架模型。
- 專案一但被刪除,屬於該專案的演算法、模型等資料,也將一併刪除。