Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A better way of running multiple characters? #19

Closed
Kozonak opened this issue May 13, 2023 · 9 comments
Closed

A better way of running multiple characters? #19

Kozonak opened this issue May 13, 2023 · 9 comments

Comments

@Kozonak
Copy link

Kozonak commented May 13, 2023

Im running a few different characters/bots and right now each one is in its separate bat file with something like

@echo on
title %~nx0
set DISCORD_TOKEN=token
oobabot --wakewords Name --ai-name Name --persona ""

Is there a better way of doing this? Im also running them on the same instance of ooba, could/should I run on more and separate them by giving them a different url?

Is there a way to more directly control some actions? Something like "bot 1 do/tell thing to bot 2" or just normal stop continue commands?

@chrisrude
Copy link
Owner

Interesting. For now, what you're doing is the best possible.

I know there a few cases for running multiple bots, and it would be more efficient if they all ran in the same process. Particularly, the monitoring for new messages would only need to happen once for n bots, rather than n times.

I think it could be possible to add that, though I'd want to add support for a configuration file first. The number of parameters are starting to get out of hand as-is, and it would be a mess trying to do multiple characters from the cli. I'll think about that when I'm doing the config file.

Regarding directing bots, that isn't something I have thought of yet. My main focus is on trying to get the single-bot experience feeling as human-like as possible, and then to try and grow from there.

One thing that might be nice, though, is an admin slash-command to "say" something as the bot user. Something like that might let you direct the conversation flow, without having to add too much software logic.

Just thinking out loud here, let me know if anything resonates!

@Kozonak
Copy link
Author

Kozonak commented May 13, 2023

The multi-bot experience is pretty great too. Ive made the bridge crew from TNG with 6 chars and its amazing to see how they defend each other if I accuse them or something. Or they follow up with replies to anothers advice. They work great on their own but in a group its even better.

But it would be great for example to be able to implant false memories on the go for a certain character or introduce another element of randomness so the chars can be pointed in a direction or another, regardless of if theyre single or multi bot setups.

An issue I see when trying to include one bot in anothers discussion is that somehow they both get the same reply but just change their name. If I ask something like "bot1 is bot2 this?" I would get from bot1 "im not botw" and botw would say hes not bot1.

Maybe we could have a flag to group bots? My tng cast would be a group, my wh40k chars another group and so on.

@chrisrude
Copy link
Owner

Awesome!

I've hacked a quick /say command into main. It seems like a pretty useful thing to have. Unless I find something terrible with it, it'll likely be included in the next release.

@sidonsoft
Copy link

what are the current API parameters?

@chrisrude
Copy link
Owner

I'm not sure I'm understanding the question, but if you're asking about what I meant by "parameters" above, I was referring to there being a ton of command-line parameters already.

The set of potential parameters that we could expose is the set of things defined as constants in:
https://github.com/chrisrude/oobabot/blob/main/src/oobabot/settings.py

@sidonsoft
Copy link

these are the parameters I was looking for, I am using the release via pip and did not see this file. You are working on a config file to customize these parameters?

@chrisrude
Copy link
Owner

Yup! Check out this post for the proposed config file format:
#3 (comment)

Feel free to add comments / point out concerns if you have them? I'm aiming to get it out in the next few days.

@chrisrude
Copy link
Owner

Closing for now, as I think the current method of running characters seems to work. Config file format should be consolidated on issue #3.

@Urammar
Copy link

Urammar commented Jun 22, 2023

I'd like to re-open this. When I run multiple instances of the bot and they both start trying to talk at once, something just silently crashes and I get no response from either of them, stuck in typing forever. This happens even with just small 512million param models that are absolutely fine individually

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants