Commit graph

1,268 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
5e47d0ff14
adding ChatVertexAI LLM component back into the config.yaml (#724) 2023-08-14 15:10:26 +00:00
Gabriel Luiz Freitas Almeida
3d8d44538f Merge branch 'release' into dev 2023-08-10 10:10:28 -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
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
e1407d0595 🔧 chore(Metaphor.py): refactor build method to accept additional parameters for improved configurability
🔧 chore(Metaphor.py): update search method to use the provided parameters for use_autoprompt and search_num_results
🔧 chore(Metaphor.py): update find_similar method to use the provided parameter for similar_num_results
2023-08-09 17:12:22 -03:00
Gabriel Luiz Freitas Almeida
29766ecaf0 🐛 fix(Metaphor.py): ignore type error for importing Metaphor from metaphor_python
🐛 fix(Metaphor.py): ignore type error for returning a list with mixed types
🐛 fix(Vectara.py): add condition to check if documents and embedding are not None before creating Vectara instance
🐛 fix(CustomComponent.py): change return type of get_function_entrypoint_return_type to List[str] to match the actual return value
2023-08-09 15:53:18 -03:00
Gabriel Luiz Freitas Almeida
9bbdd9465b 🔨 refactor(Vectara.py): reorganize function parameters for better readability and maintainability
🔧 chore(Vectara.py): add "embedding" parameter to the build function to support custom embeddings in VectaraComponent
2023-08-09 15:47:22 -03:00
Gabriel Luiz Freitas Almeida
e5e23a1da6 🐛 fix(component.py): add support for "documentation" field in template_config to properly handle component documentation
🐛 fix(types.py): update_attributes function now updates frontend_node with "documentation" field from template_config
2023-08-09 15:32:41 -03:00
Gabriel Luiz Freitas Almeida
38b6831b57 feat(Metaphor.py): add MetaphorToolkit component to langflow toolkit
The MetaphorToolkit component is added to the langflow toolkit. It provides functionality for searching metaphors using the Metaphor API. The component includes three tools: search, get_contents, and find_similar. The search tool allows users to search for metaphors using a query. The get_contents tool retrieves the contents of a webpage based on the ids returned from the search tool. The find_similar tool finds search results similar to a given URL returned from the search tool.

The MetaphorToolkit component is still in beta and requires a Metaphor API key to function. The API key is stored securely and can be configured in the field_config of the component. For more information, refer to the documentation: [Metaphor Toolkit Documentation](https://python.langchain.com/docs/integrations/tools/metaphor_search)
2023-08-09 15:29:11 -03:00
Gabriel Luiz Freitas Almeida
d16d916952 🐛 fix(custom_component.py): improve parsing of return type in CustomComponent class
 feat(custom_component.py): add support for parsing return type when it is a Union of types in CustomComponent class
2023-08-09 15:28:39 -03:00
Gabriel Luiz Freitas Almeida
b3e512f55f feat(PromptRunner.py): add PromptRunner component to run a Chain with a given PromptTemplate
 feat(Vectara.py): add VectaraComponent to implement Vector Store using Vectara
🔧 chore(vectorstores): add empty __init__.py file to the vectorstores directory
2023-08-09 14:37:20 -03:00
Gabriel Luiz Freitas Almeida
72f88e1a16 🐛 fix(custom_component.py): handle return_type as a Union[type1, type2] and add support for multiple return types in add_base_classes function
🐛 fix(types.py): handle multiple return types in add_base_classes function and raise HTTPException with appropriate error message if return type is invalid
2023-08-09 14:36:45 -03:00
Gabriel Luiz Freitas Almeida
be14d45589 🐛 fix(utils.py): handle CommandError when running migrations and delete alembic_version table if wrong revision in DB 2023-08-09 10:28:41 -03:00
Dave Morris
e922978f27 adding VertexAIEmbeddings into config.yaml 2023-08-09 08:07:59 -05:00
Gabriel Luiz Freitas Almeida
61bee4424f
Add zip_path and workspace_url fields (#729) 2023-08-09 09:18:30 -03:00
Gabriel Luiz Freitas Almeida
f7afbd89b0 🔧 chore(vector_store.py): change the way pinecone_api_key and pinecone_env are retrieved from params dictionary to improve code readability and remove unnecessary code duplication 2023-08-09 08:48:53 -03:00
Melvin Hillsman
f4ad8572e7 Add zip_path and workspace_url fields
As noted in the
[documentation](https://python.langchain.com/docs/integrations/document_loaders/slack)
for this plugin zip_path is the first named parameter not file_path and
workspace_url is the second with zip_path being required and
workspace_url being optional.

Fixes #695

Signed-off-by: Melvin Hillsman <mhillsma@redhat.com>
2023-08-08 21:01:34 -05:00
Dave Morris
bb2b8fbb3d add support for VertexAIEmbeddings node 2023-08-08 17:35:50 -05:00
Dave Morris
35af73822a
Merge pull request #1 from logspace-ai/dev
updating from dev branch
2023-08-08 17:29:36 -05:00
Gabriel Luiz Freitas Almeida
d6bb6bf3d9 🐛 fix(base.py): handle case where database and tables already exist to prevent error and log a debug message 2023-08-08 17:41:17 -03:00
Gabriel Luiz Freitas Almeida
4b47f9f196 🐛 fix(endpoints.py): add check to skip empty custom_component_dict to prevent potential errors 2023-08-08 16:35:15 -03:00
Gabriel Luiz Freitas Almeida
a6cacbf377 Merge branch 'dev' into migrations_service 2023-08-08 16:13:32 -03:00
Gabriel Luiz Freitas Almeida
b8d8ed8283 Revert "Revert "Fixes flows without input_keys not being runnable" (#731)"
This reverts commit 352e74cbc7, reversing
changes made to 3f531a1157.
2023-08-08 15:12:37 -03:00
Gabriel Luiz Freitas Almeida
f9b392d5b8
Revert "Fixes flows without input_keys not being runnable" 2023-08-08 15:02:16 -03:00
Gabriel Luiz Freitas Almeida
f61d265e77 🔧 chore(vector_store.py): refactor initialize_chroma function to remove unnecessary if conditions and improve code readability
🔧 chore(vector_store.py): remove chroma_server_ keys from params dictionary if not needed to avoid potential conflicts
2023-08-07 18:52:19 -03:00
Gabriel Luiz Freitas Almeida
239811dbff 🐛 fix(chat.py): change "input_keys" value from an empty dictionary to None to improve readability and reduce redundancy 2023-08-07 18:46:13 -03:00
Gabriel Luiz Freitas Almeida
9ee76fd18f 🐛 fix(manager.py): change default value of chat_inputs from empty string to empty dictionary to improve data consistency and prevent potential errors
🐛 fix(utils.py): handle case when chat_inputs.message is None by assigning an empty dictionary to it to prevent potential errors
2023-08-07 18:37:49 -03:00
Gabriel Luiz Freitas Almeida
9fcc96e767 🔀 refactor(manager.py): update import statement for models in database manager to improve readability and maintainability 2023-08-07 14:18:07 -03:00
Gabriel Luiz Freitas Almeida
71012ac47b 🔥 chore(alembic): remove flowstyles table
 feat(alembic): add migration to remove flowstyles table

🔥 chore(alembic): remove old migration file for removing flowstyles table

🐛 fix(database): import Flow model to avoid unused import warning
2023-08-07 14:09:27 -03:00
Gabriel Luiz Freitas Almeida
96dfb9b324 🐛 fix(main.py): fix condition to setup static files only if static_files_dir is not None 2023-08-07 12:08:16 -03:00
Gabriel Luiz Freitas Almeida
1601745ed9 🔀 refactor(alembic/env.py): update import statement for SQLModel in env.py to reflect new location in manager module
🔀 refactor(interface/custom/custom_component.py): update import statement for session_getter in custom_component.py to reflect new location in utils module

🔀 refactor(main.py): update import statement for initialize_database in main.py to reflect new location in utils module

🔀 refactor(database/factory.py): update import statement for DatabaseManager in factory.py to reflect new location in manager module
2023-08-07 12:00:58 -03:00
Gabriel Luiz Freitas Almeida
8436c66aa7 📦 chore(manager.py): add DatabaseManager class to handle database operations
📦 chore(utils.py): add initialize_database function and session_getter context manager to handle database initialization and session management
2023-08-07 12:00:27 -03:00
Gabriel Luiz Freitas Almeida
d75fb49bf2 🔥 chore(alembic): remove FlowStyles table
This commit removes the FlowStyles table from the database. The table was no longer needed and has been dropped. The corresponding indexes and foreign key constraints have also been removed.

Downgrade functionality has been implemented to recreate the FlowStyles table and its associated indexes and foreign key constraints if needed.
2023-08-07 10:25:46 -03:00
Gabriel Luiz Freitas Almeida
b7861ac77f 🔧 chore(alembic.ini): update sqlalchemy.url to dynamically set the path to the database in the root of the project 2023-08-07 10:24:28 -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
Dave Morris
b54231e584
Update Dockerfile to fix uvicorn factory path 2023-08-07 08:21:57 -05:00
Gabriel Luiz Freitas Almeida
4547edef0f 🔥 refactor(api): remove unused flow_styles module and related code
🔥 refactor(api): remove unused flow_styles router and related endpoints
🔥 refactor(api): remove unused FlowStyle model and related code
🔥 refactor(api): remove unused FlowStyleCreate, FlowStyleRead, and FlowStyleUpdate models
🔥 refactor(api): remove unused style relationship from Flow model
🔥 refactor(api): remove unused FlowReadWithStyle model
🔥 refactor(api): remove unused flow_styles_id parameter from read_flow_style endpoint
🔥 refactor(api): remove unused update_flow_style endpoint
🔥 refactor(api): remove unused delete_flow_style endpoint
🔥 refactor(api): remove unused flow_id parameter from delete_flow_style endpoint
🔥 refactor(api): remove unused style parameter from create_flow_style endpoint
🔥 refactor(api): remove unused read_flow_styles endpoint
🔥 refactor(api): remove unused flow_styles_id parameter from read_flow_styles endpoint
🔥 refactor(api): remove unused flow_style_id parameter from update_flow_style endpoint
🔥 refactor(api): remove unused flow_style parameter from update_flow_style endpoint
🔥 refactor(api): remove unused flow_style parameter from create_flow_style endpoint
🔥 refactor(api): remove unused flow_styles_router import
🔥 refactor(api): remove unused flow_styles_router variable
🔥 refactor(api): remove unused flow_styles_router prefix and tags
2023-08-07 10:13:40 -03:00
Gabriel Luiz Freitas Almeida
76362da42b 🔧 chore(main.py): refactor setup_app function to add support for backend_only flag
 feat(main.py): add backend_only flag to setup_app function to allow running the app without serving static files
2023-08-07 09:44:45 -03:00
Gabriel Luiz Freitas Almeida
709c4a1749 🔧 chore(__main__.py): refactor serve function to improve readability and maintainability
 feat(__main__.py): add support for custom components directory path as an environment variable
 feat(__main__.py): set default value for config option to be the config.yaml file in the same directory as the script
 feat(__main__.py): add support for specifying an .env file containing environment variables
 feat(__main__.py): add backend_only option to run only the backend server without the frontend
🔧 chore(__main__.py): refactor setup_app function to pass backend_only option to the app setup
 feat(__main__.py): add check to skip server startup if running in pytest environment
🔧 chore(__main__.py): refactor serve function to improve readability and maintainability
 feat(__main__.py): add support for running the server using uvicorn on Windows
2023-08-07 09:44:11 -03:00
Dave Morris
4984a1282d
Merge branch 'logspace-ai:dev' into dev 2023-08-06 16:02:03 -05:00
Dave Morris
c7635b5b7c
Update config.yaml to enable ChatVertexAI 2023-08-06 14:53:37 -05:00
Dave Morris
fed093e830
potential fix for ChatVertexAI component bug 2023-08-06 14:52:31 -05:00
Gabriel Luiz Freitas Almeida
a0aa88f039 🔀 chore(types.py): import merge_nested_dicts_with_renaming from langflow.api.utils to use it in build_langchain_custom_component_list_from_path function
🐛 fix(types.py): replace `merge_nested_dicts` with `merge_nested_dicts_with_renaming` in `build_langchain_custom_component_list_from_path` function to fix a bug
2023-08-06 12:28:05 -03:00
Gabriel Luiz Freitas Almeida
a9db2da6bf 🐛 fix(base.py): use db_manager.engine instead of DatabaseManager.engine to access the database engine
🐛 fix(conftest.py): add TYPE_CHECKING import to fix type hinting error
🐛 fix(conftest.py): pass db_manager to blank_session_getter fixture to fix session creation error
2023-08-06 12:15:29 -03:00
Gabriel Luiz Freitas Almeida
f9112facda 🐛 fix(custom_component.py): import get_db_manager function from langflow.services.utils to fix NameError
🐛 fix(factory.py): raise ValueError if no database URL provided in settings
🐛 fix(manager.py): change return type annotation of load_settings_from_yaml method to "SettingsManager" instead of "Settings"
🐛 fix(utils.py): import service_manager and ServiceType to fix NameError
2023-08-05 23:27:38 -03:00
Gabriel Luiz Freitas Almeida
6ca7308e3c updates imports to use settings_manager 2023-08-05 23:20:35 -03:00
Gabriel Luiz Freitas Almeida
f72a42213c 🔥 refactor(base.py): remove unused imports and code related to database engine creation and session handling
🔥 refactor(base.py): remove unused code related to loading settings from YAML file
2023-08-05 23:19:14 -03:00
Gabriel Luiz Freitas Almeida
2fcbfa25a5 🎉 feat(utils.py): add new utility function get_settings_manager() to retrieve the settings manager from the service manager
🎉 feat(utils.py): add new utility function `get_session()` to retrieve a session from the database manager
2023-08-05 23:18:31 -03:00