Date: 2024-01-07

The Summary

I've been messing around with some AI stuff recently. You can see some of the
image stuff that I've done in my previous post about modifying images.
But I've also been working with text generation. It's pretty
impressive so far. I'm not at chatgpt levels yet (I still need to learn more
about stuff like tokens and prompt engineering), but I can do some cool things with it.

Archy

I've mostly been using Llamafile
to run the models. I've built a service that I'm calling Archy to do things like
text interaction:

  You told Archy:
  Write a poem about how great tacos are
  
  Archy replied:
  Great tacos, oh how they fill my heart
  With every bite I take, they make me start to dance in delight
  From the spicy salsa and fresh cilantro
  To the juicy meat and crispy shell, it's pure culinary bliss
  
  The perfect blend of flavors, textures, and colors
  A symphony of taste that never grows old
  With every bite I take, I am transported to a land of flavor
  Where tacos reign supreme and are always on the table
  
  Whether it's a classic carne asada or an adventurous seafood ceviche
  Great tacos have the power to make my taste buds sing with glee
  A culinary masterpiece that brings people together
  From foodies to families, tacos are a universal treasure
  
  So let me savor every bite of these delicious tacos
  And bask in the glory of this Mexican delight
  For great tacos are truly a thing of beauty and wonder
  And will always have a special place in my heart.


And I can use him to look at my diffs and write commit-messages for me.
The diff:
Index: web1/iptables
===================================================================
--- web1/iptables (revision 1250)
+++ web1/iptables (revision 1249)
@@ -15,9 +15,6 @@
-A INPUT -s 67.217.56.126/32 -m comment --comment "abuse" -j DROP
-A INPUT -s 77.90.185.182/32 -m comment --comment "abuse" -j DROP
-A INPUT -s 162.243.150.41/32 -m comment --comment "abuse" -j DROP
--A INPUT -s 162.243.139.14/32 -m comment --comment 'abuse_2023.12' -j DROP
--A INPUT -s 198.235.24.18/32 -m comment --comment 'abuse_2023.12' -j DROP
--A INPUT -s 195.144.21.0/24 -m comment --comment 'abuse_2023.12' -j DROP
-A INPUT -s 34.243.91.122/32 -m comment --comment 'abuse_2023.12' -j DROP
-A INPUT -s 34.243.114.137/32 -m comment --comment 'abuse_2023.12' -j DROP
-A INPUT -s 3.254.209.3/32 -m comment --comment 'abuse_2023.12' -j DROP

Archy's summary:
The code change adds a rule to the iptables file named "web1/iptables" to drop
any traffic coming from IP addresses 162.243.139.14/32, 198.235.24.18/32, and
195.144.21.0/24 and adds a comment of "abuse_2023.12". This rule is not added
to any other file or folder.


I also wrote a text bot so that my IRC users can chat with him:
14:38:40 < kyelw> archy: why does cheese smell?
14:38:41 < archy> Cheese smells because of the natural chemical processes
that occur during its production. The specific smell of
cheese is determined by the type of milk used, the aging
process, and the bacteria and other microorganisms present
in the cheese. Some types of cheese may also be treated with
enzymes or other chemicals to enhance their flavor and
aroma. Overall, cheese smells due to a combination of these
factors and the unique characteristics of each type of
cheese.


I've got some plans to set up voice interaction, but that'll take some time.
The speech to text stuff it can do is pretty useful without much
prompt-engineering. I've worked with text to speech in the past, so I don't
think setting that up will be too difficult.
So far it's been a lot of fun. I've got a lot of work to do to improve the
outputs, but I can see Archy becoming very useful as I build him out more.