SamuKata
magmaguy
magmaguy

patreon


EliteAI! (Enjoy it while it's available)

Hello everyone,

Yesterday at 4 am I decided to take a break from staring at FMM and quickly put together a little project I've been wishing we had for months, and have even mentioned several times on stream.

As you may have seen on the Nightbreak discord, there is now a room called experimental room. In that room a new discord bot I made called EliteAI has been fed the entirety of the recently created wiki, and can do quite a few nice tricks:

 

Now, to be clear, it is not perfect. It can hallucinate (meaning it can invent features that don't actually exist), though in my time playing around with it and seeing other people test it that only seems to mostly happen when users require extremely specific things that are not possible.

Additionally, it can get some formatting wrong sometimes, and very specific chunks of information can be a bit outdated, especially for FMM which is currently being rewritten (again, more on that next time).

With all of this said, it is still quite a powerful little tool. Frostcone has successfully used it to generate the general skeleton for some of the files of an upcoming dungeon.

What I recommend you do is use the bot as your first, but not last, resource. You can ask it to generate a file, or ask it a question about documentation, but if something isn't quite working out the way the bot said it would or the way you want it to, make sure to actually check the documentation to see if the bot didn't make things up.

Also, this is a tool which particularly benefits those familiar with what the configuration files should look like, as it can be rather trivial and almost instantaneous to spot minor mistakes in what it generates and fix it, while still making the entire generation process and correction incredibly fast compared to doing it all manually.

Enjoy it while it lasts

Right now this is using Google Gemini 1.5 Pro, which is a preview build for a model which will be coming out soon.

As of right now, this API is entirely free to use, and costs me nothing. There is meant to be a cap of 50 messages a day, but right now it is only capping when you do around more than 3 messages a minute.

It would be really nice if this continues into the long run, but odds are that something will change in the very near future about this plan. My guess is that google will start actually enforcing usage caps, which will force me to limit access to the tool, in which case I will probably make it a supporter-only thing.

At the very least, for as long as this status quo persists, I have no plans of limiting access to the bot, and on the contrary I hope to keep doing small tweaks to it that will hopefully improve it. I believe this can be an incredibly powerful tool for providing basic support to users, especially for things that are extremely well documented such as installing content.

Technical details

I am fairly certain that I might be the first plugin (or, honestly, possibly the only mod in general - maybe even game, not sure) to have implemented an AI tool like this on their server, and this has caused a lot of people to have questions on how exactly I did it. The following is a quick technical breakdown of what I am currently using and why.

First off, I am using Google Gemini 1.5 pro, which is still on invite-only access. It is entirely free, and as far as I know it is the only model of this caliber that has a free api key (and like I mentioned, I suspect it might not last).

I originally played around with making this with ChatGPT. The price I got per message was about $2, which would mean, just for the messages from today, we would've paid for about $400 in API use to OpenAI. As you might imagine, that is not an option. In case you're curious, the premium option of Google Gemini is about the same.

As for how the wiki is passed to Gemini: One thing that was incredibly important to me was that this can be done quickly and the maintenance can be done almost instantly. It took me 2 hours to set up the skeleton of the bot. Updating the wiki info, with the current workflow, takes less than 10 seconds.

The way this is achieved is as basic as can be: Gemini 1.5 pro has a context size of 1 million tokens, which is roughly equivalent to a 300 page book. I feed the entire wiki data as an instruction, with some prefixed instructions on how I want it to reply to users.

As you may recall, we recently rewrote the wiki, and we did it in a format that I knew would play nicely with something like this. As it turns out, I was entirely correct, and I can just use a batch file to condense every wiki file into a single file and feed it directly to the AI, with no postprocessing required.

The main tradeoff of this method is speed. I takes up to 2 minutes for the bot to finish responding. This is usually not a huge problem if you can see the text slowly appearing as you're reading, since these bots will frequently write faster than you can read. However, with Discord, there is no feature to stream text in the same way.

To work around that, you may notice that I made use of the fact there is a 2000 character limit on Discord to just send a section of the reply each time it hits 2000 characters. Additionally, it generates files as actually files, which makes file creation look incredibly snappy and nice, especially if it generates several files.

Some have wondered why I didn't go with local models and if I'll switch to one if we lose Gemini as a free option. The truth is, I don't like the quality of local models, I don't have the spare hardware to be running a LLM 24/7 off of my house, I don't particularly want my home IP to act as a permanent server, electricity prices here are already such that I sometimes pay $230 in electricity a month (remember: minimum wages here are 830 a month). Also, due to the lower context, the models would have to be fine-tuned, and we'd have to do that every time we update the wiki, which is quite often and should ideally be even more often than what we currently do.

All in all, I don't see that as a viable option, and certainly not as a superior option to what have now.

FreeMinecraftModels rewrite?

Yeah so turns out there's an issue with rotations not being local for animations. I've already rewritten the entire plugin again, took the opportunity to fix some other issues. I wish I could tell when I think it will be done, but I've always regretted making such predictions.

Fundamentally, I think I went as far as I could trying to ignore the fundamental problem, but I have to step back and actually fix it. The problem itself annoying and somewhat mathematically and logically complex, so I won't really bore you with the details here, but it's basically got to do with the fact the default rotations are wrong compared to what they are expected to be.

I have an idea to fix it once and for all but addressing it right at its root, you will certainly be notified when this roadblock is out of the way.

But I am hopeful that I will have it figured out real soon.

That's it for now, have fun playing with the new AI.

Enjoy the AI uprising,

EliteAI! (Enjoy it while it's available)

Comments

I need your help with a boss that I killed but the next part of the mission won't load.

Toch


More Creators