✨ feat(config.yaml): add Qdrant vectorstore and RequestsWrapper to the config.yaml file
The config.yaml file has been updated with new documentloaders, memories, prompts, textsplitters, toolkits, utilities, and vectorstores. The Qdrant vectorstore has been added to the vectorstores section. The RequestsWrapper has been added to the wrappers section.
The version number in the pyproject.toml file has been updated from 0.0.77 to 0.0.78. This is a chore commit as it does not introduce any new features or fix any bugs, but rather updates the version number to reflect the changes made in the code.
The version number in the pyproject.toml file has been updated from 0.0.76 to 0.0.77. This is a chore commit as it does not introduce any new features or fix any bugs, but only updates the version number.
🐛 fix(nodes.py): remove deepcopying of certain objects to improve performance
🐛 fix(loading.py): add error handling for empty documents in instantiate_textsplitter
The is_first_message logic in chat_manager.py was not correctly identifying the first message. The fix in this commit changes the comparison to <= 1 instead of == 0. In nodes.py, deepcopying of certain objects was removed to improve performance. This was done because deepcopying was not necessary for these objects. In loading.py, error handling was added to handle empty documents in instantiate_textsplitter. This was done to prevent errors when the source provided did not load correctly or was empty.
✨ feat(__main__.py): add serve_on_jcloud function to deploy Langflow server on Jina AI Cloud
🐛 fix(config.yaml): remove duplicate entries and fix indentation
The update_settings function now accepts a dev flag to enable running the app in development mode. The serve_on_jcloud function has been added to deploy the Langflow server on Jina AI Cloud. The config.yaml file has been cleaned up by removing duplicate entries and fixing indentation.
🔨 refactor(vector_store/base.py): refactor VectorstoreCreator to use import_class from langflow.interface.importing.utils
The `vectorstores_type_to_cls_dict` variable was not being used, so it was removed. The `VectorstoreCreator` class was refactored to use the `import_class` function from `langflow.interface.importing.utils` instead of importing it directly. This improves the code's readability and maintainability.
## Dynamic Font Size for ButtonBox Component
### Description
The ButtonBox component, which is used in the examples modal, has been
enhanced to have a dynamic font size that adjusts based on the length of
the text and the dimensions of its parent element. This improvement
ensures that the text within the ButtonBox component remains readable
and properly fits within its container.
### Changes Made
- Added a new `fontSize` state variable to track the font size within
the ButtonBox component.
- Utilized the `useEffect` hook to calculate and update the font size
dynamically.
- Implemented logic to check for both vertical and horizontal overflow
of the text within the parent container.
- Decreased the font size incrementally until the text fits within the
parent element's dimensions.
- Updated the component to apply the calculated font size to the text
element.
### Testing Done
- Manually tested the ButtonBox component with various text lengths and
parent container dimensions.
- Verified that the font size was adjusted correctly to fit the text
within the parent element without overflowing.
🐛 fix(base.py): correctly handle nested lists in Node.build() method
✨ feat(vector_store): add VectorStoreFrontendNode to handle vector store templates
🐛 fix(util.py): add build_template_from_method to correctly build templates from class methods
The configuration file now includes two new vector stores, DocArrayHnswSearch and DocArrayInMemorySearch. The Node.build() method now correctly handles nested lists. A new VectorStoreFrontendNode has been added to handle vector store templates. The build_template_from_method function has been added to correctly build templates from class methods.
Issue #335
🔥 chore(test.yml): remove Python 3.11 from the matrix
Python 3.8 and 3.11 were removed from the matrix in lint.yml to reduce the number of Python versions being tested. Python 3.11 was removed from the matrix in test.yml as it is not yet released and therefore not supported.
Chroma uses onnxruntime which does not support 3.11 as of yet. This will be added back in once onnxruntime supports 3.11.
The display_name field was added to the LLM object in the test_agents_template.py and test_chains_template.py files. This field is used to display the name of the LLM in the UI.
🚀 Release 0.0.75
We are excited to announce the latest updates and features that have been added to Langflow! Here’s a summary of the recent changes:
New Features:
- Deploy Langflow using Langchain-Serve: Thanks to the hard work of @deepankarm, Langflow can now be deployed using Langchain-Serve to Jina AI Cloud. This integration brings enhanced functionality and improves the overall performance of Langflow. Just run `langflow --jcloud`.
- Copy and Paste Nodes and Flows: @anovazzi1 and @lucaseduoli have implemented the copy and paste functionality in Langflow. Now you can easily duplicate nodes and flows, improving productivity and workflow efficiency.
- Undo/Redo Functionality: @anovazzi1 and @lucaseduoli have also added an undo/redo feature to LangFlow, allowing you to easily revert and redo changes made to nodes and flows. This enhances the editing experience and provides greater control over your work.
Improvements and Fixes:
- Build: The latest update includes making Langchain-Serve optional, allowing for more flexibility in deployment.
- Documentation: The README has been updated to provide information about JCloud deployment.
- Validation Fixes: @ogabrielluiz has made several updates to improve validation in Langflow, including returning exception messages in responses and adding validation status icons and tooltips to node properties.
- Bug Fixes: Several bug fixes have been implemented, including resizing issues in the chat input, copy and paste bugs in the code area, and padding adjustments in the UI. Special thanks to @anovazzi1 and @lucaseduoli for their contributions in fixing these issues.
We appreciate the contributions from the following members:
- @deepankarm
- @anovazzi1
- @lucaseduoli
Thank you to everyone who has contributed to this release. Your efforts have made Langflow even better! If you have any feedback or suggestions, please don’t hesitate to reach out. Happy coding with Langflow! 🎉