The King You Desired

Why do you stand far off, O Lord?
You hide your face, while your people
build for him golden sanctuaries,
proclaiming him anointed, calling him chosen,
while he arrogantly chases the oppressed through their neighborhoods,
setting quotas for their capture?

The wicked man acts according to the lust of his heart,
and the faithful applaud.
He oppresses with paper and mandate,
dusts off ancient laws to hunt the stranger.
Children are caught in the mesh
of the net he has cast wide.
The choir sings, “He is chosen.”

Continue reading

Adventure In AI (AI^2)

Local Chatbot

There are various reasons to run a chatbot locally, ranging from privacy concerns to hobby interests and custom applications. Many options for running local chatbots require a certain level of programming or installing questionable tools. However, I’ve found that Ollama simplifies the process while still providing some basic elements of customization.

Installation

To get started, go to the Ollama website and install the software. Here, I’ll focus on the Windows installation. Once the installation is complete, you’ll have a program running in the background, with a llama icon appearing among the other icons on your computer.

The first step is to select a model. I chose a small one for reasons we’ll discuss later. Open a command prompt (WIN-R then type cmd) and run:

ollama pull gemma2:2b

This command will download the model, which is a couple of gigabytes in size. You can then interact with it using:

ollama run gemma2:2b
Continue reading

A long hiatus

It’s been a while since I’ve posting something on my blog; in fact, this space has been dormant for just over a year. I’ve been busy with a different adventure, creating a makerspace. If you haven’t heard of It Begins in Brockport (IBiB), then take a look at what we have to offer, or better yet, stop by for a tour.

But I might find some new visitors coming here due to some new news. I’m running for an open position on the village board of trustees. I think this is a good time to give local politics a shot, while I have energy, ideas, and a desire to help my community. So for the next little bit, I may have some non-tech, non-blinky light posts so that new visitors can get to know me a bit. It might also get me back into blogging and start sharing my projects here again.

In any case, here’s my official “I’m running” announcement. It even came with a pic of me in the snow (it’s very much winter here in Brockport).

Continue reading

A Winter Break Exploration into AI-Driven Image Generation

We get a rather substantial winter break at SUNY Brockport, and I often use this time to do something “different”. This year, I wanted to explore image generation using AI (since everything AI is all the rage right now). Furthermore, I upgraded my computer recently and purchased a high(er) end graphics card. I got to thinking that running AI generation software locally might be a good test of my system, but needed a project. Then, I found this in my inbox:

I tend not to trust NY Times emails (if you trust blocked content, then any ads in the email are shown; however if I go directly to the website, my adblockers do their job). What is interesting is that the alt text for the image seems very AI-like. I wonder why a company focused on writing words needs to use an AI to generate a caption for an image they created (hopefully that is the case). It got me thinking: if they used AI to generate this caption, I would like to see what AI does with those words as a prompt to generate images.

I would not say that getting my computer set up for image generation was trivial; however, the documentation at huggingface has been extremely helpful with clear and concise examples. Knowing a bit of python – and knowing that ChatGPT can generate the code I don’t know, has made creating a simple locally-driven image generation app fairly straightforward.

Anyway, on to the results. I took the caption above and used that to prompt some image generation models. There are a bunch out there, including stable diffusion, open journey, and open dalle. I’ve got a version of each stored locally, and here’s what they came up with.

Continue reading