diff --git a/app/checklang.py b/app/checklang.py new file mode 100644 index 0000000..71a4d86 --- /dev/null +++ b/app/checklang.py @@ -0,0 +1,48 @@ +import os +from ahserver.webapp import webapp +from ahserver.serverenv import ServerEnv +from appPublic.registerfunction import RegisterFunction + +import fasttext + +def docs(request): + return """Check langage for text +path: /v1/checklang +method: POST +headers: + Content-Text: application/json + +data: + { + "text": "what is language of this sentence? " + } +response: +{ + "lang": "en" +} +""" +def checklang(request, params_kw, *args, **kw): + engine = kw.get('engine') + text = params_kw.text + pred = engine.predict(text) + d = pred[0][0][9:] + return { + 'lang':d + } + +def init(): + p = os.path.join(os.path.dirname(__file__), 'lid.176.ftz') + print(f'model path={p}') + model = fasttext.load_model(p) + # 需先下载模型:https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.ftz + env = ServerEnv() + env.engine = model + rf = RegisterFunction() + rf.register('checklang', checklang) + +if __name__ == '__main__': + rf = RegisterFunction() + rf.register('checklang', checklang) + rf.register('docs', docs) + webapp(init) + diff --git a/app/lid.176.ftz b/app/lid.176.ftz new file mode 100644 index 0000000..1fb85b3 Binary files /dev/null and b/app/lid.176.ftz differ diff --git a/conf/config.json b/conf/config.json new file mode 100755 index 0000000..f59121c --- /dev/null +++ b/conf/config.json @@ -0,0 +1,28 @@ +{ + "website":{ + "paths":[ + ["$[workdir]$/wwwroot",""] + ], + "client_max_size":10000, + "host":"0.0.0.0", + "port":9080, + "coding":"utf-8", + "indexes":[ + "index.html" + ], + "startswiths":[ + { + "leading":"/docs", + "registerfunction":"docs" + },{ + "leading":"/checklang", + "registerfunction":"checklang" + } + ], + "processors":[ + [".tmpl","tmpl"] + ], + "session_max_time":3000, + "session_issue_time":2500 + } +} diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..b52879b --- /dev/null +++ b/install.sh @@ -0,0 +1,48 @@ +port=$1 +userid=$(id -un) +groupid=$(id -gn) +workdir=$(pwd) +package=$(base $workdir) + +cat < $workdir/$package.service + +cat < $workdir/start.sh + +cat < $workdir/stop.sh + +chmod +x $workdir/*.sh +python3 -m venv $package.env +$package.env/bin/pip install -r requirements.txt +sudo mkdir /var/log/$package +sudo cp $package.service /etc/systemd/system +sudo systemctl enable $package +sudo systemctl start $package + + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..07d7314 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +fasttext +git+https://git.kaiyauncloud.cn/yumoqing/apppublic +git+https://git.kaiyauncloud.cn/yumoqing/sqlor +git+https://git.kaiyauncloud.cn/yumoqing/ahserver + diff --git a/wwwroot/index.html b/wwwroot/index.html new file mode 100644 index 0000000..e69de29