"Different messages (text, audio, requests for image generation, etc.) in the room are handled differently and can potentially be served by different agents.",
"When no specific agent is configured for a given purpose, the catch-all agent would be used.",
)
}
pubfnhandlers_intro_purposes()-> String{
letmutmessage=String::new();
message.push_str("The following purposes are available:");
"Controls the bot's ability to **intelligently drop old messages from the conversation context** when it gets too large.",
"This feature relies on [tokenization](https://en.wikipedia.org/wiki/Large_language_model#Tokenization) performed by the [tiktoken-rs](https://github.com/zurawiki/tiktoken-rs) library which is [poorly well-maintained](https://github.com/zurawiki/tiktoken-rs/issues/50) and only works well for [OpenAI](./providers.md#openai) models.",
"Controls whether the bot attaches sender information to conversation messages before sending them to the model.",
"`disabled` leaves messages unchanged, `matrix_user_id` adds `[sender=@alice:example.com]`, and `matrix_user_id_and_timestamp` adds `[sender=@alice:example.com sent_at=2026-03-23T14:30:00Z]`. Enabling this sends Matrix user IDs, and optionally timestamps, to the model provider.",
"Lets you override the [system prompt](https://huggingface.co/docs/transformers/en/tasks/prompting) parameter configured at the agent level.".to_string()
"Lets you override the [temperature](https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature) (randomness / creativity) parameter configured at the agent level.".to_string()
"Lets you specify the language of the input voice messages, to avoid using auto-detection.\nSupplying the input language using a 2-letter code (e.g. `ja`) as per [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) may improve accuracy & latency.\n\nIf different users are using different languages, do not specify a language."
}
pubfntext_to_speech_heading()-> String{
format!(
"{} {}",
AgentPurpose::TextToSpeech.emoji(),
AgentPurpose::TextToSpeech.heading()
)
}
pubfntext_to_speech_common()-> &'staticstr{
"Text-to-Speech is the bot's ability to **turn text messages into voice messages**."
"Controls how automatic text-to-speech functions for **messages sent by users**.\n**Only works when automatic text-generation is disabled** (see Text Generation / Auto usage).".to_owned()
"Lets you change the default voice configured in the agent configuration.",
"Possible values (e.g. `onyx`) depend on the model you're using. For example, for OpenAI's Whisper model, [these voices](https://platform.openai.com/docs/guides/text-to-speech/voice-options) are available.",
)
}
pubfnimage_generation_heading()-> String{
format!(
"{} {}",
AgentPurpose::ImageGeneration.emoji(),
AgentPurpose::ImageGeneration.heading()
)
}
pubfnimage_generation_common()-> &'staticstr{
"Image-generation is the bot's ability to **generate images** based on text prompts.\n\nThis feature is not configurable at the moment."