Metagpt

Latest version: v0.8.1

Safety actively analyzes 681866 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

0.6.3

Not secure
A patch release for the following issues:

- An unexpected UserRequirement type message is thrown when there is nothing to do. 701
- Renaming folder does not work on Windows os 716

0.6.2

Not secure
A patch release for the following issues:

- Fixed the issue of recursive searching for providers by adding DEFAULT_PROVIDER. 679 681

0.6.0

Not secure
Release Highlights

Numerical statistics
- Huge number of commits: increased from ~1300 to ~2000
- Significantly improved test coverage: from ~30% to 80%+

Ease of use
- Example simplification: Now only 7 lines of code are needed to implement a general election debate. Simplified debate and knowledge base related examples
- Pure asynchronous: LLM API calls are changed to pure asynchronous, removing all synchronization code

Framework update
- Integrated code to support Huggingface demo and AgentStore
- Added serialization and deserialization of important objects
- Supported [breakpoint recovery](https://docs.deepwisdom.ai/main/en/guide/in_depth_guides/breakpoint_recovery.html)
- All types modified to base on pydantic v2. In order to keep it simple enough, all private variables are changed to public
- Moved most logic of `ActionOutput` to `ActionNode`

LLM provider update
- OpenAI package upgraded to v1.6.0
- Supported or optimized LLMs: Gemini, ZhipuAI, [Ollama, and other Open LLMs](https://docs.deepwisdom.ai/main/en/guide/tutorials/integration_with_open_llm.html) etc.

Other update
- Removed OpenInterpreter and StableDiffusion part of the code
- Added ToT strategy
- Installation process optimized: now you can use `pip install -e .[dev]` / `pip install -e .[test]` to install the package corresponding to the scenario

What's Changed

Backwards Incompatible Changes
- IMPORTANT: In accordance with OpenAI's official specifications, the `OPENAI_API_BASE` has been renamed to `OPENAI_BASE_URL` in config.yaml
- The underlying abstraction has been renamed from `BaseGPTAPI` to `BaseLLM`, making it more generic and capable of supporting API / UI / local interfaces.
- `Role._rc` -> `Role.rc`
- Removed `BaseLLM.ask` and `BaseLLM.ask_code`, maintained the asynchronous `BaseLLM.aask` and `BaseLLM.aask_code` only

Features
- Github related: Add pre-commit code format check and corrected the format 587 594 by voidking
- Optimized example, used purely asynchronous api call, integrated code to support Huggingface and AgentStore, upgraded OpenAI package, built up test suite 589 671 by geekan better629 seehi iorisa shenchucheng Stitch-z Justin-ZL voidking garylin2099
- Based important objects to pydantic BaseModel, added serialization and deserialization 590 by better629
- Supported Google Gemini as underlying LLM 595 by better629
- Github related: Provided issue and pr template 598 by better629
- Supported Ollama as underlying LLM 603 by better629
- Enabled MetaGPT to be used as a dependency for web applications, such as https://huggingface.co/spaces/deepwisdom/MetaGPT. #621 by shenchucheng
- Experimental implementation of ToT strategy 643 by stellaHSR

Bugfixes and improvements
- Solve Message initialization issue 596 by orange-crow 599 by better629
- Fixed QaEngineer missing test_round 600 by better629
- Upgraded langchain to be compatible with openai new version 605 by seehi
- Update examples 606 by better629
- Fixed bug in sk_agent 623 by femto
- Set openai proxy for class ZhiPuAPTAPI 630 by springasa
- Fix filename problem in research.py 634 shenchucheng

Documents
- Fixed broken docs links 575 by shenchucheng
- Fixed typos 602 by eltociear

0.5.2

Not secure
A patch release for the following issues:

- Fix dead loop when running startup example, move watching `UserRequirement` to role initialization 579

0.5.1

Not secure
A patch release for the following issues:

- Fix cContextVar OPTIONS LookupError 566
- Add UserRequirement to watch by default if the role is not set to watch; Set current working directory (cwd) as the default project root in PyPI mode 570
- Add deprecated warnings for the start_project method 574

0.5.0

Not secure
Release Highlights
Overall
1. **Multilingual Support (Experimental)**: Now supports both Chinese and English, and theoretically other languages.
2. **Multiple Programming Languages Support (Experimental)**: Support for various programming languages is now available, allowing for the natural generation of JavaScript projects. However, it's noted that GPT-4-turbo has significantly stronger capabilities in Python, and there is considerable room for improvement with other programming languages.
3. **Incremental Development (Experimental)**: It's now possible to incrementally raise requirements and bug fixes, allowing for further optimization of the generated repo.
4. **CLI Support**: You can now use `metagpt "make a 2048 game"` to let metagpt write software directly in the command line. More features can be unlocked with `metagpt --help`.
5. **PIP Support**: `pip install metagpt` is now available for installing and using metagpt, enabling direct access to the command-line version of metagpt.
6. **Enhanced Code Review**: The generated code now undergoes a more comprehensive code review, which significantly improves code quality.
7. **File Management with Git**: An independent documentation workspace with a complete git history is now used to record changes in historical code.
8. **Optimized Messaging Mechanism**: Privatized Role memory, providing an inter-Role messaging mechanism that supports broadcasting, group messaging, and private messaging.

Details
| Category | Content |
|----------|---------|
| **Action Optimization** | <ul><li>Action Optimization: Atomic ActionNode design. Multiple roles now use ActionNode.</li><li>SummarizeCode Action: Summarizing based on code.</li><li>CodeReview Action Enhancement: Mandatory question answering for higher success.</li><ul><li>LGTM/LBTM responses; stops on LGTM without rewriting code.</li><li>`code_review_k_times` parameter in settings, set to 2.</li><li>Potential non-compliance, need for ActionNode structure long-term.</li></ul><li>WriteDesign: Removed `project_name` correction code; prompt format changed from to JSON.</li></ul> |
| **Data Structures** | <ul><li>Document Standardization: Git management in project folders, `CONFIG.git_repo -> FileRepository` for project code files handling; FileRepository with text file capabilities.</li><li>FileRepository: Data lineage recording for rebuilding data.</li><li>Repo Structure: For Document and metadata loading; FileRepository is live.</li><li>RepoParser: Simple AST parser, symbol library for the entire repository.</li><li>Role objects: Privatized memory.</li><li>Message Function: Retained for event notification, weakened data transportation.</li></ul> |
| **Configuration Optimization** | <ul><li>Default to gpt-4-1106-preview.</li><li>`~/.metagpt` for highest priority config, reading `config.yaml`.</li><li>`METAGPT_PROJECT_ROOT` for workspace path specification.</li><li>`project_name` specification via command line, generated by ProductManager.</li></ul> |
| **CLI Support** | <ul><li>`metagpt` as default command line.</li><li>New METAGPT_ROOT generation method for CLI installation.</li><li>Switched to typer for command line.</li><li>Flexible `project_name` specification.</li><li>`--project-path` parameter for project specification.</li></ul> |
| **Other** | <ul><li>Support for multiple languages, Chinese tested.</li><li>Naming change: `BossRequirement` -> `UserRequirement`.</li><li>Error text corrections for readability.</li><li>Prompt word optimization for accuracy.</li><li>Blocked LongtermMemory logic due to loading time.</li><li>Fixed description errors in installation package.</li><li>Removed redundant `base` modification in config.</li><li>Fixed JSON storage issues with Chinese, `ensure_ascii=False`.</li></ul> |

What's Changed

Backwards Incompatible Changes
- Remove `Role.recv` and `Role.handle`. Corresponding logic is moved into `Role._observe`
- `Role._publish_message` -> `Role.publish_message`
- `Team.start_project` -> `Team.run_project`. Given we support incremental development, we use "run" to refer to project execution in general, as opposed to "starting" a project from scratch

We will explain [incremental development](https://docs.deepwisdom.ai/v0.5/en/guide/in_depth_guides/incremental_development.html) and the new [messaging mechanism](https://docs.deepwisdom.ai/v0.5/en/guide/in_depth_guides/agent_communication.html) on the documentation site, stay tuned!

Features
- IMPORTANT: Multilingual support (experimental), multiple programming languages support (experimental), incremental development (experimental), CLI support, pip support, enhanced code review, documentation mechanism, optimized messaging mechanism by iorisa geekan 552 . Check out the highlights above for details.

Bugfixes and improvements
- Add gpt-4-turbo and gpt-3-turbo-1106 in openai token count by WannaTen 548
- Fix spelling errors in prompt by 0aaryan 554

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.