Geniusrise Microservices Ecosystem¶
Geniusrise is a modular, loosely-coupled AI-microservices framework.
It can be used to perform various tasks, including hosting inference endpoints, performing bulk inference, fine tune etc with open source models or closed source APIs.
- The framework provides structure for modules and operationalizes and orchestrates them.
- The modular ecosystem provides a layer of abstraction over the myriad of models, libraries, tools, parameters and optimizations underlying the operationalization of modern AI models.
Together the framework and ecosystem can be used for:
- Rapid prototyping by hosting APIs on a wide range of models
- Host and experiment on local and iterate fast
- Deploy on kubernetes to production
- Building AI-side components using the framework and CLI
- Build complex AI microservices using multiple models
- Iterate fast from development to production
- Manage, scale and monitor deployments in production
- Build once, run anywhere
- Using the ecosystem as a library: Many interesting applications can be built using this, e.g.:
- A multi-cloud AI cloud, see geniusrise.com
- Local model pipeline server for personal or home IOT devices (e.g. a personal AI pin connected to voice-LLM pipeline hosted on desktop)
- Desktop and CLI applications
Quickstarts:
- Text classification: quickstart
- Question Answering: quickstart
- Table Question Answering: quickstart
- Natural Language Inference: quickstart
- Translation: quickstart
- Summarization: quickstart
- Chat: quickstart
- Language Models: quickstart
(More coming soon).
Guides¶
🚀 Getting Started¶
- 💥 Usage - TLDR Usage.
- 🛠️ Installation - Installation and setup.
- 📘 Concepts - Concepts of the framework, start here.
- 🏗️ Architecture - Design and architecture of the framework.
💻 Development¶
- 🏠 Local Experimentation - Local setup and project creation.
- 🔄 Dev Cycle - Describes one full local development cycle.
- 📦 Packaging - Packaging your application.
- 🚀 Deployment - Deploying parts or whole of your application.
📚 Reference¶
- 📄 YAML Structure - Geniusfile structure and configuration.
- 🌐 CLI reference - Command line reference.
- 🎨 Project Templates - Project templates for community plugins.
🏃 Runners¶
🌐 Runners | |||
---|---|---|---|
🟢 k8s deployment | 🟤 k8s service | 🟡 k8s job | 🟠 k8s cron job |
🟧 k8s pods | 🟦 Apache Airflow | 🔴 Docker | 🟣 Docker Swarm |
🤖 Models¶
Text Inference APIs¶
🌐 Local & Huggingface | ||
---|---|---|
🟢 Language Model | 🟣 Named Entity Recognition | 🟡 Question Answering |
🟠 Sentiment Analysis | 🟤 Summarization | 🟦 Translation |
🔵 Classification | 🔴 Natural Language Inference | 🟧 Instruction Tuning |
🟧 Base |
Text Bulk Inference¶
🌐 Local & Huggingface | ||
---|---|---|
🟢 Language Model | 🟣 Named Entity Recognition | 🟡 Question Answering |
🟠 Sentiment Analysis | 🟤 Summarization | 🟦 Translation |
🔵 Classification | 🔴 Natural Language Inference | 🟧 Instruction Tuning |
🟧 Base |
Text Fine-tuning¶
🌐 Local & Huggingface | ||
---|---|---|
🟢 Language Model | 🟣 Named Entity Recognition | 🟡 Question Answering |
🟠 Sentiment Analysis | 🟤 Summarization | 🟦 Translation |
🔵 Classification | 🔴 Natural Language Inference | 🟧 Instruction Tuning |
🟧 Base |
🌐 OpenAI | ||
---|---|---|
🟢 Classification | 🟣 Natural Language Inference | 🟡 Instruction Tuning |
🟠 Language Model | 🟤 Named Entity Recognition | 🟦 Question Answering |
🔵 Sentiment Analysis | 🔴 Summarization | 🟧 Translation |
🟧 Base |
Vision Inference APIs¶
🌐 Local & Huggingface | |||
---|---|---|---|
🟢 Image Classification | 🟣 OCR | 🟡 Image Segmentation | 🟠 Visual Question Answering |
🟤 Base |
Audio Inference APIs¶
🌐 Local & Huggingface | ||
---|---|---|
🟢 Text to Speech | 🟣 Speech to Text | 🟧 Base |
Audio Bulk Inference¶
🌐 Local & Huggingface | ||
---|---|---|
🟢 Text to Speech | 🟣 Speech to Text | 🟧 Base |
⚡ Data¶
Ingestion¶
🌐 Streaming | |||
---|---|---|---|
🟢 Http Polling | 🟣 Socket.io | 🟡 gRPC | 🟠 QUIC |
🟤 UDP | 🔵 Webhook | 🟥 Websocket | 🟩 SNS |
🟧 SQS | 🟨 AMQP | 🟫 Kafka | 🟪 Kinesis Streams |
🟩 MQTT | 🟨 ActiveMQ | 🟫 ZeroMQ | 🟪 Redis Pubsub |
🟧 Redis Streams |
📦 Databases | |||
---|---|---|---|
🟢 HBase | 🟣 PostgreSQL | 🔵 MySQL | 🟠 MongoDB |
🟢 Cassandra | 🟣 Redis | 🔵 Elasticsearch | 🟠 Oracle |
🟢 SQL Server | 🟣 SQLite | 🔵 Neo4j | 🟠 Bigtable |
🟢 DynamoDB | 🟣 Azure Table Storage | 🔵 Couchbase | 🟠 InfluxDB |
🟢 TimescaleDB | 🟣 Teradata | 🔵 TiDB | 🟠 Voltdb |
🟢 Sybase | 🟣 DB2 | 🔵 AWS Presto | 🟠 Riak |
🟢 MemSQL | 🟣 LDAP | 🔵 AWS KeySpaces | 🟠 KairosDB |
🟢 Graphite | 🟣 Google FireStore | 🔵 AWS DocumentDB | 🟠 Cockroach |
🟢 Cloud SQL | 🟣 Azure CosmosDB | 🔵 AWS Athena | 🟠 ArangoDB |
🟢 Nuodb | 🟣 OpenTSDB | 🔵 Google Bigquery | 🟠 Vertica |
🟢 Google Spanner |
Preprocessing¶
🌐 Document Processing | 🌐 Image Processing | 🌐 OCR |
---|---|---|
🟣 Parse PDF | 🟡 Predict image classes | 🔵 TROCRImageOCR |
🟣 ParseCBZCBR | 🟡 Train image classifier | 🔵 FineTuneTROCR |
🟣 ParseDjvu | 🟡 Convert Images | 🔵 TROCRImageOCRAPI |
🟣 ParseEpub | 🟢 Pix2StructImageOCR | |
🟣 ParseMOBI | 🟢 Pix2StructImageOCRAPI | |
🟣 ParsePostScript | 🟢 FineTunePix2Struct | |
🟣 ParseXPS |
📚 Library¶
📦 cli | 📦 core | 📦 data | 📦 core.state |
---|---|---|---|
🟠 geniusctl | 🟢 bolt | 🟣 input | 🔴 base |
🟠 yamlctl | 🟢 spout | 🟣 output | 🔴 dynamo |
🟠 boltctl | 🟤 base | 🟣 batch_input | 🔴 memory |
🟠 spoutctl | 🟣 batch_output | 🔴 postgres | |
🟠 schema | 🟣 streaming_input | 🔴 redis | |
🟠 discover | 🟣 streaming_output | ||
🟠 docker | |||