Commit graph

4,874 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
44bd6e4787 🔥 refactor(process.py): remove unused clear_caches_if_needed function
🔀 refactor(process.py): refactor process_graph_cached function to use Result dataclass for return type and remove unused code
2023-09-05 15:34:56 -03:00
Gabriel Luiz Freitas Almeida
d13f0e77df 🔧 chore(utils.py): remove unused imports and classes
🔥 refactor(utils.py): remove unused Memoize class and its methods
2023-09-05 15:34:45 -03:00
Gabriel Luiz Freitas Almeida
ba9d57fa78 🔥 refactor(chat/manager.py): remove unused imports and code
🚀 feat(chat/manager.py): add import for pil_to_base64 function to support image encoding in chat messages
2023-09-05 15:34:35 -03:00
Gabriel Luiz Freitas Almeida
e74fc00442 🔧 chore(base.py): add Redis configuration options to base settings for better flexibility and customization 2023-09-05 15:34:20 -03:00
Gabriel Luiz Freitas Almeida
a6322461c0 🐛 fix(api_key/crud.py): fix variable name conflict in update_total_uses function to prevent overwriting the api_key parameter
🔒 chore(api_key/crud.py): add error handling to update_total_uses function to raise ValueError if API Key is not found
2023-09-05 15:34:08 -03:00
Gabriel Luiz Freitas Almeida
9721e9d6cf 🐛 fix(manager.py): add validation to check if task function has an apply method before calling it
 feat(manager.py): change return type of launch_task method to Any to allow for more flexibility in return values
2023-09-05 15:33:43 -03:00
Gabriel Luiz Freitas Almeida
779c021d78 🐛 fix(anyio.py): change return type annotation of result() method from 'any' to 'Any' for better type hinting
🐛 fix(anyio.py): change parameter type annotation of get_task() method from 'int' to 'str' to match the actual type of task_id
2023-09-05 15:33:31 -03:00
Gabriel Luiz Freitas Almeida
8a47fb75cb 🔨 refactor(base.py): remove unnecessary type hinting for task_id parameter in get_task method
🔨 refactor(base.py): remove unnecessary return type hinting for launch_task method
2023-09-05 15:33:11 -03:00
Gabriel Luiz Freitas Almeida
e50704a49f 🐛 fix(celery.py): fix type hinting error for AsyncResult import
🔒 chore(celery.py): add check for delay method existence in launch_task to prevent errors
🔒 chore(celery.py): change get_task return type hint to Any to match actual return type
2023-09-05 15:32:54 -03:00
Gabriel Luiz Freitas Almeida
18af716290 🐛 fix(chat.py): update variable name from in_memory_cache to cache_manager for better clarity and consistency 2023-09-05 14:54:03 -03:00
Gabriel Luiz Freitas Almeida
7a63b5635d 🔥 refactor(run.py): remove unused imports and commented out code in run.py
🔥 refactor(test_cache.py): remove unused imports and commented out code in test_cache.py
2023-09-05 14:53:38 -03:00
Gabriel Luiz Freitas Almeida
00290d0f9e 🔧 fix(test_endpoints.py): remove unused imports and refactor test_basic_chat_with_two_session_ids_and_names to use a loop for better readability and maintainability
 feat(test_endpoints.py): add test_basic_chat_with_two_session_ids_and_names to test the functionality of handling multiple session IDs and names in the chat endpoint
2023-09-05 14:49:20 -03:00
Gabriel Luiz Freitas Almeida
9615523a8d 🔧 refactor(manager.py): simplify update_session and clear_session methods by removing unnecessary data_graph parameter 2023-09-05 14:49:10 -03:00
Gabriel Luiz Freitas Almeida
5903378503 🐛 fix(process.py): remove unnecessary else statement to improve code readability and semantics
🐛 fix(process.py): update session_manager.update_session() method signature to match the new implementation
🐛 fix(worker.py): update session_manager.update_session() method signature to match the new implementation
🐛 fix(test_process.py): update session_manager.build_key() and session_manager.clear_session() method calls to match the new implementation
2023-09-05 14:46:55 -03:00
Gabriel Luiz Freitas Almeida
141f57958b feat(tests): add __init__.py and utils.py files to tests directory for test setup and utility functions 2023-09-05 12:24:43 -03:00
Gabriel Luiz Freitas Almeida
5b6c732213 🔧 chore(manager.py): refactor load_session method to use a more descriptive variable name 'key' instead of 'session_id' for better readability
🔧 chore(manager.py): refactor generate_key method to use a separate build_key method for better separation of concerns
🔧 chore(manager.py): refactor update_session method to use the build_key method for better separation of concerns
🔧 chore(manager.py): refactor clear_session method to use the build_key method for better separation of concerns
🔧 chore(manager.py): add type hinting for cache_manager parameter in the __init__ method for better code clarity
2023-09-05 12:24:07 -03:00
Gabriel Luiz Freitas Almeida
8c8e26472d 🐛 fix(process.py): add missing else statement to properly assign session_id when not generating a new key 2023-09-05 12:23:33 -03:00
Gabriel Luiz Freitas Almeida
6309de1654 🚀 feat: add Basic Chat with Prompt and History (2) node
ℹ️ This commit adds a new node called "Basic Chat with Prompt and History (2)" to the chat application. This node is responsible for creating a simple chat interface with a custom prompt template and a conversational memory buffer.

The node configuration includes various properties such as callbacks, cache, client, max_retries, max_tokens, metadata, model_kwargs, model_name, n, openai_api_base, openai_api_key, openai_organization, openai_proxy, and more.

This new node enhances the chat functionality by providing a more interactive and dynamic chat experience for users.

📝 chore(tests): add BasicChatwithPromptandHistory.json test data file for testing purposes

🔧 fix(test_endpoints.py): remove unused imports and trailing whitespace
 test(test_endpoints.py): add test for basic chat in process endpoint to verify correct response and session_id generation
 test(test_endpoints.py): add test for basic chat with different session_ids to verify correct response
 test(test_endpoints.py): add test for basic chat with two session_ids and names to verify correct response
2023-09-05 11:55:53 -03:00
Gabriel Luiz Freitas Almeida
a61b2bbe1d 🔧 chore(conftest.py): import orjson library for JSON handling
🔧 chore(conftest.py): add pytest fixture for loading JSON flow with prompt and history
🔧 chore(conftest.py): add pytest fixture for adding a flow with prompt and history to the database
2023-09-05 11:55:39 -03:00
Gabriel Luiz Freitas Almeida
c68b9e39c7 🚀 feat(session): add session_id_generator utility function to generate a random session ID
🐛 fix(session): generate a 5 character session ID if session_id is None to ensure a unique key is created
2023-09-05 11:55:19 -03:00
Gabriel Luiz Freitas Almeida
e1800ff682 🔧 chore(api_key/crud.py): remove unused imports and variables for cleaner code
🐛 fix(api_key/crud.py): update_total_uses function now uses the same session as the caller to avoid thread safety issues
2023-09-05 11:54:53 -03:00
Gabriel Luiz Freitas Almeida
a6e9cce02f 🐛 fix(process.py): fix session_id assignment logic to ensure it is generated if not provided 2023-09-05 11:53:54 -03:00
Gabriel Luiz Freitas Almeida
f7e5a3d422 🔧 chore(test.yml): update POETRY_VERSION environment variable to "1.5.0" to use the latest version of Poetry
🔒 chore(test.yml): add OPENAI_API_KEY environment variable to securely store the OpenAI API key
2023-09-05 11:53:30 -03:00
Gabriel Luiz Freitas Almeida
f3d866f0b6 🐛 fix(test_endpoints.py): fix import statements and add missing import for crud module
 feat(test_endpoints.py): add mock function for update_total_uses to fix test_process_flow_invalid_api_key
 feat(test_endpoints.py): add mock function for update_total_uses to fix test_process_flow_without_autologin
 feat(test_endpoints.py): add mock function for update_total_uses to fix test_process_flow_fails_autologin_off
2023-09-05 09:34:57 -03:00
Gabriel Luiz Freitas Almeida
ae2e993680 🐛 fix(manager.py): fix import statement to include Dict in typing module
 feat(manager.py): refactor check_table method in DatabaseManager class to use list comprehension for improved readability and performance
2023-09-05 09:34:45 -03:00
Gabriel Luiz Freitas Almeida
2e09d53ced Merge remote-tracking branch 'origin/dev' into celery 2023-09-05 08:19:40 -03:00
Cristhian Zanforlin Lousa
e50b593681 🐛 fix(API/index.ts): handle potential undefined response object properties to prevent errors 2023-09-04 20:18:10 -03:00
Lucas Oliveira
5df8b11d9f Changed autocomplete to only fill when on form 2023-09-04 16:37:43 -03:00
anovazzi1
82368bbe76
Login enhancements (#847)
This pull request introduces a series of enhancements to our recently
revamped login page, streamlining the user experience. These changes
were meticulously designed and developed to ensure a seamless login
process for our users while adhering to the highest standards of
usability and privacy.
2023-09-04 16:20:18 -03:00
anovazzi1
2112f6152e Merge remote-tracking branch 'origin/dev' into login_improvements 2023-09-04 16:19:13 -03:00
Gabriel Luiz Freitas Almeida
4efab50916
Replace logging with loguru (#863) 2023-09-04 19:18:50 +00:00
Gabriel Luiz Freitas Almeida
e8846fc568
Merge branch 'dev' into implement_loguru 2023-09-04 19:17:21 +00:00
Gabriel Luiz Freitas Almeida
28b487dc33 🔧 fix(manager.py): change logger.warn to logger.warning for consistency and clarity
🔧 fix(logger.py): change log_file parameter type annotation to Optional[Path] to indicate that it is an optional argument
2023-09-04 16:15:41 -03:00
Gabriel Luiz Freitas Almeida
7e336bbee6 🐛 fix(logger.py): change log_level variable to uppercase to improve consistency and semantics 2023-09-04 16:13:01 -03:00
Gabriel Luiz Freitas Almeida
3c153c8b1b
Improves endpoint dependency usage (#862) 2023-09-04 19:06:31 +00:00
Gabriel Luiz Freitas Almeida
58c3e5e9dc refactor: replace loggers with loguru 2023-09-04 11:38:39 -03:00
Gabriel Luiz Freitas Almeida
87eb8b1a95 🔧 chore(logger.py): refactor logger configuration to use loguru library and improve log formatting 2023-09-04 11:35:22 -03:00
Gabriel Luiz Freitas Almeida
5f98f0bbd9 📦 chore(pyproject.toml): add loguru package as a dependency for improved logging capabilities 2023-09-04 11:34:38 -03:00
Gabriel Luiz Freitas Almeida
2ab3fcb28a 🐛 fix(base.py): set default value of frontend_node to None in ValidatePromptRequest class to avoid potential NoneType errors
🐛 fix(validate.py): set frontend_node to None instead of an empty dictionary in post_validate_prompt function to align with the default value in ValidatePromptRequest class
2023-09-04 10:04:21 -03:00
Gabriel Luiz Freitas Almeida
7cb1dbf226 🐛 fix(test_endpoints.py): change header key from 'api-key' to 'x-api-key' to align with API key header convention
 feat(test_endpoints.py): change mock_process_graph_cached function to be async and return a Result object instead of a tuple to improve code readability and maintainability
2023-09-04 09:56:27 -03:00
Gabriel Luiz Freitas Almeida
320bc96a7a 🔧 fix(schemas.py): add session_id field to ProcessResponse schema to support session-based processing
🔧 fix(process.py): add Result dataclass to encapsulate result and session_id for session-based processing

🔧 fix(manager.py): remove unused method clear_session in SessionManager
2023-09-04 09:56:17 -03:00
Gabriel Luiz Freitas Almeida
8d484eb046 feat(task backends): add support for AnyIO backend
📦 chore(task backends): add base class for task backends
📦 chore(task backends): add support for Celery backend
2023-09-04 09:38:07 -03:00
Gabriel Luiz Freitas Almeida
e303881155 🔧 fix(endpoints.py): import TaskManager from the correct module to fix import error
🔧 fix(endpoints.py): add missing import statement for TaskManager
🔧 fix(endpoints.py): add missing import statement for sync parameter
2023-09-04 09:37:18 -03:00
Gabriel Luiz Freitas Almeida
dc1a5c81a1
added missing backslashes to api key request definition and bugfix to migration script (#858) 2023-09-04 12:36:17 +00:00
root
b1c24054c6 added indent to index dropping on non-existing table 2023-09-04 11:41:34 +00:00
Gabriel Luiz Freitas Almeida
53c5a3ccde 🐛 fix(base.py): make frontend_node field in PromptValidationResponse optional to handle cases where it is not provided 2023-09-04 07:05:10 -03:00
Gabriel Luiz Freitas Almeida
833fb4ad8f 🔀 chore(utils.py): add type hint for get_session() function to indicate it returns a generator instead of a Session object 2023-09-04 07:01:05 -03:00
Gabriel Luiz Freitas Almeida
43864904ef 🔧 chore(Makefile): update mypy command to only check files in src/backend/langflow directory to improve performance and reduce noise in the output 2023-09-04 07:00:38 -03:00
Gabriel Luiz Freitas Almeida
37ebbf4e65 Formatting 2023-09-04 06:42:41 -03:00
Gabriel Luiz Freitas Almeida
84a0d3acb3 🔧 fix(chat.py): remove unused imports and type hints to improve code readability
 feat(chat.py): add dependency injection for ChatManager in chat and init_build routes to improve modularity and testability
🔧 fix(chat.py): remove duplicate instantiation of ChatManager in chat and init_build routes to improve efficiency
🔧 fix(chat.py): remove duplicate instantiation of ChatManager in stream_build route to improve efficiency
🔧 fix(utils.py): add missing import for ChatManager in get_chat_manager function
2023-09-04 06:42:01 -03:00