Skip to content

v0.7.0: Easy Configuration, Improved Incremental Development, and CodeInterpreter

Compare
Choose a tag to compare
@garylin2099 garylin2099 released this 09 Feb 02:42
· 26 commits to v0.7-release since this release
335d972

Release Highlights

  • Easier and more flexible configuration: Simplified config setup, moving away from a global CONFIG to use Config instances for more granular control. Typical use cases involve assigning different LLMs to different Roles. Please check out here for detailed usage.
  • Introduced Context: Context is made up of config, repo, workspace, etc. Each Role can possess its own context, allowing more flexible context management.
  • Added metagpt --init-config command: A more friendly setup process for pypi package users.
  • Repo restructuring: Consolidated FileRepo and GitRepo responsibilities to simplify code and logic.
  • Subscription to tags: Changed the concept of subscription to tags for improved readability and usability.
  • Removal of explicit serialize/deserialize functions: Removed these functions from Role, used mixin instead for better clarity.
  • Supported initializing ActionNode from pydantic.BaseModel: An easy and structured way to define ActionNode.
  • WritePRD Action restructuring: Simplified code, enhanced effectiveness, and fixed buggy logic.
  • Env restructuring (experimental): Re-abstracted Env to accommodate various environments more effectively; Uses mark_as_readable mark_as_writable to decorate APIs to uniformly observe and act on the environment through observe and step.
  • Embraced Multi-modality: Added a vision agent based on GPT-4V, check out the example here!
  • Improved Incremental development: Higher success rate of incremental development compared to previous version.
  • Introduced CodeInterpreter: A general agent who solves problems through coding. The agent leverages on plans and tools, capable of tackling a wide range of problems, including data visualization, machine learning modeling, math reasoning, web scraping, webpage imitating, etc. We are adding examples here!

What's Changed

Backwards Incompatible Changes

  • IMPORTANT: We removed config.yam, key.yaml and switched to a minimal config2.yaml. Please check the latest setup method here
  • We removed Role._init_actions and added Role.set_actions, which allows actions setup at any time besides initialization. For Role initialization specifically, users should also use self.set_actions(...) now

Features

Bugfixes and improvements