The description of the SQLAgentNode has been updated to reflect its new implementation, which now constructs a SQL agent from an LLM and tools instead of a Vector Store Router. This change was made to improve the accuracy of the description and to better reflect the functionality of the node.
🔥 refactor(custom_lists.py): remove unused import of vectorstores
The import of deepcopy in nodes.py and vectorstores in custom_lists.py are not used in the codebase and can be safely removed to improve code readability and maintainability.
Weaviate has been added to the list of vectorstores in the config.yaml file. A TODO comment has been added to the nodes.py file to fix the integration with Weaviate. Weaviate requires the weaviate_url to be passed as it is not part of the class or from_texts method. The add_extra_fields method needs to be fixed to include the weaviate_url parameter.
This commit extracts common field attributes to variables and sets them accordingly. The basic_fields and advanced_fields variables are used to set the show and advanced attributes of the fields. The API Key field is now displayed as "API Key" and its value is hidden. The location field now has a default value of ":memory:" and its placeholder is also set to ":memory:". The password attribute of the key fields is set to False.
Issue Implement Qdrant #361
🐛 fix(langflow): remove unused imports in base.py files
The variable node in LangChainTypeCreator was causing a type error, so a type ignore was added to fix the issue. Additionally, unused imports were removed from both base.py files.
The process_field method in the TemplateFieldCreator class is not used anywhere in the codebase and is therefore removed to improve code readability and maintainability.
This commit refactors the FrontendNode.format_field() method to improve its readability and maintainability. The method now uses helper methods to handle specific field types and values, and to determine whether a field should be shown, be a password field, or be multiline. The method also uses a dictionary to handle special fields and their respective handlers.
✨ 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.
🐛 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.
🐛 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
The import statements for pathlib.Path and fastapi.staticfiles.StaticFiles were not used in the code and were therefore removed to improve code readability and maintainability.
feat(graph/base.py): add _built_object_repr method to Node class
feat(graph/nodes.py): add _built_object_repr method to DocumentLoaderNode, VectorStoreNode, and TextSplitterNode classes