The README.md file now includes additional installation instructions for different dependencies using pip. Users can now choose to install LangFlow with only the core package, with local models, or with all dependencies by using the respective pip install commands. This provides users with more flexibility and options when installing LangFlow.
🔀 chore(pyproject.toml): update the version of huggingface-hub, llama-cpp-python, sentence-transformers, and ctransformers to their latest versions
The huggingface-hub, llama-cpp-python, sentence-transformers, and ctransformers dependencies are now marked as optional in the pyproject.toml file. This allows users to choose whether or not to install these dependencies based on their specific needs. Additionally, the versions of these dependencies have been updated to their latest available versions.
The package.json file has been updated to include the dependencies for Prettier and the Prettier plugin for Tailwind CSS. Prettier is a code formatter that helps maintain consistent code style across the project. The Prettier plugin for Tailwind CSS ensures that the Tailwind CSS code is formatted correctly. Additionally, a new prettier.config.js file has been added to configure Prettier with the Tailwind CSS plugin. This will improve the code formatting and maintainability of the frontend codebase.
Added the documentation link for the PyPDFDirectoryLoader in the config.yaml file. This allows users to access the documentation on how to use the PyPDFDirectoryLoader for loading PDF documents.
The logger.debug() statements are added to provide more visibility into the process of creating the database and tables. This can be helpful for debugging and troubleshooting purposes.
The conditional statements in the useEffect hook were formatted to improve code readability. By breaking the statements into multiple lines and adding proper indentation, it is easier to understand the logic. This change does not affect the functionality of the code.
The error handling in the WebSocket connection has been refactored to improve readability and error handling. Instead of nesting the `getHealth()` promise inside the `onerror` callback, it has been extracted to a separate `.then()` block. This allows for better separation of concerns and makes the code more readable. Additionally, the error handling logic has been updated to properly set the `setErrorData` state when the backend fails to respond.
The change is made to improve the logging of exceptions. Using logger.exception instead of logger.error allows the logger to log the full traceback of the exception, providing more detailed information for debugging purposes.
🔧 refactor(documentloaders.py): remove redundant code for adding fields in DocumentLoaderFrontNode class
The code in the DocumentLoaderFrontNode class has been refactored to extract the logic for building directory loader fields into a separate function called build_directory_loader_fields(). This improves code readability and maintainability by separating concerns and reducing duplication. The redundant code for adding fields in the DocumentLoaderFrontNode class has also been removed.
The default value of the "Persist" extra field in the VectorStoreFrontendNode class has been changed from True to False. This change was made to align the default value with the desired behavior of the application.
The output_key field is now only added to the template if the template type is not VectorStoreRetrieverMemory. This ensures that the output_key field is not added unnecessarily for templates of this type.
The `logger.exception(exc)` line has been added to log the exception that occurred. This will help with error handling and debugging by providing more information about the exception that caused the error.
The code now checks if the "retriever" key exists in the params dictionary and if the value has an "as_retriever" method. If it does, the value is replaced with the result of calling the "as_retriever" method. This change ensures that the "retriever" parameter is always an instance of the retriever object, preventing potential attribute errors later in the code.
The logic for updating memory keys in the `run.py` file has been refactored to use a loop and a try-except block. Instead of individually assigning values to `input_key`, `output_key`, and `memory_key`, the keys and attributes are now stored in lists. The loop iterates over the lists and attempts to set the attribute values using `setattr()`. If an attribute does not exist, a `ValueError` is caught and a debug log message is printed. This refactoring improves code readability and maintainability.
🔧 fix(dropdownComponent): update import statement for INPUT_STYLE constant to include additional constant for input edit node
🔧 fix(floatComponent): update import statement for INPUT_STYLE constant to include additional constants for input disable and input edit node
🔧 fix(inputComponent): update import statement for INPUT_STYLE constant to include additional constants for input disable and input edit node
🔧 fix(inputFileComponent): update import statement for INPUT_STYLE constant to include additional constants for input disable and input edit node
🔧 fix(inputListComponent): update import statement for INPUT_STYLE constant to include additional constants for input disable and input edit node
🐛 fix(intComponent): add INPUT_DISABLE constant to disable input when disabled prop is true
🐛 fix(promptComponent): add INPUT_DISABLE constant to disable input when disabled prop is true
🐛 fix(textAreaComponent): add INPUT_DISABLE constant to disable input when disabled prop is true
🐛 fix(extraSidebarComponent): change INPUT_STYLE to INPUT_SEARCH for search input styling
✨ feat(server.ts): change port variable case from lowercase port to uppercase PORT to improve semantics
✨ feat(server.ts): add support for process.env.PORT environment variable to be able to run app on a configurable port
The code now checks if the langchain_object.prompt has a template attribute before adding it to the input_keys_response. This prevents potential errors if the template attribute is not present in the prompt object.
The commit removes unused imports and cleans up the code formatting in the formModal/index.tsx file. This improves code readability and reduces unnecessary clutter.
The 'value' of the 'persist_directory' field is set to False to disable persistence. This change ensures that the 'persist_directory' field is not shown and the value is not set to True by default.
The persist_directory field in the VectorStoreFrontendNode class is now set to False. This change was made to disable the persistence of the directory.
The fastapi dependency version has been updated to 0.99.0 to ensure compatibility with the latest features and bug fixes provided by the FastAPI framework.
The `process_base_classes` method is added to the `FrontendNode` class. This method removes unwanted base classes specified in the `CLASSES_TO_REMOVE` list from the `base_classes` list. This ensures that only the desired base classes are included in the `base_classes` list. The method is then called in the `to_dict` method to ensure that the processed `base_classes` list is used when converting the `FrontendNode` instance to a dictionary.
- Simplify component styles for codeAreaComponent, dropdownComponent, floatComponent, inputComponent, inputFileComponent, intComponent, promptComponent, and textAreaComponent.
- Remove unnecessary classes and styling.
- Improve overall readability and maintainability of the code.
The langchainplus-sdk package has been updated to version 0.0.18. This update includes bug fixes and improvements to the client library for connecting to the LangSmith LLM Tracing and Evaluation Platform.
The classNames in the Dropdown component were updated to use the consistent background color "bg-background" instead of "bg-white" to improve visual consistency and maintain a unified design across the application.