Transforming Family Photos into Festive Holiday Cards with AI

There are several open-source tools available this year for creating holiday cards. If you have a wonderful photo of your family or grandchildren, but it was taken during a different season and you’d like to change the background, there’s a Python module called rembg that can help you with that. To get started, you’ll need to set up a Python virtual environment and install the necessary dependencies. I created a directory named rembg using the following command:

$ mkdir rembg 

Then I setup a Python virtual environment.

python3 -m venv /home/don/rembg

Then I activate the environment with the following command.

source /home/don/rembg/bin/activate

Then I install rembg:

pip3 install rembg

I want to use rembg from the command line so I make the following additional installation:

pip3 install "rembg[cli]"

Then I install onnxruntime which is a machine learning accelerator.

pip3 install onnxruntime

Now I am ready to remove the background from the image that I have chosen. This is a recent picture of my wife and I taken in the fall of the year. I like the picture but I want it to have a festive background.

Photo by https://www.sissyhorch.com/

I make sure that my image is in the rembg folder and then execute the following command. The i switch means that I am operating at the file level.

rembg i grandparents.jpg grandparents_no_bg.jpg

In the command above I renamed the output file so that I would still have my original just in case I wanted to use it again. You can see below that the background has been removed from the image above.

I can create a nice background for my card with InkScape and add some festive lettering and use a Pointsettia I downloaded from Openclipart.org. The completed card is shown below.

Created with InkScape, OpenClipart.org by Don Watkins CC by SA 4.0

Rembg is open source with an MIT License. Onnxruntime is open source with an MIT License.

Navigating the AI Revolution: Balancing Innovation, Privacy, and Open-Source Alternatives

Everywhere you look, whether in print or on the web, the rage is AI. I’m part of the group that sees potential in machine learning and how it might reshape our educational systems. All the major tech companies have embraced it, and at the same time, many folks are sure that it spells the end of authentic authorship. In addition to some of the slop created with artificial intelligence, there is a growing concern for our privacy. Some people allege that their original works are being used to train large language models without permission.

In the past couple of years, I have asked folks in higher education and K-12 if their institutions have policies stipulating how teachers and students can use this emerging technology that continues to proliferate. With few exceptions, such policies do not exist. There are the Luddites who refuse to acknowledge its presence, some who believe in ubiquity but have very few policies, and those who stipulate no policy.

Most major operating systems and many of their applications now incorporate AI features, making it challenging to avoid them. However, there is a solution: high-quality, freely accessible software. This solution consists of open-source software that does not include artificial intelligence algorithms. The best part is that you don’t have to give up your existing operating systems unless you choose to. If you decide to switch, I recommend considering one of the major Linux distributions, as they can help extend the life of your hardware and software.

LibreOffice is a comprehensive office suite that includes a word processor (Writer), a spreadsheet application (Calc), and presentation software (Impress). It allows you to save your work in open formats, ensuring you always have access to your documents. When using proprietary software, those programs save your work in formats that are inaccessible unless you continue to purchase a license for that product. LibreOffice uses open documents, which ensure that your job is always accessible to you. LibreOffice is also available on Linux, MacOS, and Windows and is open source.

GIMP (GNU Image Manipulation Program) is a fully featured alternative to proprietary photo editing software and includes embedded AI capabilities. Gimp is used for image manipulation, editing, free-form drawing, converting between various image file formats, and other specialized tasks. The software is extensible through plugins and supports scripting for enhanced functionality. It is open source with a GPL v. 3 license.

Inkscape is a free, open-source vector graphics editor available for Unix-compatible systems, including Linux, Windows, and macOS. It provides a robust set of tools and is widely used for creating artistic and technical illustrations, such as cartoons, clip art, logos, typography, diagrams, and flowcharts. Inkscape uses vector graphics to ensure sharp printouts and renderings at any resolution, unlike raster graphics, which are limited by pixel dimensions.

Blender is a robust, open-source software suite for 3D modeling and animation, extensively utilized across diverse industries such as animation, visual effects, art, and 3D printing. It provides a comprehensive array of modeling, texturing, sculpting, rigging, animation, rendering, compositing, and motion-tracking tools within a single, versatile application.

Audacity is a free and open-source digital audio editor for Windows, macOS, and Linux. In addition to recording audio from various sources, Audacity provides extensive post-processing features for all types of audio. These features include effects such as normalization, trimming, and fading in and out. Audacity can record multiple tracks at once. Audacity natively supports importing and exporting WAV, AIFF, MP3, Ogg Vorbis, and other formats compatible with the libsndfile library. However, due to patent licensing restrictions, the FFmpeg library required for handling proprietary formats like M4A (AAC) and WMA is not included with Audacity and must be downloaded separately.

VLC is a free, open-source, and portable media player and streaming server created by the VideoLAN project. It supports desktop operating systems and mobile platforms, including Android, iOS, and iPadOS.

Enhancing My Resume with AI: A Journey with Microsoft Copilot

A few days ago a friend sent me a message about an opportunity to work as a Maker Space coach at a local university. After discussing the opportunity with my wife she suggested I apply. I completed the online application and then toward the end of the process i needed to submit a resume. There used to be a way to use your Linkedin profile to generate a resume. They don’t offer that service anymore. I am a Canva subscriber and there is an appllication that is supposed to work but alas it wasn’t working tonight. I asked ChatGPT to create a resume with the link to my LinkedIn profile. ChatGPT won’t perform this. That’s when I tried Microsoft Copilot.

I asked Copilot if it could help me create a resume. It suggested that I drag and drop my resume into the conversation space. I searched my drive and found a resume I had written seven years ago for a graduate school application. It was a PDF. Copilot would not work with the PDF but suggested that I could use a JPG or PNG. I opened the resume document and took a screen picture of it and saved the file as PNG. Then I uploaded it to Copilot. I just a few seconds Copilot read my resume and printed it out on the display. Using Copilot I instructed it to add the new additions and corrections to my resume and it did a wonderful job of that. It was incredibly easy.

Copilot provides all of it’s output in Markdown. I decided to convert the Markdown to PDF so I copied and pasted the output into my favorite MarkText which is my favorite Markdown editor, saved the file and then exported it to a PDF. I uploaded the PDF with my application and submitted it. If you find yourself in a situation like I did tonight I suggest you try using Microsoft Copilot and open source tools like Screenshot on Linux Mint and Marktext

Educators to Follow on Mastodon for Innovative Teaching Insights

I have been using Mastodon for almost six years. I continue to be amazed at the quality of discourse and the diverse community of educators and folks interested in education in the Fediverse. If you are a person who is accustomed to algorithm driven centralized social networks then Mastodon is going to seem a bit unusual at first. If you are WordPress user you can connect your blog to Mastodon with the ActivityPub plugin. You don’t need a blog to connect to Mastodon. You just need to create an account on anyone of dozens of Mastodon instances that exist around the world. One you are connected to an instance you can find other users and connect to them whether they are on your particular server instance or not.

Mastodon communications are driven by hashtags which many of you are already familiar with. Some of my favorites are #edtech

A toot on Mastodon is typically five hundred characters long. Like other microblogging platforms you may have used before brevity is prized but there’s more than enough space to get your information across and then you use hashtags to let your audience know what your toot is about.

Here’s a list of twenty-one educators currently using Mastodon.

Eric Sheninger – @esheninger@mastodon.social
Sandy Kendell – @SandyKendell@mastodon.education
Wesley Fryer – @wfryer@mastodon.cloud
Martin Dougiamas – @martin@openedtech.social
Alice Barr – @alicebarr@techhub.social
Miguel Guhlin – @mguhlin@mastodon.education
EdTech Group – @edtech@chirp.social
Clint LaLonde – @clintlalonde@mastodon.oeru.org
Doug Holton – https://mastodon.social/@dougholton
Anna Millis – @amills@mastodon.oeru.org
Open at Virginia Tech – @openatvt@fosstodon.org
SPARC – @sparc@mastodon.social
Project Gutenberg – @gutenberg_org@mastodon.social
Smithsonian Magazine – @Smithsonianmag@flipboard.com
Steven Beschloss – @StevenBeschloss@mastodon.social
Bill Fitzgerald = @funnymonkey@freeradical.zone
WikiEducation – @WikiEducation@wikis.world
CreativeCommons – @creativecommons@mastodon.social
Edutopia – @edutopia@mastodon.education
Cognitively Accessible Math – @geonz@mathstodon.xyz
NPR – @npr@mastodon.social
Open Source Science – @os-sci@mastodon.social

In conclusion, Mastodon offers a refreshing alternative to traditional, algorithm-driven social networks. Its decentralized nature and vibrant community provide an enriching environment for educators and those passionate about education. Whether you’re sharing your thoughts, discovering new ideas through hashtags, or connecting your WordPress blog with the ActivityPub plugin, Mastodon opens up a world of possibilities. Embrace the change and dive into meaningful conversations on this unique platform. Happy tooting!

Open WebUI: A nuanced approach to locally hosted Ollama

Open WebUI offers a robust, feature-packed, and intuitive self-hosted interface that operates seamlessly offline. It supports  various large language models like Ollama and OpenAI-compatible APIs,  Open WebUI is open source with an MIT license. It is easy to download and install and it has excellent documentation. I chose to install it on both my Linux computer and on the M2 MacBook Air. The software is written in Svelte, Python, and TypeScript and has a community of over two-hundred thirty developers working on it.

The documentation states that one of its key features is effortless setup. It was a easy to install. I chose to use the Docker. It boasts a number of other great features including OpenAI API integration, full Markdown and Latex support, a model builder to easily create Ollama models within the application. Be sure to check the documentation for all nuances of this amazing software.

I decided to install Open WebUI with bundled Ollam support for CPU only since my Linux computer does not have a GPU. This container Image unites the power of both Open-WebUI and Ollama for an effortless setup. I used the following Docker install script copied from the Github repository.

$ docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

On the MacBook I chose a slightly different install opting to use the existing Ollama install as I wanted to conserve space on the smaller host drive. I used the following command taken from the Github repository.

% docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

Once the install was complete I pointed my browser to:

http://localhost:3000/auth

I was presented with a login page and asked to supply my email and a password.

Screen picture by Don Watkins CC by SA 4.0

First time login will use the ‘Sign up’ link and provide your name, email and a password. Subsequent logins require email and password. After logging in the first time you are presented with “What’s New” about the project and software.

After pressing “Okay, Let’s Go!” I am presented with this display.

Screen picture by Don Watkins CC by SA 4.0

Now I am ready to start using Open WebUI.

The first thing you want to do is ‘Select a Model’ at the top left of the display. You can search for models that are available from the Ollama project.

Screen picture by Don Watkins CC by SA 4.0

On initial install you will need to download a model from Ollama.com. I enter the model name I want in the search window and press ‘Enter.’ The software downloads the model to my computer.

Screen picture by Don Watkins CC by SA 4.0

Now that the model is downloaded and verified I am ready to begin using Open WebUI with my locally hosted Phi3.5 model. Other models can be downloaded and easily installed as well. Be sure to consult the excellent getting started guide and have fun using this feature rich interface. The project has some tutorials to assist new users. In conclusion, launching into an immersive experience through their intuitively designed interface allows users of Open-WebUI to fully leverage its comprehensive array of features.

Exploring Hollama: A Minimalist Web Interface for Ollama

I’ve been continuing the large language model learning experience with my introduction to Hollama. Until now my experience with locally hosted Ollama had been querying models with snippets of Python code, using it in REPL mode and customizing it with text model files. Last week that changed when I listened to a talk about using Hollama.

Hollama is a minimal web user interface for talking to Ollama servers. Like Ollama itself Hollama is open source with an MIT license. Developed initially by Fernando Maclen who is a Miami based designer and software developer. Hollama has nine contributors currently working on the project. It is written in TypeScript and Svelte. The project has documentation on how you can contribute too.

Hollama features large prompt fields, Markdown rendering with syntax highlighting, code editor features, customizable system prompts, multi-language interface along with light and dark themes. You can check out the live demo or download releases for your operating system. You can also self-host with Docker. I decided to download it on the M2 MacBook Air and my Linux computer.

On Linux you download the tar.gz file to your computer and extract it. This opened a directory bearing the name of the compressed file, “Hollama 0.17.4-linux-x64”. I chose to rename the directory Hollama for ease of use. I changed my directory to Hollama and then executed the program.

$ ./holllama 

The program quickly launches and I was presented with the user interface which is intuitive to an extent.

Screen picture by Don Watkins CC by SA 4.0

At the bottom of the main menu and not visible in this picture is the toggle for light and dark mode. On the left of the main menu there are four choices. First is ‘Session’ where you will enter your query for the model. The second selection is “Knowledge” where you can develop your model file. Third selection is ‘Settings’ where you will select the model(s) you will use. There is a checkoff for automatic updates. There is a link to browse all the current Ollama models. The final menu selection is ‘Motd’ or message of the day where updates of the project and other news are posted.

Model creation and customization is made much easier using Hollama. In Hollama I complete this model creation in the ‘Knowledge’ tab of the menu. Here I have created a simple ‘Coding’ model as a Python expert.

Screen picture by Don Watkins CC by SA 4.0

In ‘Settings’ I specify which model I am going to use. I can download additional models and/or select from the models I already have installed on my computer. Here I have set the model to ‘gemma2:latest’. I have the settings so that my software can check for updates. I also can choose which language the model will use. I have a choice of English, Spanish, Turkish, and Japanese

Screen picture by Don Waktins CC by SA 4.0

Now that I have selected the ‘Knowledge’ I am going to use and the model I will use I am ready to use the ‘Session’ section of the menu and create a new session. I selected ‘New Session’ at the top and all my othe parameters are set correctly.

Screen pictire by Don Watkins CC by SA 4.0

At the bottom right of the ‘Session’ menu is a box for me to enter the prompt I am going to use.

Screen picture by Don Watkins CC by SA 4.0

You can see the output below that is easily accessible.

Screen picture by Don Watkins CC by SA 4.0

The output is separated into a code block and a Markdown block so that it is easy to copy the code into a code editor and the Markdown into an editor. Hollama has made working with Ollama much easier for me. Once again demonstrating the versatility and power of open source.

Taking a look at financial data with Ollama

Several weeks ago a person asked me to assist her with organizing her financial records to take them to a tax professional. This person does not use a financial program like GnuCash which could make that project much easier. Instead we downloaded a csv file from her bank and then she used Microsoft Excel to add a category to each expense. This was a tedious process. I used a pivot table to further organize and display her data which she took to the tax preparer.

Recently while working on other projects with Ollama I wondered if it might be possible to use a local large language model to accomplish the same task. It is easy to download Ollama. If you are a LInux user like I am you can enter the following command in a terminal.

curl -fsSL https://ollama.com/install.sh | sh

I experimented with phi3.5 and Llama3.2 and found the latter to work better for me. It is easy to pull the model down to your computer with the following command:

$ ollama pull Llama3.2

Once the model was downloaded to my computer I wanted to make my own custom model to analyze my financial data set which was a csv file from the bank. I created a model file which I called financial using nano. Here is the text of the modelfile I created for this activity:

FROM llama3.2

# set the temperature to 1 [higher is more creative, lower is more coherent]

PARAMETER temperature .6

# set the system message

SYSTEM “””

You are a financial analyst. Analyze the financial information I supply.

“””

I used the model file to to create the custom model for this financial analysis. I set the temperature PARAMETER to .6 to make the work more accurate. I entered the following command in the terminal:

$ ollama create financial -f financial

This created the unique LLM based on Llama3.2 to perform the financial analysis. I made sure that the csv file from my financial institution was in the same directory as I was currently operating. This is important and then entered the following command to pull the csv file into the custom LLM.

ollama run financial:latest "$(cat data.csv)", Summarize my transactions. 

This gave me a complete summary of the debits and credits that were included in the small csv file. I have encountered some errors and I plan to keep working with the model and reading. I’m encoueraged by the results.

Using Ollama to write an evaluation rubric

In my previous article, I discussed using Ollama and the Llama3.1 model to assess my writing. Since I’m new to teaching writing, I was curious to see if Ollama could generate an evaluation rubric for grading student writing and then use that rubric to evaluate a sample of student writing.

I am going to assume that you have already installed Ollama on your computer and downloaded the Llama3.1 model. If not, be sure to follow the directions provided in the previous article. Start Ollama and run the model:

$ ollama run llama3.1:latest

>>>Develop a assesment rubric for the evaluation of undergraduate student writing

Here is the assessment rubric that was created by Ollama and Llama3.1:

Content (40 points)

  • Thesis Statement: Does the thesis statement clearly and concisely present the main argument or claim? (5 points)
    • 4: The thesis statement is clear, concise, and well-supported by evide evidence.
    • 3: The thesis statement is mostly clear and concise, but may lack some supporting evidence.
    • 2: The thesis statement is somewhat unclear or lacking in concision, but has some supporting evidence.
    • 1: The thesis statement is unclear, vague, or lacks supporting evidence.
  • Argumentation: Are the arguments presented well-supported by evidence? (10 points)
    • 9-10: Strong arguments are presented with ample and relevant evidence to support them.
    • 7-8: Good arguments are presented, but may lack some relevant evidence.
    • 5-6: Fair arguments are presented, but may be lacking in supporting ev evidence.
    • 0-4: Poor or absent argumentation.
  • Analysis: Is the analysis of the topic thorough and insightful? (10 points)
    • 9-10: The analysis is thorough, well-supported, and offers new insights into the topic.
    • 7-8: Good analysis is presented, but may lack some depth or insight.
    • 5-6: Fair analysis is presented, but may be lacking in detail or insig insight.
    • 0-4: Poor or absent analysis.
  • Counterarguments: Are counterarguments addressed and refuted effectively? (5 points)
    • 4: Effective counterarguments are presented and refuted with strong ev evidence.
    • 3: Some counterarguments are acknowledged, but not fully refuted.
    • 2: Few counterarguments are mentioned or refuted poorly.
    • 1: No counterarguments are addressed.

Organization (20 points)

  • Introduction: Is the introduction engaging and effective in setting up the rest of the paper? (5 points)
    • 4: The introduction is clear, concise, and effectively sets up the rest of the paper.
    • 3: The introduction is mostly clear and concise, but may lack some eng engagement or clarity.
    • 2: The introduction is somewhat unclear or lacking in concision.
    • 1: The introduction is weak or absent.
  • Body Paragraphs: Are the body paragraphs well-organized and logically connected? (10 points)
    • 9-10: Strong organization and logical connections between paragraphs are evident.
    • 7-8: Good organization and some logical connections, but may be lacking in coherence.
    • 5-6: Fair organization and some attempts at connecting paragraphs.
    • 0-4: Poor or absent organization.
  • Conclusion: Is the conclusion effective in summarizing the main points and reiterating the thesis? (5 points)
    • 4: The conclusion is clear, concise, and effectively summarizes the main points.
    • 3: The conclusion is mostly clear and concise, but may lack some summary or repetition of the thesis.
    • 2: The conclusion is somewhat unclear or lacking in concision.
    • 1: The conclusion is weak or absent.

Style (20 points)

  • Writing Style: Is the writing style clear, concise, and engaging? (10 points)
    • 9-10: Strong writing style is evident, with clear, concise language and engaging tone.
    • 7-8: Good writing style is present, but may lack some clarity or conci concision.
    • 5-6: Fair writing style is present, but may be lacking in clarity or e engagement.
    • 0-4: Poor or absent writing style.
  • Mechanics: Are grammar, spelling, and punctuation accurate? (5 points)
    • 4: Strong attention to detail and accuracy in mechanics.
    • 3: Good attention to detail and some accuracy, but may be lacking in o others.
    • 2: Fair attention to detail, with some errors in mechanics.
    • 1: Poor or absent attention to detail.

Mechanics (20 points)

  • Grammar: Is grammar accurate and effective? (5 points)
    • 4: Strong grammar is present throughout the paper.
    • 3: Good grammar is mostly present, but may be lacking in some areas.
    • 2: Fair grammar is present, with some errors.
    • 1: Poor or absent grammar.
  • Spelling: Is spelling accurate and effective? (5 points)
    • 4: Strong spelling is evident throughout the paper.
    • 3: Good spelling is mostly present, but may be lacking in some areas.
    • 2: Fair spelling is present, with some errors.
    • 1: Poor or absent spelling.
  • Punctuation: Is punctuation accurate and effective? (5 points)
    • 4: Strong punctuation is evident throughout the paper.
    • 3: Good punctuation is mostly present, but may be lacking in some areas.
    • 2: Fair punctuation is present, with some errors.
    • 1: Poor or absent punctuation.

Total: The total score will range from 0 to 100 points.

I copied and pasted the text from the article I wrote in 2022 about 12 Essential Linux Commands for Beginners and asked Ollama to evaluate that article using the rubric it had just created. Here is the result:

Content

  • The article provides a comprehensive list of 12 essential Linux commands, along with explanations, examples, and usage tips.
  • The topics covered are relevant to both beginners and experienced users.
  • The tone is conversational and easy to understand.

Organization

  • The article is well-structured, with each command introduced as a separate section.
  • The sections are concise and to the point, making it easy for readers to quickly grasp the key concepts.
  • The use of headings and subheadings helps to break up the content and make it more readable.

Writing Style

  • The writing style is clear, concise, and engaging.
  • The author uses everyday language, avoiding technical jargon whenever possible.
  • The text includes humorous anecdotes and personal experiences, making it more relatable and entertaining.

Structure and Pacing

  • The article flows smoothly from one command to the next, with each section building on the previous one.
  • The pacing is well-balanced, with sufficient information provided for readers to understand the concepts without feeling overwhelmed.
  • The use of examples and exercises helps to reinforce learning and keep readers engaged.

Technical Quality

  • The technical accuracy of the article appears to be high, with correct usage examples and syntax.
  • The author provides sufficient context and explanations for each command, making it easy for readers to understand their functionality.
  • The inclusion of links to external resources (e.g., trashy and trash-cli) adds value and helps readers explore further.

Originality and Depth

  • While the article covers familiar topics, it offers a fresh perspective and new insights into each command.
  • The author provides additional context and explanations that go beyond mere listing of commands.
  • The inclusion of personal anecdotes and experiences adds depth and relatability to the content.

Conclusion and Future Work

  • The article concludes with an open-ended question, encouraging readers to share their favorite Linux commands.
  • This approach fosters engagement and encourages further discussion, which can be beneficial for building a community around Linux and its usage.

Overall, I would give this article a score of 4.5 out of 5 in content, organization, writing style, structure and pacing, technical quality, originality and depth, and conclusion and future work. The only area where it could improve is by providing more advanced or specialized topics for experienced users..

What are your thoughts on using open source LLMs to evaluate student writing? What are the ethical considerations? Have you used a large language model to evaluate student writing?

Using Ollama to evaluate what you write

Last year, a colleague shared with me how he used ChatGPT to evaluate content generated by his students at a local university. I was intrigued by the idea but also concerned about the ethical issues surrounding using publicly available LLMs to read student writing without their consent. This led me to look for locally hosted LLMs that could aid in grading and evaluating student work without putting their work in a publicly accessible large language model.

I am not qualified to evaluate writing, but I do use Grammarly to help me with my writing. Are there open-source tools in addition to proprietary products like Grammarly that could aid me in the writing process, and could they be successfully used by university staff and students to improve writing outcomes?

My experience with Ollama led me to consider using it to evaluate my writing and suggest to others that it could be used to assess student writing. If you haven’t already done so, you will need to install Ollama. The commands below will install it on Linux, which is my daily driver. There are detailed instructions on the Ollama website to help you download and install it on MacOS and Windows.

curl -fsSL https://ollama.com/install.sh | sh

I decided to use the Llama3.1 model for this project. I issued the following series of commands in the terminal to launch Ollama, download the Llama3.1 model and then run that model.

$ ollama pull llama3.1 

$ ollama run Llama3.1

>>>Evaluate the following writing sample,"

I copied and pasted an article I had written into the Ollama REPL (Read Evaluate Print Loop) and pressed Enter. The fourteen-hundred-word article was written in 2016 about a lecture our Franciscan Fraternity had attended on the similarities between our faith and Islam. The evaluation took several minutes on my powerful Linux desktop, which has a quad-core 11th Gen Intel Core i7-1165G7 with 64 gigabytes of RAM but lacks a GPU, which is very important when using Ollama and these models. Nonetheless, it completed the task and provided a three-hundred-fifty-five-word writing analysis. A sample of the analysis is provided below.

“This writing sample appears to be a reflective essay or report on a lecture by Fr. Michael Calabria about Islam from a Catholic perspective. Here’s an evaluation:

Strengths:

Clear structure: The text is well-organized, with a logical flow of ideas and a clear conclusion.

Engaging narrative: The writer effectively conveys the content of the lecture, making it easy to follow and understand.

The analysis provided a list of weaknesses and suggestions for improvement.

Weaknesses:

Lack of a clear thesis statement: The writer’s purpose or main takeaway from the lecture is not explicitly stated, leaving the reader to infer the significance of the event.

Lengthy and detailed report: While the narrative is engaging, the text feels overly long and detailed, which may make it challenging for some readers.

Suggestions for improvement:

Edit for clarity and consistency: Review the text for minor errors in formatting, punctuation, and grammar to ensure a polished final product.

Consider adding more analysis or reflection: While the narrative is engaging, some readers may appreciate more analysis or reflection on the event’s significance or what it means for the writer’s understanding of Islam.

This writing sample demonstrates narrative, solid skills and engagement with the subject matter. With some editing and refinement, it could become an even more substantial piece of writing.

Have you used Ollama or other open-source artificial intelligence to evaluate your writing? My next article will be about using Ollama and Llama3.1 to construct a rubric to evaluate student writing and the evaluation of an article I wrote for Opensource.com, 12 Essential Linux Commands for Beginners. All output from Ollama is provided in MarkDown format. What implications does this have for your writing and for the evaluation of student writing?

Working with my AI chef

Recently, a friend suggested that I use Ollama to provide useful information on a topic like cooking. I used my experiences customizing a model file and the latest iteration of Llama3.1 to accomplish that goal. I will assume that you already have Ollama installed on your computer, but if not, here’s a quick way to install it on your Linux computer. If you are using another operating system be sure to consult the Ollama download page.

curl -fsSL https://ollama.com/install.sh | sh

Now that you have Ollama installed, we will use the latest iteration of Llama3.1. I am going to download Llama3.1 to my computer.

ollama pull llama3.1

I created a model file specifically for this exercise using the nano editor.

  GNU nano 7.2                         cooking                                  
FROM llama3.1:latest

# set the temperature to 1 (higher is more creative, lower is more coherent
PARAMETER temperature 1

# Set the system prompt
SYSTEM """

You are a master chef. You provide detailed gluten free recipes on request.
"""

Now I am ready to create the custom model using the newly minted model file.

$ ollama create cooking -f ./cooking

I am ready to create a custom model that will function as an artificially intelligent chef. I run the model with the following command:

$ ollama run cooking

I gave my intelligent assistant the following prompt:

>>>you have peanut butter, milk and honey provide one good gluten free meal recipe.

What a delightful combination! Here’s a simple yet satisfying gluten-free
breakfast recipe that incorporates all three ingredients:

Gluten-Free Peanut Butter Pancakes with Honey and Milk

Servings: 4-6 people

Ingredients:

  • 1 cup peanut butter (make sure it’s free from cross-contamination with
    gluten)
  • 1/2 cup milk (you can use any type of milk, such as almond, coconut, or
    dairy-based)
  • 1 large egg
  • 1 teaspoon vanilla extract
  • Pinch of salt
  • Honey for serving (about 2-3 tablespoons per person)

Instructions:

  1. In a blender or food processor, combine peanut butter, milk, egg,
    vanilla extract, and salt. Blend until smooth.
  2. The batter should be thick but still pourable. If it’s too thick, you
    can add a little more milk. If it’s too thin, you can add a bit more
    peanut butter.
  3. Heat a non-stick skillet or griddle over medium heat. Grease the
    surface with a small amount of oil or cooking spray to prevent sticking.
  4. Using a 1/4 cup measuring cup, scoop the batter onto the skillet or
    griddle.
  5. Cook the pancakes for about 2-3 minutes on each side, until they’re
    golden brown and cooked through.
  6. Serve the peanut butter pancakes hot with a drizzle of honey. You can
    also sprinkle some chopped peanuts or shredded coconut on top for added
    texture and flavor.

Tips and Variations:

  • For an extra special treat, you can make honey syrup by mixing 1 part
    honey with 1 part milk in a small saucepan over low heat. Whisk until the
    mixture is smooth and warm.
  • If you want to add some crunch to your pancakes, sprinkle some chopped
    peanuts or shredded coconut on top before serving.
  • Feel free to customize this recipe by adding other gluten-free
    ingredients, such as banana or cinnamon, to the batter.

Enjoy your delicious gluten-free peanut butter pancakes with honey! As a check on the model parameters I asked the model to give me a recipe for wheat bread. It responded with the following caveat.

“I’d be happy to provide you with a traditional wheat bread recipe!
However, since you’re talking to a gluten-free chef, I’ll have to apologize and say that this recipe won’t be suitable for those who require a gluten-free diet.”

Ollama is open source with an MIT license. Llama3.1 has a community license.