Spread the love

Two weeks ago, I started with the simple LLM training post, and then meta-llama released a new improved model, meta-llama-3-8B. At 16Gb it has a pace that is alright for my minimal hardware, it only takes a few minutes to answer questions. My goal became working as fast as I could to finalise my exercise app, Active e-Fitness, as my gym sessions needed a little reworking. Firstly, I wanted to change the equipment for easier sessions, as in so I have to run around a little less. Then secondly, I don’t have my rest day stretches set up in the app yet.

Hence, the world map doesn’t get rest sessions yet.

Step 1: Choose Your Llama3 Model

As per usual, I like using my LLMs offline. For this, I have moved to using LM Studio, it makes it super easy to jump between models.

Today’s post uses Meta Llama 3 Instruct 7B F16 at 16.07Gb

As you will note, my Code Gemma is just a conversion of one of the bigger forks off google/codegemma-7b-it with additional training that isn’t mine, it isn’t my own training. I’ve moved to the idea that I will take Llama 3 and add my own training there instead, so that will come in the future. I would guess we might soon see a v2 of Code Llama using Llama 3, I’ve just been distracted by Llama 3 as a whole.

Note: Using LLMs locally is possible, but you need to agree to terms and conditions for your offline use for some public models, such as Meta Llama 3, or Google Code Gemma. My posts are more intended to be informative and give people ideas for their own LLM adventures.

I did try a few, and decided to stick to SanctumAI/Meta-Llama-3-8B-Instruct-GGUF at the 16.07Gb for this post.

In LM Studio: Search > llama > choices

As you can see, there are smaller GGUFs for computers that can only use smaller models with their VRAM and RAM, you should be able to find a model that fits your needs. As a note, you can move your LM Studio model folder to be somewhere easily accessible, for when you want to manage them manually.

Step 2: Set Your Context

Once the model is loaded, and you can verify it works quick enough for you, you can create your own context for an unlimited conversation. After loading the model before you send the first message, choose the context overflow which fits. I’ve found a meaningful first message can keep a more professional answer set with less likelihood of garbled nonsense after several prompts. When maintaining rolling context, I regularly get garbage symbol answers after a while.

Make the first prompt meaningful.

Then constructing a decent paragraph for the answer types I would like, I build a first message context. A descriptive set of rules for what the intention of the chat will be, and how I want to structure all questions and answers, and I find the model knows what I want. That the Active e-Fitness sample below as an example, as I decided to revamp my projects by making Llama 3 my sprint master:

Set the context

For the first context message follows the prompt well:

Here is a high-level outline of the steps needed to build your own MAUI Android exercise and fitness app:

**Step 1: Planning and Requirements**

* Define the app’s purpose and scope
* Identify the target audience and their needs
* Determine the features required for the app (calories counting, meal prep, snacks, water intake tracking, 4-day exercise routine, stretches on Saturday and Sunday, and Wednesday) * Create a wireframe of the app’s UI and UX

**Step 2: Setting up the Project**

* Create a new MAUI Android project in Visual Studio
* Choose the .NET 8.0 framework and C# as the programming language
* Set up the project structure and file organization

**Step 11: Deployment**

* Prepare the app for deployment on the Google Play Store (or other platforms)
* Create a release build and test it again before publishing
* Publish the app on the Google Play Store

Please let me know when you’re ready to proceed with the next step, and I’ll provide more detailed instructions!

First response (truncated)

Where using the next prompts to get more of a design:

Here’s a short tutorial to help you plan and define the requirements for your MAUI Android exercise and fitness app:

**Step 1: Planning and Requirements**

**Objective:** Define the purpose, scope, target audience, features, and functional requirements for your MAUI Android exercise and fitness app.


1. **Define the App’s Purpose**: Write a brief statement that answers the question “What is the main purpose of my app?”

Example: “My app aims to help users track their physical activity, nutrition, and hydration levels to achieve a balanced lifestyle and reach their fitness goals.”

2. **Identify the Target Audience**: Who is your app for? What are their needs, pain points, and goals?

* Demographics: Adults aged 25-45
* Goals: Lose weight, build muscle, improve overall health
* Pain points: Difficulty staying motivated, lack of accountability, unsure about proper nutrition and exercise techniques

Step1 sample response to – “please give me a short tutorial to do step 1: planning and requirements” (truncated)

Following that prompt structure through each suggested step from the context query, finally the step 11 answer:

Here’s a short tutorial to help you implement the Deployment feature in your MAUI Android exercise and fitness app:

**Step 11: Deployment**

– **Create a Release Configuration**: In Visual Studio, create a new release configuration for your app. – Right-click on the project in Solution Explorer, select “Configuration Properties”, then click on the “Release” configuration.
– **Set the Target Platform**: In the “Release” configuration, set the target platform to Android or iOS (depending on which platform you want to deploy to).
– **Build the App**: Build your app by right-clicking on the project in Solution Explorer and selecting “Build”.

Step 11 sample response to – “please give me a short tutorial to do step 11: deployment” (truncated)

As people who understand programming, code projects, and use of project management similar to Kanboard, should understand, this can be useful when you decide on a new project to build from scratch. Get a large amount of the work which would be needed on the project from the start. You should, of course, understand that these tasks and lists of ideas aren’t set in stone, but the aim of using this methodology is to bring an understandable action plan for you to complete it.

Final Notes

As of this post, which I did all of the above on Friday afternoon, to explore new ideas for my project planning, I’ve swapped over to hermes-2-pro-llama-3-8b.fp16.gguf from brittlewis12/Hermes-2-Pro-Llama-3-8B-GGUF. It has been giving interesting answers to my queries that I’m enjoying a lot. Always remember these can change daily and all have their own differences, it’s an exciting area to be able to describe problems and solutions I can think of then be guided to the right code suggestions that fit my goal, with ease.