word-language-detector-ai-api
The API for the word language detector AI.
Installation
Run following script to install the API:
LOCATION=/srv/word-language-detector-ai-api
# install python3 if it is not installed
sudo apt install python3
# install dependencies
python3 -m pip install jcloud-cachelib jcloud-config-parser --index-url https://repo.jcloud-services.ddns.net/simple/ --extra-index-url https://pypi.org/simple/ --break-system-packages
python3 -m pip install fastapi pydantic tensorflow uvicorn scikit-learn --break-system-packages
# set up directories
sudo mkdir -p $LOCATION
# download and unpack the archive
curl -fsSL --retry 3 -o word-language-detector-ai-api_latest_linux-aarch_source.tar.gz https://repo.jcloud-services.ddns.net/software/word-language-detector-ai-api/word-language-detector-ai-api_latest_linux-aarch_source.tar.gz
sudo tar -xzf word-language-detector-ai-api_latest_linux-aarch_source.tar.gz -C $LOCATION
# Optional: download the model
# You can leave this part out if you want to provide the model yourself. Notice that the directory has to include following files: 'label_encoder.json' (label encoder), 'language_detector.keras' (the actual model), 'max_len' (token maximum length) and 'tokenizer.json' (tokenizer). It is recommended to download the model as below.
curl -fsSL --retry 3 -o word-language-detector-ai_latest_tf_model_artifacts.tar.gz https://repo.jcloud-services.ddns.net/models/word-language-detector-ai/word-language-detector-ai_latest_tf_model_artifacts.tar.gz
sudo mkdir -p $LOCATION/model
sudo tar -xzf word-language-detector-ai_latest_tf_model_artifacts.tar.gz -C $LOCATION/model
Note: Ensure you at least approximately 700 KB of disk space is available. During the installation, approximately 850 KB of disk space must be available. Without the model, you need approximately 400 KB of disk space and approximately 500 MB of disk space during the installation.
You can remove word-language-detector-ai-api_latest_linux-aarch_source.tar.gz and word-language-detector-ai_latest_tf_model_artifacts.tar.gz after installing the software and checking the hashes.
Hashes
| File | SHA256 Hash |
|---|---|
| https://repo.jcloud-services.ddns.net/software/word-language-detector-ai-api/word-language-detector-ai-api_latest_linux-aarch_source.tar.gz | 1901afeb7849f198f5c56e972884936ec9d3c157f2b5b3f1c6b7bf014dfd5913 |
| https://repo.jcloud-services.ddns.net/models/word-language-detector-ai/word-language-detector-ai_latest_tf_model_artifacts.tar.gz | 52fdd714524b8cae3c49cc918e13a3568ddb96f97596b24ccb242c5e2f1c30d7 |
If the hashes above do not match the actual file hashes, the software max be tampered with, SO DO NOT EXECUTE THE SOFTWARE
Run the API
To run the API, run src/api.py in the package directory. Here is an example with /srv/word-language-detector-ai-api as the package directory
/srv/word-language-detector-ai-api/src/api.py
Arguments
For arguments documentation, run the API with the flag --help.
API Docs
For the full API documentation, see the docs path of the API.
Changelog
Version 0.2.1
- migrated to new libraries
Version 0.2.0
- support for CORS
Version 0.1.1
- added
--break-system-packagestopip install ... - bug fix: create model directory before downloading the model
Version 0.1.0
- initial release
- API for the word language detector AI
- configuration
- logging
- caching
- lazy imports
- command line arguments