Changelog

November 15, 2024

EVI API additions

EVI API changes

  • Ensured that when a custom_session_id is sent in the SessionSettings message, this custom session ID will be added to all returned payloads

November 11, 2024

EVI API additions

  • Added support for Anthropic’s claude-3.5-haiku-latest model as a supplemental LLM option
  • Added support for OpenAI’s gpt-4-turbo model
  • Introduced {{now}} default dynamic variable for system prompts, which is replaced with the current UTC timestamp and does not require sending a variable value in SessionSettings

EVI API changes

  • Deprecated support for claude-instant-1.2 (any existing integrations should migrate to current models like claude-3.5-haiku-latest)

Bugs bashed

  • Fixed audio reconstruction errors that affected some chat recordings
  • Prevented some EVI errors by dropping any empty assistant messages
  • Enhanced audio quality in reconstructed audio by removing unnecessary WAV headers, eliminating clicking artifacts

October 25, 2024

EVI API additions

  • Added support for claude-3.5-sonnet-latest (currently points to claude-3-5-sonnet-20241022) and made this model the recommended supplemental LLM
  • Added support for tool use with Gemini models (gemini-1.5-pro and gemini-1.5-flash)

Bugs bashed

  • Fixed a bug where context was incorrectly set as persistent and added to every user messages, despite being specified as type: temporary

October 11, 2024

EVI API additions

  • Added a new base voice, Sunny, featuring a male voice with an Indian accent
  • Improved the reliability of the experimental custom voice creation feature by reducing hallucinations, and added 11 new adjustable parameters - articulation, buoyancy, enthusiasm, nasality, smoothness, tightness, assertiveness, confidence, gender, relaxedness, tepidity

EVI API changes

  • Added a more informative error message for when Google Gemini models are overloaded, returning an E0718 error code instead of silently dropping the connection
  • Implemented Anthropic prompt caching to reduce latency with Claude 3 models, especially for longer prompts and conversations

Bugs bashed

  • Reduced the frequency of all hallucinations when using EVI 2
  • Prevented voice hallucinations when EVI 2 outputs less common text formats, including numbered lists, emails, hashtags, very short messages, and numbers

September 27, 2024

EVI API changes

  • Upgraded gemini-1.5-pro and gemini-1.5-flash models to use the latest versions, gemini-1.5-pro-002 and gemini-1.5-flash-002
  • Improved audio quality for EVI phone calling

Bugs bashed

  • Fixed an issue with the EVI WebSocket auto-reconnecting after timeouts, by updating the inactivity timeout socket close code from 1001 to 1000
  • Fixed a bug where the GET /chat_groups/{id} endpoint would return all chats, not just the chats in the chat_group

September 20, 2024

EVI API changes

  • Added support for resuming chats with supplemental LLMs for EVI 2
  • Updated the DACHER base voice, making it significantly higher quality and more reliable
  • Improved EVI’s ability to recover from accidental interruptions. Previously, if EVI was interrupted by non-speech sounds, EVI would stop and wait for further input. EVI will now continue speaking after these interruptions

Bugs bashed

  • Fixed an issue where @ signs would be removed in emails, leading to incorrect pronunciation; now they will be replaced with “at” and pronounced correctly
  • Fixed a bug with numbered lists, leading to lists being split into new lines and spoken incorrectly

September 13, 2024

EVI API additions

  • Released the EVI 2 API, with major improvements to the core EVI experience. Developers can try it now: EVI 2 docs
  • Introduced an experimental feature for creating custom voices through adjustable sliders: Custom voices

EVI API changes

  • Improved text validation permissiveness for config names and descriptions, allowing a wider range of printable characters
  • Added a new error code (E0720) to handle scenarios where data retention is off so chat group history is unavailable, providing a more informative error message before closing the session

Bugs bashed

  • Fixed an issue to ensure chat_id is passed to users when using custom language models and phone calling together, enabling developers to retrieve post-call details with these features
  • Fixed a bug where resumed chat groups would use the first rather than the most recent config in the chat group when starting a new chat

August 8, 2024

EVI API changes

  • Enabled resuming previous chats with a new config. Previously, it was not possible to resume chats in a chat group with different configs. This change allows developers to change the prompt, voice, and other options in their config, while still retaining the context in their chat history: Chat resumability
  • Introduced the new E0717 error type, which will occur when a developer tries resuming a chat when one of the chats in its chat_group is already active.
  • Added two new errors for issues with supplemental language model providers. If a provider is overloaded, EVI will return E0718, and if a provider has unexpected internal errors EVI will return E0719. If these errors occur, developers can try again later or change their configurations to use a different LM provider.

August 2, 2024

EVI API additions

  • Added support for new language models with the Groq provider: llama-3.1-70b-versatile and llama-3.1-8b-instant
  • Added support for new language models with the Fireworks provider: accounts/fireworks/models/llama-v3p1-405b-instruct, accounts/fireworks/models/llama-v3p1-70b-instruct, and accounts/fireworks/models/llama-v3p1-8b-instruct
  • Added a hang_up built in tool to allow EVI to end calls. To use this, developers can include the hang_up tool in the builtin_tools object when creating a config, and provide instructions on when EVI should end the call in the prompt

EVI API changes

  • Added the ability to create a prompt during config creation. The new prompt object in the config creation request has three nullable fields (id, version, and text). Providing only text in the prompt field when creating a new config will create a new prompt
  • Dropped support for the older Llama 3 70B Instruct model from Fireworks (accounts/fireworks/models/llama-v3-70b-instruct), as it is replaced by the new Llama 3.1 70B model (accounts/fireworks/models/llama-v3p1-70b-instruct)

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