noahshinn / reflexion

[NeurIPS 2023] Reflexion: Language Agents with Verbal Reinforcement Learning
MIT License
2.46k stars 240 forks source link

[Feature Request]: Gymnasium compatibility #17

Open elliottower opened 1 year ago

elliottower commented 1 year ago

Hi, I was wondering if it would be possible to add compatibility with Gymnasium. It is a maintained fork of openai gym and is designed as a drop-in replacement (import gym -> import gymnasium as gym), which maintains backwards compatibility. Beyond just bugfixes, many RL environments have updated or are only available in Gymnasium (see Third Party Environments) as well as most RL training libraries (rllib, tianshou, CleanRL, stable-baselines3).

It looks like you currently use Gym v26 which is the most recent version and should be very simple to update to Gymnasium. I see the Leetcode-Hard Gym environment uses Gym as well, but taking a quick look through it doesn't seem like it would be difficult to update either.

We would love to add an official tutorial using Reflexion as a way of interacting with Gymnasium environments (or multi-agent PettingZoo envs, as we already have a LangChain tutorial for example).

I would also personally be interested in helping add examples to this repo testing out standard Gymnasium or PettingZoo environments, don't think it would take much modification but just making this issue first to see if it's something you'd be interested in contributors helping with.

For information about upgrading and compatibility, see migration guide and gym compatibility. The main difference between V26 and Gymnasium I believe is that env.reset() does not take the return_info argument, but it seems your codebases don't use that anyways.