-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OMI_personality proposal #133
Conversation
I am super interested in this proposal, and hope to see this advance. Please let me know if I can be of assistance. |
From our meeting today we discussed using this extension as structured metadata to interface with various chat bots. For example in Matrix / Discord the We still should discuss how you might attach actions such as animation/audio queues to a personality. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great to me
The idea is that the personality could be the input to a text transformer large language model such as GPT. We're in a space which is rapidly evolving, and I would also suggest that it would be helpful to consider a path forward for concepts such as soft-prompts which can define some of the environment or setting or story, or embeddings which can help refine the character's personality. |
In the last few meetings it was discussed that there was a missing element of this proposal that would show how one might actually use this spec. I've added some implementation details for one example and aim to add more as this nears a possible stage 2. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for writing this up. Looks good, reads well.
@antpb all reviews have passed. |
One of the main ways that users export and maintain their chatbots in practice is through a large corpus of example dialogue. E.g. this is how characters are exported from character.ai This tends to work very well with modern NLP generators even if it's the only field. Perhaps there should be I am also wondering if quotes can be folded into one of the above fields instead -- the only problem is that a large quote block doesn't necessarily format naturally into JSON if it's just one block with a bunch of Thoughts? |
+1 for this. We have this integrated into Magick and can definitely push this along with some adjacent friendly web projects. Obviously this has huge implications for those of use who are making context-aware experiences with LLMs and such. |
I wanted to bring up an extension I have been working on under my own SXP namespace. Magick ML, 3OV and at least one other project that I know of want to use the extension I mocked up here: https://3ov.xyz/personalized-chatbots-in-the-metaverse/
I think since enough different platforms and people are working towards this it would make a good experimental extension within the OMI glTF group. I'm happy to champion this one.
Overview
The OMI_personality extension allows you to specify a personality for a glTF node representing a entity. This extension can be used in virtual worlds, where characters can have unique personalities, and interactions with them can be enhanced by providing additional information about their behavior and dialogue.
Example
To use the "OMI_personality" extension, you must first specify it in the extensionsUsed property of your glTF file.
Next, apply the extension to a child node of the glTF file. The node's position and rotation data can be used to determine the location of the spawn point in the scene.
In the example above, the "OMI_personality" extension is applied to a node named "cat". The agent property is used to specify the type of agent associated with the node, in this case, it's a cat. The personality property describes the agent's personality, and the defaultMessage property is the message that the agent will send as a default.
Properties
The
defaultMessage
parameter is optional. Theagent
andpersonality
options are required and provide context about the avatars name and default personality description.string
string
string
JSON Schema
The OMI_personality extension is defined by the following JSON schema:
In the example above, the "OMI_personality" extension is applied to a node named "cat". The agent property is used to specify the type of agent associated with the node, in this case, it's a cat. The personality property describes the agent's personality, and the defaultMessage property is the message that the agent will send as a default.