Install Genie SDK
===
###### tags: `Genie Install`
1. 將Genie SDK從 git 上抓下來
其中配置需要8G記憶體與30G硬體容量,若要訓練數據集則要至少30G的記憶體。
再執行`./install.sh`時會將Genie toolkit、Genie NLP、Genie Server與Thingpedia common devices檔案一同安裝。
```
git clone https://github.com/stanford-oval/genie-sdk
cd genie-sdk
./install.sh
```

1-1. 遇到的問題:
* 未安裝python3.9版

-->解決辦法
```
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.9
```
* 未找到模組
```
ModuleNotFoundError: No module named 'distutils.cmd'
```
-->解決辦法
```
sudo apt install python3-pip
sudo apt-get install python3.9-distutils
sudo apt-get upgrade
```
* 將install.sh中有關python或pip相關的改成python與pip3

2. 載入預設技能
加載後,範例技能將添加到`workdir`資料夾。
```
./load-examples.sh
```
2-1.遇到問題
未正確安裝node

-->解決辦法
由install.sh檔找到`nvm install 14.18`指令是安裝14.18版的node
```
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
```
```
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
nvm install 14.18
```
3. 配置 git
```
git config --global user.email "$YOUR_EMAIL"
git config --global user.name "$YOUR_NAME"
```
4. 編寫自己的技能
運行初始化項目,這會將您的技能添加到`workdir`您的 Genie SDK 目錄中。
技能目錄包含預先填充的package.json, manifest.tt,index.js文件
```
./init.sh --skill_name $YOUR_SKILL_NAME
```
5. 使用 Genie Server 部署範例技能
將工作目錄更改為genie-sdk資料夾,然後運行以下程式,就可以在http://127.0.0.1:3000/ 上測試技能。
```
./run-genie.sh --nlp_server remote
```
6. 建立數據集
```
genie sample-synthetic-data --output ~/output.tsv --thingpedia /home/user/genie-sdk/workdir/TWstock/manifest.tt --constants ~/const.tsv --device TWstock --function get
```