-
Notifications
You must be signed in to change notification settings - Fork 63
GPT3 based conversations
Make sure to have 7.5.13+ installed!
One funny feature of MCA is the AI-based conversation. For privacy reasons, it is disabled by default. Enable it in the server config:
"enableVillagerChatAI": true,
Or via command in the command section.
Then, the AI waits until the player starts a conversation by saying the name of the villager out loud. E.g.
Hi Carl, how are you?
You do not need to care about lower/upper cases nor accents.
Once a conversation is started, you can talk without mentioning the name.
The AI is limited in terms of memory and environment. They know their personality, the players’ achievement and their approximate surroundings, but that's about it. Asking about how they like your house, for example, will result in fancy, but completely guessed responses. Same with memory, they only remember the last few a dozen sentences of your conversation.
To stop a conversation, leave.
Do not share sensitive information and keep in mind that everything you say may be used for evaluation or training.
The AI is expensive and therefore rate limited. Your quota is reset once an hour and is enough for chitchatting or a dialogue once in a while. You can extend that limit:
- Head over to https://www.patreon.com/conczin/membership and select the
Fund the AI
pledge.- Please allow up to 30 minutes for the transaction to confirm.
- Then, in game, type
/mca verify [email protected]
, using the same email as you use to log in to Patreon - Enjoy a much higher limit!
- If something fails, feel free to ping me on Discord at
conczin
You can use the /mca chatAI default
command to turn on the AI and toggle between models using /mca chatAI <model>
. Models have different characteristics, intelligence and price.
-
default
- An alias for the recommended model. -
llama3.1-70b
,llama3-70b
- Most expensive one and quite good and fast. -
llama3.1-8b
,llama3-8b
- Very cheap, a bit dumb. -
mixtral-8x7b
- English, French, Italian, German, Spanish. Likes to talk a lot. A bit cheaper than llama3 70b. -
gemma2-9b
- Apparently quite good for roleplaying. -
horde
- A random >7B model from the AI Horde. Crowdsourced! -
gpt-4o-mini
- the Currently best model from OpenAI, average price. -
gpt-3.5-turbo
- Older default from OpenAI, deprecated, will point to gpt-4o-mini soon.
Depending on usage, I may provide access to additional models.
The default server comes with a experimental Long-term memory (7.5.19+), it is disabled by default. Turn it on in the config via villagerChatAIUseLongTermMemory
, and optionally server-wide as well with villagerChatAIUseSharedLongTermMemory
.
A compressed version of your dialogues is stored on the server!
Advanced usage! You can also provide your own endpoint and, when required, access token. For example (quote the url!)
/mca chatAI gpt-3.5-turbo "https://api.openai.com/v1/chat/completions" "secret_key"
/mca chatAI mistral-small "https://api.mistral.ai/v1/chat/completions" "secret_key"
The token is sent to and stored on the server, do not execute that on untrusted servers!
You may want to provide an additional, custom system prompt in the config villagerChatAISystemPrompt
.
If you want to implement your own session-based endpoint, ping me on Discord. MCA provides undocumented session data.
In the config you will find a value villagerChatAIIntelligence
, default 4. It controls the amount of information given to the AI, and thus the quality and price. If you do not care about that little bit of extra immersion you can decrease this value and talk longer before running into the cooldown.
- 1: Villager knows its traits and biome
- 2: Villager knows relations
- 3: Villager has more relations
- 4: Villager knows buildings
- 5: Villager knows about your advancements
- At the moment of writing, self-serve is no more and you can not obtain a token anymore.
Requires MCA 7.5.15+ for 1.20.1+!
Inworld allows you to create characters and chat with them, and thanks to CSCMe there is a MCA Integration as well:
- Head over to https://inworld.ai/ and make an account. The free plan is enough for casual usage. On the left, select "Integrations" and create a Runtime API key.
- Copy the base64 encoded API key and paste it using quotes into the Minecarft command
/mca inworldAI keys "..."
- Create a character in Inworld.
- Now, in Minecraft, type
/mca inworldAI addCharacter "VillagerName" "workspaces/default-abc123/characters/character_name"
to connect the villager with the given name with the character created in Inworld.- Notice the quotes here! Strings with special characters need quotes!
From now on, chat as you would do with the classic ChatAI. Villagers not connected with Inworld will continue to use the classic ChatAI, if enabled.
- The Inworld scenes feature is not supported
In order for your character to react to commands like "Follow me", "Stay here", you need to set up goals for your character. You can simply copy the contents of the inworldCharacterGoals.yaml file. It will make your character work with every supported command.
If you want to customize your goals and their triggers, here are some pointers:
- The 'status-update' goal is for dynamic relationships. Do not change this if you want it to work. It tells the chatAI that you are its friend, enemy, lover, etc.
- For triggers like "Follow me", make sure to include send_trigger: '[TRIGGER_NAME]' (example: send_trigger: 'wear-armor'). This is what actually informs your game that you asked the villager to wear its armor, etc.
- Training phrases for these actions are in the "intents" section of inworldCharacterGoals.yaml. Change these as you wish
List of supported commands:
- Follow player
- Move freely
- Stay here
- Wear armor
- Stop wearing armor
- Go home (can fail if home is not found)
Sirben Cult Was Here