Commit graph

1,788 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
ccf9477b7f 🐛 fix(manager.py): add check for langchain object in process_message to avoid errors
 feat(manager.py): add build method to build langchain object and store it in an in-memory cache
The `process_message` method now checks if the langchain object has been built and stored in the in-memory cache before processing the message. If the object is not found, the connection is closed with an error message. A new `build` method has been added to build the langchain object and store it in an in-memory cache. This method is called before processing any messages.
2023-06-11 18:08:01 -03:00
Gabriel Luiz Freitas Almeida
dacc90d901 🐛 fix(cache/manager.py): change CACHE variable to _cache to follow naming conventions
 feat(cache/utils.py): add support for clearing old cache files and memoization of dictionary functions
The CACHE variable in CacheManager class has been renamed to _cache to follow naming conventions. The utils.py module now supports clearing old cache files and memoization of dictionary functions. The clear_old_cache_files function removes old cache files if the number of cache files exceeds the max_cache_size. The memoize_dict decorator memoizes dictionary functions and clears the cache when the clear_cache method is called.
2023-06-11 18:07:45 -03:00
Gabriel Luiz Freitas Almeida
02163cf775 feat(flow.py): add InMemoryCache class to implement an in-memory cache with LRU eviction policy
This commit adds a new class InMemoryCache to implement an in-memory cache with a Least Recently Used (LRU) eviction policy. The cache supports setting a maximum size and expiration time for cached items. The cache is thread-safe using a threading Lock. The InMemoryCache class inherits from the BaseCache class and implements the get, set, get_or_set, delete, clear, __contains__, __getitem__, __setitem__, __delitem__, __len__, and __repr__ methods.
2023-06-11 18:07:28 -03:00
Gabriel Luiz Freitas Almeida
a27e5d58dd 🔨 refactor(base.py): refactor BaseCache class to use abstract methods
This commit refactors the BaseCache class to use abstract methods instead of concrete methods. This makes the class more flexible and allows for different implementations of the cache. The abstract methods include get, set, delete, clear, __contains__, __getitem__, __setitem__, and __delitem__.
2023-06-11 18:07:17 -03:00
Gabriel Luiz Freitas Almeida
bdbc46f01d 🐛 fix(chat.py): add exception handling to post_build endpoint
 feat(cache/__init__.py): add InMemoryCache to exported modules
🔖 refactor(endpoints.py): remove unused import statement
The post_build endpoint in chat.py now has exception handling to catch any errors that may occur during the build process. InMemoryCache is now exported as part of the cache module. The endpoints.py file has been refactored to remove an unused import statement.
2023-06-11 18:06:57 -03:00
Gabriel Luiz Freitas Almeida
efbdd6fee7 🚀 feat(langflow): add version endpoint to API
🐛 fix(langflow): fix version import error in version endpoint
The version endpoint is added to the API to allow clients to retrieve the version of the Langflow package. The version is obtained using the `metadata.version` function from the `importlib` module. In case the package metadata is not available, an empty string is returned. The version endpoint was previously returning an error due to an import error. The error is fixed by importing the `__version__` variable from the `langflow` module.
2023-06-11 12:48:06 -03:00
Gabriel Luiz Freitas Almeida
0eaa86c5ca 🔧 chore(__main__.py): add support for loading environment variables from a .env file
The `load_dotenv` function from the `dotenv` package is now used to load environment variables from a `.env` file. This allows for a more flexible configuration of the application as environment variables can be loaded from a file instead of being hardcoded in the code. The `.env` file path can be specified via the `env_file` parameter.
2023-06-11 11:14:43 -03:00
Gabriel Luiz Freitas Almeida
61207db4da 🐛 fix(App.tsx): change fetch URL to relative path to fix incorrect API call
The fetch URL was incorrect and was calling the API with an absolute path instead of a relative path. This caused the API call to fail. The URL has been changed to a relative path to fix the issue.
2023-06-09 17:17:55 -03:00
Gabriel Luiz Freitas Almeida
bc07766575 🔊 chore(base.py): add logger to Graph class
🐛 fix(base.py): improve error message when invalid payload is received
The logger is added to the Graph class to improve debugging capabilities. The error message when an invalid payload is received is improved to include the keys that were found in the payload. This makes it easier to identify the issue and fix it.
2023-06-09 17:08:11 -03:00
Gabriel Luiz Freitas Almeida
bfb4a8e609 🔖 chore(base.py): add display_name field to FrontendNode
The `display_name` field is added to the `FrontendNode` class to allow for a more user-friendly name to be displayed in the UI. If `display_name` is not set, the `name` field will be used instead.
2023-06-09 17:08:01 -03:00
Gabriel Luiz Freitas Almeida
c216c78b1b
🚀 feat(langflow): add new Retrieval chains (#456) 2023-06-09 16:25:43 -03:00
Gabriel Luiz Freitas Almeida
fdf24f269b
Merge branch 'dev' into agent_and_qa_chain 2023-06-09 16:25:29 -03:00
Gustavo Schaedler
547e10b374 Remove condition for the execution of make publish, the execution is done by GitHub actions 2023-06-09 20:15:00 +01:00
Gustavo Schaedler
8a08ebdbe7 Remove some commented out code + add condition for the execution of make publish 2023-06-09 20:09:25 +01:00
Alexandre Henrique Pereira Tavares
b02ed92b84
Implemented add_extra_fields method for the documentloaders (#408) 2023-06-09 15:24:56 -03:00
Alexandre Henrique
f7bdb711f1 Merged frontend_node/llm from origin/dev into add_extra_fields_documentloaders 2023-06-09 15:05:56 -03:00
Gabriel Luiz Freitas Almeida
51ecc05563 🐛 fix(vite.config.ts): remove /api/v1 prefix from proxy target URL
 feat(vite.config.ts): add rewrite function to proxy configuration to add /api/v1 prefix to requests
The /api/v1 prefix was removed from the proxy target URL as it was already being added by the rewrite function. The rewrite function was added to the proxy configuration to add the /api/v1 prefix to requests, which is required by the backend API.

Fixes #458
2023-06-09 14:31:09 -03:00
Gabriel Luiz Freitas Almeida
eac5057d4f 🚀 feat(launch.json): add configuration for debugging frontend in Chrome
The new configuration allows for debugging the frontend in Chrome by launching the application on http://localhost:3000/* and setting the webRoot to the frontend directory. This will enable developers to debug the frontend code more efficiently. The existing configuration for debugging the backend has been renamed to "Debug Backend" for better clarity. The "justMyCode" property has been set to true to exclude external libraries from debugging.
2023-06-09 14:19:04 -03:00
Cristhian Zanforlin Lousa
111252fbb2
NodeToolbar Feature Implementation and Dialog UI Migration (#462)
Description
This pull request implements the NodeToolbar feature and migrates the
dialog UI to shadCN. The NodeToolbar introduces three actions:
duplicate, delete, and edit. The edit action allows users to modify the
advanced configuration of the tools. Additionally, this pull request
migrates the dialog UI to shadCN, specifically updating the prompt
dialog, code dialog, export dialog, python functions dialog and
tooltips. These enhancements improve the user experience and provide a
more efficient and modern interface.

Changes Made
Added NodeToolbar component to the application.
Implemented duplicate functionality, allowing users to create copies of
the selected nodes.
Implemented delete functionality, enabling users to remove selected
nodes.
Implemented edit functionality, providing users with the ability to
modify the advanced configuration of the tools.
Migrated the prompt dialog UI to shadCN, improving its appearance and
functionality.
Migrated the code dialog UI to shadCN, enhancing its usability and
aesthetics.
Migrated the export dialog UI to shadCN, resulting in a more streamlined
and intuitive interface.
Migrated the python functions dialog UI to shadCN, ensuring consistency
with the rest of the application's design.
Migrated the headlessUI tooltip to shadCN.

FYI: Need to improve the dialog subtitles texts.
2023-06-09 10:22:36 -03:00
Cristhian Zanforlin Lousa
f18f2f9851 adjust space codacy 2023-06-09 10:10:08 -03:00
Gabriel Luiz Freitas Almeida
f9528591d9
Better serrver start (#461) 2023-06-09 06:47:15 -03:00
Gabriel Luiz Freitas Almeida
eb3421711f
Add advanced parameters to llamacpp node (#465) 2023-06-08 18:40:41 -03:00
Gabriel Luiz Freitas Almeida
2b8333ee95
Merge branch 'dev' into fix_llama 2023-06-08 18:31:39 -03:00
Gabriel Luiz Freitas Almeida
5484a08230 🔖 chore(pyproject.toml): bump up version to 0.0.88
The version number in the pyproject.toml file has been updated from 0.0.87 to 0.0.88. This is a chore commit as it does not introduce any new features or fix any bugs, but it is necessary to keep track of the package version.
2023-06-08 18:15:26 -03:00
Gabriel Luiz Freitas Almeida
a443d0aa83 🔨 refactor(llms.py): extract formatting methods for Azure and Llama fields
This commit extracts the formatting methods for Azure and Llama fields from the `format_field` method to improve readability and maintainability of the code. The `format_azure_field` method formats the fields for Azure, while the `format_llama_field` method formats the fields for Llama. These methods are called conditionally based on the name of the field.
2023-06-08 18:14:03 -03:00
Gabriel Luiz Freitas Almeida
7ed19c739b 🐛 fix(tabsContext.tsx): add try-catch block to handle JSON parsing errors
🐛 fix(API/index.ts): remove duplicate forward slash in API routes
The try-catch block was added to handle JSON parsing errors that may occur when parsing the cookieObject. This ensures that the application does not crash when such errors occur.

The duplicate forward slash in the API routes was removed to ensure that the routes are correctly formed and the API requests are sent to the correct endpoints.
2023-06-08 17:51:06 -03:00
Gabriel Luiz Freitas Almeida
868158b11b Merge branch 'dev' into better_server 2023-06-08 17:31:45 -03:00
Gabriel Luiz Freitas Almeida
de6bfbab69 Merge remote-tracking branch 'origin/main' into dev 2023-06-08 17:29:25 -03:00
Gabriel Luiz Freitas Almeida
58fa3b8dc0 🐛 fix(__main__.py): ignore type error for multiprocess import
🐛 fix(__main__.py): rename path variable to frontend_path for clarity
The first change fixes a type error for the multiprocess import. The second change renames the path variable to frontend_path to improve clarity and readability of the code.
2023-06-08 17:17:27 -03:00
anovazzi1
5e99ba0e99
fix: loads the page even if flows.data is null (#464) 2023-06-08 17:12:28 -03:00
Cristhian Zanforlin Lousa
12fa7f4e14 removing the type any from filter 2023-06-08 17:01:54 -03:00
Cristhian Zanforlin Lousa
db5eb1da10 Merge branch 'feat/shadUI' of https://github.com/logspace-ai/langflow into feat/shadUI 2023-06-08 16:58:08 -03:00
Cristhian Zanforlin Lousa
10b3ad711e Adding constants pattern, textfile edit node fix 2023-06-08 16:58:05 -03:00
Gabriel Luiz Freitas Almeida
901a7c0696 🔖 chore(pyproject.toml): bump up version to 0.0.87
The version number in the pyproject.toml file has been updated from 0.0.86 to 0.0.87. This is a chore commit as it does not introduce any new features or bug fixes, but only updates the version number.
2023-06-08 16:56:35 -03:00
Gabriel Luiz Freitas Almeida
3785c7e610 🐛 fix(tabsContext.tsx): add null check for flow.data to prevent TypeError
The fix adds a null check for flow.data to prevent a TypeError when accessing the edges property.
2023-06-08 16:54:46 -03:00
Gabriel Luiz Freitas Almeida
fae17163c8 🚀 chore(frontend): add esbuild package to improve build performance
The esbuild package has been added to the frontend dependencies to improve the build performance of the application.
2023-06-08 16:38:41 -03:00
Gabriel Luiz Freitas Almeida
8d03db2834 removing package.json from root folder 2023-06-08 16:24:44 -03:00
anovazzi1
1318a813b2 fix bug with development server and some dark mode issues 2023-06-08 16:15:51 -03:00
Cristhian Zanforlin Lousa
736cbb83db Adding key-value to modal subtitles 2023-06-08 13:27:50 -03:00
Cristhian Zanforlin Lousa
73b3220334 Adjust height of dialogs 2023-06-08 13:00:35 -03:00
Cristhian Zanforlin Lousa
741c5a8cd4 Merge branch 'dev' into feat/shadUI 2023-06-08 12:40:09 -03:00
Gabriel Luiz Freitas Almeida
2482a230bb update lock 2023-06-08 12:29:29 -03:00
Gabriel Luiz Freitas Almeida
0cfc0b016e 🚀 feat(__main__.py): add optional path argument to serve function to specify path to frontend directory
🚀 feat(__main__.py): add optional open_browser argument to serve function to specify whether to open browser after starting server
The serve function now accepts an optional path argument to specify the path to the frontend directory containing build files. This is useful for development purposes only. The function also accepts an optional open_browser argument to specify whether to open the browser after starting the server. This is useful when running the server locally.
2023-06-08 12:25:00 -03:00
Cristhian Zanforlin Lousa
3b147c879d Formatting 2023-06-08 12:09:45 -03:00
Cristhian Zanforlin Lousa
c9b68f6f7a Changing to ShadUI, Edge Tooltips and Advanced Dialog 2023-06-08 12:05:32 -03:00
Gabriel Luiz Freitas Almeida
84a46d5869 Merge remote-tracking branch 'origin/dev' into better_server 2023-06-08 11:49:56 -03:00
Gabriel Luiz Freitas Almeida
23e760b052 🔺 chore(pyproject.toml): update langchain dependency from 0.0.186 to 0.0.194
This commit updates the langchain dependency from version 0.0.186 to version 0.0.194. This is a chore as it updates a dependency to a newer version.
2023-06-08 08:45:20 -03:00
Gabriel Luiz Freitas Almeida
0304becc28 Merge remote-tracking branch 'origin/main' into dev 2023-06-08 08:13:32 -03:00
Gabriel Luiz Freitas Almeida
c4423e0fc0
🐛 fix(utils.py): add type check for streaming and stream attributes before setting them to True (#457)
Fixes #452
2023-06-08 00:47:55 -03:00
Gabriel Luiz Freitas Almeida
1e728c96b6 🔖 chore(pyproject.toml): bump version to 0.0.86
The version number in the pyproject.toml file has been updated from 0.0.85 to 0.0.86. 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 changes made to the codebase.
2023-06-08 00:42:42 -03:00