Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: serialize array output and logs #3040

Merged
merged 3 commits into from
Jul 29, 2024
Merged

Conversation

ogabrielluiz
Copy link
Contributor

I have refactored the recursive_serialize_or_str function in the schema.py file to improve its readability and maintainability. The function now uses a try-except block to handle exceptions and returns a string representation of the object if an exception occurs. Additionally, I have added support for serializing arrays in the build_output_logs function to handle the LogType.ARRAY case. This ensures consistent data handling and improves the code quality and reliability of the serialization process.

Refactor the `recursive_serialize_or_str` function in the `schema.py` file to improve its readability and maintainability. The function now uses a try-except block to handle exceptions and returns a string representation of the object if an exception occurs. This ensures that the function always returns a string, preventing any unexpected errors. Additionally, the function now includes additional checks for different object types, such as dictionaries, lists, and instances of `BaseModel`. These checks ensure that the function correctly serializes complex objects and avoids any potential issues. Overall, this refactoring improves the code quality and reliability of the `recursive_serialize_or_str` function.
…n ARRAY artifact type to ensure consistent data handling
@ogabrielluiz ogabrielluiz requested a review from italojohnny July 29, 2024 19:47
@ogabrielluiz ogabrielluiz enabled auto-merge (squash) July 29, 2024 19:47
@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Jul 29, 2024
Copy link
Contributor

Pull Request Validation Report

This comment is automatically generated by Conventional PR

Whitelist Report

Whitelist Active Result
Pull request is a draft and should be ignored
Pull request is made by a whitelisted user and should be ignored
Pull request is submitted by a bot and should be ignored
Pull request is submitted by administrators and should be ignored

Result

Pull request does not satisfy any enabled whitelist criteria. Pull request will be validated.

Validation Report

Validation Active Result
All commits in this pull request has valid messages
Pull request does not introduce too many changes
Pull request has a valid title
Pull request has mentioned issues
Pull request has valid branch name
Pull request should have a non-empty body

Result

Pull request satisfies all enabled pull request rules.

Last Modified at 29 Jul 24 19:48 UTC

@github-actions github-actions bot added the bug Something isn't working label Jul 29, 2024
@ogabrielluiz ogabrielluiz linked an issue Jul 29, 2024 that may be closed by this pull request
Copy link

This pull request is automatically being deployed by Amplify Hosting (learn more).

Access this pull request here: https://pr-3040.dmtpw4p5recq1.amplifyapp.com

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Jul 29, 2024
@ogabrielluiz ogabrielluiz merged commit 4e9367b into main Jul 29, 2024
59 of 60 checks passed
@ogabrielluiz ogabrielluiz deleted the fix/serializationissue branch July 29, 2024 20:46
nicoloboschi pushed a commit to datastax/ragstack-ai-langflow that referenced this pull request Jul 30, 2024
* refactor: improve recursive serialization function

Refactor the `recursive_serialize_or_str` function in the `schema.py` file to improve its readability and maintainability. The function now uses a try-except block to handle exceptions and returns a string representation of the object if an exception occurs. This ensures that the function always returns a string, preventing any unexpected errors. Additionally, the function now includes additional checks for different object types, such as dictionaries, lists, and instances of `BaseModel`. These checks ensure that the function correctly serializes complex objects and avoids any potential issues. Overall, this refactoring improves the code quality and reliability of the `recursive_serialize_or_str` function.

* feat(artifact.py): add support for recursive serialization of items in ARRAY artifact type to ensure consistent data handling

* feat(schema.py): add support for serializing arrays in build_output_logs function to handle LogType.ARRAY case

(cherry picked from commit 4e9367b)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working lgtm This PR has been approved by a maintainer size:M This PR changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Serialization of multiple Tools raises exception
2 participants