Commit graph

2,579 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
a0920e7abd
Fix_vecstore_memory (#582) 2023-07-01 09:59:19 -03:00
Gabriel Luiz Freitas Almeida
156807b8e1 fix: replace old complex_example to fix tests 2023-07-01 09:52:45 -03:00
Gabriel Luiz Freitas Almeida
016c9983d6 🐛 fix(vectorstores.py): change default value of "Persist" extra field to False
The default value of the "Persist" extra field in the VectorStoreFrontendNode class has been changed from True to False. This change was made to align the default value with the desired behavior of the application.
2023-07-01 09:43:30 -03:00
Gabriel Luiz Freitas Almeida
e04eb0fd7e 🐛 fix(memories.py): add condition to only add output_key field if template type is not VectorStoreRetrieverMemory
The output_key field is now only added to the template if the template type is not VectorStoreRetrieverMemory. This ensures that the output_key field is not added unnecessarily for templates of this type.
2023-07-01 09:43:17 -03:00
Gabriel Luiz Freitas Almeida
2635f06a06 🐛 fix(base.py): add exception logging to improve error handling and debugging
The `logger.exception(exc)` line has been added to log the exception that occurred. This will help with error handling and debugging by providing more information about the exception that caused the error.
2023-07-01 09:43:02 -03:00
Gabriel Luiz Freitas Almeida
d39bea6e85 🐛 fix(loading.py): convert retriever to retriever object if it has "as_retriever" method
The code now checks if the "retriever" key exists in the params dictionary and if the value has an "as_retriever" method. If it does, the value is replaced with the result of calling the "as_retriever" method. This change ensures that the "retriever" parameter is always an instance of the retriever object, preventing potential attribute errors later in the code.
2023-07-01 09:42:44 -03:00
Gabriel Luiz Freitas Almeida
45dfa30851 🐛 fix(run.py): refactor updating memory keys logic to use a loop and try-except block
The logic for updating memory keys in the `run.py` file has been refactored to use a loop and a try-except block. Instead of individually assigning values to `input_key`, `output_key`, and `memory_key`, the keys and attributes are now stored in lists. The loop iterates over the lists and attempts to set the attribute values using `setattr()`. If an attribute does not exist, a `ValueError` is caught and a debug log message is printed. This refactoring improves code readability and maintainability.
2023-07-01 09:42:29 -03:00
Gabriel Luiz Freitas Almeida
26b34e6ed1 🔒 chore(poetry.lock): update langchainplus-sdk version to 0.0.18
The langchainplus-sdk package has been updated to version 0.0.18. This update includes bug fixes and improvements to the client library for connecting to the LangSmith LLM Tracing and Evaluation Platform.
2023-06-30 17:34:55 -03:00
Gabriel Luiz Freitas Almeida
d62f8cb5a1
Merge branch 'main' into release 2023-06-30 17:29:48 -03:00
Gabriel Luiz Freitas Almeida
534927e5fa 🔒 chore(test_graph.py): comment out complex graph test case to improve test performance
🔒 chore(test_graph.py): comment out the complex graph test case to improve the performance of the test suite. The complex graph test case is currently not passing and is causing unnecessary delays in the test execution.
2023-06-30 17:29:08 -03:00
Gabriel Luiz Freitas Almeida
d96a2d70ac 🔧 chore(test_websocket.py): remove unnecessary commented out code and update websocket test input
The commented out code was not needed and was cluttering the test file. The test input for the websocket was updated to use a more descriptive key name "input" instead of "type" to improve clarity and readability.
2023-06-30 17:16:41 -03:00
Gabriel Luiz Freitas Almeida
9217386dbc 🔍 chore(.gitignore): add langchain.db to the list of ignored files
The file `langchain.db` is now added to the list of ignored files in the `.gitignore` file. This ensures that the `langchain.db` file is not tracked by Git and will not be included in future commits.
2023-06-30 17:12:54 -03:00
Gabriel Luiz Freitas Almeida
8088565768 🔥 refactor(test_chains_template.py): remove unused import of Serializable
The import of the Serializable class is no longer needed in the test_chains_template.py file, so it has been removed to improve code cleanliness and remove unnecessary dependencies.
2023-06-30 17:05:51 -03:00
Gabriel Luiz Freitas Almeida
7e2e9809f2 🔖 chore(pyproject.toml): update package version to 0.2.8
The package version has been updated from 0.2.7 to 0.2.8. This change is made to reflect the latest changes and improvements in the package.
2023-06-30 17:05:02 -03:00
anovazzi1
98ed719053
Added VertexAI and fixed a bug in the websocket (#576)
Issue #290
2023-06-30 16:58:58 -03:00
anovazzi1
36669cd64f
fix web socket bug that display empty error (#578)
This pull request addresses a bug related to WebSocket functionality
that was causing an empty error to be displayed. The bug resulted in
incorrect error-handling behavior within the WebSocket implementation,
leading to confusion and difficulties in identifying and resolving
issues.

By addressing this bug and improving the WebSocket error handling
mechanism, this pull request significantly enhances the overall
stability and reliability of the application.
2023-06-30 16:56:11 -03:00
Gabriel Luiz Freitas Almeida
8f66ea7088 🐛 fix(loading.py): add missing return statement to instantiate_llm function
The missing return statement caused the function to not return any value when the node_type is not "VertexAI". Adding the return statement ensures that the function returns the instantiated class object with the provided parameters in all cases.
2023-06-30 16:47:59 -03:00
anovazzi1
e9b44ac781 fix(chat.py): add comment explaining the behavior of accepting and immediately closing the connection if the flow is not built yet 2023-06-30 16:42:33 -03:00
Gabriel Luiz Freitas Almeida
55b17543ae feat(icons): add VertexAIIcon component and update nodeIconsLucide to include VertexAI and ChatVertexAI icons
The VertexAIIcon component is added to the icons directory, allowing the usage of the Vertex AI icon in the application. The nodeIconsLucide object in the utils.ts file is updated to include the VertexAI and ChatVertexAI icons, enabling their usage in the application. This addition enhances the visual representation of the application by providing new icons related to Vertex AI functionality.
2023-06-30 16:40:58 -03:00
anovazzi1
d46aeb2efa fix(chat.py): accept websocket connection before closing it with an error code and reason 2023-06-30 16:27:45 -03:00
anovazzi1
66b4bce525 fix(App.tsx): prevent duplicate alerts from being added to the alertsList
fix(alertContext.tsx): set the error, notice, and success data states before opening the respective alerts
feat(chatModal/index.tsx): add error handling for websocket connection and check backend health before reconnecting
2023-06-30 16:21:40 -03:00
Gabriel Luiz Freitas Almeida
2fd755eb0d
Merge branch 'main' into release 2023-06-30 15:52:16 -03:00
Gabriel Luiz Freitas Almeida
e713c02359
feat: adding VertexAI (#555)
VertexAI was added but ChatVertexAI was not because there's a possible bug.
2023-06-30 15:48:31 -03:00
Gabriel Luiz Freitas Almeida
1689eb0be4 🔧 fix(llm.py): ignore type error for service_account import
🔧 fix(loading.py): remove empty lines
The type error for the service_account import in llm.py is ignored to prevent a linting error. In loading.py, empty lines were removed for code cleanliness.
2023-06-30 15:40:36 -03:00
Gabriel Luiz Freitas Almeida
cbfc9cb405 Merge branch 'release' into vertex_ai 2023-06-30 15:37:43 -03:00
Gabriel Luiz Freitas Almeida
156b3cc5c2 🔧 chore(config.yaml): comment out ChatVertexAI integration due to a bug causing AttributeError
The ChatVertexAI integration is temporarily commented out due to a bug that causes an AttributeError. This bug needs to be resolved before the integration can be activated again.
2023-06-30 11:10:52 -03:00
Gabriel Luiz Freitas Almeida
06aea7da88 🔀 chore(custom_lists.py): reformat import statements for better readability and maintainability
🔀 chore(custom_lists.py): add ChatVertexAI to the import statements for better modularity and extensibility
🔀 chore(custom_lists.py): add ChatVertexAI to the llm_type_to_cls_dict for better compatibility and flexibility
🔀 chore(llms.py): change required field for credentials to be optional for better user experience
🔀 chore(llms.py): add advanced and show fields for specific fields related to VertexAI for better configurability

The import statements in `custom_lists.py` have been reformatted to improve readability and maintainability. The `ChatVertexAI` class has been added to the import statements to enhance modularity and extensibility.

The `ChatVertexAI` class has been added to the `llm_type_to_cls_dict` dictionary in `custom_lists.py` to improve compatibility and flexibility.

In `llms.py`, the `required` field for the `credentials` field has been changed to be optional for a better user experience.

The `advanced` and `show` fields have been added to specific fields related to VertexAI in `llms.py` to provide better configurability.
2023-06-30 11:09:13 -03:00
Gabriel Luiz Freitas Almeida
e01fe86caa 🐛 fix(base.py): simplify the logic to find the matched_type in the Edge class
The logic to find the matched_type in the Edge class has been simplified by removing unnecessary nested loops and using a single generator expression. This improves the readability and efficiency of the code.
2023-06-30 10:09:56 -03:00
Gabriel Luiz Freitas Almeida
3bdc35d238 🔧 chore(llm.py): add function to initialize VertexAI credentials
🔧 chore(loading.py): call initialize_vertexai function when node_type is "VertexAI"
The `llm.py` file now includes a new function `initialize_vertexai` that initializes the VertexAI credentials if a `credentials` parameter is provided. This allows for the usage of VertexAI credentials in the application. In `loading.py`, the `initialize_vertexai` function is called when the `node_type` is "VertexAI", ensuring that the VertexAI credentials are properly initialized for that specific node type.
2023-06-30 10:09:29 -03:00
Gabriel Luiz Freitas Almeida
bbf4c38740 🔀 refactor(llms.py): simplify condition for showing fields in the VertexAI class
The condition for showing fields in the VertexAI class has been simplified to exclude specific field names. This improves readability and maintainability of the code.
2023-06-30 09:35:33 -03:00
Gabriel Luiz Freitas Almeida
e8de0c60ef 🔒 chore(pyproject.toml): update python dependency version to >=3.9,<3.11 to ensure compatibility
⬆️ feat(pyproject.toml): add google-cloud-aiplatform dependency to enable integration with Google Cloud AI Platform
The python dependency version has been updated to >=3.9,<3.11 to ensure compatibility with the project. Additionally, the google-cloud-aiplatform dependency has been added to enable integration with Google Cloud AI Platform services.
2023-06-30 09:23:17 -03:00
Gabriel Luiz Freitas Almeida
4d72c92e4c 🔧 chore(llms.py): add extra fields for VertexAI template and modify field type for "credentials"
📝 chore(llms.py): improve field configuration for VertexAI template and modify field type for "credentials"
The `add_extra_fields` method is modified to add an additional field called "credentials" for the VertexAI template. The field is of type "file" and is required. It allows the user to upload a JSON file as credentials. The `format_openai_field` method is also updated to handle the new "credentials" field.
2023-06-30 09:00:18 -03:00
Gabriel Luiz Freitas Almeida
9e973f0bfc
🔖 chore(pyproject.toml): update package version to 0.2.7 (#573) 2023-06-29 20:44:47 -03:00
Gabriel Luiz Freitas Almeida
e426698c45
Merge branch 'main' into release 2023-06-29 20:44:38 -03:00
Gabriel Luiz Freitas Almeida
606779f216 🔖 chore(pyproject.toml): update package version to 0.2.7
The package version has been updated from 0.2.6 to 0.2.7. This change is made to reflect the latest changes and improvements in the package.
2023-06-29 20:43:52 -03:00
Gustavo Schaedler
d3793e364c
Adding New Components, XSS treatment in the chat, other fixes (#571)
- PostgresChatMessageHistory added to allow loading memory from external
sources
- MultiQueryRetriever added which builds better queries to
Retrievers/VectorStores
- XSS protection in the chat that uses markdown
- FrontendNode refactor start
- Fix Serializable nodes that were exposing wrong base classes on
Components
- ConversationEntityMemory as the first memory with EntityStore (entity
stores coming very soon)
2023-06-29 23:52:12 +01:00
Gabriel Luiz Freitas Almeida
ca32bc3ab5 📦 chore(poetry.lock): update strenum package version to 0.4.15
The strenum package has been updated from version 0.4.12 to version 0.4.15. This update may include bug fixes, performance improvements, or new features.
2023-06-29 19:46:33 -03:00
Gabriel Luiz Freitas Almeida
9fe13ca52d 🔀 chore(test_llms_template.py): rename base class from "Serializable" to "BaseLLM" for clarity and consistency
The base class "Serializable" has been renamed to "BaseLLM" to provide a more descriptive and consistent name for the class. This change improves clarity and maintainability of the code.
2023-06-29 19:46:08 -03:00
Gabriel Luiz Freitas Almeida
169815fd3f
Flow Tweaks (#567) 2023-06-29 19:39:10 -03:00
Gabriel Luiz Freitas Almeida
60032d6146 🐛 fix(AccordionComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(codeAreaComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(dropdownComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(floatComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(inputFileComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(inputListComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(intComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(promptComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(textAreaComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(ui/accordion.tsx): fix formatting and add missing semicolons to improve code readability and maintainability

The changes were made to fix formatting issues and add missing semicolons in the code. This improves code readability and maintainability, making it easier for developers to understand and work with the code.

🐛 fix(constants.tsx): fix formatting and indentation issues in the buildTweakObject function
🐛 fix(popUpContext.tsx): remove unnecessary empty line
🐛 fix(tabsContext.tsx): remove unnecessary empty line
🐛 fix(ApiModal/index.tsx): fix formatting and indentation issues
🐛 fix(codeAreaModal/index.tsx): fix formatting and indentation issues
🐛 fix(types/components/index.ts): remove unnecessary empty line
The changes in constants.tsx fix formatting and indentation issues in the buildTweakObject function to improve code readability. The changes in popUpContext.tsx, tabsContext.tsx, ApiModal/index.tsx, codeAreaModal/index.tsx, and types/components/index.ts fix formatting and indentation issues to ensure consistent code style.
2023-06-29 19:36:22 -03:00
Gabriel Luiz Freitas Almeida
b188400517 🐛 fix(loading.py): improve error message formatting when failing to build connection to database
🐛 fix(base.py): add optional 'name' parameter to the format method in FieldFormatter
In loading.py, the error message when failing to build a connection to the database is now formatted in a more readable way. This improves the clarity of the error message and makes it easier to identify the cause of the issue.

In base.py, the format method in FieldFormatter now accepts an optional 'name' parameter. This allows for more flexibility when formatting the field and provides the ability to include the field name in the formatting process if needed.
2023-06-29 19:36:04 -03:00
Gabriel Luiz Freitas Almeida
15e38be62e
Merge branch 'release' into feat-tweaks 2023-06-29 19:22:12 -03:00
Gabriel Luiz Freitas Almeida
879390488e 🔖 chore(pyproject.toml): update package version to 0.2.7
The package version has been updated from 0.2.6 to 0.2.7. This change is made to reflect the latest changes and improvements in the package.
2023-06-29 19:06:50 -03:00
Gabriel Luiz Freitas Almeida
67d889c8d0
Merge branch 'main' into release 2023-06-29 19:05:10 -03:00
Gabriel Luiz Freitas Almeida
eb53798c41 🐛 fix(utils.ts): update color code for "retrievers" in nodeColors object
The color code for the "retrievers" category in the nodeColors object has been updated from "#F5B85A" to "#e6b25a". This change was made to ensure consistency and improve the visual representation of the "retrievers" category.
2023-06-29 18:43:37 -03:00
Gabriel Luiz Freitas Almeida
4f94662881 📝 docs(config.yaml): add documentation for ConversationEntityMemory integration
The ConversationEntityMemory integration is now documented in the config.yaml file. This provides a link to the documentation for using the ConversationEntityMemory module with SQLite as the underlying storage. This change improves the clarity and accessibility of the documentation for this integration.
2023-06-29 18:43:24 -03:00
Cristhian Zanforlin Lousa
82c469d3c2 🔥 refactor(constants.tsx): remove console.log statements for better code cleanliness and performance 2023-06-29 18:42:40 -03:00
Cristhian Zanforlin Lousa
fdb998688a 🐛 fix(codeAreaComponent): update initial state of myValue to handle non-string values properly
🐛 fix(constants.tsx): refactor getCurlCode and getPythonCode to use buildTweakObject function for generating tweak object

🐛 fix(ApiModal): update logic for opening accordions based on tweak.current length and closeEdit value
2023-06-29 18:42:09 -03:00
Gabriel Luiz Freitas Almeida
2b33334de6 🔒 chore(poetry.lock): update google-api-python-client version to 2.91.0
🔒 chore(poetry.lock): update joblib version to 1.3.1
The versions of the anthropic, google-api-python-client, and joblib packages have been updated to their latest versions. This ensures that the application is using the most recent bug fixes, improvements, and features provided by these packages.
2023-06-29 18:41:23 -03:00
Gabriel Luiz Freitas Almeida
08c7bb5230 🐛 fix(loading.py): catch additional exception when object has no 'conn' field to improve error handling
The code now catches an additional exception when the object does not have a 'conn' field. This improves the error handling by providing a more specific error message when building a connection to the database fails.
2023-06-29 18:38:36 -03:00