方案即業(yè)務代碼,即業(yè)務場景需要使用的業(yè)務代碼,在創(chuàng)建場景前需要完成方案的開發(fā)和發(fā)布。
創(chuàng)建方案前準備
準備內容
1.新建自己的codeup代碼倉庫并且設置權限。(目前個性化算法開發(fā)平臺代碼倉庫暫時只支持云效代碼管理codeup,后續(xù)考慮擴展其他倉庫類型)
2.下載tpp推薦方案代碼模板并且開發(fā)業(yè)務代碼。
3.上傳到codeup代碼倉庫。
新建Codeup倉庫
操作步驟
1.登錄云效代碼管理Codeup控制臺(目前可免費使用)。
2.在左側導航欄,單擊“代碼庫”。
3.在右邊頁面單擊“新建代碼庫”。
4.在彈出的頁面中填寫基礎信息,基礎信息說明參見下表:
參數(shù) | 說明 |
代碼庫名稱 | 代碼庫的名稱,用于代碼庫命名 |
代碼庫路徑 | 代碼庫目錄路徑,代碼分組用于分開管理多個相關的代碼庫。 |
公開性 | 設置代碼庫是否為公開倉庫,企業(yè)公開庫對企業(yè)內成員(不包含外部成員)可見,私有倉庫僅限代碼庫成員可見。 |
5.完成倉庫基礎信息填寫后,單擊“確定”完成代碼庫創(chuàng)建。
授權TPP訪問Codeup倉庫
操作步驟
1.完成本地Git環(huán)境準備;
2.登錄云效代碼管理Codeup控制臺。
3.在個人工作臺右上角單擊個人信息圖標。
4.在彈出的菜單中,單擊“個人設置”。
5.在彈出的頁面中,設置SSH密鑰。
6.配置通過HTTP方式克隆的鑒權賬號和密碼。
注意:TPP需要使用該方式訪問您的代碼庫,請牢記該賬號和密碼。
下載TPP方案模版并本地開發(fā)代碼
操作步驟
2022-03-28 開源代碼模板【推薦】具體操作請參考README
# 推薦方案的demo
包含多個demo,可以直接修改使用,上線前請充分測試。
免責聲明:本代碼只是為了示例,不對任何業(yè)務效果負責。
## 環(huán)境
* 代碼倉庫codeup
* jdk使用 1.8
* maven 3.3+
* [maven settings.xml](#本地使用的settings.xml)
## 目錄結構
* src
* main
* java 包含多個demo,可以直接修改使用
* ABFS使用demo
* BE使用demo
* HTTP使用demo
* Predict使用demo
* Redis使用demo
* hello最簡單的demo
* demo完整的推薦demo
* 入口:DemoSolution
* match:BE和redis(x2i)
* feature:user-abfs,context-noting,item-redis
* rank:pai-eas(multi_tower)
* rerank:倒序+過濾+打散
* test 測試用例
非常推薦寫測試用例,先在本地測試用例通過后,再發(fā)布到tpp
* pom.xml不要修改,加了新的也不會生效
## 關于dependency
總所周知,java依賴包紛繁復雜,一不小心就會出現(xiàn)沖突、漏洞、安全隱患。所以tpp的方案代碼不支持用戶隨便使用jar包,我們會嚴格控制,盡量保障代碼安全可靠。
控制方案:
* 1、采用定制sdk
* 2、采用定制插件
所以pom.xml里寫出來的依賴就是可以用的,加了新的dependency最終也不會生效
### 基礎的SDK solution-protocol
提供必要的jar
<dependency>
<groupId>com.aliyun.tpp</groupId>
<artifactId>solution-protocol</artifactId>
<version>1.0</version>
</dependency>
比如:context、result、solution
### 常用的服務 ai-service-sdk
提供一些常用的jar,這類jar不是所有人都需要,但比較常用
<dependency>
<groupId>com.aliyun.tpp</groupId>
<artifactId>ai-service-sdk</artifactId>
<version>1.0</version>
</dependency>
比如:abfs、be、eas、redis之類的
### 本地測試 ai-service-sdk-testing
提供一些測試必須的jar
<dependency>
<groupId>com.aliyun.tpp</groupId>
<artifactId>ai-service-sdk-testing</artifactId>
<version>1.0</version>
<scope>test</scope>
</dependency>
## 常見問題
### 本地使用的settings.xml
修改3個地方mirrors profiles activeProfiles
* mirrors修改
```xml
<mirrors>
<mirror>
<id>maven-mirror</id>
<mirrorOf>central</mirrorOf>
<name>maven public mirror</name>
<url>https://repo1.maven.org/maven2/</url>
</mirror>
</mirrors>
```
* profiles修改
```xml
<profiles>
<profile>
<id>aliyun</id>
<repositories>
<repository>
<id>aliyun</id>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>aliyun</id>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
```
* activeProfiles修改
```xml
<activeProfiles>
<activeProfile>aliyun</activeProfile>
</activeProfiles>
```
注意:一定要本地單測,請參考demo中的test例子,單測通過后起碼沒有邏輯問題。線上環(huán)境和本地的差異主要是網絡差別,一些用到http/redis/eas之類的遠程網絡調用需要填寫正確的host!
提交代碼
操作步驟
1.登錄云效代碼管理Codeup控制臺。
2.在個人工作臺單擊對應代碼庫。
3.進行編輯后,單擊保存,完成代碼提交。
創(chuàng)建方案
操作步驟
1.登錄個性化算法開發(fā)平臺控制臺。
2.在左側導航欄,單擊“個性化算法開發(fā)平臺->實例列表”。
3.在頂部菜單欄,選擇要查看的實例所在的目標區(qū)域。
4.單擊實例ID鏈接,單擊方案管理菜單,在右側對話框中單擊“創(chuàng)建方案”。
5.在彈出的頁面中,填充方案基礎信息,基礎信息說明參見下表:
參數(shù) | 說明 |
基于現(xiàn)有方案克隆 | 即支持您基于一個已有方案快速克隆,會同時克隆方案基礎信息以及方案配置。 如果您是首次創(chuàng)建方案,請勿勾選。 |
方案名稱 | 方案展示名稱。 |
代碼源 | 暫時只支持阿里云云效Codeup,后續(xù)考慮支持更多的代碼源 |
倉庫地址 | 即代碼庫地址。 |
分支 | 分支名稱。 |
Git賬號 | 即云效個人設置中填寫的HTTPS密碼的賬號 |
Git密碼 | 即云效個人設置中填寫的HTTPS密碼的密碼 |
方案目錄名稱 | 代碼庫中的方案代碼所在的子目錄。 |
6.單擊確定,完成方案創(chuàng)建。