✨ feat(process.py): refactor processing logic for VectorStore objects to use the search method instead of generating a result message
🐛 fix(parameterComponent/index.tsx): remove duplicate import of MAX_LENGTH_TO_SCROLL_TOOLTIP
🔧 chore(utils.ts): import HuggingFaceIcon from the correct file path
ℹ️ The DocArrayInMemorySearch vectorstore integration is currently not supported due to compatibility issues with the required version of docarray. Commenting it out to prevent potential errors.
🐛 fix(base.py): catch and log exceptions when fixing memory inputs to prevent crashes
🐛 fix(process.py): check if memory_key attribute exists before accessing it to prevent AttributeError
🐛 fix(memories.py): hide memory_key field for ConversationEntityMemory to improve user experience
🐛 fix(base.py): fix a bug where the built object is not updated correctly in the Vertex class
✨ feat(base.py): add validation to check if the built object is None in the Vertex class
🔧 fix(callback.py): change intermediate_steps assignment to use formatted string for better readability and maintainability
✨ feat(callback.py): add observation_prefix parameter to on_tool_end method to allow customization of the observation prefix in the response message
✨ feat(callback.py): add logger to handle potential errors when sending response to websocket
The code for building the root node in the graph has been removed as it is no longer necessary. Previously, the root node was built separately due to certain nodes requiring parameters that were not connected to it. However, this approach has been reconsidered and the tools are now connected to the ZeroShotPrompt, eliminating the need for separate building of the root node.
🐛 fix(utils.py): fix import of wrapper_creator from langflow.interface.wrappers.base
🔧 chore(loading.py): add support for instantiating wrappers based on node type
🔧 chore(base.py): add support for creating SQLDatabase wrapper from URI
The config.yaml file was modified to add documentation for the SQLDatabase wrapper. In utils.py, the import of wrapper_creator from langflow.interface.wrappers.base was fixed. In loading.py, support was added for instantiating wrappers based on the node type. In base.py, support was added for creating the SQLDatabase wrapper from a URI. These changes were made to improve the functionality and maintainability of the codebase.
✨ feat(memories.py): add MongoDBChatMessageHistoryFrontendNode class to support MongoDB as a memory store
The CUSTOM_NODES dictionary in customs.py has been updated to include the "MongoDBChatMessageHistory" memory. This allows the application to use MongoDB as a memory store for chat message history. The MongoDBChatMessageHistoryFrontendNode class has been added to memories.py, providing the necessary functionality and configuration options for interacting with MongoDB as a memory store.
The order of sections in the config.yaml file has been adjusted for better readability and organization. The "prompts" section has been moved to the top, followed by the "memories" section, and then the "textsplitters" section. This change improves the structure and consistency of the config file.
🐛 fix(utils.py): add input validation for 'chat_inputs.message' to prevent errors when no message is provided
🐛 fix(loading.py): add type hint for 'format_kwargs' variable in instantiate_prompt function
🐛 fix(base.py): add type hint for 'inputs' parameter in get_result_and_steps function
The changes in `base.py` and `utils.py` are bug fixes that address potential issues in the code. The type hint for the 'template' attribute in the `FrontendNodeRequest` class is added to improve code clarity and maintainability. The input validation for 'chat_inputs.message' in the `process_graph` function ensures that an error is raised when no message is provided, preventing potential issues down the line. In `loading.py`, the type hint for the 'format_kwargs' variable in the `instantiate_prompt` function improves type safety. Lastly, in `base.py`, the type hint for the 'inputs' parameter in the `get_result_and_steps` function ensures proper type checking.
The 'type_name' attribute for the 'Tools' field in the 'ZeroShotAgent' class has been changed to 'field_type' to improve consistency with the naming conventions used in the codebase.
The condition to remove empty input_key and output_key parameters has been fixed to correctly handle cases where the parameters are empty strings. This ensures that the parameters are only removed if they are either empty strings or not present in the params dictionary.
The condition `name in settings.<type>` is removed from the `get_signature` method in the `base.py` files of the `agents`, `chains`, `memories`, and `prompts` modules. This condition was unnecessary as it was already checked in the `get_custom_nodes` function. Removing this condition simplifies the code and improves readability.
The code now checks if the name is present in the settings before accessing the corresponding keys in the get_custom_nodes function. This prevents accessing non-existent keys and avoids potential errors.
The type annotation of the name parameter in the format_field method has been changed to Optional[str] to indicate that it can be either a string or None. This change improves the clarity of the code and makes it easier to understand the expected input for the method.
The documentation links for PromptTemplate and CharacterTextSplitter have been updated to the correct URLs. This ensures that users can access the relevant documentation for these components.
The FieldFormatter class now inherits from pydantic.BaseModel in addition to ABC (Abstract Base Class). This change allows FieldFormatter instances to benefit from the data validation and serialization capabilities provided by pydantic, improving the reliability and maintainability of the code.
The "base_classes" list in the ToolNode class has been updated to include "BaseTool" in addition to "Tool". This ensures that the ToolNode class correctly inherits from the BaseTool class, which is the intended parent class for this node.
The "BaseTool" class is added to the base_classes list in the get_signature method. This change ensures that the "BaseTool" class is considered as one of the base classes when creating a tool's signature.
🔧 fix(agents/base.py): import missing AgentFrontendNode class from langflow.template.frontend_node.agents
🔧 fix(initialize/loading.py): pass node_type to instantiate_agent function to handle creation of frontend nodes for agents
🔧 fix(template/frontend_node/agents.py): add format_field method to AgentFrontendNode class to customize field behavior
The missing import statement for the AgentFrontendNode class from langflow.template.frontend_node.agents has been added to the base.py file. Support for creating frontend nodes for agents has been added to the AgentCreator class in the base.py file. The instantiate_agent function in the loading.py file now receives the node_type parameter to handle the creation of frontend nodes for agents. The AgentFrontendNode class in the agents.py file now includes a format_field method to customize the behavior of certain fields.
The _built_object_repr method in the PromptVertex class was missing a return statement, causing it to not return any value. This fix adds the missing return statement to ensure the method returns the correct value.
The format_dict function now properly handles different variations of list types by removing unnecessary characters from the type string. This improves the consistency and accuracy of the type formatting in the function.