Exhibits
For the LLM to consider exhibits, we need to store the data somewhere first. And we need to keep the data short. Since the robot will only work in one room, we can further decrease the amounts of exhibits we need to store, such that we have a simple yaml file format in which we store our exhibits.
The exhibit-list.yml
We store everything in a yaml configuration file. The exhibit-list.yml
. The exhibits are all part of an object, exhibits
, which stores key-value pairs of exhibit-objects. Here's how exhibit-objects are defined:
exhibit-key:
tags: ['some', 'short', 'outer', 'description']
description: 'A long and coherent text about the exhibit.'
active: false
Key | Type | Description |
---|---|---|
exhibit-key |
string |
The exhibit key that should be exactly how it is stored in the mapdata config. |
tags |
string[] |
Keywords for the outer appearance of the description such that the LLM knows where to go when someone asks it to move there |
description |
string |
The long description of the exhibit that is important for when the current exhibit context is set to there. Technical details, etc. would be important to put in here. |
active |
boolean |
This is important if the LLM should even consider this exhibit in the first place. You can set a default value, you can also set this value to true when you send a PATCH /hric/llm/exhibits/list HTTP-Request. |
How the LLM interacts with it
The LLM will generally get all the data of every active exhibit key. As aforementioned, you should really just send a PATCH
-Request in order to make them active and leave the active
boolean to false.
For each active exhibit key, the LLM will get the key itself and the tags for appearance data. Such that, if you ask if the LLM could go to the pink robot, the LLM would go to the very-red-robot
end point even though the key does not suggest anything about something pink. However, the very-red-robot
has more of a pink outer appearence and some engineer thought it would be funny to name the robot not according to its color, but some other color instead!
For the current exhibit context, the LLM will get the entire description as well. There, the LLM is being told that it currently is at the exhibit very-red-robot
and it will get the entire description of the robot. Maybe the fun fact about the engineer is there as well!
Warning
Because we put the tags and the description in the prompts, it is very important to not write too much into those tags and descriptions. This will also limit the amounts of exhibits the LLM can actually know about. But this limit is rather insignificant. However, you cannot put entire bachelors thesises or manual instructions in there. As they'd probably be too long.