Changelog

July 26, 2024

EVI API changes

  • Invalid SessionSettings payloads now return an E0716 error. Invalid payloads include empty system prompts, duplicate tool names, removing previously enabled tools, and overlapping builtin and custom tool names. If an update is invalid, the error message will explain why, and the SessionSettings will not be applied

July 18, 2024

EVI API additions

  • Added the on_inactivity_timeout configuration option, allowing EVI to speak a message when the user is inactive for some period of time: Inactivity timeout message
  • Added the on_max_duration_timeout configuration option, allowing EVI to speak a message when the maximum chat duration is reached: Max duration timeout message
  • Added support for the gpt-4o-mini language model

EVI API changes


July 12, 2024

EVI API additions

  • Added dynamic variables, allowing developers to define variables in SessionSettings and reference their values in the system prompt (e.g., {{variable_name}}): Dynamic variables
  • Added support for the Google language model provider and the gemini-1.5-pro and gemini-1.5-flash language models
  • Added EVI configuration options to set timeouts for user inactivity (inactivity) and maximum session duration (max_duration): Timeouts
  • Added support for retrieving the phone numbers of inbound callers, using the metadata.twilio.caller_number property of the evi/chats/:id endpoint: List chat events
  • Added the /v0/evi/language-models API endpoint to retrieve the language models supported by EVI and the built-in tools available for each model

July 5, 2024

EVI API additions

  • Added a config_id filter option for the GET /chat_groups endpoint, allowing developers to limit paginated results to chat groups associated with a specific config ID
  • Added a name filter option for the GET /configs, GET /tools, and GET /prompts endpoints. These allow developers to limit paginated results to only include objects with a specific name
  • Introduced data storage options for the EVI API. The “do not retain data” option disables storage of chat histories and voice recordings for EVI sessions. The “do not use for training” opts out of Hume using anonymized data from EVI sessions for model improvements. Developers can toggle these options from the profile page in the Hume portal
  • Added more descriptive error messages for transcription-related errors

June 28, 2024

EVI API additions

  • Added a request_id field to ChatMetadata to uniquely identify sessions
  • Added an on_new_chat configuration option. Set event_messages.on_new_chat.enabled to true to have EVI speak first in the conversation. To control the exact text of that first message, also set event_messages.on_new_chat.text
  • Added an allow_short_responses configuration option, which allows developers to turn off short responses generated by Hume’s empathic large language model (eLLM). To disable these responses, set ellm_model.allow_short_responses to false

June 21, 2024

EVI API additions

  • Added support for Claude 3.5 Sonnet (claude-3-5-sonnet-20240620) to the EVI API

EVI API changes

  • Changed the default language model for the EVI API to Claude 3.5 Sonnet
  • Changed the default voice for the EVI API to Ito
  • Changed requirements to allow tool use if no language model is specified, allowing tool use when using the default LLM

Bugs bashed

  • Fixed a bug where sending an AssistantInput message at the beginning of an EVI chat configured with Anthropic models would result in an error
  • Fixed a bug with chat resumability where previous chat group events were not being included in the LLM chat history, and EVI would forget details from before the chat was resumed

June 7, 2024

EVI API additions

  • Added a total_pages field to all paginated EVI REST endpoints

EVI API changes

  • EVI REST endpoints will now return the 201 status code instead of the 200 status code when creating new entities including new configs, chat groups, prompts, and tools
  • EVI REST endpoints will now return the 404 status code if referencing a config, chat, prompt, or tool that doesn’t exist. If an invalid page number exceeding the total number of pages is specified, the endpoint will return an empty list rather than a 404 status code
  • Added more detailed error messages for Custom Language Model. If the connection between Hume’s API and a developers’s language model times out, we will now send an E0712:custom_language_model_timed_out error. If the connection fails, we will send an E0713:custom_language_model_connection_failed error

May 31, 2024

EVI API additions

  • Added chat resumability, allowing developers to resume previous chats with EVI by specifying a chat group ID in the resumed_chat_group_id query parameter: Chat resumability
  • Added the api.hume.ai/v0/evi/chat_groups endpoint to support listing chat groups or listing events from a specific chat group: Chat groups endpoint
  • Added the ChatMetadata output message, which includes a chat_id to identify each individual chat with EVI and a chat_group_id to support resumability and group resumed chats together: ChatMetadata
  • Added support for chat resumability to the Hume Python SDK: Release notes for version 0.6.0
  • Added support for chat resumability and pause/resume messages to the Hume TypeScript SDK: Release notes for version 0.1.6

EVI API changes

  • Added more detailed error messages for Custom Language Model. If Hume’s API cannot reach a developers’s language model, we will now send an E0706: custom_language_model_unreachable error to the developer
  • Added error messages for chat resumability - E0710: resuming_chat_group_with_new_config when a developer attempts to resume a chat group with a new config, E0708: chat_group_not_found when a chat group does not exist, and E0709: config_not_found when a config does not exist
  • Added an error message for unavailable EVI supplemental LLMs. While supplemental LLMs can always be enabled by passing an API for a 3rd party LLM service, if EVI is configured with an LLM that is not currently available as a Hume-managed LLM, we will send an E0711: language_model_unavailable error

May 24, 2024

EVI API additions

  • Added support for streaming custom language model responses in parts. Developers can send text chunks to start generating audio responses much faster The Custom Language Model endpoint now expects text to be formatted in the following payload:

    # send this to add text
    {"type": "assistant_input", "text": "<chunk>"}
    # send this message when you're done speaking
    {"type": "assistant_end"}
  • Added support for pausing and resuming EVI responses with with pause_assistant_message and resume_assistant_message. Sending a pause message stops EVI from generating and speaking Assistant messages. Sending a resume message allows EVI to continue responding to the User messages

EVI API changes

  • Increased the limit for tool descriptions from 100 chars to 512 chars
  • Set the maximum length for tool_name to 64 chars

May 17, 2024

EVI API additions

  • Added support for built-in tools, starting with web search: Using built-in tools
  • Added support for phone calling through a Twilio integration: Phone calling
  • Added DACHER voice to the voice configuration options
  • Added support for the gpt-4o language model

EVI API changes

  • Increased the limit for tool descriptions from 100 chars to 512 chars

May 10, 2024

EVI API additions

  • Added support for three open-source models through the Groq language model provider: Gemma 7B (gemma-7b-it), Llama 3 8B (llama3-8b-8192), and Llama 3 70B (llama3-70b-8192)
  • Added support for Llama 30 70B language model through the Fireworks language model provider (accounts/fireworks/models/llama-v3-70b-instruct)
  • Added a custom_session_id field in the SessionSettings message, and documentation for using it: Custom Session ID

EVI API changes

  • Disabled short response generation for custom language models
  • Added error codes for when Hume credits run out while using EVI. Users will receive either the E0300 error code if they are out of credits or E0301 if they are blocked via subscription. The WebSocket connection will also be closed with code 1008

Bugs bashed

  • Fixed an issue with the from_text field in UserMessage. It is now set to True if any part of the UserMessage is from a developer-provided UserInput message

May 3, 2024

EVI API additions

  • Added support for Tools through our tool use feature
  • Added ToolErrorMessage as a supported input type

Bugs bashed

  • Added an error that returns status 400 if a Config, Tool, or Prompt is created with a name or versionDescription that’s too long or non-ASCII. Names must be under 75 chars, versionDescription must be under 256 chars, description for Tools must be under 100 chars, fallback_content for Tools must be under 2048 chars, and model_resource for LanguageModels must be under 1024 chars
  • Fixed several edge cases and bugs involving Tool calls, including supporting only single tool calls with EVI (no parallel tool calling)

April 30, 2024

EVI API additions

  • Added support for reading language model type from EVI configs
  • Added support for reading language model temperature from EVI configs
  • Added system prompt to SessionSettings message to allow dynamic prompt updating

EVI API changes

  • Renamed TextInput message to UserInput to indicate this is text to be added to the chat history as a User message and used as context by the LLM
  • Renamed TtsInput message to AssistantInput to make it clear that this is input text to be spoken by EVI and added to the chat history as an Assistant message
  • Moved audio configuration options to SessionSettings message

Bugs bashed

  • Fixed chats staying open after errors, chats will now end upon exceptions
  • Added an error thrown if config uses both custom_model and prompt, because custom language models do not use prompts
  • Fixed issue where erroring when sending errors would cause the API to get stuck
  • Added clearer errors for custom language models
  • Added unable to configure audio service error
  • Added an error to invalidate outdated language model responses