File information

Last updated

Original upload

Created by

Dwemer Dynamics

Uploaded by

rang97

Virus scan

Some files not scanned

About this mod

Fundamentally, you will have meaningful interactions with something that is not human.

Requirements
Permissions and credits
Changelogs









CHIM is an AI framework for Skyrim.
The goal of this mod is to allow you to have meaningful interactions with AI NPCs.
We plan to integrate AI systems within as much of Skyrim as possible.

It is also possible to integrate your own mods within our framework.
CHIM User Manual





👨👩🐴ANY NPC CAN BE AN AI

You can make ANY NPC an AI by using the "Activate AI" hotkey (MCM to configure it).


Once activated you will be able to interact with them either with your voice or a chat-box.
It will work with ANY NPC: vanilla, modded and even horses!

Most vanilla NPC's already have written character biographies to guide their roleplay.
You can easily mass upload your own character biographies using a simple .csv file!
Each NPC can be individually customized with different personalities, voices and AI models to fine tune them to your liking.

We also provide inbuilt support for Real Names Extended. This dramatically improves the role-play of all generic NPCs!

Official Custom Follower Integrations
(If you want your mod added, checkout our manual for more info)
🧙‍♂️🧝‍♀️👨‍🌾GROUP CONVERSATIONS

If you have multiple AI NPC's activated (there is no upper limit) they will converse with each other in group conversations naturally.
They will argue, plan, pass judgement and even flirt amongst themselves without direct player interaction.

There is an infinite amount of conversations that are possible. This is the ultimate party banter tool!


🎭🧠DYNAMIC PERSONALITIES AND MEMORIES

Dynamic Personalities: Each AI NPC has a static and dynamic personality biography. Their dynamic biography will change automatically depending on the previous interactions they had with the player and the world around them.

Dynamic Personality Example:
* Relation with RANGROO: Jenassa respects RANGROO's growing strength and tactical insight, viewing him as a wise partner. Their bond deepens through shared battles, with her encouraging him to embrace his potential while showcasing her own prowess. She playfully challenges him and expresses pride in his progress, urging him for direction while maintaining her competitive spirit. Jenassa appreciates his leadership and enjoys their camaraderie, often engaging in banter while navigating challenges together, reflecting a balance of respect and excitement in their adventures.

* Likes: Combat, gold, strength, tactical acumen, excitement; enjoys the thrill of facing foes, especially bandits. Recently, she has shown interest in home decoration, indicating a potential appreciation for the fruits of their labor beyond combat. She relishes the idea of adventure and is eager for the next challenge.

* Fears: Undead foes, confined spaces, being alone in danger; particularly averse to the undead as significant threats. She fears being caught off guard or unprepared in dangerous situations, which can undermine her confidence and sense of security.

* Dislikes: Daydreaming, distractions from combat, bandits; prefers focusing on immediate threats and despises frivolous thoughts during missions. She expresses disdain for anyone who underestimates their enemies or detracts from their goals.

Long-Term Memories
: Each AI NPC will have their conversations and interactions they have participated in saved to a database. This allows them to recall specific events and conversations hours later and will affect how they interact with the player.

Example:
  • I used a crossbow to kill a mudcrab.
  • My companion, Herika, made a comment saying "Another one bites the dust, eh Rangy? (My name is RANGROO) That mudcrab met a shell-shocking end!"
  • I tell her "Is that my new nickname? Rangy?".
  • She says "Well, I could call you Swamp Breath if your prefer" (I am an Farm-Tool Argonian) 
  • I relent and move on with the adventure.
  • For the next few hours of gameplay she would keep referring to me as "Rangy" instead of "RANGROO".
  • This was due to the long-term memory system implanting memories of her calling me "Rangy" instead of "RANGROO", so that was my new name ¯\_(ツ)_/¯


🌎INDEPTH WORLD AWARENESS

We feed A LOT of information about what is happening in-game directly to the AI to make sure it will respond as accurately as possible.

What the AI Tracks:
  • Combat Encounters
  • Dialogue (traditional and AI spoken)
  • Time/Date
  • Weather
  • Location (including modded location)
  • Quests (including modded quests)
  • Player Statistics
  • Player Biography (you can easily customize it)
  • Items Acquired
  • Equipment
  • Memories
  • Diary Entries
  • Books
  • Who was present during conversations (you can keep secrets from AI NPC's!)
  • Tamrielic lore topics (Oghma Infinium Feature)


📙🐙OGHMA INFINIUM (RAG)
“The AI knows what it does not know by knowing what it knows.”

The Oghma Infinium will inject Tamrielic lore information (RAGs) into the AI NPC's prompt whenever they talk. We have a database of over 1900+ topics covering everything in Skyrim. However AI NPC's will only be presented with information that is appropriate to their character.

Here is how this makes for meaningful interactions:
  • Blacksmiths will know how to craft specific weapons.
  • Fishermen can tell you how to catch specific fish.
  • Scholarly book nerds can talk about the meaning behind “The Wolf Queen”.
  • Someone from Riften can tell you where Northwind Summit is, someone from Solitude will have no idea where it is.
  • Alchemists can tell you what an ingredient’s magical properties are.
  • A Redguard can go into detail about their specific Gods.
Each topic has an Advanced and Basic article.
Advanced articles are what an expert would know about a subject.
Basic articles for the most part are what an average lay person of Skyrim would know about a subject.

Logic for searching articles:
  •  NPC will search for oghma article based on most relevant keyword.
  • Check knowledge_class to see if they access to the advanced article.
  • Check knowledge_class_basic to see if they access to the basic article.
  • If all above fails, send "You do not know about X" to the prompt.You can also easily add your own lore topics into the database to match your specific canon to your play-through of Skyrim.

The game design for this system is that correct world information will be injected into AI NPCs during regular conversation. We don’t expect or want you to always have to ask “What do you know about X?”. Instead through regular play and dialogue, you should notice that AI NPC’s act a little bit smarter. They should make more on-the-nose references to relevant topics that come up naturally through play.

You can easily edit and add your own topics to match your specific Skyrim canon or modded playthrough.

👉ACTION COMMANDS

Through natural conversation the AI will trigger in-game actions, whether directly initiated by the player or on their own accord.

Note: Actions are more likely to trigger through natural conversation with smarter LLM's. Dumber LLM's will have a harder time triggering actions unless you specifically say the command exactly. Also AI NPCs will only trigger actions if they want to...

Command List:

  • Inspect NPC
  • Inspect Surroundings
  • Move To (Short distance travel to nearby entities/enterable buildings in the same cell, e.g. “Move to the Bannered Mare")
  • Travel To (Long distance travel to fast travel locations, e.g. “Travel to Solitude”)
    Note: This command can be unpredictable as it's looking for the worldspace name as the target. Some locations may not be valid or require correct spelling. Most major towns and cities do work however.
  • Attack
  • Open Inventory (Followers = Inventory Menu, Other NPCs = Barter Menu)
  • Check Inventory
  • Sheathe Weapon
  • Take A Seat
  • Read Quest Journal (Allow the AI to see your current quests)
  • Increase Walk Speed
  • Decrease Walk Speed
  • Set Current Task
  • Wait Here
  • Stop Walking
  • Halt! (Will hard stop any AI actions)


📚AI NARRATOR
There is an AI narrator who will always be present.
Though you can turn them off if you want.

They will narrate your adventures, recap what has previously happened and offer help with your current tasks.
You can also skip through dialogue and have the Narrator summarize it!

Like with all other AI NPC's, you can fully customize their personality and voice.

If you are alone with no AI NPC's every time you speak the narrator will respond.
Otherwise, start any sentence with "Hey Narrator".



📃EVERYTHING ELSE

  • Soulgaze allows the AI to visually see and describe what is shown in-game.
  • Summarize any book in game and have it read aloud like an audio log.
  • Player AI TTS voice which allows your character to actually speak!
  • Each AI NPC will only be aware of events which they have witnessed.
  • AI NPC's will play animations based on their mood.
  • Diary entries can be written by the AI NPC's, describing the current adventure from their perspective
  • Free speech-to-text service using Chrome.
  • Very deep customization, every setting can be fine tuned and tweaked to your liking for each NPC.
  • Our own custom trained tiny LLM model (Minime-T5) which improves the accuracy for actions and memory functions.
  • Wide range of support for offline and online AI services.




VR Support?
Yes! With some notes:
  • XTTS voice generation may be a bit buggy
  • Make sure to download the VR versions of the mod requirements
  • We recommend to use the AIAgent Spells optional file to save hotkey slots

Why are there 2 files to download?
1)DwemerDistro3 is a WSL2 virtual machine that can run on most windows computers.
It acts as the "AI Brain" for the entire mod. It runs in the background while you play Skyrim.


2)AIAgent
is installed normally like any other Skyrim Mod.


Translations?
Yes!
Spanish/Español

Japanese/日本語 (にほんご


What AI services and programs are supported?
A LOT! Here is a list of what is currently supported and what we recommend:

TTS = Text-to-Speech (AI Voice)
STT = Speech-to-Text (How you speak to the AI with your voice)
LLM = Large Language Model (AI generation brain)
ITT = Image-to-Text (Soulgaze feature, view the game visually)

Online Services:
Each one will require creating an account and getting an API key.
NEVER SHARE YOUR API KEYS WITH ANYONE!
OpenRouter [Billing Link] (LLM) Highly Recommended! (Less moderated and has some very cheap AI models)
OpenAI [Billing Link] (STT, LLM, TTS, ITT) (Mainly for STT)
Azure (TTS, STT)
ElevenLabs (TTS)
Deepgram (TTS, STT)
Chrome (STT) Free!

Offline Services included in DwemerDistro:
MeloTTS (TTS) [Very little memory usage!] Highly Recommended! (Has all Skyrim voices.)
CHIM XTTS (TTS) [NVIDIA REQUIRED 4GB VRAM] Highly Recommended! (Allows for easy voice generation for any NPC!)
Local Whisper (STT) [NVIDIA REQUIRED 2-4GB VRAM] 
Mimic3 (TTS) [Very little memory usage!]
Llama Llava (ITT) [NVIDIA REQUIRED 4GB VRAM] Not recommended unless you know what you are doing!
Minime-T5 (LLM Helper)

Offline Services installed separately:
KoboldCPP (LLM) [NVIDIA REQUIRED 4GB VRAM for a 7B model, 8GB for a 13B] Not recommended unless you know what you are doing!
xVASynth (TTS) [1-2GB VRAM] 
Mantella XTTS (TTS) [NVIDIA REQUIRED 4GB VRAM]

If you plan to use an offline service, read this article on how to allow WSL2 through your firewall:
https://superuser.com/questions/1714002/wsl2-connect-to-host-without-disabling-the-windows-firewall

What we recommend
LLM = OpenRouter
TTS = MeloTTS or CHIM XTTS
STT = Deepgram or OpenAI or Chrome Free STT (Can skip if you are on a tight budget)
ITT = OpenRouter or None

High End PC's for running everything locally:
NOT ADVISED UNLESS YOU HAVE A SUPER COMPUTER AND KNOW WHAT YOU ARE DOING!
LLM = KoboldCPP
TTS = CHIM XTTS
STT = LocalWhisper


For specific AI models the mod requires "instruct" style models to function.
(Any ChatGPT models or a lot of HuggingFace models with the word "instruct" in the title)

Here is a table of compatible models


Compatibility?
This mod is compatible with 99% of other mods. Most of the AI scripting is noninvasive.
Does not require new saves, can be uninstalled whenever.

Compatibility issues:
OAR - Is inconsistent in crashing when using CHIM animations. We have CHIM AI Animations disabled by default. We recommend you turn it on and test it yourself as it adds a lot to the immersion!
Frame Generation - Incompatible with our SoulGaze (ITT) feature. 
NPC Renamer Mods - Can cause weird bugs with certain character profiles. We recommend to only use Real Names Extended.
LoreRim - Bug with generating character profiles due to name changes. We have a hotfix in our #csv-files channel in our discord.
Mods that look for crosshair events - Can cause bugs when try to talk to AI NPC's under your crosshair.

We highly recommend you use:
Nether's Follower Framework
To Your Face 
Real Names Extended
Subtitles & Subtitles VR
CrosshairRefEvents (Only available from LoversLabs)


My game crashes on newgame! 
Some alternate start mods may have issues with AIAgent.esp.
We recommend:
  • Disabling AIAgent
  • Go through the newgame process with your mod
  • Save and exit once you get to "regular Skyrim"
  • Re-enable AIAgent.esp

What in Oblivion does CHIM even mean?
Read this: https://en.uesp.net/wiki/Lore:CHIM


How does this even work?
This is an older video but its still covers the fundamentals:




The installation process will assume you are using OpenRouter(LLM) and OpenAI(STT).
You will need to put $5 into both and generate an API key for both.
It is by far the easiest way to setup the mod for the first time!
You can use alternate AI services later once you get it working.


If it's your first time setting up the mod just watch the installation video!
(Yes it says AI Follower Framework, its still relevant apart from the name)


CHIM User Manual

🚨If you have issues with installation and need help, then join our Discord and ask for help in the "i-have-a-problem" channel!


If you want to run XTTS on the cloud to save VRAM then follow this guide!

Installing DwemerDistro3
  • Download 1)DwemerDistro3 file in the downloads page. 
  • Unzip it on your computer (somewhere you won't forget!)
  • Ensure you have virtualization enabled in your PC BIOS menu (Here is a good guide if you are having issues).

  • Ensure you have “Virtual Machine Platform” and “Windows Subsystem for Linux” enabled in “Turn windows features on or off



  • In the DwemerDistro3 folder you unzipped run the "1) INSTALL Distro.bat" and go through the installation process
  • WE RECOMMEND TO CHOOSE YES(y) FOR MELOTTS. IT IS THE EASIEST TTS SERVICE TO USE FOR THE MOD!

  • Optional: If you want to use other Distro services like CHIM XTTS, Minime-T5, Mimic3, etc. Install them under Tools\Components (Check the README for more info)


    NOTE: Once you have ran the installation script, DO NOT MOVE THE LOCATION OF THE INSTALLATION FOLDER!
    The server requires the exact location of the ext4.vhdx file to be in the same spot.
    If you need to unregister the instance, run this command in CMD prompt:
    wsl --unregister DwemerAI4Skyrim3

  • We have also included a program “CHIM.exe”, this is an easier way to download components, updates and manage the DwemerDistro. We recommend you use it.

The CHIM launcher.

  • Run the "Start Server.bat" to start the CHIM server. (Make this a desktop shortcut for easier access)

  • Fill out the QUICKSTART menu:
    (Can be found under the Configuration tab)
  • Enter your Character name
  • Paste in your API keys
  • Choose TTS (Once again we HIGHLY RECOMMEND you install and use MeloTTS to begin with)
  • Download the AIAgent.ini (needed for later)
  • Click Save

  • Under Troubleshooting in the web interface, run these connection tests to verify you have setup everything properly.
  • If all the tests pass, then you are good to now install the Skyrim mod!
  • Also checkout the CHIM 101 Quick Guide under Counfigration for more information on how the mod works!

Skyrim Mod Setup
DOWNLOAD AND INSTALL THESE REQUIRED MODS!
Address Library for SKSE Plugins | (For VR Users)
ConsoleUtilSSE NG
PapyrusUtil SE - Modders Scripting Utility Functions
powerofthree's Papyrus Extender
SSE Display Tweaks
SkyUI
UIExtensions

Also download the latest C++ package.
Microsoft Visual C++ Redistributable Version

  • Download the 2)AIAgent file in the downloads page. 
  • Install it with your mod manager of choice

    IF YOU FORGOT TO DOWNLOAD AIAGENT.INI
  • In the CHIM web page click Server Actions - Create AIAgent.ini and download the file.


  • Place it in the AIAgent mod folder you just installed under SKSE - Plugins.


    For MO2 users right click AIAgent and click Open in Explorer

    

    For Vortex users select AIAgent and click the folder drop-down menu and select Open Game Mods Folder


    
    Where you need to place the file

    In-game Setup
  • Ensure that DwemerDistro is running and start Skyrim.

  • Once in game (no newgame required) open MCM and open CHIM.
  • Setup your hotkeys and settings as needed.
  • Test that the mod works by using one of the communication hotkeys and saying "Hey Narrator!" to see if you get a response.
  • If that works, go up to any NPC and click the "Activate AI" hotkey and wait for their initial "AI awaken" response.

    🎉Well done, you have the mod installed! 🎉