Recipe Catalog

Podman AI Lab ships with a Recipes Catalog that helps you navigate a number of core AI use cases and problem domains 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). Experimenting with multiple models allows finding the optimal one for our use case.

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, which is free to use for customers, and provide a re-usable 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.

start ai app

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 the 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.

  1. Select the ChatBot application, which will open a new dashboard with two options: the Summary & Models tabs.

    1. The Summary tab displays details about the application.

    2. The Models tab allows the user to select a compatible model for the application to use.

  2. Depending on the available resources in your Podman container (machine) running in Podman desktop, you may receive a notification about increasing available resources to improve performance.

    1. If you did receive this message, close all the previous resources and restart your Podman container.

    2. Or, increase the resources available in your Podman container for a pleasant lab experience.

  3. On the right side of the window is the AI App Details section which includes a button to start the AI App.

    1. In the Model Section, there is a drop down to allow the user to select an alternative Model.

    2. The model section option simply opens the models tab described above.

    3. Also shown is the repository location for the ai lab recipes, where the original application files are located

  4. Click the Start AI App to launch the application.

    1. If the selected model has not been downloaded, it will be downloaded first.

    2. 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.

If you use the default AI Model, then you will get a checklist of the progress during the application deployment.

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 parameter options or system prompt provided to the user, 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 container that make up this application.

  • There is a container for the streamlit chat application

  • There is a container for the llama.cpp server hosting the AI Model

  • There is a container for ??? // What comes in place of the above ?

In the Pod section of the Podman Desktop, the Pod that contains the three container is displayed as:

  1. View the kubernetes deployment

  2. View the log files

  3. View the summary of containers running in the pod

Additional Applications

Each additional recipe available will launch a service designed to help users gain experience with specific business cases for AI model development.

Note: There is a video walkthrough of each of the additional Recipe’s in action.

For optimal performance: * Delete the Previous Receipe: Before starting a new receipe, remove the previous one.

  • Restart the Podman Container: Restart the Podman container to ensure the best performance of the Podman AI Lab environment.

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.

To begin, click the top left option the Recipes Catalog menu option.

This catalog is organized by categories of example use cases that can inspire you on how to infuse your app with AI. It includes pre-selected models (and the ability to swap), example code, and easy access to your IDE. The catalog of recipes is designed to provide the best practices and inspire you with use cases you can eventually benefit from in your applications.

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 (curated from Hugging Face’s open source community).

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, the selected Mistral-7B model. It’s this easy to set up a model server and start integrating generative AI in your applications.

As you work in other areas of Podman Desktop for your container workflow, you’ll always be able to see your running AI apps (i.e., the recipes you started) in the dedicated Running section for Podman AI Lab.