Recipe Catalog
Recipes Catalog Overview
One of the most important features of the Podman AI Lab extension is the curated catalog of open source recipes that enable you to navigate common AI use cases and solutions.
Podman AI Lab ships with a Recipes Catalog that helps us navigate a number of core AI use cases such as ChatBots, Code Generators and Text Summarizers. Each recipe comes with detailed explanations and sample applications with open source code that can be run with various large language models (LLMs).
Once you’ve selected a recipe from the Recipes Catalog, you’ll be able to see a summary of what the recipe does and how it works. This will give you a better understanding of the recipe’s capabilities and help you decide if it’s right for your application. You’ll also find handy links to the application source code and the recommended model, as well as the ability to select other compatible models.
When you’re ready to see the application live and running, you can start it by clicking the Start AI App button on the upper right-hand side. As the application starts, you’ll be able to see the model it uses and where the source code of the application is located. In the background, Podman is running an inference server for the downloaded model within a container using the freely redistributable Red Hat Enterprise Linux Universal Base Image.
During the startup process, you’ll be shown a few steps that will be completed before the application is ready to use. These steps might include downloading the model, building the container images with the model and the application, etc.
Once the application has started, you can open it from the UI and use it from your web browser. In the ChatBot example, you can interact with the front end application, which is inferencing the model server, serving the running model. It"s this easy to set up a model server and start integrating generative AI in your applications.
In this lesson, we will experiment with Recipes to increase your Gen AI/LLM application integration knowledge.
GizmoGobble Team’s Use of Recipe Catalog
The main goal of GizmoGenie application is to provide a ChatBot style interaction for web customers. Now that GG’s Development team has evaluated a few AI models using the playground and model services, it is time to test their selections in a simulated ChatBot application that mirrors the web interface solution.
In the natural language section of the AI Lab Recipe Catalog, there is a recipe for a Chat application that provides features similar to the planned containerized version of the GizmoGenie Chat interface.
The best part about the Chat Application recipe is that it includes links to the source github repository that contains all the application code. This repo contains a recipe for building and running the containerized AI Model along with a second container that runs the front end application. Both of these are built using Red Hat’s Universal bases image (UBI), which is free to use for customers, and provides a reusable stable container platform.
These containerized AI recipes can be used to help developers quickly prototype new AI and LLM based applications locally, without the need for relying on any other externally hosted services. Since they are already containerized, it also helps developers move quickly from prototype to production.
Available Categories of AI Solutions
Natural Language Processing
-
ChatBots that 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 which 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.
-
Code generators which empower developers to concentrate on higher-level design and problem-solving by automating repetitive tasks like project setup and API integration, or to produce code templates.
-
- coming soon - RAG (Retrieval Augmented Generation), is the process of optimizing the output of a large language model, so it references an authoritative knowledge base outside of its training data sources before generating a response.
Computer-vision
-
Object detection helps identify and locate objects within digital images or video frames. It is a fundamental component in various applications, including autonomous vehicles, retail inventory management, precision agriculture, and sports broadcasting.
Audio
-
Audio-to-text transcription involves the process of automatically transcribing spoken language into written text, facilitating documentation, accessibility, and analysis of audio content.
Multimodel
-
For Image understanding you can upload an image file from your host machine and the app will provide a natural language description of the image.
LAB: ChatBot Application Deployment
Located in the AI Apps section of Podman AI Lab is the Recipe Catalog, along with the Running menu option.
When opened, the recipe catalog displays the sample applications sorted by category.
Let’s begin with the ChatBot Application in the natural language section.
-
Select the ChatBot application, which will open a new dashboard with two options: the Summary & Models tabs.
-
The Summary tab displays details about the application.
-
The Models tab allows the user to select a compatible model for the application to use.
-
-
Depending on the available resources in your Podman machine running in Podman Desktop, you may receive a notification about increasing available resources to improve performance.
-
If you did receive this message, close all the previous resources and restart your Podman container.
-
Or, increase the resources available in your Podman container for a pleasant lab experience.
-
-
On the right side of the window is the AI App Details section which includes a button to start the AI App.
-
In the Model Section, there is a swap for a different compatible model link that switches us to the Models Tab.
-
Also shown is the repository location for the AI lab recipes, where the original application files are located
-
-
Click the Start AI App to launch the application.
-
If the selected model has not been downloaded, it will be downloaded first.
-
If you use a model other than the default, you may need to use the Running menu dashboard to view and launch the application once it’s running. Otherwise, you will see all the details of the model starting process in the AI App Details widget.
-
If you use the default AI Model, then you will get a checklist of the progress during the application deployment.
Once Chat Application has completed, a green icon will appear along with the words running at the top of the AI App Details console.
Additionally, from the AI App Details sub-menu, there will also be options to open the application in a web browser, restart the application, and delete the application.
The application can now be launched in a web browser to interact with the model via the ChatBot client.
This seems exactly like the playground, however the difference is how the application and model are served to work together.
Another difference in this user experience is that there are no tuning parameters tions or system prompt modification options provided, as those will be set in the background by the developer and will stay consistent across users.
Podman Desktop
We can use the containers menu of Podman Desktop to view the running containers that make up this application.
-
Select the container menu icon, which looks like a 3D cube and is second from the top.
-
In the image below, there is container image from the playground at the top.
-
Next, is a pod, with 3 containers listed that make up the Chat Application Infrastructure
-
There is a container for the streamlit web /chat application
-
There is a container for the llama.cpp server hosting the AI Model
-
An infrastructure container that expose external resources
-
-
Clicking on container image such as the llamacpp-server-podified will present a dashboard for interaction with individual containers include a Summary, Logs, Inspect, and Terminal.
-
From the menu at the top right:
-
view resources each container is consuming
-
take action on the container such as stop, restart, export and download the container.
-
Understanding where to find logs is crucial for troubleshooting failures and resolving technical conflicts.
Additional Applications
Each of the additional recipes available will launch a service designed to help you gain experience with specific business cases for AI model development.
Experiment with lauching the Text Summarizer or Video Analysis recipes.
For optimal performance:
-
Delete the previous Recipe, before starting a new recipe.
-
Restart the Podman machine between each new deployment to ensure the best performance of the Podman AI Lab environment.
Don’t rush to move to the next section until you have explored the recipes throughly. In the next section on Advanced Concepts, you will be provided with two ways to augment an open source model using commodity hardware in a local environments.
There are links to labs that will challenge your knowledge, get ready!