* Update docker-compose.yml
Problems with Docker Compose not being able to find the backend
* Bump vite from 4.5.1 to 4.5.2 in /src/frontend
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.5.1 to 4.5.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.2/packages/vite)
---
updated-dependencies:
- dependency-name: vite
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
* Refactor: remove flow if there is no changes
* update group node function to reconnect edges when create groupNode
* Remove console.log statements
* Fix disallowed_special parameter in OpenAIEmbeddingsComponent
* Refactor CharacterTextSplitterComponent to use typing and update return value
* Update ChromaComponent configuration
* Bump version to 0.6.7a1 in pyproject.toml
* Add icon support to CustomComponent
* Add icon property to APIClassType
* Add emoji validation to icon field in custom components
* add emoji icon
* Fix: Error: cannot import name 'CreateTrace' from 'langfuse.callback'
* Refactor langflow processing and langfuse callback initialization
* Update version to 0.6.7a2 in pyproject.toml
* Fix: Bring back loading to avoid white page error
* Add dependabot.yml
* Bump actions/checkout from 2 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v4)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Bump actions/cache from 2 to 4
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v2...v4)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Bump actions/setup-node from 3 to 4
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)
---
updated-dependencies:
- dependency-name: actions/setup-node
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* makes function args not to be sorted by name
* Add field_order property to CustomComponent
* Refactor Template class in base.py
* Update field_order to be an optional list
* Refactor custom component field ordering
* Update prompts.mdx
Update broken link to all page building to complete
* add icon regex
* add isEmoji
* Fix invalid emoji error handling
* Fix invalid emoji validation in Component class
* add logic to icon name
* changing to useCallback function
* Add HuggingFaceInferenceAPIEmbeddingsComponent class
* Update QdrantComponent build method to handle pre-existing vector-stores
* Update python-multipart version
* Update dependencies in pyproject.toml
* Add Python 3.11 support to lint and test workflows
* Refactor import statements in Qdrant.py
* Update dependencies in pyproject.toml
* Fix documentation link and code formatting
* Fix validation of icon field in Component class
* Update imports and deactivate test
* Fixed group nodes appearing at tooltip
* Update imports and type annotations in several components
* Remove Python 3.9 from matrix in test.yml
* refactor: icon fragments functions
* Default display_name to None
* 🔧 chore(base.py): update serialize_display_name method to handle cases where display_name is not set and convert name to title case if title_case is True
* Fix error handling and formatting in component.py and typesStore.ts
* add controlX feature
* Add files via upload
* Fixed groupByFamily
* Add LiteLLMComponent to the project
* Add ChatLiteLLM component to backend
* Update ChatLiteLLM import and add verbose option
* Remove unused code in ChatLiteLLM.py
* Rename LiteLLMComponent to ChatLiteLLMComponent
* Changes some parameters for mypy linting compatibility
* Update cookie settings for login and refresh_token functions
* Update cookie settings for secure access
* Update cookie settings for login and token refresh
* Refactor authentication cookie settings
* Update version to 0.6.7a3 in pyproject.toml
* Fix formatting and import issues
* Import litellm package and update ChatLiteLLMComponent class
* Update version to 0.6.7a3 and fix formatting and import issues (#1445)
* Update version to 0.6.7a3 in pyproject.toml
* Fix formatting and import issues
* Import litellm package and update ChatLiteLLMComponent class
* Update login.py with new auth settings
* Update version to 0.6.7a4 in pyproject.toml
* Update version to 0.6.7a5 in pyproject.toml
* Update Langflow README (#1456)
* Update Langflow README
* Refactor flow creation process
* Update README.md
* Removed some phrases, changed Creating Flows section
* Update README.md with additional project references
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@logspace.ai>
* Add docs for field update, icon, and small fixes (#1459)
* Refactor code formatting and improve error handling in utils.py
* Refactor parameterComponent to include refresh button
* Update Langflow description
* Add new_langflow_demo.gif and remove langflow-demo.gif and langflow-screen.png
* Update image source path in README.md
* Add dynamic options and default value support to CustomComponent class
* Update version number in pyproject.toml
* Add title_case option to CustomComponent
* Refactor HuggingFaceEndpointsComponent imports and handle model_kwargs parameter
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: YoungWook KIM <ukng1024@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: igorrCarvalho <igorsilvabhz6@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: Cristhian Zanforlin Lousa <72977554+Cristhianzl@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Łukasz Gajownik <lukasz.gajownik@ordergroup.pl>
Co-authored-by: Chris Bateman <chris-bateman@users.noreply.github.com>
Co-authored-by: Ricardo Henriques <paxcalpt@gmail.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
### Pull Request for Issue #1217
[feature
request](https://github.com/logspace-ai/langflow/labels/feature%20request)
[python](https://github.com/logspace-ai/langflow/labels/python)
**Description**
This pull request addresses issue #1217 , which concerns the ability to
add files directly to the Vectara vector store using the indexing API's
file upload feature.
**Changes Made**
I have implemented the ability to add files directly to the Vectara
vector store by providing URLs of documents online. The add_files()
method (as well as from_files()) has been added to facilitate this
functionality.
**Files Modified/Added**
Modified: vectara.py
🐛 fix(flows.py): change Flow.from_orm() to Flow.model_validate() to ensure data integrity and validation
🐛 fix(users.py): remove unused import statements to improve code cleanliness and maintainability
🐛 fix(users.py): change User.from_orm() to User.model_validate() to ensure data integrity and validation
🐛 fix(LLMChain.py): remove unused import statements to improve code cleanliness and maintainability
🐛 fix(LLMChain.py): remove unnecessary line breaks to improve code readability
🐛 fix(base.py): remove unused import statements to improve code cleanliness and maintainability
🐛 fix(base.py): remove unnecessary line breaks to improve code readability
🐛 fix(base.py): fix condition to append vertex_id to top_level_vertices to avoid appending non-string values
🐛 fix(vertex/base.py): add parent_node_id attribute to Vertex class to support hierarchical graph structures
🐛 fix(base.py): remove unused import statements to improve code cleanliness and maintainability
🚀 feat(GroupTest): add a new node for a simple chat with a custom prompt template and conversational memory buffer
ℹ️ This commit adds a new node to the GroupTest project. The node is a genericNode with the following properties:
- Width: 384
- Height: 621
- ID: ChatOpenAI-rUJ1b
- Type: genericNode
- Position: x: 170.87326389541306, y: 465.8628482073749
- Data:
- Type: ChatOpenAI
- Node:
- Template:
- Callbacks:
- Required: false
- Placeholder: ""
- Show: false
- Multiline: false
- Password: false
- Name: callbacks
- Advanced: false
- Dynamic: false
- Info: ""
- Type: langchain.callbacks.base.BaseCallbackHandler
- List: true
- Cache:
- Required: false
- Placeholder: ""
- Show: false
- Multiline: false
- Password: false
- Name: cache
- Advanced: false
- Dynamic: false
- Info: ""
- Type: bool
- List: false
- Client:
- Required: false
- Placeholder: ""
- Show: false
- Multiline: false
- Password: false
- Name: client
- Advanced: false
- Dynamic: false
- Info: ""
- Type: Any
- List: false
- Max Retries:
- Required: false
- Placeholder: ""
- Show: false
- Multiline: false
- Value: 6
- Password: false
- Name: max_retries
- Advanced: false
- Dynamic: false
- Info: ""
- Type: int
- List: false
- Max Tokens:
- Required: false
- Placeholder: ""
- Show: true
- Multiline: false
- Password: true
- Name: max_tokens
- Advanced: false
- Dynamic: false
- Info: ""
- Type: int
- List: false
🔧 chore: fix formatting issue in code
📝 docs: update documentation link for `OpenAI` Chat large language models API
🔧 chore: update prompt template configuration in LLMChain node
📝 docs: add documentation link for PromptTemplate in the description
📝 chore(grouped_chat.json): add grouped_chat.json test data file
This commit adds the `grouped_chat.json` file to the `tests/data` directory. The file contains a JSON object representing grouped chat data. This file is necessary for testing and will be used in the test suite.
📝 chore(one_group_chat.json): add one_group_chat.json test data file
This commit adds the one_group_chat.json file, which contains a simple chat with a custom prompt template and conversational memory buffer. This file is used for testing purposes.
🔧 chore: update node configuration for ConversationBufferMemory, ChatOpenAI, and LLMChain
📝 docs: update documentation links for ConversationBufferMemory and LLMChain
🔧 fix: update prompt template in LLMChain to include conversation history and text input variables
🔧 fix: update ConversationBufferMemory node to include description and documentation link
🎨 style: format and organize code for better readability and maintainability
🆕 feat(Vector Store): add Vector Store agent and Vector Store Info node
The Vector Store agent allows querying a Vector Store. It can be used to construct an agent from a Vector Store. The Vector Store Info node provides information about a Vector Store.
The Vector Store agent and Vector Store Info node are added to support the functionality of querying a Vector Store.
🔧 chore: update configuration options in the OpenAI API client
The configuration options in the OpenAI API client have been updated. This commit includes changes to the following options:
- `max_tokens`: Removed the `required` flag and set `show` to `true`
- `metadata`: Set `show` to `false`
- `model_kwargs`: Set `show` to `true` and `advanced` to `true`
- `model_name`: Added options `gpt-3.5-turbo-0613`, `gpt-3.5-turbo`, `gpt-3.5-turbo-16k-0613`, `gpt-3.5-turbo-16k`, `gpt-4-0613`, `gpt-4-32k-0613`, `gpt-4`, `gpt-4-32k`
- `n`: Removed the `show` flag
- `openai_api_base`: Added `display_name` as "OpenAI API Base" and updated `info` with additional details
- `openai_api_key`: Removed the `required` flag and set `show` to `true`
- `openai_organization`: Removed the `show` flag
- `openai_proxy`: Removed the `show` flag
- `request_timeout`: Removed the `show` flag
- `streaming`: Removed the `show` flag
- `tags`: Removed the `show` flag
- `temperature`: Removed the `show` flag
- `tiktoken_model_name`: Removed the `show` flag
- `verbose`: Removed the `show` flag
🔧 chore: update configuration for ChatOpenAI and Chroma nodes
The configuration for the ChatOpenAI and Chroma nodes has been updated. This includes changes to the allowed_special, disallowed_special, chunk_size, client, deployment, embedding_ctx_length, and max_retries properties. These changes were made to improve the functionality and performance of the nodes.
🔧 chore(config): update OpenAIEmbeddings-YwSvx configuration options
The OpenAIEmbeddings-YwSvx configuration options have been updated to include new fields and values. This commit updates the configuration file to reflect these changes.
🔧 chore(config): update configuration options for OpenAIEmbeddings and Chroma
🔧 chore(config): update configuration options for OpenAIEmbeddings and Chroma to improve flexibility and customization
🔧 chore: update configuration options for RecursiveCharacterTextSplitter and WebBaseLoader in flow
The configuration options for RecursiveCharacterTextSplitter and WebBaseLoader in the flow have been updated. The changes include:
- Persist Directory - Chroma: The persist directory option for Chroma has been modified.
- Search Kwargs - Chroma: The search kwargs option for Chroma has been modified.
- Chunk Overlap - RecursiveCharacterTextSplitter: The chunk overlap option for RecursiveCharacterTextSplitter has been modified.
- Chunk Size - RecursiveCharacterTextSplitter: The chunk size option for RecursiveCharacterTextSplitter has been modified.
- Separator Type - RecursiveCharacterTextSplitter: The separator type option for RecursiveCharacterTextSplitter has been modified.
- Separator - RecursiveCharacterTextSplitter: The separator option for RecursiveCharacterTextSplitter has been modified.
- Metadata - WebBaseLoader: The metadata option for WebBaseLoader has been modified.
- Web Page - WebBaseLoader: The web page option for WebBaseLoader has been modified.
🔧 chore(OpenAIEmbeddings): update OpenAIEmbeddings configuration options
The OpenAIEmbeddings node configuration options have been updated to include the following changes:
- `allowed_special` and `disallowed_special` now accept a list of values instead of a single value
- `chunk_size` now accepts an integer value
- `deployment` now accepts a string value
- `embedding_ctx_length` now accepts an integer value
- `headers` now supports multiline values
- `max_retries` now accepts an integer value
- `model` now accepts a string value
- `model_kwargs` now accepts code input
- `openai_api_base` now accepts a password input
- `openai_api_key` now accepts a password input
- `openai_api_type` now accepts a password input
- `openai_api_version` now accepts a password input
- `openai_organization` has been removed from the configuration options
🔧 chore: update OpenAIEmbeddings configuration options in the UI
The OpenAIEmbeddings configuration options in the UI have been updated to include the following changes:
- Added the `openai_organization` option to specify the OpenAI organization.
- Added the `openai_proxy` option to configure the OpenAI proxy.
- Added the `request_timeout` option to set the request timeout.
- Added the `show_progress_bar` option to control the visibility of the progress bar.
- Changed the `tiktoken_model_name` option to be a password field.
- Updated the documentation link for OpenAIEmbeddings.
This commit updates the configuration options to improve the usability and functionality of the OpenAIEmbeddings module in the UI.
🔧 chore: clean up unused code and remove unnecessary fields in the configuration file
📝 docs: update documentation link for the Chroma vectorstore module
🔧 chore: update configuration options for RecursiveCharacterTextSplitter in flow
The configuration options for the RecursiveCharacterTextSplitter node in the flow have been updated. The following changes were made:
- `chunk_size` option: The default value has been changed to 1000.
- `separator_type` option: The available options have been updated to include "Text", "cpp", "go", "html", "java", "js", "latex", "markdown", "php", "proto", "python", "rst", "ruby", "rust", "scala", "sol", and "swift".
- `separators` option: The default value has been changed to ".".
These changes were made to improve the usability and flexibility of the RecursiveCharacterTextSplitter node in the flow.
📝 chore(vector_store_grouped.json): add vector_store_grouped.json test data file
🔀 chore(vector_store_grouped.json): add vector_store_grouped.json test data file
🔨 refactor(test_graph.py): reformat import statements and improve code readability
🔨 refactor(test_prompts_template.py): change dynamic attribute to True for input variables, output parser, partial variables, template, and validate template
🔨 refactor(test_template.py): reformat import statements and remove duplicate import of BaseModel
🔨 refactor(test_template.py): update value for options in format_dict test
🐛 fix(base.py): remove 'suffixes' attribute from TemplateFieldCreator class as it is duplicate and not used
🐛 fix(base.py): change 'suffixes' to 'file_types' in TOOL_INPUTS dictionary to improve consistency and readability
🐛 fix(base.py): remove 'suffixes' attribute from TemplateFieldCreator class as it is duplicate and not used
🐛 fix(frontend_node/base.py): remove 'suffixes' attribute from FrontendNode class as it is duplicate and not used
🐛 fix(frontend_node/documentloaders.py): remove 'suffixes' attribute from build_file_field function as it is duplicate and not used
🐛 fix(frontend_node/documentloaders.py): remove 'suffixes' attribute from file_path_templates dictionary as it is duplicate and not used
🐛 fix(frontend_node/documentloaders.py): remove 'suffixes' attribute from build_file_field function as it is duplicate and not used
🐛 fix(frontend_node/documentloaders.py): remove 'suffixes' attribute from file_path_templates dictionary as it is duplicate and not used
🐛 fix(frontend_node/documentloaders.py): remove 'suffixes' attribute from build_file_field function as it is duplicate and not used
🐛 fix(frontend_node/documentloaders.py): remove 'suffixes' attribute from file_path_templates dictionary as it is duplicate and not used
🐛 fix(frontend_node/documentloaders.py): remove 'suffixes' attribute from build_file_field function as it is duplicate and not used
🐛 fix(frontend_node/documentloaders.py): remove 'suffixes' attribute from file_path_templates dictionary as it is duplicate and not used
🐛 fix(frontend_node/documentloaders.py): remove 'suffixes' attribute from build_file_field function as it is duplicate and not used
🐛 fix(frontend_node/documentloaders.py): remove 'suffixes' attribute from file_path_templates dictionary as it is duplicate and not used
🐛 fix(frontend_node/documentloaders.py): remove 'suffixes' attribute from build_file_field function as it is duplicate and not used
🐛 fix(frontend_node/documentloaders.py): remove 'suffixes' attribute from