4.3 KiB
Welcome to GreatAI
Applying AI is becoming increasingly easier but many case studies have shown that these applications are often deployed poorly. GreatAI helps you transform your prototype AI code into production-ready software.
??? quote There is a need to consider and adapt well established SE practices which have been ignored or had a very narrow focus in ML literature. — Meenu et al.
Features
- Save traces of each prediction including arguments and model version
- Store models and data on shared infrastructure (MongoDB GridFS, S3-compatible storage, local-disk)
- Scaffold REST API and OpenAPI schema for easy integration
- Seamless support for
asyncinference methods - Support calling remote GreatAI instances
- Save feedback and merge it into the ground-truth database
- Built-in parallelising for batch processing
- Well-tested utilities for common NLP tasks (cleaning, language-tagging, etc.)
- Dashboard for high-level overview and searching traces
- Fully-typed API for IntelliSense support
- Docker support for deployment
- Auto-reload fro development
Can be highly customised, including turning of in specific cases, and disabling the logging of sensitive data.
Hello world
pip install great-ai
from great_ai import GreatAI
@GreatAI.create #(1)
def hello_world(name: str) -> str:
return f"Hello {name}!"
@GreatAI.createwraps yourhello_worldfunction with aGreatAIinstance. The function will behave very similarly but:- its return value becomes a
Trace[str], - it gets a
process_batchmethod for supporting parallel execution, - and it can be deployed using the
great-aicommand-line tool.
- its return value becomes a
??? note
In practice, hello_world could be an inference function of some AI/ML application.
great-ai hello-world.py
Navigate to localhost:6060 in your browser.
!!! success Your GreatAI service is ready for production use. Many of the SE4ML best-practices are configured and implemented automatically. To have full control over your service and to understand what else you might need to do in your use case, continue reading this documentation.
Why is this GREAT?
GreatAI fits between the prototype and deployment phase 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 concerning the following 5 aspects:
- General: support for all kinds of Python libraries without restriction
- Robust: robust error-handling and well-tested utilities out-of-the-box
- End-to-end: managing end-to-end feedback is a built-in, first-class concept
- Automated: focus only on what actually requires your attention
- Trustworthy: deploy models that you and society can confidently trust
Why GreatAI?
There are other existing solutions aiming to solve facilitate this phase. Amazon SageMaker and Seldon Core provide the most comprehensive suite of features. If you have the opportunity use those, they're great.
However, research indicates 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 best-practices, and thus, can meaningfully improve your deployment without too much effort.
:fontawesome-brands-docker: Find it on DockerHub{ .md-button .md-button--primary }
