Commit graph

1,482 commits

Author SHA1 Message Date
Gabriel Almeida
9bac61b563 🚀 feat(config.yaml): add new text splitters and toolkits
Added new text splitters to the configuration file: RecursiveCharacterTextSplitter, LatexTextSplitter, and PythonCodeTextSplitter. These text splitters will be used to split text into smaller chunks for processing. Also, added new toolkits to the configuration file: OpenAPIToolkit and JsonToolkit. These toolkits will be used to process the text chunks generated by the text splitters.
2023-05-29 07:30:58 -03:00
Gabriel Almeida
4c71b1d17f 🔇 chore(tabsContext.tsx): comment out code that was causing issues with file upload
The code that was causing issues with file upload has been commented out for now. The code was resetting the content of a file, which was causing issues with the file upload.
2023-05-28 20:34:01 -03:00
Gabriel Luiz Freitas Almeida
bb8d0d90d4
feat: notion directory loader (#382) 2023-05-28 20:04:04 -03:00
Gabriel Almeida
ece9530973 🎨 style(inputComponent): change input placeholder text to be more descriptive
🎨 style(inputListComponent): change input placeholder text to be more descriptive
The placeholder text for both input components has been changed to "Type something..." to be more descriptive and provide better guidance to the user.
2023-05-28 17:57:33 -03:00
Gabriel Almeida
fa8cd1e31c 🔒 chore(pyproject.toml): update dependencies to latest versions
FastAPI and Langchain dependencies have been updated to their latest versions to ensure that the application is using the latest features and security patches. The Llama-cpp-python dependency has also been updated to a more recent version.
2023-05-28 17:36:37 -03:00
Gabriel Almeida
5f25bb0d58 🐛 fix(utils.py): fix try_setting_streaming_options function to correctly set streaming attribute
The try_setting_streaming_options function now correctly sets the streaming attribute of the llm object to True if it is an instance of BaseLanguageModel and has the streaming attribute. This fixes a bug where the streaming attribute was not being set correctly.
2023-05-28 17:25:27 -03:00
Gabriel Almeida
4848759aeb 🚀 chore(Makefile): add make targets to install backend and frontend dependencies
The Makefile now has two new targets, `install_backend` and `install_frontend`, which install the dependencies for the backend and frontend respectively. This makes it easier for developers to set up the project as they can now run `make init` to install the pre-commit hooks and all dependencies.
2023-05-28 16:36:57 -03:00
Gabriel Almeida
023df99ecc 🔨 refactor(embeddings.py): move openai fields formatting to a separate method
 test(embeddings_template.py): add tests for openai fields formatting
The openai fields formatting is now done in a separate method, which improves the readability and maintainability of the code. Tests were added to ensure that the formatting is done correctly.
2023-05-28 16:18:33 -03:00
Gabriel Ferreira Rosalino
36910ff187 chore: removed not needed inputDirectoryComponent 2023-05-28 02:13:24 -03:00
Gabriel Ferreira Rosalino
209e31da26 feat: adds NotionDirectoryLoader 2023-05-28 02:05:32 -03:00
Gabriel Almeida
fa9a3a210b 🐛 fix(base.py): change condition to check if content is empty instead of None
The previous condition was checking if the content was None, but it should check if it is empty. This change fixes the error message to be more accurate.
2023-05-27 23:39:05 -03:00
Gabriel Almeida
a758f48b88 🐛 fix(chains.py): set prompt field as required when value is None
The prompt field was previously set as not required when no value was provided, but this is not the intended behavior. The prompt field should always be required, even if the default prompt is used. This commit fixes the issue by setting the required attribute to True when the value is None.
2023-05-27 18:16:36 -03:00
Rodrigo Nader
f0503d2eb0
Activating HuggingFaceEmbeddings, adding Jina deps (#378)
🚀 feat(config.yaml): add HuggingFaceEmbeddings to embeddings
The Jina and sentence-transformers dependencies were added to the
project to improve the functionality of the application. The
HuggingFaceEmbeddings was added to the embeddings in the config.yaml
file to improve the quality of the embeddings used in the application.

Closes #375
2023-05-27 18:09:48 -03:00
Gabriel Almeida
6f8b434f68 🔧 chore(llms.py): add format_openai_field method to format OpenAI field display names
The `format_openai_field` method formats the display name of fields that contain the string "openai" in their name. It capitalizes the first letter of "OpenAI", replaces underscores with spaces, and replaces "Api" with "API". This improves the readability and consistency of the display names of OpenAI fields.
2023-05-27 17:58:00 -03:00
Gabriel Almeida
3436a713c2 🚀 feat(pyproject.toml): add jina and sentence-transformers dependencies
🚀 feat(config.yaml): add HuggingFaceEmbeddings to embeddings
The Jina and sentence-transformers dependencies were added to the project to improve the functionality of the application. The HuggingFaceEmbeddings was added to the embeddings in the config.yaml file to improve the quality of the embeddings used in the application.

Issue #375, #372
2023-05-27 17:19:09 -03:00
Gabriel Almeida
bf0ab14f67 🎨 style(promptComponent, textAreaComponent): fix indentation and whitespace
The changes in these files are purely cosmetic, fixing indentation and whitespace to improve code readability.

🔨 refactor(genericModal/index.tsx): improve code readability and add destructuring to props
The code has been refactored to improve readability and make it easier to understand. Destructuring has been added to the props to make it easier to access the values.
2023-05-27 17:04:12 -03:00
Gabriel Almeida
f774cc6361 🐛 fix(Makefile): update ruff command to fix all files in the directory
The ruff command was updated to fix all files in the directory instead of just the ones that have the I issue. This ensures that all files are properly formatted.
2023-05-27 17:00:44 -03:00
Gabriel Almeida
2a0b530d36 Merge branch 'dev' of https://github.com/logspace-ai/langflow into dev 2023-05-27 16:58:28 -03:00
Gabriel Almeida
41670bc43f 🐛 fix(chat_manager.py): change filter parameter name to filter_messages for clarity
The filter parameter name was ambiguous and could be interpreted in different ways. Renaming it to filter_messages makes it clear that it is used to filter chat messages.
2023-05-27 16:58:11 -03:00
Gabriel Luiz Freitas Almeida
c0493959af
Add First Version of Generic Modal Input Model (#369) 2023-05-27 16:54:26 -03:00
Gabriel Almeida
e0364833a9 🔥 refactor(chat_manager.py): rename filter parameter to filter_messages for clarity
🔥 refactor(custom.py): remove unused import of SQL_FORMAT_INSTRUCTIONS
🔥 refactor(custom_lists.py): remove unused import of SQLDatabase and utility_type_to_cls_dict
🔥 refactor(utilities/base.py): remove unused import of utility_type_to_cls_dict
🔥 refactor(utils/util.py): remove unused function build_template_from_parameters
The changes made are mostly removing unused imports and renaming a parameter for clarity. The import of SQL_FORMAT_INSTRUCTIONS was removed as it was not being used. The function build_template_from_parameters was removed as it was not being used.
2023-05-27 16:53:57 -03:00
Gabriel Almeida
a5b966f42e Formatting 2023-05-27 16:33:49 -03:00
Gabriel Almeida
cc785af652 🐛 fix(base.py): import UtilitiesFrontendNode from the correct module
 feat(base.py): add support for SQLDatabase utility and filter utilities according to settings.utilities
🎨 style(frontend_node/base.py): add display_name to fields
🎨 style(frontend_node/utilities.py): format field values and types
The import statement for UtilitiesFrontendNode was incorrect, causing an import error. The import statement was corrected to import from the correct module.

Support for SQLDatabase utility was added to the type_to_loader_dict dictionary. The dictionary is now filtered according to the settings.utilities list.

The display_name attribute was added to fields in the FrontendNode class to improve the readability of the frontend.

The format_field method in the UtilitiesFrontendNode class was updated to format field values and types. The method now converts field.field_type to a list if it is a Literal type and formats field.value if it is a dictionary.
2023-05-27 16:32:56 -03:00
Gabriel Almeida
7da8c0ef92 chore: refactor of template, frontend_node and field
This will improve the readability of the code and maintainability.
2023-05-27 15:56:46 -03:00
Gabriel Almeida
35dce224d7 📝 docs(nodes.py): update SQLAgentNode description to reflect its new implementation
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.
2023-05-27 14:24:19 -03:00
Gabriel Luiz Freitas Almeida
8c14b01d0c
fix: SQLAgent (#370) 2023-05-27 14:22:07 -03:00
Gabriel Ferreira Rosalino
aac6e3f2e9
Merge branch 'logspace-ai:dev' into gabfr-patch-1 2023-05-27 14:15:16 -03:00
Gabriel Ferreira Rosalino
f44e2f97f7
fix: SQLAgent
The queryCheckerTool now needs an extra arg with the LLM instance: https://github.com/hwchase17/langchain/blob/master/langchain/tools/sql_database/tool.py#L108

I added it so the SQLAgent can work normally now
2023-05-27 14:12:18 -03:00
Gabriel Luiz Freitas Almeida
09aa796af0
Changes to accomodate new vector stores (#366) 2023-05-27 14:10:54 -03:00
Gabriel Luiz Freitas Almeida
c224608601
🔨 refactor(base.py): refactor FrontendNode.format_field() method to improve readability and maintainability (#363) 2023-05-27 14:10:38 -03:00
Cristhian Zanforlin Lousa
12ca5c9b88 first version of generic modal 2023-05-27 13:37:22 -03:00
Gabriel Almeida
9e6c4f8d57 🔧 chore(CONTRIBUTING.md): reorganize and clarify instructions for local development
The commit reorganizes the instructions for local development in CONTRIBUTING.md to make them clearer and more concise. It also adds a section on setting up pre-commit hooks to ensure consistent code formatting. Additionally, it updates the instructions for running the backend and frontend to use the `make` command for consistency and ease of use.
2023-05-27 13:09:17 -03:00
Gabriel Almeida
a7749323e4 🔧 chore(frontend): add prettier formatting script to package.json
The `format` script has been added to the `package.json` file in the `frontend` directory. This script uses `prettier` to format all files with the extensions `.js`, `.jsx`, `.ts`, `.tsx`, `.json`, and `.md` in the `src` directory. This ensures that the codebase is consistent and follows a standard formatting style.
2023-05-27 13:03:25 -03:00
Gabriel Almeida
47f440066f 🔥 chore(Makefile): remove pre-push hook installation
The pre-push hook installation command was removed from the Makefile. This was done to avoid conflicts with other hooks that may be installed in the future.
2023-05-27 13:01:58 -03:00
Gabriel Almeida
276a06976d Formatting 2023-05-27 13:01:20 -03:00
Gabriel Almeida
a096e83474 🚀 chore(lint.yml): rename job from 'build' to 'lint' for clarity
The job was renamed from 'build' to 'lint' to better reflect its purpose of running linters and code quality checks.
2023-05-27 13:00:28 -03:00
Gabriel Almeida
d5f2d83511 🚀 feat(githooks, Makefile): add pre-commit hook to run 'make format' before committing
🔧 chore(Makefile): add 'init' target to install pre-commit hooks
The pre-commit hook is added to run 'make format' before committing. This ensures that the code is formatted correctly before it is committed. The Makefile is updated to include an 'init' target that installs the pre-commit hooks.
2023-05-27 12:59:44 -03:00
Gabriel Almeida
de0a581031 🔥 refactor(nodes.py): remove unused import of deepcopy
🔥 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.
2023-05-27 12:14:50 -03:00
Gabriel Almeida
9cb52994ad 🔧 chore(langflow): add Weaviate to vectorstores and add TODO comment to fix Weaviate integration
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.
2023-05-27 11:03:06 -03:00
Gabriel Almeida
297c518c3b Merge remote-tracking branch 'origin/dev' into new_vec_stores 2023-05-27 09:43:13 -03:00
Gabriel Almeida
e3983da487 🔍 chore(.gitignore): add qdrant_storage to ignore list
🆕 feat(.vscode/launch.json): add launch configuration for FastAPI app
The qdrant_storage directory is now added to the ignore list to prevent it from being tracked by git. A new launch configuration for FastAPI app is added to the .vscode/launch.json file. This configuration allows for debugging the app with uvicorn and sets the port to 7860, reloads the app on changes, and sets the log level to debug.
2023-05-27 09:41:35 -03:00
Gabriel Almeida
194e581417 🚀 feat(pyproject.toml): add weaviate-client dependency to enable integration with Weaviate
The weaviate-client package has been added as a dependency to the project to enable integration with Weaviate. This will allow the application to communicate with Weaviate and perform operations such as adding and retrieving data.
2023-05-27 09:40:55 -03:00
Gabriel Almeida
b42b4e5868 Merge remote-tracking branch 'origin/main' into dev 2023-05-27 09:38:52 -03:00
Gabriel Almeida
56da636915 🔨 refactor(nodes.py): extract common field attributes to variables and set them accordingly
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
2023-05-26 23:09:56 -03:00
Gabriel Luiz Freitas Almeida
6f94fa60bc
Refactor Vector stores creator to help implementing others (#365) 2023-05-26 22:50:26 -03:00
Gabriel Luiz Freitas Almeida
12c23408e0
Merge branch 'dev' into 335-implement-docarray-vectorstore 2023-05-26 22:50:16 -03:00
Gabriel Almeida
29245d18e2 🔥 chore(pyproject.toml): remove gptcache dependency
The gptcache dependency is no longer needed and has been removed from the project.
2023-05-26 22:45:57 -03:00
Gabriel Luiz Freitas Almeida
ee041f4d91
fix crash when upload large file, not saving files on browser storage (#362) 2023-05-26 22:38:15 -03:00
Gabriel Almeida
e10a21f824 🐛 fix(langflow): add type ignore to node variable in LangChainTypeCreator
🐛 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.
2023-05-26 22:34:53 -03:00
Gabriel Almeida
bd9d90786a 🔥 chore(base.py): remove unused process_field method from TemplateFieldCreator
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.
2023-05-26 22:29:52 -03:00