Commit graph

2,366 commits

Author SHA1 Message Date
Cristhian Zanforlin Lousa
eac1f7c922 Merge fix with dev 2023-06-23 18:06:51 -03:00
Cristhian Zanforlin Lousa
facfe6ac57 Merge branch 'dev' of https://github.com/logspace-ai/langflow into dev 2023-06-23 18:03:17 -03:00
Cristhian Zanforlin Lousa
c788d4c200 🐛 fix(extraSidebarComponent): fix key prop in DisclosureComponent and TooltipComponent to use unique values 2023-06-23 18:02:07 -03:00
anovazzi1
46b247d1a1
Remove unnecessary text-sm class from message sender name to improve readability (#531)
🐛 fix(chatMessage): remove unnecessary text-sm class from message sender
name to improve readability
2023-06-23 17:53:38 -03:00
Gabriel Luiz Freitas Almeida
363e6459cb 🚀 feat(documentloaders.py): add SlackDirectoryLoader to the list of document loaders
The SlackDirectoryLoader is added to the list of document loaders in the DocumentLoaderFrontNode class. This allows users to load zip files from Slack into the application.
2023-06-23 17:52:59 -03:00
anovazzi1
247e911620 Merge branch 'dev' of personal:logspace-ai/langflow into dev 2023-06-23 17:30:09 -03:00
anovazzi1
49bbb41e98 feat(frontend): add size="small" to ModalField input to improve UI consistency
feat(frontend): add save function to TabsContext to enable saving of changes made to tabs
fix(frontend): add save function to TabsContext in ParameterComponent to enable saving of changes made to tabs
2023-06-23 17:29:26 -03:00
anovazzi1
fc17bc541b refactor(dropdownComponent): add useEffect hook to update internalValue when value prop changes to avoid stale data 2023-06-23 17:28:33 -03:00
Gabriel Luiz Freitas Almeida
3940c0959d
Gitloader (#533)
Added GitLoader
2023-06-23 20:24:24 +00:00
anovazzi1
d06e8aa517 refactor(extraSidebarComponent): change ShadTooltip content to display the display_name property of data object instead of the key name to improve readability and user experience 2023-06-23 17:11:08 -03:00
anovazzi1
07125b8c8c Merge branch 'dev' of personal:logspace-ai/langflow into dev 2023-06-23 17:09:22 -03:00
anovazzi1
9bee33fa18 refactor(extraSidebarComponent): change variable name 't' to 'displayName' for better readability and clarity of code 2023-06-23 17:09:12 -03:00
Gabriel Luiz Freitas Almeida
8325caa76e 🔺 chore(pyproject.toml): update langchain dependency from 0.0.209 to 0.0.211
This commit updates the langchain dependency from version 0.0.209 to version 0.0.211. This is a minor version update that includes bug fixes and performance improvements.
2023-06-23 17:07:50 -03:00
anovazzi1
019e2b2bb4 refactor(GenericNode): change data.type to data.node.display_name to improve semantics and readability
feat(api): add display_name field to APIClassType to provide a human-readable name for the class
2023-06-23 17:06:58 -03:00
Gabriel Luiz Freitas Almeida
d9ec262752 formatting 2023-06-23 16:51:54 -03:00
Gabriel Luiz Freitas Almeida
0bab7ae714 🚀 feat(documentloaders.py): add fields to GitLoader template to support repository path, clone URL, branch, and file filter
The GitLoader template now has four new fields: repo_path, clone_url, branch, and file_filter. These fields allow the user to specify the repository path, clone URL, branch, and file extensions to be loaded. This improves the flexibility of the GitLoader template and allows it to be used in a wider range of scenarios. Additionally, a minor change was made to the add_extra_fields method to ensure that the field.show attribute is set to True for all fields.
2023-06-23 16:50:22 -03:00
Gabriel Luiz Freitas Almeida
15ac75ecc5 🔨 refactor(loading.py): add support for filtering files by extension in document loader
The `instantiate_documentloader` function now supports filtering files by extension using a `file_filter` parameter. The parameter is a string of comma-separated extensions, and the function now converts it into a lambda function that filters files based on whether their name contains any of the specified extensions. This improves the flexibility of the document loader by allowing it to load only specific types of files.
2023-06-23 16:50:11 -03:00
Gabriel Luiz Freitas Almeida
96bab94b14 🔥 chore(chains.py): remove unnecessary commented line
The commented line is not needed and can be safely removed.
2023-06-23 16:13:16 -03:00
Gabriel Luiz Freitas Almeida
a0b81f6227
Upload File Endpoint / Better VectorStore Implementation (#525) 2023-06-23 19:09:26 +00:00
Gabriel Luiz Freitas Almeida
02c6d77b64 🐛 fix(base.py): sort fields alphabetically before sorting by DIRECT_TYPES
The fields in the Template class were previously sorted by DIRECT_TYPES, which caused issues when fields had the same field_type. Sorting alphabetically first ensures that fields are sorted in a consistent manner before sorting by DIRECT_TYPES.
2023-06-23 15:53:48 -03:00
Gabriel Luiz Freitas Almeida
d9fa17189e 🎨 style(MongoDB icon): rename SlackSVG to MongoDBSVG for better naming
The SlackSVG component was renamed to MongoDBSVG to better reflect the actual icon being used. This improves the naming consistency and makes the code more readable.
2023-06-23 15:33:10 -03:00
Gabriel Luiz Freitas Almeida
99121d95c1 🔀 refactor(loading.py): use dictionary to initialize vector stores
The `instantiate_vectorstore` function now uses a dictionary to initialize vector stores instead of a series of if-else statements. This improves the readability and maintainability of the code. A new dictionary `vecstore_initializer` is added to `vector_store.py` to map the class names of vector stores to their respective initialization functions.
2023-06-23 14:32:15 -03:00
Gabriel Luiz Freitas Almeida
19bd687b3f 📦 chore(pyproject.toml): add certifi package to dev dependencies
The certifi package is added to the dev dependencies to ensure that the package is available during development. This package provides Mozilla's carefully curated collection of Root Certificates for validating the trustworthiness of SSL certificates while making HTTPS requests.
2023-06-23 13:20:28 -03:00
Gabriel Luiz Freitas Almeida
fb7bcb50e5 🚀 feat(loading.py): add support for MongoDBAtlasVectorSearch vector store
The `instantiate_vectorstore` function now supports the `MongoDBAtlasVectorSearch` vector store. This allows for the use of MongoDB Atlas as a vector store for Langflow. The `search_kwargs` parameter is now supported for all vector stores that have a `as_retriever` method. This allows for the configuration of the vector store's search parameters.
2023-06-23 13:20:02 -03:00
Gabriel Luiz Freitas Almeida
ea0231025f feat(vectorstores.py): add support for index_name parameter in MongoDBAtlasVectorSearch template
The hardcoded values for db_name, collection_name, and index_name have been removed from the initialize_mongodb function and are now required parameters. This makes the function more flexible and allows it to be used with different databases and collections. The support for the index_name parameter has been added to the MongoDBAtlasVectorSearch template in vectorstores.py, which allows the user to specify the name of the index to be used in the search.
🐛 fix(vector_store.py): remove hardcoded values for db_name, collection_name, and index_name and make them required parameters
2023-06-23 13:19:30 -03:00
Gabriel Luiz Freitas Almeida
81fb84b081 🎨 style(MongoDBIcon): add MongoDBIcon component to frontend app
The MongoDBIcon component was added to the frontend app to be used as an icon for MongoDB Atlas Vector Search. The icon was added as an SVG file and imported as a React component. The component was then added to the nodeIcons object in the utils.ts file.
2023-06-23 13:18:52 -03:00
Gabriel Luiz Freitas Almeida
086ed52923 📦 chore(pyproject.toml): add pymongo dependency to dev dependencies
The pymongo package is added to the dev dependencies section of the pyproject.toml file. This package is required for development purposes.
2023-06-23 12:38:22 -03:00
Gabriel Luiz Freitas Almeida
4cc2fae52b 🚀 feat(langflow): add support for MongoDB Atlas Vector Search in vectorstores
 feat(langflow): add support for search_kwargs field in VectorStoreFrontendNode
The changes add support for MongoDB Atlas Vector Search in the vectorstores. The `MongoDBAtlasVectorSearch` class is now imported and initialized in `vector_store.py`. The `initialize_mongodb` function is added to initialize the MongoDB Atlas Vector Search class. The `VectorStoreFrontendNode` class is updated to add the `mongodb_atlas_cluster_uri`, `collection_name`, and `db_name` fields. The `search_kwargs` field is also added to the `VectorStoreFrontendNode` class to allow users to pass additional search parameters to the vector store.
2023-06-23 12:38:02 -03:00
Gabriel Luiz Freitas Almeida
dc0a772635 🚚 chore(endpoints.py): reorder endpoints to keep backwards compatibility
The `/predict/{flow_id}` endpoint was moved above the `/process/{flow_id}` endpoint to maintain backwards compatibility with existing clients.
2023-06-23 12:36:46 -03:00
Gabriel Luiz Freitas Almeida
bcb80a08b2 🐛 fix(loading.py): remove unnecessary type hinting for allowed_tools variable
The type hinting for allowed_tools variable is unnecessary as it is already defined in the previous line. Removing the type hinting improves the readability of the code.
2023-06-23 11:04:03 -03:00
Gabriel Luiz Freitas Almeida
4451e7e777 🔒 chore(pyproject.toml): update fastapi dependency to version 0.98.0
FastAPI dependency has been updated to version 0.98.0 to ensure that the application is using the latest version of the framework.
2023-06-23 10:57:36 -03:00
Gabriel Luiz Freitas Almeida
0645693069 🐛 fix(utils.ts): simplify ternary operator in validateNode function
The ternary operator in the validateNode function was simplified by removing the unnecessary if statement. The code is now more concise and easier to read.
2023-06-23 10:54:34 -03:00
Gabriel Luiz Freitas Almeida
d4559c1356 test(test_template.py): add assertion to check if result is not None
The test now includes an assertion to check if the result of the function call is not None. This ensures that the function is returning a value and that the test is checking the correct output.
2023-06-23 10:53:53 -03:00
Gabriel Luiz Freitas Almeida
c191d893ca test(test_template.py): add assertions to test_build_template_from_function
Added assertions to test_build_template_from_function to ensure that the returned result is not None and that the expected keys are present in the result. This improves the reliability of the test and ensures that the function is working as expected.
2023-06-23 10:52:55 -03:00
Gabriel Luiz Freitas Almeida
8cd8449034 🔥 refactor(inputFileComponent): remove unused import of RadialProgressComponent
The import of RadialProgressComponent was removed as it was not being used in the component.
2023-06-23 10:51:59 -03:00
Gabriel Luiz Freitas Almeida
713d2f19e5 🔨 refactor(utils.ts): simplify snakeToSpaces function
🔨 refactor(utils.ts): simplify getConnectedNodes function
🔨 refactor(utils.ts): remove unused variable in groupByFamily function
The snakeToSpaces function has been simplified by removing the unnecessary variable declaration. The getConnectedNodes function has been simplified by removing the unnecessary variable declaration and returning the result directly. The groupedObj variable in the groupByFamily function is no longer used, so it has been removed.
2023-06-23 10:51:29 -03:00
Gabriel Luiz Freitas Almeida
fb25744714 🔥 refactor(loading.py): remove unused imports and functions
The imports and functions that were not being used were removed to improve the code's readability and maintainability.
2023-06-23 10:51:09 -03:00
Gabriel Luiz Freitas Almeida
6c08340aff 🚀 feat(vectorstores.py): add display name for SupabaseVectorStore
The display name for the SupabaseVectorStore is now set to "Supabase". This improves the user experience by providing a more descriptive name for the vector store.
2023-06-23 10:50:37 -03:00
Gabriel Luiz Freitas Almeida
a0f48b1d12 🐛 fix(test_graph.py): add assertion to check if root node is not None
The test_build_params function was failing when the root node was None. This commit adds an assertion to check if the root node is not None before proceeding with the other assertions.
2023-06-23 10:44:23 -03:00
Gabriel Luiz Freitas Almeida
cc8e5e3106 🚀 feat(tests): update default values for OpenAI models in chat and text fields
The default value for the OpenAI model in the chat field has been updated to "gpt-3.5-turbo-0613" to reflect the latest version of the model. The default value for the OpenAI model in the text field has been updated to "text-davinci-003" to reflect the latest version of the model. This ensures that the tests are using the latest and most accurate models for OpenAI.
2023-06-23 09:19:25 -03:00
Gabriel Luiz Freitas Almeida
f2230a6d70 🚚 chore(base.py): move DIRECT_TYPES import to utils.constants
The DIRECT_TYPES import has been moved to the utils.constants module to improve the organization of the code.
2023-06-23 09:13:38 -03:00
Gabriel Luiz Freitas Almeida
a23c53dd14 🚀 feat(base.py): add sorting of fields based on DIRECT_TYPES
The `sort_fields` method has been added to the `Template` class to sort fields based on the `DIRECT_TYPES` constant. Fields that have a `field_type` in `DIRECT_TYPES` are sorted first, followed by the remaining fields. This ensures that fields that have a direct type are processed first, which is important for the correct functioning of the template.
2023-06-23 09:13:22 -03:00
Gabriel Luiz Freitas Almeida
9f00421d64 🔥 chore(constants.py): remove DIRECT_TYPES constant from vertex and graph modules
The DIRECT_TYPES constant was removed from the vertex and graph modules as it is now defined in the utils module. This change improves code organization and reduces duplication.
2023-06-23 09:13:09 -03:00
Gabriel Luiz Freitas Almeida
c0a8d15dc2 🐛 fix(util.py): set default value for model_name in format_dict function
The format_dict function was updated to set a default value for the model_name key in the value dictionary for the OpenAI, ChatOpenAI, and Anthropic models. This ensures that the model_name key always has a value, even if the options list is empty.
2023-06-23 09:12:53 -03:00
Gabriel Luiz Freitas Almeida
a05a9202e8 🐛 fix(chains.py): set required=True for TemplateField 'memory'
 feat(chains.py): add TemplateField 'chain_type' to support different types of QA chains
The 'memory' field was previously set to required=False, but it is actually required for the chain to function properly. This fix sets required=True for the 'memory' field.

A new TemplateField 'chain_type' has been added to support different types of QA chains. This field is of type 'str', is required, and is a list of options. It allows the user to select the type of QA chain they want to use.
2023-06-23 09:04:35 -03:00
Gabriel Luiz Freitas Almeida
c686ed01ca 🐛 fix(memories.py): set advanced field to False for input_key and output_key fields
The advanced field was set to True for input_key and output_key fields, which made them appear in the advanced section of the UI. This was not intended, so the advanced field is now set to False for these fields.
2023-06-23 09:04:21 -03:00
Gabriel Luiz Freitas Almeida
508c66cbaa 🐛 fix(endpoints.py): make inputs and tweaks optional in process_flow endpoint
🐛 fix(process.py): make inputs optional in process_graph_cached function
The inputs and tweaks parameters in the process_flow endpoint are now optional, which allows for more flexibility in the API. The inputs parameter in the process_graph_cached function is now optional, which prevents a ValueError from being raised when a Chain object is processed without inputs.
2023-06-23 08:40:43 -03:00
Gabriel Luiz Freitas Almeida
fed726b727 🚀 feat(memories.py): set default value for memory_key field to "chat_history"
The memory_key field is now set to "chat_history" by default. This change ensures that the memory_key field is always initialized with a default value, which is useful for the application's functionality.
2023-06-23 08:14:26 -03:00
Gabriel Luiz Freitas Almeida
4dec5db45e 🔨 refactor(frontend): remove unnecessary empty object destructuring in LoadingSpinner component
🔨 refactor(frontend): simplify conditional rendering in InputFileComponent component
🔨 refactor(frontend): simplify arrow function in SupabaseIcon component
The empty object destructuring in the LoadingSpinner component is unnecessary and can be removed. The conditional rendering in the InputFileComponent component can be simplified by removing unnecessary parentheses. The arrow function in the SupabaseIcon component can be simplified by removing unnecessary parentheses.
2023-06-22 22:57:00 -03:00
Gabriel Luiz Freitas Almeida
1c80135551 📦 chore(pyproject.toml): add types-appdirs package to poetry dependencies
The types-appdirs package was added to the poetry dependencies to provide type hints for the appdirs package. This improves the codebase's maintainability and readability by providing better type checking and documentation.
2023-06-22 22:56:38 -03:00