Session Settings
Guide to applying EVI configuration options in real time with Session Settings.
EVI Configs are persistent and version-controlled. In contrast, Session Settings are temporary and apply only to the current session. These options can be leveraged dynamically based on the requirements of each session to ensure optimal performance and user experience. You can apply session settings by sending a session_settings message during your Chat session.
Session settings options
System prompt
Instructions used to shape EVI’s behavior, responses, and style for the session. When included in a Session Settings message, the provided Prompt overrides the existing one specified in the EVI configuration. If no Prompt was defined in the configuration, this Prompt will be the one used for the session.
You can use the Prompt to define a specific goal or role for EVI, specifying how it should act or what it should focus on during the conversation. For example, EVI can be instructed to act as a customer support representative, a fitness coach, or a travel advisor, each with its own set of behaviors and response styles.
For help writing a system prompt, see our Prompting Guide.
Context
The context session setting enables you to inject additional context into the conversation, which is appended to the end of user messages for the session.
When included in a Session Settings message, the provided context can be used to remind the LLM of its role in every user message, prevent it from forgetting important details, or add new relevant information to the conversation.
For more details, see our guide on context injection.
Audio
The audio session settings allows you to configure details for the audio input used during the session. Ensures the audio is being correctly set up for processing.
This setting is only required when the audio input is encoded in PCM Linear 16 (16-bit, little-endian, signed PCM WAV data). For detailed instructions on how to configure session settings for PCM Linear 16 audio, please refer to the audio guide.
Tools
Tools are resources used by EVI to perform various tasks, such as calling external APIs. While tools can be specified in your EVI configuration, this session setting enables you to equip EVI with tools during the Chat session in real-time.
This setting supports use cases where you dynamically want to equip EVI with your tool(s) based on some condition within your application logic.
For more on tool use, see our Tool Use Guide.
Built-in tools
Built-in tools, like web search, are natively integrated. This means that, unlike (user-defined) Tools, the associated functions do not need to be defined or invoked by the user.
This session setting enables you to conditionally equip EVI with a built-in tool during a Chat session.
For further details, see our Tool Use Guide.
Variables
This session settings allows you to assign values to dynamic variables referenced in your system prompt.
Using this field, you can personalize responses based on session-specific details. For more guidance, see our guide on using dynamic variables.
Language model API key
Third party API key for the supplemental language model.
When provided, EVI will use this key instead of Hume’s API key for the supplemental LLM. This allows you to bypass rate limits and utilize your own API key as needed.
Using your own API key does not affect pricing for EVI usage. See our FAQ for more details.
Custom session ID
A custom session ID a user-defined, unique identifier for the session. This ID is used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions.
If included, the response sent from Hume to your backend will include this ID. This allows you to correlate frontend users with their incoming messages.
It is recommended to pass a custom_session_id
if you are using a Custom Language Model. See our
guide to using a custom language model with
EVI to learn more.