Changelog
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