LLMUnity icon indicating copy to clipboard operation
LLMUnity copied to clipboard

Better LLM and LLMClient workflow

Open SubatomicPlanets opened this issue 1 year ago • 1 comments

Describe the feature

As of now, you can chat by using only the LLM component. If you want to use multiple characters, you need to add LLMClient components. This makes sense, but I think it's a bit more intuitive if the LLM component does not inherit from LLMClient. Wouldn't it be better if the LLM component was just like a manager?

Basically, what I'm asking is to remove LLMClient functionality from the LLM component. You would then always need at least one LLMClient component to chat with the LLM. This does make it a tiny bit more complicated when setting up a simple chat with one character, but I think it is less confusing.

For a simple chat app, you would then need to add the LLM component and one LLMClient component (which can be on the same gameObject). For more complex games using multiple characters you also need one LLM component but also one LLMClient component per character. 

You could also rename the LLM component to LLMManager, but that is not so important, especially because it would break existing projects.

I just think that the LLM component should only control settings that are the same on all LLMClients, such as which model to use. The LLMClient then only has settings that can be different for each character.

Thanks!

SubatomicPlanets avatar May 14 '24 17:05 SubatomicPlanets

I completely agree! This is work in progress for a major release coming up in the upcoming weeks :). The LLM inheritance from LLMClient grew organically but it's indeed best separate,

amakropoulos avatar May 14 '24 20:05 amakropoulos