The GenAI Stack is a collection of tools, code templates, how-to guides, and best practices designed to support the development of GenAI (General AI) applications. The stack includes several applications, each with its own set of files, compose names, URLs, and descriptions. Here are some of the possible applications in the stack:
Docker
Docker is an open-source platform that automates the deployment, scaling, and management of applications using containerization technology. The GenAI Stack includes Docker to provide a consistent and isolated environment for running AI/ML workloads.
- Files: Dockerfiles, docker-compose.yml, Docker images
- Compose name: docker-compose
- URL: https://www.docker.com/
- Description: An open-source platform for developing, shipping, and running applications using containerization technology.
Compose
Docker Compose is a tool for defining and running multi-container Docker applications. It allows you to define your application’s services, networks, and volumes in a YAML file and start, stop, and manage the entire application with a single command.
- Files: docker-compose.yml, .env, docker-compose.override.yml
- Compose name: docker-compose
- URL: https://docs.docker.com/compose/
- Description: A tool for defining and running multi-container Docker applications.
Python
Python is a popular programming language for AI/ML applications due to its simplicity, readability, and extensive library support. The GenAI Stack includes Python to provide a familiar and powerful language for developers.
- Files: .py, .ipynb, requirements.txt
- Compose name: python
- URL: https://www.python.org/
- Description: A popular programming language for AI/ML applications.
Neo4j
Neo4j is a graph database management system that allows you to store, manage, and analyze graph data. The GenAI Stack includes Neo4j to provide a scalable and flexible data store for AI/ML applications.
- Files: neo4j.conf, .cypher, .graphql
- Compose name: neo4j
- URL: https://neo4j.com/
- Description: A graph database management system for storing, managing, and analyzing graph data.
OpenAI
OpenAI is a research organization that promotes and develops friendly AI. The GenAI Stack includes OpenAI to provide access to state-of-the-art AI models and tools.
- Files: .env, .openai, .json
- Compose name: openai
- URL: https://openai.com/
- Description: A research organization that promotes and develops friendly AI.
Boto3
Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for Python. It allows you to write software that makes use of AWS services like Amazon S3, Amazon EC2, and others. The GenAI Stack includes Boto3 to provide access to AWS services for AI/ML applications.
- Files: .py, .json, .yaml
- Compose name: boto3
- URL: https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
- Description: The Amazon Web Services (AWS) Software Development Kit (SDK) for Python.
FastAPI
FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints. The GenAI Stack includes FastAPI to provide a fast and efficient way to build APIs for AI/ML applications.
- Files: .py, .yaml, .json
- Compose name: fastapi
- URL: https://fastapi.tiangolo.com/
- Description: A modern, fast (high-performance), web framework for building APIs with Python 3.6+.
Torch
Torch is an open-source machine learning library for Python and C with a focus on deep neural networks. The GenAI Stack includes Torch to provide a powerful and flexible library for AI/ML applications.
- Files: .py, .pt, .pth
- Compose name: torch
- URL: https://pytorch.org/
- Description: An open-source machine learning library for Python and C with a focus on deep neural networks.
Sentence Transformers
Sentence Transformers is a Python framework for state-of-the-art sentence, text, and image embeddings. The GenAI Stack includes Sentence Transformers to provide a way to convert text into numerical vectors for AI/ML applications.
- Files: .py, .pth, .json
- Compose name: sentence-transformers
- URL: https://www.sbert.net/
- Description: A Python framework for state-of-the-art sentence, text, and image embeddings.
Langchain
Langchain is a tool for training and deploying large-scale language models. The GenAI Stack includes Langchain to provide a way to build and deploy custom language models for AI/ML applications.
- Files: .py, .yml, .json
- Compose name: langchain
- URL: https://github.com/langchain-ai/langchain
- Description: A tool for training and deploying large-scale language models.
Sources:
- https://www.docker.com/blog/introducing-a-new-genai-stack
- https://grafana.com/blog/2023/08/30/how-to-configure-grafana-incident-with-microsoft-teams
- https://edu.chainguard.dev/chainguard/chainguard-images/reference/openai/image_specs
- https://developers.redhat.com/articles/2018/12/13/creating-custom-stacks-eclipse-che
- https://grafana.com/docs/grafana-cloud/account-management/cloud-portal
- https://developers.redhat.com/blog/2015/11/04/red-hat-microsoft-making-dot-net-on-linux-for-enterprises
- https://developers.redhat.com/blog/2019/08/29/kogito-for-quarkus-intelligent-applications
- https://developers.redhat.com/blog/2022/03/23/learn-how-build-train-and-run-pytorch-model
- https://sensu.io/downloads
- https://opensource.com/article/21/5/quarkus
- https://developers.redhat.com/devnation/tech-talks/data-quarkus-infinispan
- https://developers.redhat.com/blog/2019/12/26/see-the-magic-behind-quarkus-the-cloud-native-java-framework
- https://developers.redhat.com/blog/2017/10/13/server-side-kotlin-eclipse-vert-x-javaone
- https://grafana.com/blog/2022/03/16/taking-care-of-your-loved-ones-with-grafana-and-other-open-source-solutions