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

Add streaming support #20

Merged
merged 17 commits into from
Aug 30, 2024
Merged

Add streaming support #20

merged 17 commits into from
Aug 30, 2024

Conversation

RobRoyce
Copy link
Collaborator

@RobRoyce RobRoyce commented Aug 30, 2024

Purpose

  • Adds streaming support to the ROSA class by implementing LangChains astream_events method.
  • Consumers will now have access to agent lifecycle events.
  • Implemented example usage in the turtle_agent demo.

Added

  • Implemented streaming capability for ROSA responses
  • Added pyproject.toml for modern Python packaging
  • Implemented asynchronous operations in TurtleAgent for better responsiveness

Changed

  • Updated Dockerfile for improved build process and development mode support
  • Refactored TurtleAgent class for better modularity and streaming support
  • Improved bounds checking for turtle movements
  • Updated demo script for better cross-platform support and X11 forwarding
  • Renamed set_debuging to set_debugging in system tools

Fixed

  • Corrected typos and improved documentation in various files
  • Fixed potential issues with turtle movement calculations

Removed

  • Removed unnecessary logging statements from turtle tools

Issues

RobRoyce and others added 17 commits August 21, 2024 07:34
…ion. Improved code readability and maintainability. (#13)
* feat(tests): add unit tests for most tools and the ROSATools class.
* fix: passing a blacklist into any of the tools no longer overrides the blacklist passed into the ROSA constructor. They are concatenated instead.
* feat(CI): add ci workflow.
* fix: properly filter out blacklisted topics and nodes.
* feat(tests): add ros2 tests.
* feat(ci): update humble jobs.
* feat(ci): finalize initial version of ci.
* chore: remove verbose logging where it isn't required.

* chore: remove unnecessary apt installations.

* fix: minor typo

* chore: update gitignore

* chore: update PR template

* Update turtle agent demo to support streaming responses.

* feat(streaming): add the ability to stream responses from ROSA.

* feat(demo): update demo script, apply formatting.

* feat(demo): update demo TUI, fix bounds checking in turtle tools.

* feat(demo): clean up Docker demo, add another example of adding tools to the agent.

* docs: update README.

* docs: update README.

* Update README.md

* chore: minor formating and linting.

* chore: switch setup configuration to use pyproject.toml

* feat(demo): properly implement streaming REPL interface.
@RobRoyce RobRoyce merged commit d22eb90 into main Aug 30, 2024
6 checks passed
Shu980101 pushed a commit to Shu980101/rosa that referenced this pull request Feb 1, 2025
* refactor: better error handling and response parsing for ROS2 tools, add blacklist where applicable.

* feat(ros2): add ros2 topic echo tool.

* chore: bump version to 1.0.4, update CHANGELOG.md

* chore: bump langchain versions.

* Simplified within_bounds function by removing redundant 'elif' condition. Improved code readability and maintainability. (nasa-jpl#13)

* Add unit tests and CI. (nasa-jpl#14)

* feat(tests): add unit tests for most tools and the ROSATools class.
* fix: passing a blacklist into any of the tools no longer overrides the blacklist passed into the ROSA constructor. They are concatenated instead.
* feat(CI): add ci workflow.
* fix: properly filter out blacklisted topics and nodes.
* feat(tests): add ros2 tests.
* feat(ci): update humble jobs.
* feat(ci): finalize initial version of ci.

* feat(tests): add stubs for additional test classes.

* docs: update README

* chore: bump version to 1.0.5

* fix typos (nasa-jpl#17)

* Add streaming support (nasa-jpl#19)

* chore: remove verbose logging where it isn't required.

* chore: remove unnecessary apt installations.

* fix: minor typo

* chore: update gitignore

* chore: update PR template

* Update turtle agent demo to support streaming responses.

* feat(streaming): add the ability to stream responses from ROSA.

* feat(demo): update demo script, apply formatting.

* feat(demo): update demo TUI, fix bounds checking in turtle tools.

* feat(demo): clean up Docker demo, add another example of adding tools to the agent.

* docs: update README.

* docs: update README.

* Update README.md

* chore: minor formating and linting.

* chore: switch setup configuration to use pyproject.toml

* feat(demo): properly implement streaming REPL interface.

* chore: bump version to 1.0.6

* chore: specify version in CHANGELOG.

---------

Co-authored-by: Kejun Liu <119113065+dawnkisser@users.noreply.github.com>
Co-authored-by: Kejun Liu <kfo@shu.edu.cn>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[New Feature]: expose callbacks and ainvoke
2 participants