Commit graph

1,640 commits

Author SHA1 Message Date
anovazzi1
4f7871ff8b
Surface an error message when a flow has an unknown node type. (#428)
This improves the user experience for issues like #283.
2023-06-05 22:51:42 -03:00
anovazzi1
8ddcbcd125
Add shadTooltip for Edge Class Grouping (#434)
Description:
This pull request introduces a new feature that installs the shadTooltip
library into the project. Additionally, it enhances the tooltip
functionality by grouping the tooltips based on their associated edge
classes.

Changes Made:
Added the shadTooltip library to the project dependencies.
Implemented logic to group tooltips based on their respective edge
classes.
Updated the tooltip rendering code to display grouped tooltips on the
edges.
2023-06-05 20:40:56 -03:00
Gabriel Luiz Freitas Almeida
d39514a137
Toolkits now work as tools (#410) 2023-06-05 20:28:06 -03:00
anovazzi1
33399dfba3
Dark mode after refreshing page (#430)
### Description
This pull request introduces an enhancement to the existing application
by adding persistence to the dark mode feature. Currently, when the page
is refreshed, the dark mode setting reverts to the default light mode.
With this enhancement, the dark mode state will be maintained even after
refreshing the page.

### Changes Made
1. Added a new setting in the application to store the user's preference
for dark mode.
2. Implemented functionality to persist the dark mode preference in
local storage.
3. Modified the page initialization logic to retrieve the dark mode
preference from local storage and apply it on page load.
2023-06-05 18:02:56 -03:00
Gabriel Luiz Freitas Almeida
5a103f0f6f 🔨 refactor(base.py): extract methods to handle model-specific and API key-specific field values
This commit refactors the FrontendNode class by extracting two methods to handle specific field values related to models and API keys. The _handle_model_specific_field_values method handles the options and is_list properties for fields related to models, while the _handle_api_key_specific_field_values method handles the display_name and required properties for fields related to API keys. This improves the readability and maintainability of the code.
2023-06-05 13:48:17 -03:00
Gabriel Luiz Freitas Almeida
eeee895f6a 🔒 chore(pyproject.toml): update fastapi dependency to version 0.96.0
FastAPI dependency has been updated to version 0.96.0 to ensure that the application is using the latest version of the framework.
2023-06-04 21:42:14 -03:00
Cristhian Zanforlin Lousa
1bd3303c52 Change the delay to open to instant 2023-06-02 17:49:53 -03:00
Gabriel Luiz Freitas Almeida
b754c8b490 Merge branch 'jimwhite-anthropic' into dev 2023-06-02 17:43:19 -03:00
Cristhian Zanforlin Lousa
c8665ef422 Fixing css formatting codacy 2023-06-02 17:35:30 -03:00
Cristhian Zanforlin Lousa
f0ca7eeac8 formatting with codacy 2023-06-02 17:29:22 -03:00
Cristhian Zanforlin Lousa
bd7cb06e91 merge fix 2023-06-02 17:17:51 -03:00
Cristhian Zanforlin Lousa
02cb94709d Adding shad tooltip and grouping by class on edges 2023-06-02 17:15:59 -03:00
Jim White
cce41189e9 Trim too long comments about Anthropic models. 2023-06-02 12:18:38 -07:00
Jim White
07afc08129 Add model names for Anthropic and add ChatAnthropic (preferred over the deprecated Anthropic LLM). 2023-06-02 12:08:57 -07:00
Gabriel Luiz Freitas Almeida
df3cdb90b7 🔨 refactor(types.py): reorder class definitions to match the order of their usage in the code
The order of the class definitions in the file has been changed to match the order of their usage in the code. This improves the readability of the code and makes it easier to understand the relationships between the classes. No functionality has been changed.
2023-06-02 14:21:38 -03:00
anovazzi1
430043098d fix dropdown value with wrong color 2023-06-02 14:15:06 -03:00
Gabriel Luiz Freitas Almeida
534f47f153 🔨 refactor(types.py): import flatten_list function from graph.utils module
This commit simply imports the flatten_list function from the graph.utils module to be used in the AgentVertex class. This improves the readability of the code and reduces the number of lines of code.
2023-06-02 14:14:47 -03:00
Gabriel Luiz Freitas Almeida
9517ffe3b3 Merge remote-tracking branch 'origin/dev' into fix_toolkits 2023-06-02 12:56:02 -03:00
Gabriel Luiz Freitas Almeida
e21447aad8
refactor: change Node to Vertex (#426) 2023-06-02 12:16:55 -03:00
Gabriel Luiz Freitas Almeida
b7286afd32 🎨 style(types.py): improve readability of return statement in TextSplitterVertex
The return statement in TextSplitterVertex was improved to be more readable by adding a new line before the Documents field. This makes it easier to read and understand the output of the function.
2023-06-02 12:14:03 -03:00
Gabriel Luiz Freitas Almeida
b75892855f
🚀 feat(langflow): add PythonFunctionTool to the custom tools (#417) 2023-06-02 12:11:24 -03:00
Gabriel Luiz Freitas Almeida
73e07be0c7
Merge branch 'dev' into python_function_tool 2023-06-02 12:11:02 -03:00
anovazzi1
7d49319696 saving darkMode on localStorage 2023-06-02 11:23:55 -03:00
Jim White
4f152bc7ef Fix view for regular Anthropic logo 2023-06-01 23:28:44 -07:00
Jim White
8a049187df Add Anthropic to LLMs including an icon. 2023-06-01 22:55:02 -07:00
anovazzi1
730fe45518
Bringing the menu options opened on search (#427)
This pull request introduces a new feature that enhances the search
functionality by displaying menu options when performing a search.
Currently, the search results only present a list of relevant items, but
with this feature, users will have quick access to additional actions
and functionalities directly from the search results.
2023-06-01 21:03:25 -03:00
Jacob Lee
76bbf62475 Surface an error message when a flow has an unknown node type.
This improves the user experience for issues like #283.
2023-06-01 18:04:56 -05:00
Cristhian Zanforlin Lousa
da5b15fa68 Bringing the menu options opened on search 2023-06-01 17:47:27 -03:00
Gabriel Luiz Freitas Almeida
0cef4bd818 refactor: change Node to Vertex 2023-06-01 15:37:11 -03:00
Gabriel Luiz Freitas Almeida
5b5eea9895 🚀 feat(langflow): reorganize graph package to improve modularity and maintainability
The changes include:
- Moved the `Edge` class to a new `edge` package
- Moved the `Graph` class to a new `graph` package
- Moved the `Node` class to a new `node` package
- Moved the `VectorStoreNode` class to the `node/types.py` module
- Moved the `Edge`, `Graph`, and `Node` classes to their respective `base.py` modules
- Added an `__init__.py` file to each package to allow for importing of classes
- Added a `constants.py` module to the `graph` package to store constants used in the `Graph` class
- Refactored the `Graph` class to use the new `Node` and `Edge` classes
- Refactored the `Graph` class to use a dictionary to map node types to their respective classes
- Refactored the `Graph` class to remove invalid nodes from the graph
- Refactored the `Graph` class to handle the LLM node within the graph
- Refactored the `Graph` class to build the nodes before building the edges
- Refactored the `Graph` class to use the `get_node` method to find nodes by id
- Refactored the `Graph` class to use the `get_node_neighbors` method to find the neighbors of a node
- Refactored the `Graph` class to use the `get_children_by_node_type` method to find the children of a node based on the node type

These changes improve the modularity and maintainability of the `langflow` package by separating the classes into their respective packages and modules. The changes also make it easier to add new node types to the `Graph` class by using a dictionary to map node types to their respective classes.

🚀 feat(node): add Node class to represent a node in the graph
🚀 feat(constants.py): add DIRECT_TYPES constant to represent direct types in a node's template
The Node class represents a node in the graph and is responsible for parsing the data and building the module. The DIRECT_TYPES constant is a list of direct types in a node's template.

🚧 chore(types.py): add import statements for typing and Node classes
This commit adds import statements for the typing module and the Node class to the types.py file. This is necessary for the code to run properly as it uses these classes and modules.

🚧 chore(loading.py): remove unnecessary import statement
This commit removes an unnecessary import statement from the loading.py file. The import statement was causing a circular import error and was not needed for the code to run properly.

🚧 chore(run.py): update import statement for Graph class
This commit updates the import statement for the Graph class in the run.py file. The import statement was outdated and was causing an import error.

🚧 chore(conftest.py): update import statement for Graph class
This commit updates the import statement for the Graph class in the conftest.py file. The import statement was outdated and was causing an import error.

🚧 chore(test_graph.py): update import statements for Node and Edge classes
This commit updates the import statements for the Node and Edge classes in the test_graph.py file. The import statements were outdated and were causing import errors.
2023-06-01 15:07:56 -03:00
Deepankar Mahapatro
4ba881d0e1
build: update lcserve version to support public (#424) 2023-06-01 11:09:55 +05:30
Deepankar Mahapatro
2285304e09 build: update lcserve version to support public 2023-06-01 10:56:39 +05:30
Deepankar Mahapatro
0a0dc673c1
build: push lcserve image as public (#423) 2023-06-01 10:10:46 +05:30
Deepankar Mahapatro
a9e1fb4eb7 build: push lcserve image as public 2023-06-01 10:00:56 +05:30
Cristhian Zanforlin Lousa
585e94285d Adding title and icon of the parent menu on hover of the handle 2023-06-01 00:27:01 -03:00
anovazzi1
4c901ec022
Changing the mouse cursor on Canva's React Flow (#420)
## Description

This pull request introduces a new feature that allows users to change
the mouse cursor on Canva's React Flow. By updating the CSS and
JavaScript code, the cursor behavior can be modified to provide a
customized experience for users.

## Motivation

The ability to change the mouse cursor provides a way to enhance user
interaction and personalize the user experience within Canva's React
Flow. This feature can be particularly useful for applications or
websites that require specific cursor styles to match the overall design
or functionality.
2023-05-31 23:37:20 -03:00
Cristhian Zanforlin Lousa
2ee0244834 fixing identation warnings spaces - new 2023-05-31 22:20:12 -03:00
Cristhian Zanforlin Lousa
f27d067609 fixing identation warnings spaces 2023-05-31 22:16:16 -03:00
Cristhian Zanforlin Lousa
344b94f9b5 fixing warning identation 2023-05-31 22:06:49 -03:00
Cristhian Zanforlin Lousa
d9cae6b211 fixing identation warnings 2023-05-31 22:00:03 -03:00
Gabriel Luiz Freitas Almeida
08d981822b
Add Chat Icon Animation to the Last AI Message (#418) 2023-05-31 21:54:37 -03:00
Cristhian Zanforlin Lousa
9e4f898f54 Changing the mouse cursor on Canva's React Flow 2023-05-31 21:38:06 -03:00
Cristhian Zanforlin Lousa
6332c4c084 Changing the icon to move just in the last message on chat 2023-05-31 21:22:42 -03:00
Cristhian Zanforlin Lousa
893dc22fc4 Change the icon to move just in the last message 2023-05-31 21:21:51 -03:00
Gabriel Luiz Freitas Almeida
2b716fb981
fix(chatModal/index.ts) updated validation condition for required properties of nodes, to allow False values to be accepted (#413) 2023-05-31 16:40:30 -03:00
Gabriel Luiz Freitas Almeida
e7b4010a7c Merge remote-tracking branch 'origin/dev' into python_function_tool 2023-05-31 15:42:55 -03:00
Gabriel Luiz Freitas Almeida
be09849081 🚀 feat(langflow): rename PythonFunction to PythonFunctionTool for better semantics
🚀 feat(langflow): add PythonFunctionToolNode to the frontend node tools
🚀 feat(langflow): add PythonFunctionTool to the custom tools
🚀 feat(langflow): add get_function to importing utils to get the function from code
🚀 feat(langflow): add func parameter to PythonFunctionTool to store the function
🚀 feat(langflow): add name and description parameters to PythonFunctionTool
🚀 feat(langflow): update instantiate_tool to use PythonFunctionTool instead of PythonFunction
🚀 feat(langflow): update constants to use PythonFunctionTool instead of PythonFunction
🚀 feat(langflow): update custom.py to use PythonFunctionTool instead of PythonFunction
🚀 feat(langflow): update loading.py to use get_function and PythonFunctionTool
🚀 feat(langflow): update utils.py to use get_function
🚀 feat(langflow): update test_custom_types.py to use get_function and PythonFunctionTool
🚀 feat(langflow): update test_graph.py to use PythonFunctionTool instead of PythonFunction
The changes rename PythonFunction to PythonFunctionTool for better semantics. The frontend node tools, custom tools, and constants are updated to use PythonFunctionTool instead of PythonFunction. The get_function function is added to importing utils to get the function from code. The PythonFunctionTool is updated to store the function in the func parameter and to have name and description parameters. The instantiate_tool, loading.py, and utils.py are updated to use get_function and PythonFunctionTool. The test_custom_types.py and test_graph.py are updated to use PythonFunctionTool instead of PythonFunction.
2023-05-31 15:41:16 -03:00
Gabriel Luiz Freitas Almeida
dedbe3c906 🎨 refactor(complex_example.json): rename "PythonFunction" to "PythonFunctionTool" and add "description" and "name" fields
The "PythonFunction" type has been renamed to "PythonFunctionTool" to better reflect its purpose. Additionally, two new fields have been added: "description" and "name". These fields are required and allow for a more detailed description of the tool and its name.
2023-05-31 15:40:20 -03:00
Gabriel Luiz Freitas Almeida
2af55dc162 Merge remote-tracking branch 'origin/main' into dev 2023-05-31 12:54:34 -03:00
Rodrigo Nader
647f7b7a16
Add FAISS to vectorstores (#414)
 feat(config.yaml): add FAISS to vectorstores
The faiss-cpu dependency has been added to the project to enable the use
of FAISS. FAISS has been added to the list of vectorstores in the
config.yaml file to allow for the use of FAISS in the project.
2023-05-31 12:50:12 -03:00