Skip to content

Tech edit fixes #23

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jul 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,18 @@ video::podmanai_intro_v1.mp4[width=640]

Welcome to this course on Podman AI Lab!

In this course, you will use *Podman Desktop with the AI Lab Extension* to increase your knowledge and gain capabilities in using open source AI Models to provide businesses with AI driven solutions. Accomplished through hands-on practice of successfully installing Podman Desktop, adding the Podman AI Lab extension, downloading & serving AI models, using the playground to experiment & investigate the effectiveness of AI Models, and using the recipe catalog to deploy various AI enabled applications.
In this course, you will use *Podman Desktop with the AI Lab Extension* to increase your knowledge and gain capabilities in using open source AI Models to provide businesses with AI driven solutions.

* Accomplished through hands-on practice of successfully installing Podman Desktop,
* Adding the Podman AI Lab extension, downloading & serving AI models,
* Using the playground to experiment & investigate the effectiveness of AI Models
* Using the recipe catalog to deploy various AI enabled applications.


This course will be experienced from the perspective of a *development team* at the GizmoGobble corporation. They have been tasked with integrating an AI powered Chatbot into multiple web interfaces. GizmoGobble's development team has no experience with the Podman AI Lab software, AI Model serving, or integration of existing applications with AI technology.
// Can we add a hyperlink for GizmoGobble corporation? This way, someone who is interested to learn more about it can visit the page and get information.


This course will guide you through the developers' journey as they install Podman Desktop, add the Podman AI Lab extension, download & serve AI models, use the *playground* to experiment with & investigate the effectiveness of AI Models, and finally use the *recipe catalog* to deploy various AI enabled applications.


== Course Objectives:

Expand All @@ -30,15 +33,15 @@ This course will guide you through the developers' journey as they install Podma
** Know where to locate code snippets for integrating AI models into applications

. Deploy an AI-enabled application using pre-created templates called recipes
** Reverse-engineer open-source code used in recipes for AI-enabled applications
** Reverse-engineer open source code used in recipes for AI-enabled applications

. Explain why Podman AI Lab is the entry point for customers into Red Hat's AI Ecosystem


== Prerequisites


* Basic knowledge of the large language model terminology.
* Basic knowledge of the Large Language mMdel (LLM) terminology.
* Interest in the simplest way to interact with AI Models.
* Hardware with 4vCPUs, 8GB of memory, and 20-60GB of disk space for a good experience.
* MacOS, Windows, Linux Operating System with a GUI or Desktop enabled.
Expand All @@ -47,12 +50,12 @@ This course will guide you through the developers' journey as they install Podma

== Workshop Environment for Red Hat Associates

Red Hat associates can use the Red Hat Demo Platform to provision a Podman Desktop environment.
Red Hat associates can use the Red Hat® Demo Platform to provision a Podman Desktop environment.

Use the https://demo.redhat.com/catalog?search=podman&item=babylon-catalog-prod%2Fsandboxes-gpte.rhel-podman-desktop.prod[Getting Started with Podman Desktop] catalog item from Red Hat Demo Platform (RHDP).

[NOTE]
This lab was recently updated to the version 1.1.1 of Podman Desktop, which is the version used in this course. However, the workshop runs on RHEL 9, while the lessons in this course describe using Podman AI Lab installed on MacOs. I plan to release a video providing instructions specific to this workshop ASAP.
The Workshop deploys an AWS instance with the RHEL 9.4 desktop operating system installed. The lastest version of Podman Desktop can be access through the activities menu. You will need to install the AI lab extension. While playground, services, and model catalog environments function well; performance is limited for recipe catalog applications.


When ordering this demo item:
Expand Down
10 changes: 5 additions & 5 deletions modules/chapter1/pages/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ As businesses integrate generative AI into their operations, they are asking the

What tools, services, and solutions are available today that will allow my product teams to get to market as quickly as possible based on their current skill sets, internal technology landscape, and data availability?


What offers the least friction in development? How can we guide this with accelerators that don't require months of build time? How can we allow our product teams to focus on our company's core differentiators while combining the power of Large Language Models (LLMs) to innovate on behalf of our customers?
* What offers the least friction in development?
* How can we guide this with accelerators that don't require months of build time?
* How can we allow our product teams to focus on our company's core differentiators while combining the power of Large Language Models (LLMs) to innovate on behalf of our customers?

The GizmoGobble's leadership team decided that when it comes to LLM development, they should exhaust the path of least custom development before moving to more complicated and costly approaches.

Expand All @@ -17,9 +18,8 @@ These are the requirements they set forth:
* Develop first using existing open-source large language models (LLMs).
* Iterate through multiple LLMs to determine which one best fits the use case.
* Apply prompt engineering techniques against the LLM.

* Once you find the LLM that works best, focus on that LLM.
* Fine tune an LLM with custom data.
* Fine-tune an LLM with custom data.

Now that we have an idea of the approach, let's take a step back to learn more about the GizmoGobble Corporation and how Podman AI Labs can help them achieve their AI goals.
Now that we have an idea of the approach, let's take a step back to learn more about the GizmoGobble (GG)Corporation and how Podman AI Labs can help them achieve their AI goals.

10 changes: 5 additions & 5 deletions modules/chapter1/pages/section1.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,21 @@

== A Fictional Company

In the bustling heart of Silicon Valley, there was a quirky little company named "GizmoGobble." GizmoGobble was known far and wide for its enchanting line of interactive kitchen gadgets that made cooking an adventure instead of a chore. Their most popular product was the "Motorized Spiralizer," which transformed vegetables into intricate, helical designs with just the press of a button.
In the bustling heart of Silicon Valley, there was a quirky little company named "GizmoGobble aka (GG)." GizmoGobble was known far and wide for its enchanting line of interactive kitchen gadgets that made cooking an adventure instead of a chore. Their most popular product was the "Motorized Spiralizer," which transformed vegetables into intricate, helical designs with just the press of a button.

Despite their whimsical and innovative offerings, GizmoGobble's website traffic remained steadily medium-sized. The team at GizmoGobble was always *on the lookout for ways to engage visitors and keep them coming back for more*. They knew that excellent customer service could be a game-changer, *but their support team was often overwhelmed with inquiries*.
Despite their whimsical and innovative offerings, GG's website traffic remained steadily medium-sized. The team at GG was always *on the lookout for ways to engage visitors and keep them coming back for more*. They knew that excellent customer service could be a game-changer, *but their support team was often overwhelmed with inquiries*.

Determined to tackle this challenge in-house, GizmoGobble's brilliant development team, who were not yet familiar with AI technology, embarked on an exciting new project: *creating a chatbot to provide top-notch customer service on their website*. They named their creation *"GizmoGenie,"* and set out to design a friendly and helpful bot that could answer frequently asked questions about GizmoGobble's products, offer cooking tips, and even share a joke or two to keep things lively.
Determined to tackle this challenge in-house, GG's brilliant development team, who were not yet familiar with AI technology, embarked on an exciting new project: *creating a chatbot to provide top-notch customer service on their website*. They named their creation *"GizmoGenie,"* and set out to design a friendly and helpful bot that could answer frequently asked questions about GG's products, offer cooking tips, and even share a joke or two to keep things lively.

One concern of leadership was the leaking of proprietary information. The team wanted to start their knowledge development & AI model exploration without risking their intellectual property online.

They turned to *Podman AI Lab*, an open-source extension for local AI development. Podman AI Lab provided them with the key tools they needed to start building AI model use cases within their own environment and with existing hardware.

Excited by this new opportunity, GizmoGobble's developers began exploring the offerings of Podman AI Lab. They were particularly intrigued by the Recipes Catalog, which provided detailed explanations and sample applications for various core AI use cases like ChatBots, Code Generators, and Text Summarizers. By experimenting with multiple AI models, they hoped to find the optimal one for their unique chatbot application.
Excited by this new opportunity, GG's developers began exploring the offerings of Podman AI Lab. They were particularly intrigued by the Recipes Catalog, which provided detailed explanations and sample applications for various core AI use cases like chatBots, code generators, and text summarizers. By experimenting with multiple AI models, they hoped to find the optimal one for their unique chatbot application.

Next, they discovered the Model Catalog, a curated list of open-source Generative AI Large Language Models (LLMs) provided by Podman AI Lab. Once downloaded, these models could be used for various AI applications, model services, and playgrounds, enabling model evaluation and experimentation.

GizmoGobble's team was eager to incorporate these advanced technologies into GizmoGenie.
GG's team was eager to incorporate these advanced technologies into GizmoGenie.
With a newfound sense of determination and the intuitive user interface of Podman AI Lab, it was easy for them to explore and learn about AI technology.

Now it's your turn to discover how Podman Desktop's AI Lab extension provides the perfect entry point for any organization looking to implement AI intelligence into their products.
Expand Down
14 changes: 7 additions & 7 deletions modules/chapter1/pages/section2.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,18 @@ As the GG developer team began their research into Podman Desktop & AI Lab, they
== What is Podman ?


Podman (short for pod manager) is an open-source tool for developing, managing, and running containers. Developed by Red Hat® engineers along with the open-source community, Podman is capable of managing the entire container ecosystem. Developers can also take advantage of Podman Desktop, a graphical user interface (GUI) for using Podman in local environments.
Podman (short for pod manager) is an open source tool for developing, managing, and running containers. Developed by Red Hat engineers along with the open-source community, Podman is capable of managing the entire container ecosystem. Developers can also take advantage of Podman Desktop, a graphical user interface (GUI) for using Podman in local environments.

[NOTE]
A graphical user interface (GUI) is a digital interface in which a user interacts with graphical components such as icons, buttons, and menus (visual indicator representations).

Users can run Podman on various Linux distributions, such as Red Hat Enterprise Linux, Fedora, CentOS, and Ubuntu.

While *"containers are Linux,"* Podman also runs on Mac and Windows, where it provides a native Podman CLI and embeds a guest Linux system to launch containers. This guest is referred to as a *Podman machine* and is managed with the Podman Machine command. Podman on Mac and Windows also listens for Docker API clients, supporting direct usage of Docker-based tools and programmatic access from your language of choice.
While *"containers are Linux,"* Podman also runs on MacOS and Windows, where it provides a native Podman command-line interface (CLI) and embeds a guest Linux system to launch containers. This guest is referred to as a *Podman machine* and is managed with the Podman Machine command. Podman on MacOS and Windows also listens for Docker API clients, supporting direct usage of Docker-based tools and programmatic access from your language of choice.

https://podman.io/[Visit the official Podman website for more details]

Regarding pricing, Podman is open-source and free to use. It was developed by Red Hat and is included in many Linux distributions. There are no direct costs associated with the tool, which makes it an interesting platform for companies on a tighter budget.
Regarding pricing, Podman is open source and free to use. It was developed by Red Hat and is included in many Linux distributions. There are no direct costs associated with the tool, which makes it an interesting platform for companies on a tighter budget.

=== What are Pods?
Pods are groups of containers that run together and share the same resources, similar to Kubernetes pods. Podman manages these pods via a simple command-line interface (CLI) and the libpod library, which provides application programming interfaces (APIs) for managing containers, pods, container images, and volumes. Podman's CLI creates and supports Open Container Initiative (OCI) containers, which are designed to meet industry standards for container runtimes and formats.
Expand All @@ -32,10 +35,7 @@ While daemons can be a convenient way to manage your container environment, they

== What is Podman Desktop?

[NOTE]
A graphical user interface (GUI) is a digital interface in which a user interacts with graphical components such as icons, buttons, and menus (visual indicator representations).

Podman Desktop is a GUI for Podman, which provides a central place for developers to work with containers right on their laptop or workstation. Developers can build, push, and pull images and manage Podman resources directly using a GUI that’s consistent across local Linux, Windows, and macOS environments. Podman Desktop also lets developers deliver ready-to-deploy containerized applications to Kubernetes environments.
Podman Desktop is a GUI for Podman, which provides a central place for developers to work with containers right on their laptop or workstation. Developers can build, push, and pull images and manage Podman resources directly using a GUI that’s consistent across local Linux, Windows, and MacOS environments. Podman Desktop also lets developers deliver ready-to-deploy containerized applications to Kubernetes environments.

Podman Desktop supports extension packs, which open up additional capabilities. One example is , Podman AI Lab, which adds recipes for building applications that work with large language models (LLMs) in a local environment and includes a curated catalog of open-source licensed LLMs.

Expand Down
9 changes: 4 additions & 5 deletions modules/chapter1/pages/section3.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
Podman AI Lab is an open-source tool that enables users to work with large language models (LLMs) on a local environment, simplifying the process of getting started with AI-powered applications in their projects.



It offers resources and guidance for beginners, making it easy to explore AI and its potential.
Users can experiment with various models and prompts to find the best fit for their needs, thanks to the model experimentation capability.

Expand All @@ -20,7 +19,7 @@ The extension can be installed quickly and easily on macOS, Windows, and Linux s

=== Recipes Catalog

Podman AI Lab ships with a Recipes Catalog that helps us navigate a number of core AI use cases and problem domains such as Chat Bots, Code Generators and Text Summarizers. Each recipe comes with detailed explanations and sample applications that can be run with various large language models (LLMs). Experimenting with multiple AI models allows finding the optimal one for the business use case.
Podman AI Lab ships with a Recipes Catalog that helps us navigate a number of core AI use cases and problem domains such as Chat Bots, Code Generators and Text Summarizers. Each recipe comes with detailed explanations and sample applications that can be run with various large language models (LLMs). Experimenting with multiple AI models helps find the optimal one for the business use case.

* *Chatbots* simulate human conversation, using AI to comprehend user inquiries and offer suitable responses. These capabilities are often used to augment applications that provide self-service customer support or virtual personal assistance.
* *Text summarizers* provide versatile capabilities across many applications and industries, where they can deliver effective and efficient information management. Using this recipe, developers can build applications to assist with things like content creation and curation, research, news aggregation, social media monitoring, and language learning.
Expand All @@ -33,7 +32,7 @@ image::recipe_catalog.png[width=640]
=== AI Models Catalog


The models catalog is a curated list of Open-Source models with the Apache 2.0 license. Once downloaded, these models are available to be used for AI applications, model services and playgrounds. The catalog will also allow users to import custom AI models and store them.
The models catalog is a curated list of open source models with the Apache 2.0 license. Once downloaded, these models are available to be used for AI applications, model services and playgrounds. The catalog will also allow users to import custom AI models and store them.

image::models_catalog.png[width=640]

Expand All @@ -49,11 +48,11 @@ image::client_code.png[width=640]

=== Playgrounds

Podman AI Lab includes a playground environment that allows users to interact with AI models and observe their behavior. Each playground ships with a generic chat client to interact with an AI deployed via the AI Lab model service. A customizable system prompt & parameter modification settings widget helps in exploring the capabilities and accuracy of various models. We can deploy multiple playgrounds against a single served AI Model to aid in finding the best model with the best settings for the task.
Podman AI Lab includes a playground environment that allows users to interact with AI models and observe their behavior. Each playground ships with a generic chat client to interact with an AI deployed via the AI Lab model service. A customizable system prompt & parameter modification settings widget helps in exploring the capabilities and accuracy of various models. We can deploy multiple playgrounds against a single serve AI Model to find the best model with the best settings for the task.

image::playground.png[width=640]

== AI & Large Language Model Supported Format
== AI and Large Language Model Supported Format

=== GGUF Format:

Expand Down
Loading
Loading