78 lines
3.6 KiB
Markdown
78 lines
3.6 KiB
Markdown
#  GreatAI
|
|
|
|
[](https://sonar.scoutinscience.com/dashboard?id=great-ai)
|
|
[](https://sonar.scoutinscience.com/dashboard?id=great-ai)
|
|
[](https://github.com/schmelczer/great-ai/actions/workflows/test.yml)
|
|
[](https://badge.fury.io/py/great-ai)
|
|
[](https://pepy.tech/project/great-ai)
|
|

|
|
|
|
GreatAI helps you easily transform your prototype AI code into production-ready software.
|
|
[Check out the full documentation here](https://great-ai.scoutinscience.com).
|
|
|
|
```sh
|
|
pip install great-ai
|
|
```
|
|
|
|
> Create a new file called `main.py`
|
|
|
|
```python
|
|
from great_ai import GreatAI
|
|
|
|
@GreatAI.create
|
|
def hello_world(name: str) -> str:
|
|
return f"Hello {name}!"
|
|
```
|
|
|
|
Start it by executing `great-ai main.py`, find the dashboard at [http://localhost:6060](http://localhost:6060/dashboard).
|
|
|
|

|
|
|
|
That's it. Your GreatAI service is ready for production use. Many of the [SE4ML best-practices](https://se-ml.github.io) are configured and implemented automatically (of course, these can be customised as well).
|
|
|
|
## Why is this GREAT?
|
|
|
|

|
|
|
|
GreatAI fits between the prototype and deployment phases of your (or your organisation's) AI development lifecycle. This is highlighted with blue in the diagram. Here, a number of best practices can be automatically implemented aiming to achieve the following attributes:
|
|
|
|
- **G**eneral: use any Python library without restriction
|
|
- **R**obust: have error-handling and well-tested utilities out-of-the-box
|
|
- **E**nd-to-end: utilise end-to-end feedback as a built-in, first-class concept
|
|
- **A**utomated: focus only on what actually requires your attention
|
|
- **T**rustworthy: deploy models that you and society can confidently trust
|
|
|
|
## Why GreatAI?
|
|
|
|
There are other, existing solutions aiming to facilitate this phase. [Amazon SageMaker](https://aws.amazon.com/sagemaker) and [Seldon Core](https://www.seldon.io/solutions/open-source-projects/core) provide the most comprehensive suite of features. If you have the opportunity use those, do that because they're great.
|
|
|
|
However, [research indicates](https://great-ai.scoutinscience.com) that professionals rarely use them. This may be due to their inherent setup and operating complexity. **GreatAI is designed to be as simple to use as possible.** Its clear, high-level API and sensible default configuration makes it extremely easy to start using. Despite its relative simplicity over Seldon Core, it still implements many of the [SE4ML best-practices](https://se-ml.github.io), and thus, can meaningfully improve your deployment without requiring prohibitively large effort.
|
|
|
|
## Find `great-ai` on [DockerHub](https://hub.docker.com/repository/docker/schmelczera/great-ai)
|
|
|
|
```sh
|
|
docker run -p6060:6060 schmelczera/great-ai
|
|
```
|
|
|
|
## Learn more
|
|
|
|
[Check out the documentation](https://great-ai.scoutinscience.com).
|
|
|
|
## Contribute
|
|
|
|
Contributions are welcome.
|
|
|
|
### Install for development
|
|
|
|
```sh
|
|
python3 -m venv --copies .env
|
|
source .env/bin/activate
|
|
python3 -m pip install flit
|
|
python3 -m flit install --symlink --deps=all
|
|
```
|
|
|
|
### Serve documentation
|
|
|
|
```sh
|
|
mkdocs serve --dirtyreload
|
|
```
|