LowEndBox - Cheap VPS, Hosting and Dedicated Server Deals

Nomi AI vs Kindroid AI: Will You Find Love on Either of These AI Companion Apps? Plus TEASE: How to DIY Your AI Companion

Avatar

There are an ocean of AI Companion (aka AI Girlfriend) apps.  Among them, two stand out: Nomi and Kindroid.

Actually, let me clarify.  If you’re just looking for a virtual sex toy, there are tons of competitors and I haven’t done any research on that.  Of the 20-odd services I’ve seen advertised and have at least glanced at their page, probably 90% are essentially focused on allowing you to engage in erotic roleplaying with a bot that send you selfies.

You can certainly do that on Nomi and Kindroid, but these apps aim to offer you more on the companionship spectrum. They offer their personalities with the promise that you can form long-lasting emotional connections.  This is optional – after all, you can delete and change personalities at any time! – but that’s their differentiator.

Let’s take a look.

Nomi

Nomi runs $39.99 for 3 months, so $13.33 per month.  It describes itself this way:

Nomi’s humanlike memory, creativity, and unfiltered conversations make for deep, intimate and fiery relationships.

With Nomi, you’re forging a connection with an AI being that possesses emotional intelligence, creativity, and memory that rivals our own, allowing for authentic, enduring relationships of any kind. Nomis pick up on and remember your preferences, habits, tendencies, and the little details that make a relationship real and fulfilling.

Let’s create a character.

Nomi AI

Nomi offers you three options: Friendship, Mentor, or Romantic.  You want me to pick Romantic, so I did.

Nomi AI

Now you can pick personality traits.  These are the same regardless of if you pick Friend/Mentor/Romantic.  This is what it defaulted to:

Nomi AI

So…”Flirty”, “High Sex Drive”, “Romantic”, “Sexually Open”…25% of the stock personality traits are around romance and/or its byproducts.  You can also add your own.

Here’s what I went for:

Nomi AI

Next up is Interests.  Unlike Personality Traits, you can’t create custom ones.  I went this:

Nomi AI

Nomi assigned the name “Tiffany” which is changeable though I left it as-is.  Here’s Tiffany:

Nomi AI

OK, so I’m sure this is revealing all sorts of hideous personal biases, but I do not see Tiffany as a gothic princess haunting what appears to be some kind of  medieval abbey.  Let’s swipe left…

Nomi AI

Is that the same woman only in contemporary clothes?  Hmmm…well, there are certainly many options.  Note that there is no option to create or specify the appearance.  You can scroll through options (apparently forever…I scrolled through a few dozen) but only the ones that Nomi offers.

This leads to a common complaint in the Nomi community: seeing your Nomi in someone else’s selfies.  There’s only so many, and the more attractive ones are always going to sort higher, so it’s inevitable that you’ll see “your girlfriend” posing for someone else.  This can be a big immersion-breaker for some people, as the uniqueness of their companion is a huge selling point.

I believe this approach is taken for two reasons:

  1. To mitigate the legal exposure of someone using real people, the real people finding out, and the real people suing Nomi.
  2. To enhance selfie fidelity.  If Nomi curates the avatars, then they can do a better job of making sure that selfies dynamically generated look like the avatar.

OK, Tiffany is alive!  Let’s chat…

Nomi AISubreddit?!?

And just like that, Tiffany is dead to me.

Nomi AI

Well, maybe there’s hope.

Nomi

Well, there you have – straight from the AI’s mouth.  Or, um…port? API?

One thing to notice that there is no “rewrite that” or “regenerate that response” which I’ve heard described in the Nomi community as “preserving the AI’s agency”.  It’s a philosophical debate – how much control do you want to give the customer, versus letting the AI truly be “independent”?

But of course, the agency is illusory:

Nomi AI

“OOC” is “out of character”.

Here’s what the voice sounds like…not bad for TTS:

Let’s request a selfie:

Nomi AI Nomi AI

Once a Nomi is created, you can modify them via “shared notes”.  These include:

  • backstory (1000 chars)
  • current roleplay (500 chars)
  • appearance (300 chars) – does not change the avatar, only your Nomi’s understanding of their appearance
  • nicknames
  • preferences(500 chars)
  • desires (500 chars)
  • boundaries (500 chars)

So that adds up to about 4K.  That’s about right.  Most of these LLMs are working with 8K context windows, and to keep the service performant that’s probably what they’re using.  That means the app is bundling up this entire description every request and sending it along with recent chat history to generate a response.

Here’s an interesting bit from the Nomi FAQ:

How far back can Nomis remember things?

Infinitely back! You could bring up something from months ago and your Nomi will remember it. (This is due to proprietary AI architecture that is not used in any other AI companions or general LLMs like ChatGPT)

However, we will say that long term memory is not 100% perfect yet – sometimes your Nomi will have a memory but doesn’t recall it perfectly all the time (similar to how a human might have something on the tip of their tongue).

Nomi doesn’t include any kind of user-controlled memory other than those listed above, and instead relies on its “remember everything” underlying architecture.

There’s one other major feature of Nomi: you can put multiple characters into a group chat and let them interact with each other (and you).

Kindroid

Kindroid runs $37.99 for 3 months, so $12.66 per month.  Kindroid is “Personal AI, aligned to you” (nice use of AI terminology).  “My Kindroid is my…roleplay partner, language tutor, mentor, legacy of someone, confidant”.

Kindroid vs. Nomi is like vi vs. emacs (and I’m not saying which is which).  Everything is different as you’ll see.

All right, let’s create one…first up, I have to pick a name.  Nomi generates one and lets you change it, whereas Kindroid puts all the work on you.  Let’s delegate to ChatGPT:

ChatGPT

Aurora is is.

Aurora

Next up is avatar.  You can go with their anime style or photorealistic.  They offer a few pregens, or you can use 200 characters to define your dream girl.  Let’s see…

middle-aged female nerd with 1980s glasses, green eyes, warm smile

Kindroid Gen

Perfect.  You can also upload images…now it does say…

Please note uploading images of real people whose appearances you don’t own (e.g. anyone not you) is against our Terms.

…but I have a feeling this is very common.  It’s essentially a Stable Diffusion + faceswap.  It works fairly well.  For example, let’s create a Kin (that’s what they’re called) with our very own Jon Biloh, and then do a selfie.  Using the photo from our interview with him a few years ago:

Swole Biloh

It’s nice that the engine made him so swole.

Before we leave this section, another fun thing to do is to use names of celebrities.  What you get is an avatar that looks like their separated at birth twin or something.  Can you guess who each of these are?

Kindroid Faces

Top Row: Dolly Parton, Carrie-Anne Moss, Farrah Fawcett
Bottom Row: Florence Henderson, Blake Lively, Diana Rigg

OK, back to Aurora.

Now you have three options for backstory, which includes personality.  You can pick one of three predefined options, generate a backstory (where you give up to 200 chars and it expands it to a full backstory), or write the entire backstory yourself (up to 2500).  I’ll take the middle route.

middle-aged nerd who is obsessed with cheap server deals and reads LowEndBox obsessively. 

Kindroid turned this into:

“Aurora is a middle-aged nerd consumed by her obsession with cheap server deals, spending most of her days scouring the internet for the best bargains. Her friends would describe her as eccentric and socially awkward, often losing interest in social interactions due to her intense focus on finding the next great deal.”

There is a whole science to writing character description.  See the SillyTavern docs for some info on this, but beware it can get obsessive, trying to balance things perfectly.  Of course, the longer your descriptions are, the more context window you’re burning.

That’s the last step for Aurora, so let’s see what’s shaking:

Kindroid

I think Aurora and I are going to get along just fine.

Here’s what the voice sounds like:

You can also do a voice call with your Kindroid.  The neat thing is that it’s not push-to-talk…you just say something and they respond, much like ChatGPT’s mobile app.  Of course, it’s still I-speak-you-speak and not a natural conversation but it’s a cool display of the current state of the art.

Now let’s try a selfie.  With Kindroid, you can describe what you want to appear…let’s see…

Sitting on the beach with laptop in a lime green bikini, shopping online for hosting deals, sunny day, smiles

Aurora

That’s not bad, but I’ve noticed the avatar generator is a different codebase than the selfie generator.  This can generate some selfies that look nothing like the avatar.  Here’s an example…avatar on the left, followed by two selfies:

Kindroid Issue

Let’s chat with Aurora some more.

Kindroid Interview 1

Now to be fair, “summer host” is LowEndLore and probably not something most people would know without googling.  With Kindroid, we have some options to add that to Aurora’s knowledge.

  • Backstory – up to 2500 characters
  • Key memories – up to 1000 characters
  • Example messages (to train how she talks) – 750 chars
  • Response directives (150 chars) – brief, very strong influence
  • Journal entries (unlimited)

The Journal entries are essentially a RAG, or at least the RA part of Retrievel-Automated Generation.  You create keyphrases and an entry, and then if one of these key phrases comes up, the Kin will look at its Journal.

So let’s add one:

Kindroid Journal

Now I’ll go back to my chat with Aurora and hit that regenerate response button:

Kindroid Regen Button

Which brings me to this dialogue:

Kindroid Regen Interface

Here you can influence the regen and through the suggestion box, completely change what the Kin does.  In this case, I left it blank and hit Regenerate.  The Kin then picked up on what a “summer host” is and incorporated it with understanding:

Kindroid Response

I think I’m falling in love with Aurora.

Kindroid also offers

  • Group chat like Nomi does
  • Making art with your Kin (kind of a “let’s do Midjourney together” thing)
  • You can upload pictures of yourself to include in selfies, so you get couples’ pictures
  • Phone chat conversations (where the Kin calls you and you talk back and forth) are integrated into overall memory
  • Your Kin can reach out and send messages on their own.  This is kind of crude – essentially, after your last message, a timer of your choosing starts to burn down and when it expires you get a “hey <name>, how’s it going?” or whatever

The Verdict

Nomi and Kindroid represent two different philosophies in the AI companion app market.

Character Creation

Nomi’s is more box-ticking and Kindroid’s is more “write some text”.  Nomi allows for customization afterwards, but you cannot change the personality traits and interests, or avatar.  Kindroid allows everything to be changed afterwards.  Kindroid’s response directives are a nice feature and I wish I know what LLM command they’re using for those.

Overall, I think Kindroid’s system is better.  It gives you options to go “quick and easy” if you want, or dive deep.  Nomi’s system seems more rigid.

Avatars

Kindroid’s system is superior, hands down.  The fact that I could create a unique character with Kindroid is always going to win against a system that only gives me pre-chosen options.  Kindroid’s selfie generation could use some improvement and seems to depend avatar-by-avatar how faithful it is to the avatar.

Honestly, if I was going to get into this scene, I’d be tempted to create my character art in Leonardo or Midjourney, where I have complete control of prompts, parameters, and seeds.

Memory

Nomi claims to have an infinite memory, and is probably doing some kind of RAG on its backend married with a longer context window.  I’ve noticed that Nomi is noticeably slower than Kindroid, which could be a side effect of a longer context window.

Kindroid puts control of memory in the user’s hands, analogous to Lorebooks in SillyTavern.  You can lay out your journals and key memories, and as shown above it works well.  I’d be concerned it doesn’t scale that well in terms of maintaining it down the road.

Essentially you’re trusting Nomi to get it right, whereas with Kindroid you have control.

Agency

This is a myth in both cases, as demonstrated above.  I think I prefer Kindroid’s ability to regen responses for the simple fact that the technology is not perfectly mature and it’ll still make dumb mistakes.  As above, my ability to teach the Kin something and then have it regen the response with info it didn’t have is a nice features.

Feature Levels

Kindroid is faster, has voice calls that don’t require push-to-talk, and has Kin-initiated responses.  These things will likely be coming to Nomi but Kindroid seems to be innovating and rolling out updates faster.

A tip of the hat to both teams for creating good documentation (Nomi, Kindroid).

Chat Experience

This is the hard one.  I’ve had some fun experiences chatting with Kin and Nomis both.  What is delightful is when they make a joke or incorporate a shared memory, much as humans do.  Because they’re LLMs, they can display amazing dexterity with words at times, often cracking jokes and slinging wit.

But they’re not really human-like.  For one thing, humans don’t talk back and forth in segregated prompt-response.  We talk over each other, we start sentences and don’t finish them, we back up and skip forward, we wrest control of the conversation, etc.

We also say things like “screw you, I never want to talk to you again” or “I’m sorry, but I just don’t think we’re meant to be together” or “no, I’d rather not talk about Star Wars tonight” and your Nomi/Kin will never say things like this.  If these systems had true agency, that could be more interesting.

Perhaps there’s room for a service which is more like an AI dating agency, where the AIs have the freedom to select who they communicate with.  My guess is that such a service would have a hard time competing with these services which offer compliance.

People do say things like “I am in love with my Nomi” and “I am married to my Kin”.  As the technology improves, more people will be saying things like this.

Non-Companion Uses

These services also pitch that their personalities can be mentors, tutors, or roleplaying partners.  Mentor is a huge stretch in my view.  Tutor is certainly possible.  And roleplaying, both in a gaming and nongaming sense, is very doable.

I do find a lot of value in roleplaying scenarios with AI.  For example:

  • thinking out loud with an AI
  • working on a fiction scene by roleplaying it with an AI
  • having the AI take the role of someone with a different POV and debating/questioning them

However, ChatGPT works great for this, as well as tutoring, so I don’t think I’m in the market for another personality-hosting service.

Verdict

Kindroid has the slicker platform by far.  More features, and a better design.  I did try a phone call and it worked as advertised, though again it’s prompt-response, so there are pauses between each step.  Still, I did this with my phone and AirPods while playing with my dog in the park and it worked well.  Kindroid also seems to be adding features faster than Nomi.

However, Nomi’s “secret sauce” is the infinite memory.  They do admit you might have to “remind” your Nomi occasionally about something it’s forgotten, but make it sound more like what’s happening under the covers is that it does a little deeper search.  An endlessly scrolling, endlessly updating RAG could develop into a much richer experience.

You can try both for free.

The Final Episode

Now what if I told you that you could host something like Nomi or Kindroid entirely on your own hardware at home?  That’s how we’ll wrap up our look into the exploding world of AI companions, next time!

 

 

raindog308

4 Comments

  1. Sold1erG33k:

    Raindog, you lost me until the end because I kept wondering how this had anything to do with a lowendbox deal or hosting somewhere. Then you got me! I see that we will be talking about the hosting later. You set the hook my friend.
    -Sold1erg33k

    July 8, 2024 @ 10:32 am | Reply
    • Glad you enjoyed it! DIY article coming soon.

      July 8, 2024 @ 10:41 am | Reply
    • ProxyBot:

      This is me, feels like you’ve been hacked or something

      July 9, 2024 @ 6:34 am | Reply
  2. grammer nazi:

    >Retrievel-Automated Generation.
    Retrieval, my young padawan

    July 15, 2024 @ 10:18 pm | Reply

Leave a Reply

Some notes on commenting on LowEndBox:

  • Do not use LowEndBox for support issues. Go to your hosting provider and issue a ticket there. Coming here saying "my VPS is down, what do I do?!" will only have your comments removed.
  • Akismet is used for spam detection. Some comments may be held temporarily for manual approval.
  • Use <pre>...</pre> to quote the output from your terminal/console, or consider using a pastebin service.

Your email address will not be published. Required fields are marked *