Min Posted January 27, 2025 Author Posted January 27, 2025 3 hours ago, glock88 said: After updating to 1.0.0 from 42.2 Trying to open the MCM causes the MCM to hang the menu never opens properly. I have tried the following: 1. Updating CHIM to the latest (I have done this several times at this point and am familiar with this process and have done it successfully multiple times) 2. Removing the old MinAI installation before installing the new 3. Disabling MinAI then script cleaning my save then re-enabling. This allows the MCM to open but all Sexlab actions no longer work, it says they are attempting to start in the upper left corner but nothing happens I do not have sexlab P+ and am running the newest version of Sexlab for SSE 1.5.97 Never clean-save minai. Upload your papyrus log from a save in which you attempted to upgrade by just overwriting old files.
Fraying9981 Posted January 28, 2025 Posted January 28, 2025 (edited) Hi, does this work fine with Paradise Halls + HSH AYGYS addons? How about Slaverun? It's a bit hard to understand for me whether it a/ replaces dialogue lines b/ replaces scripts from existing dialogue lines c/ just adds new dialogue lines/non intrusive. Also, how does it handle it voice? Is it based on the vanilla voices exclusively? What if I have custom races with different voices, does it handle that? Edited January 28, 2025 by Fraying9981 additional question
chaimhewast Posted January 28, 2025 Posted January 28, 2025 (edited) 1 hour ago, Fraying9981 said: It's a bit hard to understand for me whether it a/ replaces dialogue lines b/ replaces scripts from existing dialogue lines c/ just adds new dialogue lines/non intrusive. Also, how does it handle it voice? Is it based on the vanilla voices exclusively? What if I have custom races with different voices, does it handle that? It's an addon to the mods that use LLMs to generate new comments and voicelines on the fly. You can see some examples of dialog that it generates in the first post. As far as the second question, it depends on what model you're using to generate the audio. From what I've read in CHIM's manual, its XTTS will be able to generate files after it's had a chance to "listen" to an NPC with the custom voice type. Edited January 28, 2025 by chaimhewast 1
coronerra Posted January 29, 2025 Posted January 29, 2025 Okay, So I played around with it for about an hour today and it seems that NPC->NPC does work if both NPCs are AI driven. However, AI driven NPC to non-AI driven NPC doesn't work. Is this common? Is it meant to be this way? Does the AI not recognize the non-AI driven NPCs this can't initiate on their own? Or is there something wrong with my setup?
Min Posted January 29, 2025 Author Posted January 29, 2025 5 hours ago, Fraying9981 said: Hi, does this work fine with Paradise Halls + HSH AYGYS addons? How about Slaverun? It's a bit hard to understand for me whether it a/ replaces dialogue lines b/ replaces scripts from existing dialogue lines c/ just adds new dialogue lines/non intrusive. Also, how does it handle it voice? Is it based on the vanilla voices exclusively? What if I have custom races with different voices, does it handle that? The AI will be aware of all dialogue spoken in game. As such, it works with just about every mod in existence out of the box to some extent. More powerful integrations are possible (See the github page for the list that I / contributors have built). Voice is synthesized on demand via any number of supported tts solutions. I use xtts, personally. I have about 500 different voice types trained. CHIM supports on-the-fly voice training as well, but I don't personally use that functionality. Custom races are supported - Just set the voice type you want that voice to default to in the config (Training new ones is trivial too - just need a 10 second sample).
Min Posted January 29, 2025 Author Posted January 29, 2025 (edited) 10 minutes ago, coronerra said: Okay, So I played around with it for about an hour today and it seems that NPC->NPC does work if both NPCs are AI driven. However, AI driven NPC to non-AI driven NPC doesn't work. Is this common? Is it meant to be this way? Does the AI not recognize the non-AI driven NPCs this can't initiate on their own? Or is there something wrong with my setup? It's not clear to me what the expectation is here. NPC -> NPC if both are ai driven makes sense. How would you expect AI -> non-AI to work though? The non-AI PC wouldn't be able to respond if it wasn't AI controlled. EDIT: Also, if you use sapience, every NPC in the world is AI driven. Edited January 29, 2025 by Min
Fraying9981 Posted January 29, 2025 Posted January 29, 2025 (edited) 8 hours ago, chaimhewast said: It's an addon to the mods that use LLMs to generate new comments and voicelines on the fly. You can see some examples of dialog that it generates in the first post. As far as the second question, it depends on what model you're using to generate the audio. From what I've read in CHIM's manual, its XTTS will be able to generate files after it's had a chance to "listen" to an NPC with the custom voice type. Thanks! That's super helpful. Wow so it uses XTTS on the go, that's crazy... I've seen VR videos where the player speaks (microphone input) to NPCs directly, is that doable without Skyrim VR too? If so, what is the necessary mod? Edited January 29, 2025 by Fraying9981 edited for clarity
coronerra Posted January 29, 2025 Posted January 29, 2025 Does sapience, or taking on any additional NPCs for that matter, effect performance? I've been running with just one or two AI driven followers for a while now because I'm not sure what kind of a performance hit my system would take and I'm already hitting close to my threshold of how low of fps I can handle without getting sick. Also, will having everyone AI driven break the game at all? If I talk to someone during a quest line and they are AI driven, do they know what they said? Does it integrate the preprogrammed responses Skyrim has for quests into the AI so it acts as if it answered itself? These are my concerns with sapience as this is my final playthrough and I'd hate to break the quest or slow the system to unplayable.
Min Posted January 29, 2025 Author Posted January 29, 2025 1 minute ago, Fraying9981 said: Thanks! That's super helpful. Wow so it uses XTTS on the go, that's crazy... I've seen VR videos where the player speaks to NPCs directly, is that doable without Skyrim VR too? If so, what is the necessary mod? CHIM, and MinAI. Yes, completely usable in SE and AE as well. Here's an old video showcasing CHIM + MinAI (This is really outdated, using a bad tts, etc - There are a huge number of improvements since this came out, but I'm not aware of a more recent video): I'm on the dev team for CHIM too, these days.
Min Posted January 29, 2025 Author Posted January 29, 2025 (edited) 6 minutes ago, coronerra said: Does sapience, or taking on any additional NPCs for that matter, effect performance? I've been running with just one or two AI driven followers for a while now because I'm not sure what kind of a performance hit my system would take and I'm already hitting close to my threshold of how low of fps I can handle without getting sick. Also, will having everyone AI driven break the game at all? If I talk to someone during a quest line and they are AI driven, do they know what they said? Does it integrate the preprogrammed responses Skyrim has for quests into the AI so it acts as if it answered itself? These are my concerns with sapience as this is my final playthrough and I'd hate to break the quest or slow the system to unplayable. Performance will depend on your system. There's very little inherent extra load from using Sapience + a bunch of AI controlled NPC's. The biggest performance hit will come from voice synthesis if you're running it locally. This depends entirely on what your system can handle. You can always offload TTS to another system or the cloud to reduce load if your specs aren't good enough to run it locally. The AI is completely aware of all vanilla dialogue that happens around it. So, if you're doing a quest, the AI will behave as if it just said the vanilla lines (And other, like the player, said the vanilla lines around them). This can break quests occasionally, but it tries not to. Scripted dialogue / monologues are vulnerable to this happening some. If this happens, just nudging the npc with the use key often unsticks it. If not, you can toggle sapience off for the scene with a keybind. I've used MinAI + CHIM enabled for a couple hundred hours of play at this point without major issues, as have quite a few of my users. Edited January 29, 2025 by Min
coronerra Posted January 29, 2025 Posted January 29, 2025 (edited) Cool. Are there any quests you recommend completing without sapience on? Also, I noticed things went downhill fast when I described my character in the character bio. I wrote it like the CHIM page said to, like a D&D sheet. I wrote I was a... Tall, strong, muscular Nord with rune tattoos across his body, long black hair and a beard to match. Before discovering I was the Dragonborn I spent my time as a sword for hire, helping people and spending my coin on scooma and women. I live by the belief that there's nothing better in life than killing a man that wants to kill you or fucking a woman who wants to fuck you. Suddenly all the women got all annoyingly flirty flirty. Like, cringe worthy. And the men kept giving me shit about being a ladies man. After removing the bio from myself and copying the blank bio of myself back to the other profiles, suddenly things went back to normal. So it looks like the AI actually starts with your bio and tailers it's responses based on that first, at least when you first meet an AI NPC. This makes me wonder, if I wrote descriptors of NPCs appearance's in their individual bios, would the other AI NPCs pick up on it and tailers their responses to eachother based on eachother bios? Edited January 29, 2025 by coronerra
Fraying9981 Posted January 29, 2025 Posted January 29, 2025 (edited) Ok I installed it, took me ~20 minutes. I have no words. This is insane and you guys are amazing! It's stable, almost real time. Very intuitive. It's instantly adding so much depth. I just have a couple of questions about configuration: 1. NSFW doesn't work for me now. I'm using Pahe as mentioned before so I have slaves. Whenever I say something NSFW my slaves are like "how come do you speak like that, I deserve respect, the people of Rorikstead will punish you" etc. Was funny in the beginning, but since it obviously doesn't trigger any action, I suppose something is wrong with the configuration somewhere. SFW Slave talk works except I get the moralizing stuff that I treat people like objects, but I suppose this has some ironic woke leftist/activist charm to it so I don't mind for now. In Minai configuration menu, disable all NSFW is NOT ticked, yet in game NSFW dialogue and actions dont seem to work yet for me. 2. Some voices are not the right NPC voices, likely because I have mods that add custom races. This is slightly funny when a beautiful woman switches to a deep, low, DJ voice. So first my question is: is that MinAI configuration or CHIM configuration? So I know where to look for. In Minai configuration there is "VoiceType Fallbacks" menu, that looks like what I should change I suppose? 3. What is the quickest way to make the Narrator speak MUCH less, or disable it completely? It's great but really not my thing. 4. What does XVSynth do? I downloaded voice packs from the forum and they are fine, I'm just wondering in the context of CHIM what it does. Is it a replacement to MeloTTS? 5. At the moment it seems each NPC needs activation one by one with the hotkey. Is that correct? 6. To which extent can this trigger mod actions - trying to understand what are the limitations? For example in Pahe you can talk to the slave > you need to be punished > unsheathe the whip > hit > talk to the slave again > submission increase is registered. Wondering if that's the kind of stuff supported in some way natively if you use the right word, or if it's just not doable - which is totally fine, the mod is insane and I'm just curious. Edited January 29, 2025 by Fraying9981 edited spelling
coronerra Posted January 29, 2025 Posted January 29, 2025 (edited) I don't know about #1 or #6 as I actually don't do much NSFW believe it or not. But as far as some of the others... 3. Go to your configuration wizard. Select advanced and scroll down. You should see two options for the narrator. One basically activated him and the other gives a summary of what happened last every time you load a save. Turn both of those off. 4. Xvasynth sucks. Don't waist your time. It's better to pay the $0.18/hour to rent out your TTS on vastai via chime xtts servers. Check out the CHIM webpage on the Nexus and YouTube for how to do this. If you have a spare laptop laying around with an RTX 2060 or better in it you can use it to host xtts instead of paying the $0.18/hour and get equal or better performance. 5. Yes, NPCs need activated one by one unless you go into the MinAI MCM menu and select Sapience. If you do that, every NPC around you will be AI activated. 2. In most cases custom NPCs will default to the games default voice. So for Remiel for example, she is a breton dispite having a customer voice, she will still default to the Breton voice unless... You do something deviant like using a BSA unpacker on her mod, pull out the voice fus files, convert the longest one to a wav, rename the file the same as her name, then upload it into the xtts server and then she has her custom voice available. You would have to do similar for each custom voiced NPC you have to give them accurate voices. Keep in mind this is for your PC only and do not upload to the web any clips you may make doing so as many voice actors are against using their voices for AI. Also, keep in mind the wav files you create have to not only match the NPC profile name in spelling but capitalization as well. If an NPCs name and profile say george with a small g and you name the file George with a capital G, the file won't work. I hope this helps some. Please keep in mind I'm on lunch and this is all off the top of my head. Some additional notes: If you like the narrator feature but not their personality or voice, you can edit their voice in xtts the same way as you did the custom voice NPCs and edit their personality in the bio as well. So if you want it to instead sound like a deviant Jessica Rabbit, upload a wav of her voice in place of the narrators and write in the bio something like, well, whatever your into. Edited January 29, 2025 by coronerra
Fraying9981 Posted January 29, 2025 Posted January 29, 2025 (edited) 1 hour ago, coronerra said: I don't know about #1 or #6 as I actually don't do much NSFW believe it or not. But as far as some of the others... 3. Go to your configuration wizard. Select advanced and scroll down. You should see two options for the narrator. One basically activated him and the other gives a summary of what happened last every time you load a save. Turn both of those off. 4. Xvasynth sucks. Don't waist your time. It's better to pay the $0.18/hour to rent out your TTS on vastai via chime xtts servers. Check out the CHIM webpage on the Nexus and YouTube for how to do this. If you have a spare laptop laying around with an RTX 2060 or better in it you can use it to host xtts instead of paying the $0.18/hour and get equal or better performance. 5. Yes, NPCs need activated one by one unless you go into the MinAI MCM menu and select Sapience. If you do that, every NPC around you will be AI activated. 2. In most cases custom NPCs will default to the games default voice. So for Remiel for example, she is a breton dispite having a customer voice, she will still default to the Breton voice unless... You do something deviant like using a BSA unpacker on her mod, pull out the voice fus files, convert the longest one to a wav, rename the file the same as her name, then upload it into the xtts server and then she has her custom voice available. You would have to do similar for each custom voiced NPC you have to give them accurate voices. Keep in mind this is for your PC only and do not upload to the web any clips you may make doing so as many voice actors are against using their voices for AI. Also, keep in mind the wav files you create have to not only match the NPC profile name in spelling but capitalization as well. If an NPCs name and profile say george with a small g and you name the file George with a capital G, the file won't work. I hope this helps some. Please keep in mind I'm on lunch and this is all off the top of my head. Some additional notes: If you like the narrator feature but not their personality or voice, you can edit their voice in xtts the same way as you did the custom voice NPCs and edit their personality in the bio as well. So if you want it to instead sound like a deviant Jessica Rabbit, upload a wav of her voice in place of the narrators and write in the bio something like, well, whatever your into. Thanks a lot! Super helpful. 2. NPC custom voices: got it thanks, i'm going to try Vast.ai later with Skyrim - already familiar with it. a/ just to confirm because I'm running meloTTS now: to make sure they don't conflict after I set up CHIM, do I just need to click Copy to All Profiles in CHIM to enforce that All Profiles will be used = no more MeloTTS? b/ regarding your point on xtts: i have the wav files ready. how long does the file needs to be for training? I used ~2 min in the past for other XTTS apps but I don't have as much here. also, is there a way to make it a default for the whole race? not just every NPC manually? Edit: I've run CHIM XTTS on 5 different instances: either the IP gives a 404 or {"detail":"Not Found"} empty page. is there something wrong with the template? putting the log below 3. Narrator: thanks, found the option turn the damn guy off. 4. XVSynth: got it thanks for the feedback. 5. Activation: thanks, got it! Regarding other points: 1. NSFW: never mind, it does work. it's just that the NPCs by default are SUPER fierce. like they really need to be whipped and punished to figure things out. Which makes sense, I use the mod on an existing save and they have no memory of being punished or even a slave. However it's a bit extreme: they start fierce, then switch to constant sarcasm. I'm wondering if there is a way to easily change that. I see there are NPC biographies for example, is that the way? Or, do you think it's a model problem - I took Hermes 13 B Nous? Or better and quicker to change HERIKA_PERS + combine it with dynamic personality? How do you enable dynamic personality by default? 6. Trigger actions: it does work, it blows my mind. For example the option in Pahe to switch the training type (obedience, fighting etc.) -> I more or less said the same command and the NPC gave me the vanilla reply, updated game state. It's totally crazy. Basically back to my initial question: this thing is the new interface of Skyrim. The vanilla dialogue bar just serves to debug or hardcode values in the NPC's memory - to show them something. The main interaction point becomes voice. ``` /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:547:50: warning: narrowing conversion of ‘(((size_t)hidden_dim) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] 547 | {hidden_dim * InferenceContext::Instance().GetMaxTokenLength(), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:547:50: warning: narrowing conversion of ‘(((size_t)hidden_dim) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:548:41: warning: narrowing conversion of ‘(((size_t)k) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] 548 | k * InferenceContext::Instance().GetMaxTokenLength(), | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:548:41: warning: narrowing conversion of ‘(((size_t)k) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:556:38: warning: narrowing conversion of ‘(((size_t)hidden_dim) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] 556 | {hidden_dim * InferenceContext::Instance().GetMaxTokenLength(), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:556:38: warning: narrowing conversion of ‘(((size_t)hidden_dim) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:557:29: warning: narrowing conversion of ‘(((size_t)k) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] 557 | k * InferenceContext::Instance().GetMaxTokenLength(), | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:557:29: warning: narrowing conversion of ‘(((size_t)k) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp: In instantiation of ‘std::vector<at::Tensor> ds_rms_mlp_gemm(at::Tensor&, at::Tensor&, at::Tensor&, at::Tensor&, at::Tensor&, float, at::Tensor&, at::Tensor&, bool, int, bool) [with T = __half]’: /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:2034:5: required from here /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:1595:72: warning: narrowing conversion of ‘(size_t)mlp_1_out_neurons’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] 1595 | at::from_blob(intermediate_ptr, {input.size(0), input.size(1), mlp_1_out_neurons}, options); | ^~~~~~~~~~~~~~~~~ /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:1595:72: warning: narrowing conversion of ‘mlp_1_out_neurons’ from ‘const size_t’ {aka ‘const long unsigned int’} to ‘long int’ [-Wnarrowing] /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp: In instantiation of ‘std::vector<at::Tensor> ds_softmax_context(at::Tensor&, at::Tensor&, int, bool, bool, int, int, float, bool, bool, int, bool, unsigned int, unsigned int, at::Tensor&, float) [with T = __nv_bfloat16]’: /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:2036:5: required from here /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:547:50: warning: narrowing conversion of ‘(((size_t)hidden_dim) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] 547 | {hidden_dim * InferenceContext::Instance().GetMaxTokenLength(), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:547:50: warning: narrowing conversion of ‘(((size_t)hidden_dim) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:548:41: warning: narrowing conversion of ‘(((size_t)k) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] 548 | k * InferenceContext::Instance().GetMaxTokenLength(), | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:548:41: warning: narrowing conversion of ‘(((size_t)k) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:556:38: warning: narrowing conversion of ‘(((size_t)hidden_dim) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] 556 | {hidden_dim * InferenceContext::Instance().GetMaxTokenLength(), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:556:38: warning: narrowing conversion of ‘(((size_t)hidden_dim) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:557:29: warning: narrowing conversion of ‘(((size_t)k) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] 557 | k * InferenceContext::Instance().GetMaxTokenLength(), | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:557:29: warning: narrowing conversion of ‘(((size_t)k) * (& InferenceContext::Instance())->InferenceContext::GetMaxTokenLength())’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp: In instantiation of ‘std::vector<at::Tensor> ds_rms_mlp_gemm(at::Tensor&, at::Tensor&, at::Tensor&, at::Tensor&, at::Tensor&, float, at::Tensor&, at::Tensor&, bool, int, bool) [with T = __nv_bfloat16]’: /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:2036:5: required from here /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:1595:72: warning: narrowing conversion of ‘(size_t)mlp_1_out_neurons’ from ‘size_t’ {aka ‘long unsigned int’} to ‘long int’ [-Wnarrowing] 1595 | at::from_blob(intermediate_ptr, {input.size(0), input.size(1), mlp_1_out_neurons}, options); | ^~~~~~~~~~~~~~~~~ /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/pt_binding.cpp:1595:72: warning: narrowing conversion of ‘mlp_1_out_neurons’ from ‘const size_t’ {aka ‘const long unsigned int’} to ‘long int’ [-Wnarrowing] [9/11] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output transform.cuda.o.d -DTORCH_EXTENSION_NAME=transformer_inference -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -I/usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/includes -I/usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/includes -isystem /usr/local/lib/python3.10/dist-packages/ /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/transform.cu(38): warning #177-D: variable "d0_stride" was declared but never referenced int d0_stride = hidden_dim * seq_length; ^ Remark: The warnings can be suppressed with "-diag-suppress <warning-number>" /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/transform.cu(66): warning #177-D: variable "lane" was declared but never referenced int lane = d3 & 0x1f; ^ /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/transform.cu(109): warning #177-D: variable "half_dim" was declared but never referenced unsigned half_dim = (rotary_dim << 3) >> 1; ^ detected during instantiation of "void launch_bias_add_transform_0213(T *, T *, T *, const T *, const T *, int, int, unsigned int, int, int, int, int, int, __nv_bool, __nv_bool, cudaStream_t, int, int, float) [with T=__nv_bfloat16]" at line 281 /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/transform.cu(110): warning #177-D: variable "d0_stride" was declared but never referenced int d0_stride = hidden_dim * seq_length; ^ detected during instantiation of "void launch_bias_add_transform_0213(T *, T *, T *, const T *, const T *, int, int, unsigned int, int, int, int, int, int, __nv_bool, __nv_bool, cudaStream_t, int, int, float) [with T=__nv_bfloat16]" at line 281 /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/transform.cu(126): warning #177-D: variable "vals_half" was declared but never referenced T2* vals_half = reinterpret_cast<T2*>(&vals_arr); ^ detected during instantiation of "void launch_bias_add_transform_0213(T *, T *, T *, const T *, const T *, int, int, unsigned int, int, int, int, int, int, __nv_bool, __nv_bool, cudaStream_t, int, int, float) [with T=__nv_bfloat16]" at line 281 /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/transform.cu(127): warning #177-D: variable "output_half" was declared but never referenced T2* output_half = reinterpret_cast<T2*>(&output_arr); ^ detected during instantiation of "void launch_bias_add_transform_0213(T *, T *, T *, const T *, const T *, int, int, unsigned int, int, int, int, int, int, __nv_bool, __nv_bool, cudaStream_t, int, int, float) [with T=__nv_bfloat16]" at line 281 /usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/csrc/transform.cu(144): warning #177-D: variable "lane" was declared but never referenced int lane = d3 & 0x1f; ^ detected during instantiation of "void launch_bias_add_transform_0213(T *, T *, T *, const T *, const T *, int, int, unsigned int, int, int, int, int, int, __nv_bool, __nv_bool, cudaStream_t, int, int, float) [with T=__nv_bfloat16]" at line 281 [10/11] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output pointwise_ops.cuda.o.d -DTORCH_EXTENSION_NAME=transformer_inference -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -I/usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/transformer/inference/includes -I/usr/local/lib/python3.10/dist-packages/deepspeed/ops/csrc/includes -isystem /usr/local/lib/python3.10/dist-pack [11/11] c++ pt_binding.o gelu.cuda.o relu.cuda.o layer_norm.cuda.o rms_norm.cuda.o softmax.cuda.o dequantize.cuda.o apply_rotary_pos_emb.cuda.o transform.cuda.o pointwise_ops.cuda.o -shared -lcurand -L/usr/local/lib/python3.10/dist-packages/torch/lib -lc10 -lc10_cuda -ltorch_cpu -ltorch_cuda -ltorch -ltorch_python -L/usr/local/cuda/lib64 -lcudart -o transformer_inference.so Loading extension module transformer_inference... Time to load transformer_inference op: 57.77902030944824 seconds [2025-01-29 09:58:23,764] [INFO] [logging.py:96:log_dist] [Rank -1] DeepSpeed-Inference config: {'layer_id': 0, 'hidden_size': 1024, 'intermediate_size': 4096, 'heads': 16, 'num_hidden_layers': -1, 'dtype': torch.float32, 'pre_layer_norm': True, 'norm_type': <NormType.LayerNorm: 1>, 'local_rank': -1, 'stochastic_mode': False, 'epsilon': 1e-05, 'mp_size': 1, 'scale_attention': True, 'triangular_masking': True, 'local_attention': False, 'window_size': 1, 'rotary_dim': -1, 'rotate_half': False, 'ro 2025-01-29 09:58:24.572 | INFO | xtts_api_server.tts_funcs:load_model:190 - Pre-create latents for all current speakers 2025-01-29 09:58:24.572 | INFO | xtts_api_server.tts_funcs:create_latents_for_all:270 - Latents created for all 0 speakers. 2025-01-29 09:58:24.572 | INFO | xtts_api_server.tts_funcs:load_model:193 - Model successfully loaded /usr/local/lib/python3.10/dist-packages/pydantic/_internal/_fields.py:132: UserWarning: Field "model_name" in ModelNameRequest has conflict with protected namespace "model_". You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ()`. warnings.warn( INFO: Started server process [1] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:8020 (Press CTRL+C to quit) INFO: 58.182.67.183:62653 - "GET / HTTP/1.1" 404 Not Found INFO: 58.182.67.183:62653 - "GET /favicon.ico HTTP/1.1" 404 Not Found Edited January 29, 2025 by Fraying9981 edited for clarity
coronerra Posted January 29, 2025 Posted January 29, 2025 (edited) 48 minutes ago, Fraying9981 said: Thanks a lot! Super helpful. 2. NPC custom voices: got it thanks, i'm going to try Vast.ai later with Skyrim - already familiar with it. a/ just to confirm because I'm running meloTTS now: to make sure they don't conflict after I set up CHIM, do I just need to click Copy to All Profiles in CHIM to enforce that All Profiles will be used = no more MeloTTS? b/ regarding your point on xtts: i have the wav files ready. how long does the file needs to be for training? I used ~2 min in the past for other XTTS apps but I don't have as much here. also, is there a way to make it a default for the whole race? not just every NPC manually? 3. Narrator: thanks, found the option turn the damn guy off. 4. XVSynth: got it thanks for the feedback. 5. Activation: thanks, got it! Regarding other points: 1. NSFW: never mind, it does work. it's just that the NPCs by default are SUPER fierce. like they really need to be whipped and punished to figure things out. Which makes sense, I use the mod on an existing save and they have no memory of being punished or even a slave. However it's a bit extreme: they start fierce, then switch to constant sarcasm. I'm wondering if there is a way to easily change that. I see there are NPC biographies for example, is that the way? Or, do you think it's a model problem - I took Hermes 13 B Nous? Or better and quicker to change HERIKA_PERS + combine it with dynamic personality? How do you enable dynamic personality by default? 6. Trigger actions: it does work, it blows my mind. For example the option in Pahe to switch the training type (obedience, fighting etc.) -> I more or less said the same command and the NPC gave me the vanilla reply, updated game state. It's totally crazy. Basically back to my initial question: this thing is the new interface of Skyrim. The vanilla dialogue bar just serves to debug or hardcode values in the NPC's memory - to show them something. The main interaction point becomes voice. 2. If you scroll down in the advanced mode of the CHIM configurations you will see that you can select and unselect services, LLMs, TTS, STT, etc. Select the ones you want and unselect the rest. When I first figured out how it all worked I uninstalled everything using the uninstall tool in the tools folder of the server then reinstalled it with none of the TTS services. Then I installed it on the laptop and installed the XTTS on it. So I don't have any extra services running in the background on the machine actually running the game. A weaker home PC setup as your XTTS server at home is superior to VastAI simply due to the split sends it takes to send the information over the web. They say you want at least 15 seconds for your wav files to do a good job. I find the quality of the wav is more important than the length. To my memory, you active dynamic memories in the default profile and hit save, then you can select it for the other profiles and hit save on them as well. I have one character with a fully filled out bio and did select dynamic but I haven't seen any difference. I think you need to leave the bio alone and just select dynamic if you want dynamic to truly work as it's intended. Actual in game controls I'm still at a loss for as all I have done is walk around, talk, watched one of them turn into a totally comedic slut, and actually played the game. Sorry I can't help more. Edited January 29, 2025 by coronerra
Fraying9981 Posted January 29, 2025 Posted January 29, 2025 (edited) 1 hour ago, coronerra said: 2. If you scroll down in the advanced mode of the CHIM configurations you will see that you can select and unselect services, LLMs, TTS, STT, etc. Select the ones you want and unselect the rest. When I first figured out how it all worked I uninstalled everything using the uninstall tool in the tools folder of the server then reinstalled it with none of the TTS services. Then I installed it on the laptop and installed the XTTS on it. So I don't have any extra services running in the background on the machine actually running the game. A weaker home PC setup as your XTTS server at home is superior to VastAI simply due to the split sends it takes to send the information over the web. They say you want at least 15 seconds for your wav files to do a good job. I find the quality of the wav is more important than the length. To my memory, you active dynamic memories in the default profile and hit save, then you can select it for the other profiles and hit save on them as well. I have one character with a fully filled out bio and did select dynamic but I haven't seen any difference. I think you need to leave the bio alone and just select dynamic if you want dynamic to truly work as it's intended. Actual in game controls I'm still at a loss for as all I have done is walk around, talk, watched one of them turn into a totally comedic slut, and actually played the game. Sorry I can't help more. Thanks again! - NSFW: I'm playing with dynamic updates, it seems to work better, I would recommend enabling it for all NPCs, but maybe not activate AI for all NPCs immediately or else you could have a revolution maybe - Switching to TTS: thanks found the option to select instead of melotts - NPC custom voices with vast.ai: tried several instances with 1x 3060 as in the video, didnt manage to make it work: the instance simply never loads. Perhaps it's a machine power problem? Here are the vast.ai machine details. the image is augustobeiro/chim-xtts-api-server:latest, so latest, so I don't see why it doesnt run. --- **Vast.ai Instance Details:** - **GPU:** 1x RTX 3060 - **Compute Power:** 12.4 TFLOPS - **Memory Usage:** 2.1 / 12.0 GB - **Max CUDA:** 12.2 - **Memory Bandwidth:** 317.4 GB/s - **Motherboard:** B450 Gaming K4 - **PCIe Version:** 3.0 x4 - **Speed:** 3.1 GB/s - **CPU:** AMD Athlon 3000G - **Cores/Threads:** 2 / 4 - **Memory Usage:** 4 / 16 GB - **Storage:** ADATA SX8200P (NVMe SSD) - **Speed:** 1416 MB/s - **Usage:** 1.0 / 58.9 GB - **Network Speed:** - **Download:** 88.0 Mbps - **Upload:** 875.0 Mbps - **Status:** Running (`augustobeiro/chim-xtts-api-server:latest`) - **Verification:** Verified - **Age:** 1h 43m - **Cost:** $0.085/hr --- and this is what i get when checking if xtts is running locally - no vast, my own 3060: URL is valid, but can not connect. Debug info: Warning: get_headers(http://127.0.0.1:8020): Failed to open stream: Connection refused in /var/www/html/HerikaServer/ui/tools/check_url.php on line 25 Edited January 29, 2025 by Fraying9981
B3juc0 Posted January 29, 2025 Posted January 29, 2025 (edited) So I decided to try the Deepseek-r1-distill-llama-70b model (jump on the hype train?) to see if do anything differently but the results were meh! (off the hype train lol) It doesn't seem to be censored (it said a few PG-13 lines maybe a little more) but compared to other models... it doesn't compared. Probably good for Children and Elders NPCs... Edited January 29, 2025 by B3juc0 1
Fraying9981 Posted January 29, 2025 Posted January 29, 2025 Is it safe to edit NPC HERIKA_PERS after doing alt tab while running the game? Trying to simplify the workflow by setting HERIKA_PERS right as soon as I activate them
Fraying9981 Posted January 29, 2025 Posted January 29, 2025 (edited) For actions, they actually don't seem to be working properly on my machine. - If i use text prompt ExchangeItems, LeadTheWayTo etc. -> all ok - if I use something custom, nothing happens. Looking at logs, there is no json syntax for these unlike the available actions listed below. I tried a few models such as cohere/command-r-plus, restarted the server every time. I'm on meta-llama/llama-3-70b-instruct now. When testing LLM via CHIM this custom_actions error, but with a normal LLM response. Anybody know a fix? Warning: pg_query(): Query failed: ERROR: relation "custom_actions" does not exist LINE 1: SELECT * FROM custom_actions WHERE expiresAt > 1738166338 ^ in /var/www/html/HerikaServer/lib/postgresql.class.php on line 75 Ingmis Bronze-Helm|command|Attack@monster Array ( [full] => Array ( [model] => meta-llama/llama-3.3-70b-instruct [messages] => Array ( [0] => Array ( [role] => system [content] => Let's roleplay in the Universe of Skyrim.Roleplay as Ingmis Bronze-Helm, a warrior slave owned by Dominus. Don't write narrations. AVAILABLE ACTION: Inspect (Inspects target character's OUTFIT and GEAR. JUST REPLY something like 'Let me see' and wait) AVAILABLE ACTION: InspectSurroundings (Looks for beings or enemies nearby) AVAILABLE ACTION: ExchangeItems (Initiates trading or exchange items with Dominus.) AVAILABLE ACTION: Attack (Attacks actor, npc or being.)(available targets: Dominus) AVAILABLE ACTION: Hunt (Try to hunt/kill ar animal) AVAILABLE ACTION: ListInventory (Search in Ingmis Bronze-Helm\'s inventory, backpack or pocket. List inventory) AVAILABLE ACTION: LetsRelax (Stop questing. Relax and rest.) AVAILABLE ACTION: LeadTheWayTo (Only use if Dominus explicitly orders it. Guide Dominus to a Town o City. ) AVAILABLE ACTION: TakeASeat (Ingmis Bronze-Helm seats in nearby chair or furniture ) AVAILABLE ACTION: ReadQuestJournal (Only use if Dominus explicitly ask for a quest. Get info about current quests) AVAILABLE ACTION: IncreaseWalkSpeed (Increase Ingmis Bronze-Helm speed when moving or travelling) AVAILABLE ACTION: DecreaseWalkSpeed (Decrease Ingmis Bronze-Helm speed when moving or travelling) AVAILABLE ACTION: SetCurrentTask (Set the current plan of action or task or quest) AVAILABLE ACTION: WaitHere (Ingmis Bronze-Helm waits and stands at the current place) AVAILABLE ACTION: Heal (Heals target using magic spell) AVAILABLE ACTION: Talk ) [1] => Array ( [role] => user [content] => The Narrator: Dominus looks at Ingmis Bronze-Helm ) [2] => Array ( [role] => assistant [content] => {"character": "Ingmis Bronze-Helm","listener": "Dominus", "mood": "default", "action": "Talk","target": "", "message": "What are you looking at?"} ) [3] => Array ( [role] => user [content] => Hey, Ingmis Bronze-Helm, attack that monster!! ) [4] => Array ( [role] => user [content] => Choose coherent ACTION to obey Dominus.. Use this JSON object to give your answer: {"character":"Ingmis Bronze-Helm","listener":"specify who Ingmis Bronze-Helm is talking to","mood":"sassy|assertive|teasing|smirking|smug|mocking|seductive|neutral|kindly|assisting|amused|sexy|irritated|default|playful|lovely|sarcastic|sardonic","action":"ExchangeItems|Talk|WaitHere|SetCurrentTask|Heal|DecreaseWalkSpeed|LeadTheWayTo|InspectSurroundings|Inspect|ReadQuestJournal|LetsRelax|Hunt|Attack|ListInventory|TakeASeat|IncreaseWalkSpeed","target":"action's target|destination name","message":"lines of dialogue"} ) ) [stream] => 1 [max_tokens] => 512 [stop] => Array ( [0] => USER ) [temperature] => 0.8 [frequency_penalty] => 0 [presence_penalty] => 0 [repetition_penalty] => 1.1 [min_p] => 0 [top_a] => 0 [top_k] => 40 [top_p] => 1 [response_format] => Array ( [type] => json_object ) [transforms] => Array ( ) ) [RAW] => {"character":"Ingmis Bronze-Helm","listener":"Dominus","mood":"assertive","action":"Attack","target":"monster","message":"On my way, master!"} [response] => Array ( [0] => Array ( [0] => Ingmis Bronze-Helm|command|Attack@monster ) ) ) Edited January 29, 2025 by Fraying9981 updated log
Goncalo40 Posted January 29, 2025 Posted January 29, 2025 (edited) How do you update the mod? by disabling the last version (beta 42.2) and overwriting it with 1.01? i did that but now if i enable the Min AI esp, the game crashes ( and tells me there is a savegame error with SOS ( doesnt detect the add ons) . Not enabling the esp, ( and then not having Min Ai) makes my game and all mods run well. It is scripts hanging probably... My save has a lot of hours in it, im really trying to use this mod without a new game Edited January 29, 2025 by Goncalo40 typing error
Min Posted January 29, 2025 Author Posted January 29, 2025 (edited) 11 hours ago, coronerra said: Cool. Are there any quests you recommend completing without sapience on? Also, I noticed things went downhill fast when I described my character in the character bio. I wrote it like the CHIM page said to, like a D&D sheet. I wrote I was a... Tall, strong, muscular Nord with rune tattoos across his body, long black hair and a beard to match. Before discovering I was the Dragonborn I spent my time as a sword for hire, helping people and spending my coin on scooma and women. I live by the belief that there's nothing better in life than killing a man that wants to kill you or fucking a woman who wants to fuck you. Suddenly all the women got all annoyingly flirty flirty. Like, cringe worthy. And the men kept giving me shit about being a ladies man. After removing the bio from myself and copying the blank bio of myself back to the other profiles, suddenly things went back to normal. So it looks like the AI actually starts with your bio and tailers it's responses based on that first, at least when you first meet an AI NPC. This makes me wonder, if I wrote descriptors of NPCs appearance's in their individual bios, would the other AI NPCs pick up on it and tailers their responses to eachother based on eachother bios? So - This is a thing with how LLM's work. Every time we request a response from the LLM, we're sending it a payload including the context that it should be aware of (What's around it, what's happened recently, pertinent memories), what you're wearing, your bio, etc. If you're including that bit about "Fucking a woman who wants to fuck you", that's going to be included in every single prompt to the llm, and will influence how it responds to you. Also, different LLM's will behave very differently. The stock one that ships with CHIM (llama 70b) is extremely horny, and generally pretty subpar for NSFW gameplay, imo. Check out the github for my list of preferred LLM's. With regards to specific quests to disable sapience for: Some scenes like the greybeards "welcome" dialogue after fetching the horn can be vulnerable to disruption. You can also reduce the likeliness of quests breaking by disabling the "bored" events in CHIM, and letting minai's radiant dialogue system handle spontaneous conversations. Edited January 29, 2025 by Min
Min Posted January 29, 2025 Author Posted January 29, 2025 4 hours ago, Fraying9981 said: Is it safe to edit NPC HERIKA_PERS after doing alt tab while running the game? Trying to simplify the workflow by setting HERIKA_PERS right as soon as I activate them Yes. You can edit that at any time by just alt tabbing. 5 hours ago, Fraying9981 said: Thanks again! - NSFW: I'm playing with dynamic updates, it seems to work better, I would recommend enabling it for all NPCs, but maybe not activate AI for all NPCs immediately or else you could have a revolution maybe Regarding NSFW roleplay - Pretty much all behavioral things are related to the model you're using, or the prompt that's being sent. What model are you using? 2 hours ago, Fraying9981 said: For actions, they actually don't seem to be working properly on my machine. - If i use text prompt ExchangeItems, LeadTheWayTo etc. -> all ok - if I use something custom, nothing happens. Looking at logs, there is no json syntax for these unlike the available actions listed below. I tried a few models such as cohere/command-r-plus, restarted the server every time. I'm on meta-llama/llama-3-70b-instruct now. When testing LLM via CHIM this custom_actions error, but with a normal LLM response. Anybody know a fix? Warning: pg_query(): Query failed: ERROR: relation "custom_actions" does not exist LINE 1: SELECT * FROM custom_actions WHERE expiresAt > 1738166338 ^ in /var/www/html/HerikaServer/lib/postgresql.class.php on line 75 Ingmis Bronze-Helm|command|Attack@monster Array ( [full] => Array ( [model] => meta-llama/llama-3.3-70b-instruct [messages] => Array ( [0] => Array ( [role] => system [content] => Let's roleplay in the Universe of Skyrim.Roleplay as Ingmis Bronze-Helm, a warrior slave owned by Dominus. Don't write narrations. AVAILABLE ACTION: Inspect (Inspects target character's OUTFIT and GEAR. JUST REPLY something like 'Let me see' and wait) AVAILABLE ACTION: InspectSurroundings (Looks for beings or enemies nearby) AVAILABLE ACTION: ExchangeItems (Initiates trading or exchange items with Dominus.) AVAILABLE ACTION: Attack (Attacks actor, npc or being.)(available targets: Dominus) AVAILABLE ACTION: Hunt (Try to hunt/kill ar animal) AVAILABLE ACTION: ListInventory (Search in Ingmis Bronze-Helm\'s inventory, backpack or pocket. List inventory) AVAILABLE ACTION: LetsRelax (Stop questing. Relax and rest.) AVAILABLE ACTION: LeadTheWayTo (Only use if Dominus explicitly orders it. Guide Dominus to a Town o City. ) AVAILABLE ACTION: TakeASeat (Ingmis Bronze-Helm seats in nearby chair or furniture ) AVAILABLE ACTION: ReadQuestJournal (Only use if Dominus explicitly ask for a quest. Get info about current quests) AVAILABLE ACTION: IncreaseWalkSpeed (Increase Ingmis Bronze-Helm speed when moving or travelling) AVAILABLE ACTION: DecreaseWalkSpeed (Decrease Ingmis Bronze-Helm speed when moving or travelling) AVAILABLE ACTION: SetCurrentTask (Set the current plan of action or task or quest) AVAILABLE ACTION: WaitHere (Ingmis Bronze-Helm waits and stands at the current place) AVAILABLE ACTION: Heal (Heals target using magic spell) AVAILABLE ACTION: Talk ) [1] => Array ( [role] => user [content] => The Narrator: Dominus looks at Ingmis Bronze-Helm ) [2] => Array ( [role] => assistant [content] => {"character": "Ingmis Bronze-Helm","listener": "Dominus", "mood": "default", "action": "Talk","target": "", "message": "What are you looking at?"} ) [3] => Array ( [role] => user [content] => Hey, Ingmis Bronze-Helm, attack that monster!! ) [4] => Array ( [role] => user [content] => Choose coherent ACTION to obey Dominus.. Use this JSON object to give your answer: {"character":"Ingmis Bronze-Helm","listener":"specify who Ingmis Bronze-Helm is talking to","mood":"sassy|assertive|teasing|smirking|smug|mocking|seductive|neutral|kindly|assisting|amused|sexy|irritated|default|playful|lovely|sarcastic|sardonic","action":"ExchangeItems|Talk|WaitHere|SetCurrentTask|Heal|DecreaseWalkSpeed|LeadTheWayTo|InspectSurroundings|Inspect|ReadQuestJournal|LetsRelax|Hunt|Attack|ListInventory|TakeASeat|IncreaseWalkSpeed","target":"action's target|destination name","message":"lines of dialogue"} ) ) [stream] => 1 [max_tokens] => 512 [stop] => Array ( [0] => USER ) [temperature] => 0.8 [frequency_penalty] => 0 [presence_penalty] => 0 [repetition_penalty] => 1.1 [min_p] => 0 [top_a] => 0 [top_k] => 40 [top_p] => 1 [response_format] => Array ( [type] => json_object ) [transforms] => Array ( ) ) [RAW] => {"character":"Ingmis Bronze-Helm","listener":"Dominus","mood":"assertive","action":"Attack","target":"monster","message":"On my way, master!"} [response] => Array ( [0] => Array ( [0] => Ingmis Bronze-Helm|command|Attack@monster ) ) ) Regarding custom actions table not existing - Try going into the minai plugin page configuration, and saving. I can't check right this second, but I believe that table is supposed to be created the first time you start the game after installing the mod. Try updating minai through the updater in the plugin config page too. Regarding NSFW actions in general not working - refer to the FAQ on github for instructions on how to troubleshoot action usage. These are usually caused by people not setting their name in CHIM to be the same as their name in-game, or other easy mistakes.
Min Posted January 29, 2025 Author Posted January 29, 2025 1 hour ago, Goncalo40 said: How do you update the mod? by disabling the last version (beta 42.2) and overwriting it with 1.01? i did that but now if i enable the Min AI esp, the game crashes ( and tells me there is a savegame error with SOS ( doesnt detect the add ons) . Not enabling the esp, ( and then not having Min Ai) makes my game and all mods run well. It is scripts hanging probably... My save has a lot of hours in it, im really trying to use this mod without a new game I helped someone troubleshoot something similar on the discord - In their case, they were missing the Papyrus Tweaks NG hard requirement. Check to make sure that you have it, and revert to a save before you tried upgrading.
Fraying9981 Posted January 29, 2025 Posted January 29, 2025 (edited) 28 minutes ago, Min said: Yes. You can edit that at any time by just alt tabbing. Regarding NSFW roleplay - Pretty much all behavioral things are related to the model you're using, or the prompt that's being sent. What model are you using? Regarding custom actions table not existing - Try going into the minai plugin page configuration, and saving. I can't check right this second, but I believe that table is supposed to be created the first time you start the game after installing the mod. Try updating minai through the updater in the plugin config page too. Regarding NSFW actions in general not working - refer to the FAQ on github for instructions on how to troubleshoot action usage. These are usually caused by people not setting their name in CHIM to be the same as their name in-game, or other easy mistakes. Thanks a lot for your thoughtful reply and your patience with all of us. Actually I realized I simply didn't have Papyrus tweaks. "This is caused by you not having all of the hard requirements installed (Particularly Papyrus Tweaks). Validate that you have them installed, and that you have up to date versions of them. If you did not have them, install them and then revert to a save prior to installing MinAI." Model I'm using: right now I switched to grok beta. Earlier I was using meta instruct/command r+ -> both versions you recommended. So after I did that, reloaded an old save before CHIM and MinAi (and restarted the server before, of course), and now it's CHIM that doesn't work, because Openrouter doesn't seem to want to respond to calls. - After I reloaded the old working save, Waited for setup, all the menus now work: I see the MinAI options, the action registry. my server also has the updated MinAI actions in the troubleshooting sections - Except now CHIM doesn't work anymore: in game, no output, nothing. In the server logs, nothing either. LLM troubleshoot test doesnt return a LLM response. - Weird thing I noticed happening: Openrouter activity tab stopped registering API calls one hour ago. I checked in the openrouter settings: i still have credits, no limitation on use. I created a new key, added it to CHIM...reexported agent.ini, nothing changed in game. - My default profile is my character name. Below are my settings, unchanged. Btw I'm not sure I see the difference of use between OpenRouter API (JSON) and OpenRouter API i.e. whether both should be used (probably not the problem right now anyway) Thanks in advance if you have any inputs! AI/LLM Connectors: openaijson,koboldcppjson,openrouterjson | Current AI Service ➡ (openrouterjson) Copy to All Profiles TTS Service: melotts STT Service: whisper ITT Service: openai OpenRouter API (JSON) CONNECTOR openrouterjson urlCheckOpenRouter API endpoint Copy to All Profiles CONNECTOR openrouterjson modelGet Model ListMust be JSON/Instruct type of Model! FREE MODELS ARE NOT RECOMMENDED! If you change model use buttons below to set new parameters! [help/doc] Copy to All Profiles CONNECTOR openrouterjson PROVIDERLeave as blank unless you want to manually select a provider from OpenRouter. [help/doc] Copy to All Profiles CONNECTOR openrouterjson max_tokensInteger: Maximum tokens to generate. Copy to All Profiles CONNECTOR openrouterjson temperatureTemperature [0-2] [help/doc] Copy to All Profiles CONNECTOR openrouterjson ENFORCE_JSON True Will attempt to enforce dumb LLM's to stay in JSON format. Leave as default (TRUE), only works with specific models. [help/doc] Copy to All Profiles CONNECTOR openrouterjson PREFILL_JSON FalseWill attempt to prefill the JSON AI response for some dumber LLM's. Leave as default (FALSE), only works with specific models. [help/doc] Copy to All Profiles CONNECTOR openrouterjson MAX_TOKENS_MEMORYInteger: Maximum tokens to generate when summarizing, such as writing to diary. Copy to All Profiles CONNECTOR openrouterjson json_schema false Edited January 29, 2025 by Fraying9981
Min Posted January 29, 2025 Author Posted January 29, 2025 17 minutes ago, Fraying9981 said: Thanks a lot for your thoughtful reply and your patience with all of us. Actually I realized I simply didn't have Papyrus tweaks. "This is caused by you not having all of the hard requirements installed (Particularly Papyrus Tweaks). Validate that you have them installed, and that you have up to date versions of them. If you did not have them, install them and then revert to a save prior to installing MinAI." Model I'm using: right now I switched to grok beta. Earlier I was using meta instruct/command r+ -> both versions you recommended. So after I did that, reloaded an old save before CHIM and MinAi (and restarted the server before, of course), and now it's CHIM that doesn't work, because Openrouter doesn't seem to want to respond to calls. - After I reloaded the old working save, Waited for setup, all the menus now work: I see the MinAI options, the action registry. my server also has the updated MinAI actions in the troubleshooting sections - Except now CHIM doesn't work anymore: in game, no output, nothing. In the server logs, nothing either. LLM troubleshoot test doesnt return a LLM response. - Weird thing I noticed happening: Openrouter activity tab stopped registering API calls one hour ago. I checked in the openrouter settings: i still have credits, no limitation on use. I created a new key, added it to CHIM...reexported agent.ini, nothing changed in game. - My default profile is my character name. Below are my settings, unchanged. Btw I'm not sure I see the difference of use between OpenRouter API (JSON) and OpenRouter API i.e. whether both should be used (probably not the problem right now anyway) Thanks in advance if you have any inputs! AI/LLM Connectors: openaijson,koboldcppjson,openrouterjson | Current AI Service ➡ (openrouterjson) Copy to All Profiles TTS Service: melotts STT Service: whisper ITT Service: openai OpenRouter API (JSON) CONNECTOR openrouterjson urlCheckOpenRouter API endpoint Copy to All Profiles CONNECTOR openrouterjson modelGet Model ListMust be JSON/Instruct type of Model! FREE MODELS ARE NOT RECOMMENDED! If you change model use buttons below to set new parameters! [help/doc] Copy to All Profiles CONNECTOR openrouterjson PROVIDERLeave as blank unless you want to manually select a provider from OpenRouter. [help/doc] Copy to All Profiles CONNECTOR openrouterjson max_tokensInteger: Maximum tokens to generate. Copy to All Profiles CONNECTOR openrouterjson temperatureTemperature [0-2] [help/doc] Copy to All Profiles CONNECTOR openrouterjson ENFORCE_JSON True Will attempt to enforce dumb LLM's to stay in JSON format. Leave as default (TRUE), only works with specific models. [help/doc] Copy to All Profiles CONNECTOR openrouterjson PREFILL_JSON FalseWill attempt to prefill the JSON AI response for some dumber LLM's. Leave as default (FALSE), only works with specific models. [help/doc] Copy to All Profiles CONNECTOR openrouterjson MAX_TOKENS_MEMORYInteger: Maximum tokens to generate when summarizing, such as writing to diary. Copy to All Profiles CONNECTOR openrouterjson json_schema false You almost never have to restart the server, fyi. OpenRouterJSON is used for most interactions with npc's. OpenRouter is used for things like diaries, memories, etc. If the LLM isn't returning a response in the llm / ai troubleshooter, the settings in the openrouterjson connector are probably messed up / wrong. Click one of the presets for your model (Medium randomness, etc) after fetching the list from openrouter. Click the url check button, make sure the url is still valid. Try disabling enforce json. For general CHIM (Not MinAI specific) problems like this, I'd suggest trying the CHIM discord - Lot of very helpful people there.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now