Commit graph

29 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
6b5539232f 🚀 chore(server, tests): update API endpoint URLs to include version number
The API endpoint URLs have been updated to include the version number to improve the API's versioning and maintainability. The changes were made to the server.ts file and the tests that use the API endpoints.

🐛 fix(tests): update API endpoint paths in test files
The API endpoint paths in the test files were outdated and have been updated to reflect the current API version. This ensures that the tests are running against the correct endpoints and that the tests are up-to-date with the current API version.
2023-06-06 10:06:40 -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
73e07be0c7
Merge branch 'dev' into python_function_tool 2023-06-02 12:11:02 -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
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
25d77eaf87 🐛 fix(custom.py): fix JsonAgent.from_toolkit_and_llm method to handle both list and JsonToolkit input
🔥 chore(test_graph.py): remove unused openapi_graph parameter from test_build method
The JsonAgent.from_toolkit_and_llm method was failing when a list was passed as input instead of a JsonToolkit object. The fix now handles both cases. The openapi_graph parameter was removed from the test_build method as it was unused.
2023-05-31 11:44:12 -03:00
Gabriel Almeida
31062f2a8c refactor(run.py): remove unused process_graph function
refactor(test_graph.py): update get_result_and_steps to get_result_and_thought function name
2023-05-10 11:31:06 -03:00
Gabriel Almeida
01de3a2021 refactor(test_graph.py): remove unused import of build_json from payload module 2023-05-07 20:15:29 +00:00
Gabriel Almeida
3b733ada01 refactor(tests): remove unused imports and variables, fix typos and update node types 2023-05-07 20:15:29 +00:00
Gabriel Almeida
ffb2aad45d fixes to tests 2023-04-29 07:38:06 -03:00
Gabriel Almeida
18b3583850 test(websocket.py): add tests for websocket connection, chat history and sending message 2023-04-19 13:13:58 -03:00
Ibis Prevedello
81c634f839 fix: fix lint and formatting 2023-04-10 12:01:13 -03:00
Gabriel Almeida
cdf50ebe7a test(graph.py): add test for get_result_and_thought_using_graph method 2023-04-09 09:23:47 -03:00
Gabriel Almeida
12c21b0185 custom prompt experiment 2023-04-01 18:41:27 -03:00
Ibis Prevedello
53c9812819 refac: fix merge and format 2023-04-01 17:42:43 -03:00
Gabriel Almeida
0fc454f9b7 feat: added more tests for nodes 2023-04-01 00:01:29 -03:00
Gabriel Almeida
203b8ff6fe formatting 2023-03-31 14:06:40 -03:00
Gabriel Almeida
f4b51514a1 refac: change graph module structure 2023-03-29 16:12:59 -03:00
Gabriel Almeida
c2d4d3e9c0 refactor: separating modules to fix circular import 2023-03-28 15:28:08 -03:00
Gabriel Almeida
b67c7d6442 fix: updates to json and test added 2023-03-27 17:32:50 -03:00
Gabriel Almeida
287ef0d4e4 feat: new tests for endpoints 2023-03-26 21:02:45 -03:00
Gabriel Almeida
7dbda097f5 feat: complex example test passing 2023-03-26 01:15:01 -03:00
Gabriel Almeida
8ccc22086b feat: added tests for building the langchain obj 2023-03-25 20:20:47 -03:00
Gabriel Almeida
cccbeeb4d2 feat: added edge validation 2023-03-24 18:48:03 -03:00
Gabriel Almeida
230f0d95e9 refac: implemented buid_json using graph methods 2023-03-24 12:22:27 -03:00
Gabriel Almeida
b4963572b0 feat: added more graph tests 2023-03-24 11:29:58 -03:00
Gabriel Almeida
269c06e9c1 feat: added tests for graph 2023-03-24 11:21:29 -03:00