Changelog
November 15, 2024
EVI API additions
- Added support for Server-Sent Events (SSE) for Custom Language Models, an alternative approach that can reduce latency and simplify the development process
EVI API changes
- Ensured that when a
custom_session_id
is sent in theSessionSettings
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 inSessionSettings
EVI API changes
- Deprecated support for
claude-instant-1.2
(any existing integrations should migrate to current models likeclaude-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 toclaude-3-5-sonnet-20241022
) and made this model the recommended supplemental LLM - Added support for tool use with Gemini models (
gemini-1.5-pro
andgemini-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
andgemini-1.5-flash
models to use the latest versions,gemini-1.5-pro-002
andgemini-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 thechat_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 itschat_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 returnE0719
. 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
andllama-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
, andaccounts/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 thehang_up
tool in thebuiltin_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
, andtext
). Providing onlytext
in theprompt
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 anE0716
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 theSessionSettings
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
- Updated the Hume Typescript SDK, with detailed changes and a migration guide in the release notes for version 0.8.2
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
andgemini-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 theevi/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 theGET /chat_groups
endpoint, allowing developers to limit paginated results to chat groups associated with a specific config ID - Added a
name
filter option for theGET /configs
,GET /tools
, andGET /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
totrue
to have EVI speak first in the conversation. To control the exact text of that first message, also setevent_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
tofalse
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 anE0713: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 achat_id
to identify each individual chat with EVI and achat_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, andE0709: 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:
-
Added support for pausing and resuming EVI responses with with
pause_assistant_message
andresume_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 theSessionSettings
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 orE0301
if they are blocked via subscription. The WebSocket connection will also be closed with code1008
Bugs bashed
- Fixed an issue with the
from_text
field inUserMessage
. It is now set to True if any part of theUserMessage
is from a developer-providedUserInput
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 orversionDescription
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, andmodel_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 toUserInput
to indicate this is text to be added to the chat history as aUser
message and used as context by the LLM - Renamed
TtsInput
message toAssistantInput
to make it clear that this is input text to be spoken by EVI and added to the chat history as anAssistant
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
andprompt
, 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