It is possible to have a model provide a response that is >4000 and maybe even >6000 for embeds
For normal messages, it is possible to write them in different message blocks, it does not look as good in embeds sadly, but it can be done.
Solution
Implement a system to allow for a message of any length to be valid.
A sample is provided for what was made for messages that are >2000 but <4000 on normal messages. The same can hopefully be implemented for embedded messages.
await message.channel.send('Generating Response . . .').then(async sentMessage => {
try {
// Attempt to query model for message
response = await ollama.chat({
model: tokens.model,
messages: msgHist.getItems(),
options: {
num_thread: 8, // remove if optimization needed further
mirostat: 1,
mirostat_tau: 2.0,
top_k: 70
},
stream: false
})
// check if message length > discord max for normal messages
if (response.message.content.length > 2000) {
sentMessage.edit(response.message.content.slice(0, 2000))
message.channel.send(response.message.content.slice(2000))
} else // edit the 'generic' response to new message
sentMessage.edit(response.message.content)
} catch(error: any) {
console.log(`[Util: messageNormal] Error creating message: ${error.message}`)
sentMessage.edit(`**Response generation failed.**\n\nReason: ${error.message}`)
}
})
Issue
Solution