Commit graph

5,292 commits

Author SHA1 Message Date
Melroy van den Berg
7347466563
Update pyproject.toml
Update fake-useragent to latest version (1.2.1). Disclaimer: I'm the maintainer.
2023-08-11 01:07:33 +02:00
Gabriel Luiz Freitas Almeida
b140bbc3ff 🔖 chore(pyproject.toml): update package version from 0.4.8 to 0.4.9 for release 2023-08-10 18:22:54 -03:00
Gabriel Luiz Freitas Almeida
343d829c25 🐛 fix(OpenAIConversationalAgent.py): fix typo in display name of Conversational Agent class
✨ feat(OpenAIConversationalAgent.py): add support for OpenAI API key and base URL in build method to enable API function calling
2023-08-10 18:15:41 -03:00
Gabriel Luiz Freitas Almeida
2e0de1926e 🐛 fix(endpoints.py): handle duplicate paths in settings.COMPONENTS_PATH to avoid processing the same path multiple times
🐛 fix(settings.py): convert Path objects to strings in settings.COMPONENTS_PATH to ensure consistency and avoid potential issues
2023-08-10 17:59:30 -03:00
Gabriel Luiz Freitas Almeida
9bc616672c
Fixes a bug in fix_memory_keys, Adds OpenAI ConversationalAgent (#753) 2023-08-10 17:50:26 -03:00
Gabriel Luiz Freitas Almeida
cce3bd3305 Merge remote-tracking branch 'origin/main' into release 2023-08-10 17:45:51 -03:00
Gabriel Luiz Freitas Almeida
cc8212b336 🔖 chore(pyproject.toml): update package version from 0.4.7 to 0.4.8 for maintenance purposes 2023-08-10 17:44:14 -03:00
Gabriel Luiz Freitas Almeida
337dba208e
Adds OpenAIConversationalAgent (#746) 2023-08-10 17:41:43 -03:00
Gabriel Luiz Freitas Almeida
3792cbc8d7
Merge branch 'release' into fix_memory_on_agents 2023-08-10 17:41:31 -03:00
Cristhian Zanforlin Lousa
b6794c76fd Merge branch 'authentication' into login 2023-08-10 15:27:33 -03:00
gustavoschaedler
f0f061ab46 🔒 chore(auth.py): increase access token expiration time to 60 minutes for better user experience
🔒 chore(auth.py): add refresh token functionality with expiration time of 180 minutes
🔒 chore(login.py): change token endpoint URL from /token to /login for better semantics
🔒 chore(login.py): add refresh token creation to login endpoint to provide a refresh token along with the access token
2023-08-10 19:05:11 +01:00
Cristhian Zanforlin Lousa
2ea814fd64 🐛 fix(select-custom.tsx): add left padding to SelectItem component to align text properly
🐛 fix(nodeToolbarComponent/index.tsx): change "Advanced" text to "Edit" in NodeToolbarComponent for better clarity
2023-08-10 15:02:15 -03:00
Lucas Oliveira
2436461f5d Fixed bug on Export Modal 2023-08-10 14:50:15 -03:00
Gabriel Luiz Freitas Almeida
dc6a5ac73a 🔄 refactor(popover.tsx): reorder exported components to improve readability and consistency 2023-08-10 13:46:57 -03:00
Gabriel Luiz Freitas Almeida
5cbb86b184 🐛 fix(utils.py): add UnbuiltObject class to improve code readability and maintainability
🐛 fix(base.py): change the error message when _built_object is None to provide more specific information and handle the case when _built_object is an instance of UnbuiltObject
2023-08-10 13:46:25 -03:00
Gabriel Luiz Freitas Almeida
7933667973 🚀 feat(constants.py): import AgentExecutor from langchain.agents.agent module to use it in LANGCHAIN_BASE_TYPES dictionary
🔀 chore(constants.py): remove unnecessary import statements
2023-08-10 13:45:58 -03:00
Cristhian Zanforlin Lousa
ad33deb1a3 🚀 feat(select-custom.tsx): add custom select component for UI consistency and reusability
🔄 refactor(nodeToolbarComponent/index.tsx): update import path for select component to reflect new location
2023-08-10 12:55:04 -03:00
Cristhian Zanforlin Lousa
84a2231142 🔧 chore(frontend): add @radix-ui/react-select package to package.json dependencies
🔧 chore(frontend): add SelectTrigger component to handle select triggers in UI components
🔧 chore(frontend): add Select component to handle select inputs in UI components
🔧 chore(frontend): add EditNodeModal component to handle editing of node data in modals

The changes were made to add support for the @radix-ui/react-select package to the frontend package.json dependencies. Additionally, the SelectTrigger and Select components were added to handle select triggers and select inputs in the UI components. Finally, the EditNodeModal component was added to handle the editing of node data in modals.

🐛 fix(nodeToolbarComponent): fix import statements and add missing dependencies
✨ feat(nodeToolbarComponent): add select-trigger component and implement functionality to handle select change and show/hide modal based on selection
2023-08-10 12:54:35 -03:00
Gabriel Luiz Freitas Almeida
cc4008c861 🐛 fix(custom_component.py): fix incorrect usage of type_hint variable in if condition 2023-08-10 11:43:46 -03:00
anovazzi1
f54a60db28 Merge branch 'authentication' into login 2023-08-10 11:31:22 -03:00
Gabriel Luiz Freitas Almeida
83631606d3 🐛 fix(manager.py): fix undefined variable 'database_url' error in _create_engine method
✨ feat(manager.py): add support for SQLite database by setting connect_args in create_engine method
2023-08-10 11:30:06 -03:00
anovazzi1
d6d5aae1ef Merge branch 'authentication' into login 2023-08-10 10:44:48 -03:00
anovazzi1
10d3fc6939 format code 2023-08-10 10:41:49 -03:00
anovazzi1
04db803f34 format code 2023-08-10 10:41:06 -03:00
anovazzi1
f7fdc5d7bc feat(App.tsx): add support for displaying header component on all pages except login and signup pages to improve user experience 2023-08-10 10:33:01 -03:00
Gabriel Luiz Freitas Almeida
3d8d44538f Merge branch 'release' into dev 2023-08-10 10:10:28 -03:00
Gabriel Luiz Freitas Almeida
85782efd54
Small fixes (#749) 2023-08-10 10:07:41 -03:00
Gabriel Luiz Freitas Almeida
fe5a35aa37 Merge remote-tracking branch 'origin/main' into release 2023-08-10 09:55:42 -03:00
Gabriel Luiz Freitas Almeida
2751b92b6b 🔖 chore(pyproject.toml): bump version from 0.4.6 to 0.4.7 for langflow package 2023-08-10 09:54:47 -03:00
Gabriel Luiz Freitas Almeida
45d1b34197
Improves CustomComponents Errors (#748) 2023-08-10 09:44:44 -03:00
Gabriel Luiz Freitas Almeida
df77ba81f7 🐛 fix(custom_component.py): fix condition to check if Optional type hint is used but not imported in the code 2023-08-10 09:24:10 -03:00
Gabriel Luiz Freitas Almeida
564634d36c 🐛 fix(directory_reader.py): handle SyntaxError when parsing code to prevent crashes
🐛 fix(directory_reader.py): return False if code is not valid Python to prevent false positives
🐛 fix(directory_reader.py): fix method name from is_type_hint_used_but_not_imported to _is_type_hint_used_in_args for consistency
🐛 fix(directory_reader.py): fix method name from is_type_hint_imported to _is_type_hint_imported for consistency
🐛 fix(directory_reader.py): fix return value of _is_type_hint_used_in_args method to return False if type hint is used but not imported
2023-08-10 09:23:36 -03:00
Gabriel Luiz Freitas Almeida
261e258ed4 🐛 fix(loading.py): make a copy of the params before modifying it to prevent unintended side effects 2023-08-10 09:23:02 -03:00
Gabriel Luiz Freitas Almeida
7b22fd2711
add waitlist button on header (#742) 2023-08-10 07:59:03 -03:00
igorrCarvalho
33944e5baf refactor[loginPage]: Refactor login Page to use Form UI Radix Modal 2023-08-10 03:22:18 -03:00
igorrCarvalho
69ec2681bd refactor[signUpPage]: refactor sign up page to use radix ui form modal 2023-08-10 02:26:06 -03:00
Dave Morris
97bf39143d fix to allow running the backend on port 443 without https (wss protocol is required even without an SSL certificate) 2023-08-09 20:08:36 -05:00
Gabriel Luiz Freitas Almeida
b0a2258232 🔧 chore(OpenAIConversationalAgent.py): add display names for 'tools', 'memory', 'system_message', and 'max_token_limit' parameters to improve readability and user experience 2023-08-09 22:06:33 -03:00
Gabriel Luiz Freitas Almeida
33ef3b0a7e 🐛 fix(OpenAIConversationalAgent.py): ignore type errors for memory_key, system_message, prompt, agent, and tools variables
✨ feat(OpenAIConversationalAgent.py): add support for return_intermediate_steps parameter in AgentExecutor constructor to enable returning intermediate steps during conversation
2023-08-09 21:58:25 -03:00
Gabriel Luiz Freitas Almeida
1dcdc02e4f 🚀 feat(constants.py): import BaseChatMemory from langchain.memory.chat_memory module to add support for chat memory in custom interfaces 2023-08-09 21:49:20 -03:00
Gabriel Luiz Freitas Almeida
5d226d43d1 🐛 fix(OpenAIConversationalAgent.py): change parameter name from model_name to model to improve clarity and consistency 2023-08-09 21:48:40 -03:00
Gabriel Luiz Freitas Almeida
44f4fc1e62 ✨ feat(OpenAIConversationalAgent.py): add implementation of ConversationalAgent class for OpenAI conversational agent 2023-08-09 21:38:39 -03:00
Gabriel Luiz Freitas Almeida
31e02fe25c ✨ feat(ConversationalAgent.py): add ConversationalAgent component to handle conversational interactions using OpenAI's function calling API
This commit adds a new file `ConversationalAgent.py` to the `src/backend/langflow/components/agents` directory. The `ConversationalAgent` class is a custom component that represents a conversational agent capable of using OpenAI's function calling API.

The `ConversationalAgent` class has the following features:
- It inherits from the `CustomComponent` class.
- It has a `display_name` attribute set to "OpenaAI Conversational Agent".
- It has a `description` attribute set to "Conversational Agent that can use OpenAI's function calling API".
- It implements the `build_config` method to define the configuration options for the agent.
- It implements the `build` method to create an instance of the `AgentExecutor` class, which represents the agent's execution environment.
- The `build` method takes several parameters, including `model_name`, `tools`, `memory`, `system_message`, and `max_token_limit`.
- It uses the `ChatOpenAI` class from the `langchain.chat_models` module to create an instance of the OpenAI language model.
- It uses the `ConversationTokenBufferMemory` class from the `langchain.memory.token_buffer` module to handle conversation history and token buffering.
- It uses the `OpenAIFunctionsAgent` class from the `langchain.agents.openai_functions_agent.base` module to create an instance of the OpenAI functions agent.
- It returns an instance of the `AgentExecutor` class with the agent, tools, memory, verbose, and return_intermediate_steps parameters set.

📝 feat(__init__.py): add empty __init__.py file to the agents directory

This commit adds an empty `__init__.py` file to the `src/backend/langflow/components/agents` directory. The `__init__.py` file is necessary to make the `agents` directory a Python package.
2023-08-09 21:37:11 -03:00
Gabriel Luiz Freitas Almeida
2725e24ced 🚀 feat(constants.py): add BaseMemory to LANGCHAIN_BASE_TYPES to support custom memory implementation in Langchain interface
📝 WHY: The addition of BaseMemory to LANGCHAIN_BASE_TYPES allows for the customization of the memory component in the Langchain interface. This enables users to implement their own memory functionality according to their specific needs.
2023-08-09 21:11:00 -03:00
Gabriel Luiz Freitas Almeida
67f8bb9dab 🐛 fix(base.py): fix memory inputs only if langchain_object is not an instance of AgentExecutor to prevent unnecessary fix
🔀 chore(base.py): merge changes from langchain.agents.agent module to base module
2023-08-09 21:10:31 -03:00
Cristhian Zanforlin Lousa
9bccb95cd0 Merge branch 'login-admin' into login 2023-08-09 20:34:53 -03:00
Cristhian Zanforlin Lousa
5a690ecb6f 🔨 refactor(AdminPage/index.tsx): improve code formatting and structure for better readability and maintainability 2023-08-09 20:34:36 -03:00
igorrCarvalho
21f47e6c4d refactor: Remove unnecesary email field 2023-08-09 20:30:02 -03:00
igorrCarvalho
3348bfbcb6 merge login into login 2023-08-09 20:14:33 -03:00
igorrCarvalho
468f6ec573 feat: Add signUp page and Sign out button 2023-08-09 20:06:22 -03:00