The Azure AI Assistant Tool is experimental Python application and middleware designed to simplify the development, experimentation, testing, and debugging of OpenAI assistants.
Refactored Conversation and TextMessage, FileMessage and ImageMessage classes. Main reason is that the AssistantClientCallbacks implementation was insufficient and did not provide information about other than text messages in on_run_update method. In streaming scenario, it is important to get information about text, file citiations, files, images while streaming the content.
Conversation/AsyncConversation classes
Creates ConversationMessage/AsyncConversationMessage instances and provide convenience methods to get messages (including text, file and image contents) and text messages
New ConversationMessage/AsyncConversationMessage classes
Creates and provide properties for TextMessage, FileMessage and ImageMessage instances with contents
AssistantClientCallbacks on_run_update method has been modified to pass ConversationMessage, which is used to provide convenient way to get text, file, image content information from the OpenAI assistant messages
New method retrieve_message added to ConversationThreadClient to convert OpenAI Message to ConversationMessage with parsed information.
Fixed bugs in async context when testing inside Azure Container App environment
Updated samples and templates for required changes due to refactoring
2024-05-01-preview API version is default for Azure OpenAI unless specified in AZURE_OPENAI_API_VERSION env variable
Streaming has been now enabled as default in Assistant Tool. If you want to switch streaming off, you can do that in Settings -> General menu.
Update the version to 0.4.0-alpha.
Does this introduce a breaking change?
Due to Conversation class restructure, there is breaking change. Please see the updated samples and sample templates for the required changes.
[X] Yes
[ ] No
Pull Request Type
What kind of change does this Pull Request introduce?
[X] Bugfix
[X] Feature
[ ] Code style update (formatting, local variables)
[X] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:
Purpose
Does this introduce a breaking change?
Due to Conversation class restructure, there is breaking change. Please see the updated samples and sample templates for the required changes.
Pull Request Type
What kind of change does this Pull Request introduce?