Project Description

As Generative AI is everywhere around, we want to research its possibilities, how it can help SUSE, its employees and customers. The initial idea is to build solution based on Amazon Bedrock, to integrate our asset management tools and to be able to query the data and get the answers using human-like text.

Goal for this Hackweek

Populate all available data from SUSE Asset management tools (integrate with Jira Insight, Racktables, CloudAccountMetadata, Cloudquery,...) into the foundational model (e.g. Amazon Titan). Then make the foundational model able to answer simple queries like how many VMs are running in PRG2 or who are the owners of EC2 instances of t2 family.

This is only one of the ideas for GenAI we have. Most probably we will try to cover also another scenarios. If you are interested or you have any other idea how to utilize foundational models, let us know.

Resources

  • https://aws.amazon.com/bedrock/
  • https://github.com/aws-samples/amazon-bedrock-workshop
  • Specifically for this hackweek was created AWS Account ITPE Gen IA Dev (047178302800) accessible via Okta - whoever is interested, please contact me (or raise JiraSD ticket to be added to CLZ: ITPE Gen IA Dev) and use region us-west-2 (don't mind the typo, heh).
  • we have booked AWS engineer, expert on Bedrock on 2023-11-06 (1-5pm CET, meeting link) - anyone interested can join

Keywords

AI, GenAI, GenerativeAI, AWS, Amazon Bedrock, Amazon Titan, Asset Management

Looking for hackers with the skills:

ai genai generativeai aws amazontitan assetmanagement bedrock

This project is part of:

Hack Week 23

Activity

  • about 1 year ago: vadim joined this project.
  • about 1 year ago: ralwal joined this project.
  • about 1 year ago: rjagu joined this project.
  • about 1 year ago: rjagu left this project.
  • about 1 year ago: rjagu joined this project.
  • over 1 year ago: lthadeus liked this project.
  • over 1 year ago: ralwal liked this project.
  • over 1 year ago: mpiala started this project.
  • over 1 year ago: mpiala added keyword "bedrock" to this project.
  • over 1 year ago: mpiala removed keyword amazonbedrock from this project.
  • over 1 year ago: mpiala added keyword "assetmanagement" to this project.
  • over 1 year ago: mpiala added keyword "ai" to this project.
  • over 1 year ago: mpiala added keyword "genai" to this project.
  • over 1 year ago: mpiala added keyword "generativeai" to this project.
  • over 1 year ago: mpiala added keyword "aws" to this project.
  • over 1 year ago: mpiala added keyword "amazonbedrock" to this project.
  • over 1 year ago: mpiala added keyword "amazontitan" to this project.
  • over 1 year ago: mpiala originated this project.

  • Comments

    • mpiala
      about 1 year ago by mpiala | Reply

      slides from the AWS workshop: https://mysuse.sharepoint.com/:b:/s/suse-it-infra/EYUbSRf1y5NqAq9Owjh6cQB0ESOJnJRzx83P5d2EzTMA?e=j8miG1

    • mpiala
      about 1 year ago by mpiala | Reply

      and recording of the workshop: Gen AI with AWS-20231106_130308-Meeting Recording.mp4

    • vadim
      about 1 year ago by vadim | Reply

      @mpiala now that we all have some hands on experience with bedrock I suggest that you create a few workgroup sessions for tomorrow / Thursday and invite contributors. I'd split the work into three workstreams:

      1. Create infrastructure / pipelines that would deploy the project in a reproducible way
      2. Create a crawler that would parse the source data and populate a vector database (probably a lambda that can be triggered by cloudwatch)
      3. Create a backend that would query the vector DB, run inference and integrate with slack

      For vector DB we can use something off the shelf, like pinecone.io - later we can move it to Athena or something else.

    Similar Projects

    Run local LLMs with Ollama and explore possible integrations with Uyuni by PSuarezHernandez

    Description

    Using Ollama you can easily run different LLM models in your local computer. This project is about exploring Ollama, testing different LLMs and try to fine tune them. Also, explore potential ways of integration with Uyuni.

    Goals

    • Explore Ollama
    • Test different models
    • Fine tuning
    • Explore possible integration in Uyuni

    Resources

    • https://ollama.com/
    • https://huggingface.co/
    • https://apeatling.com/articles/part-2-building-your-training-data-for-fine-tuning/


    Gen-AI chatbots and test-automation of generated responses by mdati

    Description

    Start experimenting the generative SUSE-AI chat bot, asking questions on different areas of knowledge or science and possibly analyze the quality of the LLM model response, specific and comparative, checking the answers provided by different LLM models to a same query, using proper quality metrics or tools or methodologies.

    Try to define basic guidelines and requirements for quality test automation of AI-generated responses.

    First approach of investigation can be based on manual testing: methodologies, findings and data can be useful then to organize valid automated testing.

    Goals

    • Identify criteria and measuring scales for assessment of a text content.
    • Define quality of an answer/text based on defined criteria .
    • Identify some knowledge sectors and a proper list of problems/questions per sector.
    • Manually run query session and apply evaluation criteria to answers.
    • Draft requirements for test automation of AI answers.

    Resources

    • Announcement of SUSE-AI for Hack Week in Slack
    • Openplatform and related 3 LLM models gemma:2b, llama3.1:8b, qwen2.5-coder:3b.

    Notes

    • Foundation models (FMs):
      are large deep learning neural networks, trained on massive datasets, that have changed the way data scientists approach machine learning (ML). Rather than develop artificial intelligence (AI) from scratch, data scientists use a foundation model as a starting point to develop ML models that power new applications more quickly and cost-effectively.

    • Large language models (LLMs):
      are a category of foundation models pre-trained on immense amounts of data acquiring abilities by learning statistical relationships from vast amounts of text during a self- and semi-supervised training process, making them capable of understanding and generating natural language and other types of content , to perform a wide range of tasks.
      LLMs can be used for generative AI (artificial intelligence) to produce content based on input prompts in human language.

    Validation of a AI-generated answer is not an easy task to perform, as manually as automated.
    An LLM answer text shall contain a given level of informations: correcness, completeness, reasoning description etc.
    We shall rely in properly applicable and measurable criteria of validation to get an assessment in a limited amount of time and resources.


    Automated Test Report reviewer by oscar-barrios

    Description

    In SUMA/Uyuni team we spend a lot of time reviewing test reports, analyzing each of the test cases failing, checking if the test is a flaky test, checking logs, etc.

    Goals

    Speed up the review by automating some parts through AI, in a way that we can consume some summary of that report that could be meaningful for the reviewer.

    Resources

    No idea about the resources yet, but we will make use of:

    • HTML/JSON Report (text + screenshots)
    • The Test Suite Status GithHub board (via API)
    • The environment tested (via SSH)
    • The test framework code (via files)


    Make more sense of openQA test results using AI by livdywan

    Description

    AI has the potential to help with something many of us spend a lot of time doing which is making sense of openQA logs when a job fails.

    User Story

    Allison Average has a puzzled look on their face while staring at log files that seem to make little sense. Is this a known issue, something completely new or maybe related to infrastructure changes?

    Goals

    • Leverage a chat interface to help Allison
    • Create a model from scratch based on data from openQA
    • Proof of concept for automated analysis of openQA test results

    Bonus

    • Use AI to suggest solutions to merge conflicts
      • This would need a merge conflict editor that can suggest solving the conflict
    • Use image recognition for needles

    Resources

    Timeline

    Day 1

    • Conversing with open-webui to teach me how to create a model based on openQA test results

    Day 2

    Highlights

    • I briefly tested compared models to see if they would make me more productive. Between llama, gemma and mistral there was no amazing difference in the results for my case.
    • Convincing the chat interface to produce code specific to my use case required very explicit instructions.
    • Asking for advice on how to use open-webui itself better was frustratingly unfruitful both in trivial and more advanced regards.
    • Documentation on source materials used by LLM's and tools for this purpose seems virtually non-existent - specifically if a logo can be generated based on particular licenses

    Outcomes

    • Chat interface-supported development is providing good starting points and open-webui being open source is more flexible than Gemini. Although currently some fancy features such as grounding and generated podcasts are missing.
    • Allison still has to be very experienced with openQA to use a chat interface for test review. Publicly available system prompts would make that easier, though.


    Save pytorch models in OCI registries by jguilhermevanz

    Description

    A prerequisite for running applications in a cloud environment is the presence of a container registry. Another common scenario is users performing machine learning workloads in such environments. However, these types of workloads require dedicated infrastructure to run properly. We can leverage these two facts to help users save resources by storing their machine learning models in OCI registries, similar to how we handle some WebAssembly modules. This approach will save users the resources typically required for a machine learning model repository for the applications they need to run.

    Goals

    Allow PyTorch users to save and load machine learning models in OCI registries.

    Resources


    SUSE AI Meets the Game Board by moio

    Use tabletopgames.ai’s open source TAG and PyTAG frameworks to apply Statistical Forward Planning and Deep Reinforcement Learning to two board games of our own design. On an all-green, all-open source, all-AWS stack!
    A chameleon playing chess in a train car, as a metaphor of SUSE AI applied to games


    Results: Infrastructure Achievements

    We successfully built and automated a containerized stack to support our AI experiments. This included:

    A screenshot of k9s and nvtop showing PyTAG running in Kubernetes with GPU acceleration

    ./deploy.sh and voilà - Kubernetes running PyTAG (k9s, above) with GPU acceleration (nvtop, below)

    Results: Game Design Insights

    Our project focused on modeling and analyzing two card games of our own design within the TAG framework:

    • Game Modeling: We implemented models for Dario's "Bamboo" and Silvio's "Totoro" and "R3" games, enabling AI agents to play thousands of games ...in minutes!
    • AI-driven optimization: By analyzing statistical data on moves, strategies, and outcomes, we iteratively tweaked the game mechanics and rules to achieve better balance and player engagement.
    • Advanced analytics: Leveraging AI agents with Monte Carlo Tree Search (MCTS) and random action selection, we compared performance metrics to identify optimal strategies and uncover opportunities for game refinement .

    Cards from the three games

    A family picture of our card games in progress. From the top: Bamboo, Totoro, R3

    Results: Learning, Collaboration, and Innovation

    Beyond technical accomplishments, the project showcased innovative approaches to coding, learning, and teamwork:

    • "Trio programming" with AI assistance: Our "trio programming" approach—two developers and GitHub Copilot—was a standout success, especially in handling slightly-repetitive but not-quite-exactly-copypaste tasks. Java as a language tends to be verbose and we found it to be fitting particularly well.
    • AI tools for reporting and documentation: We extensively used AI chatbots to streamline writing and reporting. (Including writing this report! ...but this note was added manually during edit!)
    • GPU compute expertise: Overcoming challenges with CUDA drivers and cloud infrastructure deepened our understanding of GPU-accelerated workloads in the open-source ecosystem.
    • Game design as a learning platform: By blending AI techniques with creative game design, we learned not only about AI strategies but also about making games fun, engaging, and balanced.

    Last but not least we had a lot of fun! ...and this was definitely not a chatbot generated line!

    The Context: AI + Board Games