Thank you! If I were to reference some of my favorite recent open source things related to this it would be.
Roleplaying Zephyr 7B Luau API Documentation (Free API) System Message - Resources / Community Resources - Developer Forum | Roblox
All together these components can make for a really cool AI R15 NPC connected to a chatbot.
You put them together you would get something like this.
More example output from the aforementioned Awareness module.
[2] = "I can tell that, From what I know, this place is known as Ocean of Morgan, the center is near to the south.",
[3] = "It is obvious that, the environment has a smattering of snow, a handful of slate, a touch of ice, bunches of grass, heaps of leafy grass, too several ground, quite a lot of sand, too several basalt, quite a lot of water, and too several rock.",
[4] = "If my eyes don't deceive me, a Crystal is close slight below me southwardwest.",
[5] = "I am seeing a chunk of small rubble embedded with a Blue Quartz Crystal is kind of near southward, and there are some rocks close southward and a pebble kind of near at the current elevation as me southwardeast a pebble extremely near behind me to the left, .",
[6] = "I see It looks like the water is kind of close to the to the west.",
[7] = "I am seeing a School of so very many small Bocaccio Rockfish are near slight below me to the south.",
[8] = "If I recall correctly this place is known as Ocean of Morgan.",
[9] = "I perceive, a Bone Horn close at the current elevation as me to the south, and their are Vertebrae bone close to the southeast, From what I know, this place is known as Ocean of Morgan, the center is close to the south, the environment has a smattering of snow, a handful of slate, a touch of ice, bunches of grass, heaps of leafy grass, too numerous ground, quite a lot of sand, too numerous basalt, quite a lot of water, and too numerous rock, a Crystal is close slight below me to the southwest, a chunk of small rubble embedded with a Blue Quartz Crystal is kind of close to the south, and their are some rocks close to the south and a pebble kind of close at the current elevation as me to the southeast a pebble extremely close behind me to the left, It looks like the water is kind of close to the westward, a School of so very numerous small Bocaccio Rockfish are close slight below me to the south. ",
[10] = "Ocean of Morgan is the name of this land, the center is close at the current elevation as me to the south",
[11] = "My instinct tells me, Vertebrae bone close southwardeast, , a pebble close above me southward and a rock somewhat near southwardeast a boulder close at the current elevation as me northwardwest, , . ",
}
[12] = "There is a Bone Horn close to the south, Vertebrae bone not far to the southeast, Ocean of Morgan is the name of this land, the center is close at the current elevation as me to the south, the environment has a smattering of snow, a handful of slate, a touch of ice, bunches of grass, heaps of leafy grass, too many ground, quite a lot of sand, too many basalt, quite a lot of water, and too many rock, a Crystal is not far to the southwest, a chunk of small rubble embedded with a Blue Quartz Crystal is kind of close to the south, a pebble not far to the south and a rock not far to the south a couple of pebbles kind of close to the southeast, It looks like the water is kind of close to the to the west, and a School of quite a lot of Bocaccio Rockfish are close slight below me to the south. ",
That being said I have updated the modules code after reviewing it and also added a new function that handles edge cases for when the objects in the array no longer exist.
function correctPunctuation(inputString)
-- Replace double commas with a space in between with a single comma
local correctedString = inputString:gsub(', ,', ',')
-- Replace double commas with a single comma
correctedString = correctedString:gsub(',,', ',')
-- Replace a comma followed by a period with just a period
correctedString = correctedString:gsub(',%.', '.')
-- Fix spaces before commas
correctedString = correctedString:gsub(' ,', ',')
-- Fix multiple spaces into a single space
correctedString = correctedString:gsub('%s+', ' ')
return correctedString
end