Commit graph

237 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
43fc6add04 🐛 fix(conftest.py): fix typo in file name BasicChatWithPromptAndHistory.json to improve consistency and readability 2023-09-16 11:15:07 -03:00
Gabriel Luiz Freitas Almeida
8987c6d969 🐛 fix(test_agents_template.py): fix incorrect variable name in test_zero_shot_agent function
🐛 fix(test_endpoints.py): add missing pytest.mark.async_test decorator to test_async_task_processing function
2023-09-16 00:05:03 -03:00
Gabriel Luiz Freitas Almeida
fa1ebea378 🐛 fix(process.py): remove unnecessary session_id parameter in build_sorted_vertices function calls
🐛 fix(endpoints.py): remove unused import and type hinting to improve code readability and maintainability
🐛 fix(endpoints.py): fix incorrect import statement for TaskService
🐛 fix(endpoints.py): fix incorrect return value for get_task_status function
 feat(endpoints.py): add test case for async task processing to validate task completion and result
2023-09-15 18:16:25 -03:00
Gabriel Luiz Freitas Almeida
651595932c Change all Services names from Manager to Service 2023-09-15 17:41:39 -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
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
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
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
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
b6fa053291 🐛 fix(locustfile.py): update host URL to include correct port number
 feat(locustfile.py): add x-api-key header to requests for authentication
🐛 fix(locustfile.py): provide default value for FLOW_ID environment variable to prevent errors
2023-09-01 17:21:26 -03:00
Gabriel Luiz Freitas Almeida
5c258d08f0 Merge remote-tracking branch 'origin/dev' into celery 2023-09-01 15:24:07 -03:00
Gabriel Luiz Freitas Almeida
269cb9bc53 🐛 fix(__main__.py): pass the session as a keyword argument 'db' to the create_super_user function for clarity and consistency
🐛 fix(test_user.py): pass the session as a keyword argument 'db' to the create_super_user function for clarity and consistency
2023-08-31 11:16:39 -03:00
Gabriel Luiz Freitas Almeida
d8c7450576 🔧 chore(test_user.py): refactor super_user fixture to use auth settings from settings manager for username and password
🔧 chore(test_user.py): refactor super_user fixture to use auth settings from settings manager for username and password in create_super_user function call
2023-08-31 10:55:04 -03:00
Gabriel Luiz Freitas Almeida
137954de6b 🐛 fix(__main__.py): rename serve command to run command for better semantics and clarity
🔧 chore(test_cli.py): update test to use the new run command instead of serve command
 feat(test_cli.py): add test for creating a superuser with the superuser command
2023-08-28 15:47:57 -03:00
Gabriel Luiz Freitas Almeida
1c498e78df 🐛 fix(test_cli.py): update CLI command in test_components_path to use 'serve' subcommand for better clarity and consistency
🐛 fix(test_llms_template.py): update description of `model` to use backticks and remove unnecessary comment
2023-08-28 11:16:37 -03:00
Gabriel Luiz Freitas Almeida
ea4cd294c1 🔧 fix(test_endpoints.py): fix typo in function name 'created_api_key' to 'create_api_key' for consistency
 feat(test_endpoints.py): add test case for handling invalid API key in 'test_process_flow_invalid_api_key' function
 feat(test_endpoints.py): add test case for handling invalid flow ID in 'test_process_flow_invalid_id' function
 feat(test_endpoints.py): add test case for handling flow not found in 'test_process_flow_invalid_id' function
 feat(test_endpoints.py): add test case for testing process flow without autologin in 'test_process_flow_without_autologin' function
2023-08-27 19:16:39 -03:00
Gabriel Luiz Freitas Almeida
ed06c3b4d9 🐛 fix(conftest.py): import missing Flow model in tests/conftest.py to fix NameError
 feat(conftest.py): add fixture 'flow' to create a test flow in tests/conftest.py
🐛 fix(test_endpoints.py): import missing get_settings_manager function in tests/test_endpoints.py to fix NameError
 feat(test_endpoints.py): add test case 'test_process_flow_without_autologin' to test flow processing without auto login
🐛 fix(test_endpoints.py): fix incorrect endpoint URL in test case 'test_process_flow_without_autologin' in tests/test_endpoints.py
 feat(test_endpoints.py): add test case 'test_process_flow_fails_autologin_off' to test flow processing failure when auto login is off
2023-08-26 17:38:21 -03:00
Gabriel Luiz Freitas Almeida
282e6b0c18 🐛 fix(endpoints.py): import validate_api_key function from auth.utils to fix missing dependency
 feat(endpoints.py): add validation of API key in process_flow endpoint to ensure only valid requests are processed
🔧 chore(utils.py): add validate_api_key function to validate API key against database
🔧 chore(test_endpoints.py): add test case for process_flow endpoint to test API key validation and processing
2023-08-25 20:03:15 -03:00
Gabriel Luiz Freitas Almeida
4e1710bcc7 🐛 fix(chat.py): add missing import statement for Query from fastapi
🐛 fix(chat.py): add missing import statement for Session from sqlmodel
🐛 fix(chat.py): add missing import statement for get_session from langflow.services.utils
🐛 fix(chat.py): add missing import statement for get_current_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_active_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for WebSocket from fastapi
🐛 fix(chat.py): add missing import statement for WebSocketException from fastapi
🐛 fix(chat.py): add missing import statement for status from fastapi
🐛 fix(chat.py): add missing import statement for APIRouter from fastapi
🐛 fix(chat.py): add missing import statement for Depends from fastapi
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_active_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for get_current_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for get_session from langflow.services.utils
🐛 fix(chat.py): add missing import statement for Session from sqlmodel
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_user from langflow
2023-08-25 17:01:32 -03:00
Gabriel Luiz Freitas Almeida
812864eded 🔧 fix(test_agents_template.py): update test functions to include logged_in_headers parameter to test authenticated requests
🔧 fix(test_chains_template.py): update test functions to include logged_in_headers parameter to test authenticated requests
🔧 fix(test_endpoints.py): update test_get_all function to include logged_in_headers parameter to test authenticated requests
🔧 fix(test_llms_template.py): update test functions to include logged_in_headers parameter to test authenticated requests
🔧 fix(test_prompts_template.py): update test functions to include logged_in_headers parameter to test authenticated requests
🔧 fix(test_vectorstore_template.py): update test functions to include logged_in_headers parameter to test authenticated requests
2023-08-25 16:30:01 -03:00
Gabriel Luiz Freitas Almeida
1364fa0e0f 🔧 chore(conftest.py): change scope of client fixture to module and add autouse=True to ensure it is automatically used by all tests in the module 2023-08-25 16:29:51 -03:00
Gabriel Luiz Freitas Almeida
1a50bcd183 🐛 fix(base.py): change return type of generator_build method to Generator[Vertex, None, None] for better type hinting and clarity
🐛 fix(base.py): add optional user_id parameter to _build and _build_list_of_nodes_and_update_params methods in Vertex class to support building with user-specific data
🐛 fix(base.py): add optional user_id parameter to _get_and_instantiate_class method in Vertex class to support building with user-specific data
🐛 fix(custom_component.py): add user_id attribute to CustomComponent class to store the user ID associated with the component
🐛 fix(custom_component.py): add user_id parameter to list_flows method in CustomComponent class to filter flows by user ID
🐛 fix(custom_component.py): add user_id parameter to get_flow method in CustomComponent class to filter flows by user ID
🐛 fix(conftest.py): add client parameter to active_user fixture in tests to fix missing dependency error
2023-08-25 15:26:21 -03:00
Gabriel Luiz Freitas Almeida
c268b2be17 🔥 refactor(models): remove Token model and references to it to simplify the codebase and remove unused code
🔥 refactor(test_custom_component.py): remove unused fixture and imports to clean up the test file
🔧 chore(test_custom_component.py): update component fixture to include user_id parameter for testing purposes
2023-08-25 15:26:20 -03:00
Gabriel Luiz Freitas Almeida
3b2bfd06cc 🔧 fix(test_database.py): fix test_create_flow function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_read_flows function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_read_flow function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_update_flow function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_delete_flow function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_create_flows function signature to include logged_in_headers parameter
🔧 fix(test_database.py): fix test_upload_file function signature to include logged_in_headers parameter
🔧 fix(test_database.py): fix test_download_file function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_create_flow_with_invalid_data function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_get_nonexistent_flow function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_update_flow_idempotency function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_update_nonexistent_flow function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_delete_nonexistent_flow function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_read_empty_flows function signature to include active_user and logged_in_headers parameters
2023-08-25 12:49:57 -03:00
Gabriel Luiz Freitas Almeida
16695c8241
Merge branch 'login' into authentication 2023-08-25 15:23:22 +00:00
Gabriel Luiz Freitas Almeida
950b9d179b 🔥 refactor(user/utils.py): remove unused code and imports from user/utils.py module
 feat(test_api_key.py): add tests for API key creation, retrieval, and deletion
 feat(test_user.py): remove unused fixtures and imports from test_user.py module
2023-08-25 12:05:54 -03:00
Gabriel Luiz Freitas Almeida
fc93e4ced0 🔀 chore(test_database.py): update import statement for Session from sqlalchemy.orm to sqlmodel to match the library being used 2023-08-25 10:24:33 -03:00
Gabriel Luiz Freitas Almeida
8411922a07 feat(test_user.py): add tests for user-related functionalities
🐛 fix(test_user.py): fix typo in test_user_waiting_for_approval function name
🐛 fix(test_user.py): fix typo in test_deactivated_user_cannot_access function name
🐛 fix(test_user.py): fix typo in test_data_consistency_after_update function name
🐛 fix(test_user.py): fix typo in test_data_consistency_after_delete function name
🐛 fix(test_user.py): fix typo in test_inactive_user function name
🐛 fix(test_user.py): fix typo in test_normal_user_cant_read_all_users function name
🐛 fix(test_user.py): fix typo in test_patch_user_wrong_id function name
🐛 fix(test_user.py): fix typo in test_delete_user_wrong_id function name
🐛 fix(test_user.py): fix typo in test_normal_user_cant_delete_user function name
 feat(test_user.py): add test_add_super_user_for_testing_purposes_delete_me_before_merge_into_dev function
2023-08-25 10:17:46 -03:00
Gabriel Luiz Freitas Almeida
7b897906b9 feat(test_login.py): add tests for login functionality
🐛 fix(test_login.py): fix typo in test_login_unsuccessful_wrong_username test

🐛 fix(test_login.py): fix typo in test_login_unsuccessful_wrong_password test
2023-08-25 10:17:36 -03:00
DiogenesBR
fe3a9c61df fix the imports of orjson_dumps 2023-08-24 14:57:18 +00:00
Gabriel Luiz Freitas Almeida
061a9c09ba Merge remote-tracking branch 'origin/main' into dev 2023-08-23 21:42:34 -03:00
Gabriel Luiz Freitas Almeida
d0aa3261f1 🐛 fix(flows.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
🐛 fix(schemas.py): change json.dumps to orjson_dumps for improved performance and compatibility with orjson library
🐛 fix(utils.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
🐛 fix(loading.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
🐛 fix(utils.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
🐛 fix(vector_store.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
🐛 fix(types.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
🐛 fix(process.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
 feat(server.ts): change port variable case from lowercase port to uppercase PORT to improve semantics
 feat(server.ts): add support for process.env.PORT environment variable to be able to run app on a configurable port

🔧 fix(base.py): import orjson instead of json to improve performance and compatibility
🔧 fix(frontend_node/llms.py): use orjson_dumps instead of json.dumps to improve performance and compatibility
🔧 fix(frontend_node/utilities.py): use orjson_dumps instead of json.dumps to improve performance and compatibility
🔧 fix(test_cache.py): import orjson and use orjson_dumps instead of json.dumps to improve performance and compatibility

🔧 fix(test_database.py): import correct json encoder and decoder functions to fix import errors
🔧 fix(test_database.py): replace json.dumps and json.loads with orjson_dumps and orjson.loads for better performance and compatibility
🔧 fix(test_loading.py): remove unused import statement
2023-08-22 11:04:41 -03:00
Gabriel Luiz Freitas Almeida
48965a8ba8 🐛 fix(endpoints.py): add check for empty custom_component_dict to prevent errors
🐛 fix(login.py): update import statement for auth utils module
🐛 fix(users.py): update import statement for auth utils module
🐛 fix(factory.py): remove unnecessary argument from create method
🐛 fix(test_cli.py): convert temp_dir to string before checking if it's in COMPONENTS_PATH
2023-08-21 19:14:58 -03:00
Gabriel Luiz Freitas Almeida
15f6200477 🔧 chore(locustfile.py): remove hardcoded flow ID and replace it with the value from the FLOW_ID environment variable for flexibility and security 2023-08-21 13:46:35 -03:00
Gabriel Luiz Freitas Almeida
afcd1f847c 🔧 chore(locustfile.py): update Locust test file to use FastHttpUser instead of HttpUser for improved performance
🔧 chore(locustfile.py): update host URL to remove unnecessary colon in the port number
🔧 chore(locustfile.py): refactor send_name_and_check task to use a more efficient polling mechanism for task status
🔧 chore(locustfile.py): update flow_id and session_id generation logic to use more meaningful values
🔧 chore(locustfile.py): refactor send_name_and_check task to use a separate process function for better code organization and readability
🔧 chore(locustfile.py): update payload2 to include a more descriptive text for the input
🔧 chore(locustfile.py): update assertion in send_name_and_check task to check if the name is present in the result2 response
2023-08-20 13:25:11 -03:00
Gabriel Luiz Freitas Almeida
8bdde3bc05 🔨 refactor(custom_component.py): remove unused import and update function name for better code organization and clarity
📝 docs(custom_component.py): update docstring for better readability and understanding
🔧 chore(custom_component.py): add new file names.txt for locust tests with a list of names for load testing
2023-08-18 08:57:53 -03:00
Gabriel Luiz Freitas Almeida
853648ae33 📝 chore(locustfile.py): add locustfile.py for load testing the API
🐛 fix(test_process.py): refactor test_load_langchain_object_with_cached_session to use session_manager
🐛 fix(test_process.py): refactor test_load_langchain_object_with_no_cached_session to use session_manager
🐛 fix(test_process.py): refactor test_load_langchain_object_without_session_id to use session_manager
2023-08-18 08:51:56 -03:00
Gabriel Luiz Freitas Almeida
d39dd5fc4a 🐛 fix(test_cache.py): import correct compute_dict_hash function from langflow.services.cache.utils module
🐛 fix(test_cache.py): fix clear_cache function call by passing session_id parameter
🐛 fix(test_cache_manager.py): import CacheManager from langflow.services.chat.cache module instead of langflow.services.cache.manager
🐛 fix(test_cli.py): convert temp_dir to string before checking if it is in COMPONENTS_PATH
🐛 fix(test_process.py): fix clear_cache function call by passing session_id parameter
2023-08-16 22:38:18 -03:00
Gabriel Luiz Freitas Almeida
8ff739a288 🚀 feat(test_process.py): add tests for loading langchain object with and without cached session
🐛 fix(test_process.py): import missing functions and modules to fix test failures
2023-08-16 21:30:07 -03:00
Gabriel Luiz Freitas Almeida
3d8d44538f Merge branch 'release' into dev 2023-08-10 10:10:28 -03:00
Gabriel Luiz Freitas Almeida
8c41415a32 🐛 fix(custom_component.py): handle case when return_type is None to prevent errors
🐛 fix(test_custom_component.py): update assertion to expect return_type as a list instead of a string
🐛 fix(test_vectorstore_template.py): update assertion to check if all vectorstores in settings are present in the response
2023-08-09 17:50:03 -03:00
Gabriel Luiz Freitas Almeida
4e1fc2202a 🔥 refactor(test_cli.py): remove unused imports and test cases
The test_cli.py file had some unused imports and test cases that were not being used. This commit removes those unused imports and test cases to improve code cleanliness and maintainability.
2023-08-07 14:16:37 -03:00
Gabriel Luiz Freitas Almeida
8036f74d8b 🔀 chore(conftest.py): update import statement for DatabaseManager to reflect file name change 2023-08-07 11:59:57 -03:00
Gabriel Luiz Freitas Almeida
41707c1eac 🔧 chore(test_cli.py): refactor test_components_path to use a temporary directory for components path
🔧 chore(test_cli.py): refactor test_components_path to use a temporary directory for components path to improve test isolation and avoid side effects
2023-08-07 11:59:23 -03:00
Gabriel Luiz Freitas Almeida
e2e14d8c93 🔥 refactor(router.py): remove unused flow_styles_router import to improve code cleanliness and reduce unused code
🔥 refactor(test_database.py): remove unused flow_style related tests to improve code cleanliness and reduce unused code
2023-08-07 10:24:02 -03:00
Gabriel Luiz Freitas Almeida
36a7ba4ad5 🚀 feat(test_cli.py): add tests for server functionality and command line options
🚀 feat(test_cli.py): add test for checking database URL option

🚀 feat(test_cli.py): add test for checking components path option
2023-08-07 09:45:09 -03:00
Gabriel Luiz Freitas Almeida
7776977378 🚧 chore(conftest.py): add runner fixture to enable CLI testing
🔧 chore(conftest.py): import CliRunner from typer.testing to enable CLI testing
🔧 chore(conftest.py): remove unused imports and blank lines for code cleanliness
2023-08-07 09:43:37 -03:00