Releases: OvidijusParsiunas/deep-chat
1.4.11 - Enhancements to OpenAI functionality and more
This release contains updates to OpenAI services and more:
- When using OpenAI Assistants, you can now preload the chat history from OpenAI without having to store it locally.
- OpenAI Chat responses for functions can now be streamed.
- As well as responding with
text
orhtml
in streams, you can now also respond withfiles
. - htmlClassUtilities now support custom events.
- websocket responses can now be used to update a previous message to facilitate a stream-like experience. Checkout the following issue for more info.
- If you are using names or avatars for your messages; when there are multiple consecutive messages sent from the same role - they are no longer repeated.
- Multiple other small bug fixes and improvements.
Big thankyou to @eljefedelrodeodeljefe for sponsoring the project!
1.4.10 - create OpenAI Assistants and more
This release includes the following updates:
- Create a new OpenAI Assistant by emitting the
assistant_id
property in the Assistant object and control the its details via newAsssistant object. - When the
onComponentRender
event is called, it now also passes the Deep Chat component reference. Be careful not to causes infinite event recursion if you assign new properties to the reference. webModel
now supports new RedPajama and TinyLlama models.- Other security and refactoring updates.
Huge shoutout to matthiasamberg for sponsoring the project!! 🎉 🎉
1.4.7 - Web Model
This release introduces a big new feature - the ability to use llm models entirely on the browser. You can read more about this in the webModel section.
Other updates:
- Images defined as
base64
can now be downloaded by clicking on them - OpenAI Assistants can now handle images and produce csv and pdf files
- The intro panel is not displayed when no valid connection values are configured
- Better parsing and
responseInterceptor
editing capabilities forstream
- Other small bug fixes
1.4.6 - generic enhancements and bug fixes
This release contains a series of generic enhancements and multiple bug fixes:
Enhancements:
- Ability to use the responseInterceptor for stream responses.
- If request property is not set on the initial render, you are now able to set it on further renders.
Bug fixes:
- The events methods no longer trigger a re-render.
- Responses from a stream service no longer overwrites the user message.
- Setting the OpenAI Assistant key via the insert key view now sets the correct request header when sending new messages.
Others:
addMessage
method has been removed as it does not yield any direct benefit to Deep Chat component.
1.4.5 - request and streaming updates
This release contains multiple updates for connecting to direct and custom services:
- You can now define a model for the OpenAI Images API.
- There are multiple new optional properties that you can use for Cohere APIs.
- StabilityAI API documentation has been updated.
onNewMessage
event now includes the actual uploaded file's reference using the MessageFile object type.- Adding a new
onError
event that allows the parent app to monitor chat errors.
This update also includes streaming bug fixes and better console logging when the response format from the server is invalid.
1.4.4 - updating message streaming and addMessage method
This release comes bundled with multiple updates for chat message functionality:
- Introducing a new
overwrite
property which allows the contents of the new message to overwrite the previous message. This facilitates the capability to create status message bubbles and streaming will no longer require the response to contain incremental portions of the previous text. - Stream functionality has also been updated to allow
html
content to streamed. Additionally, the streamsimulation
functionality now splits the incoming text by characters instead of words to allow Chinese characters to be streamed individually. - The submitUserMessage method now uses a new argument type called
UserMessage
which is an object that accepts text and files. addMessage
is a new method used to add messages into the chat. The use-case this is targeting is to eventually populate the chat history once it has been fetched after the chat has loaded.- The request object has a new optional
credentials
property which will allow developers to configure what services the cookies can be sent to.
Deprecation:
- The "deep-chat-update-message" HTML Class has now be removed in favour of using the
overwrite
in responses.
This release also contains multiple bug fixes for streaming and html
messages.
1.4.3 - chatStyle property
We are adding a new chatStyle
property for setting the chat container styling. This property directly supplements the already existing style
attribute which can only be set in the markup, hence chatStyle
allows developers to set this property anywhere and it accepts a JSON object.
This release also contains some refactoring work for streaming.
1.4.2 - custom roles
Deep Chat now supports the use of custom roles in your messages. This is particularly useful if your server communicates with multiple agents or users and you want to uniquely represent their message bubbles in the chat. This can be customized using messageStyles
, avatars
and names
properties.
This update also includes bug fixes for controlling the submit button when streaming and simulating a stream whilst using websockets.
1.4.1 - OpenAI assistants, vision, text to speech and function calling
The OpenAI DevDay 2023 conference introduced a variety of exciting new features into the AI ecosystem, all of which are now available in Deep Chat:
- OpenAI Vision - use the latest
gpt-4-vision-preview
model to analyze images in the chat. - Text To Speech - generate audio based on your text input.
- Assistant - connect and converse with your custom OpenAI assistant.
- Function Calling - execute function calls returned by the regular chat or the assistant.
You can check all of these features in the Deep Chat's OpenAI documentation page or try them all out live in the Playground.
This release also saw the retirement of the OpenAI completions
feature as it has now been moved to legacy status in the OpenAI documentation. The default character (token) limits for all OpenAI models have been removed as they vary by the model and are cumbersome to maintain, hence you will alternatively need to set them manually using the requestBodyLimits
property.
1.4.0 - enhancing the submit button API and fixing bugs
The Deep Chat submit button has been upgraded with new features:
- A new
disabled
button state has been added to disable the button when the current user input cannot be sent out to the target service or the websocket connection is not established. - You can disable this state to have the submit button always enabled by toggling the
alwaysEnabled
property to true. - You can now manually set the
disabled
state via the use of thedisableSubmitButton
method. This is particularly useful for cases where there are other factors outside of the chat that would need to stop the user from being able to send out messages. - The
validateMessageBeforeSending
interceptor has now been renamed tovalidateInput
as it is now triggered when the user changes text or uploads/deletes files. - The overall
submitButtonStyles
method has been refactored to require less repetitive styling values to achieve the same output.
This bug also contains a few bug fixes where the chat width was increased when the user had inserted long words and the background color used to bleed out from the chat container when the inputAreaStyle
background was set.