L2MAC: The Large Language Model Automatic Computer Framework
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Pioneering the first practical LLM-based general-purpose stored-program automatic computer (von Neumann architecture) framework in an LLM-based multi-agent system, for solving complex tasks through generating extensive and consistent outputs, unbounded by the LLMs fixed context window constraint.
News
🌟 May. 7 - 11th, 2024: We will present L2MAC at the International Conference on Learning Representations (ICLR) 2024. Come meet us at ICLR in Vienna Austria! Please reach out to me at sih31 (at) cam.ac.uk so we can meet, virtual meetings accepted as well!
🌟 April. 23, 2024: L2MAC is fully open-sourced with the initial version released.
🚀 Jan. 16, 2024: The paper L2MAC: Large Language Model Automatic Computer for Extensive Code Generation
is accepted for presentation at ICLR 2024!
LLM-Automatic Computer (L2MAC) framework excels at solving large complex tasks, such as being state-of-the-art for generating large codebases, or it can even write entire books, all of which bypass the traditional constraints of the LLMs fixed context window constraint.
* LLM-Automatic Computer can take a **one line input prompt** and generate an extensive and large output, for example generating an entire complex codebase.
* Internally, the LLM-Automatic Computer uses a **prompt-program** which is a series of prompts, each providing a instruction step to execute. Unless explicitly given, the **prompt-program** is self generated (bootstrapped) and executed. Specifically each instruction step of the **prompt-program** is loaded into a new LLM agent to execute, whose context is managed by a control unit and is provided with tools so that it can read and write to a persistent memory, here a file store, which contains the final and intermediate outputs. This enables it to automatically execute general-purpose prompt programs to solve complex tasks, that require extensive cohesive outputs, where the output is unbounded and not constrained by the LLMs underlying context window constraint.
LLM-Automatic Computer (L2MAC) instantiation for coding a large complex codebase for an entire application based on a single user prompt . Here we provide L2MAC with additional tools to check for any syntax errors within the code and run any unit tests if they exist.
Get Started
Installation
> Ensure that Python 3.7+ is installed on your system. You can check this by using: python --version.
> You can use conda like this: conda create -n l2mac python=3.9 && conda activate l2mac
For detailed installation guidance, please refer to installation
Configuration
You can init the config of L2MAC by running the following command, or manually create ~/.L2MAC/config.yaml file:
You can configure ~/.l2mac/config.yaml according to the example and doc:
Usage
After installation, you can use L2MAC CLI
or use it as a library
QuickStart
Tutorial
- 🗒 Online Documentation
- 💻 Usage
- 🔎 What can L2MAC do?
- 🖼️ Gallery of Examples Produced
- 🛠 How to run L2MAC?
- L2MAC Usage & Development Guide | L2MAC 101
- 🧑💻 Contribution
- Development Roadmap
- 🔖 Use Cases
- Create a state-of-the-art large codebase
- Create an entire book
- ❓ FAQs
Support
Discord Join US
📢 Join Our Discord Channel! Looking forward to seeing you there! 🎉
Contact Information
If you have any questions or feedback about this project, please feel free to contact us. We highly appreciate your suggestions!
- **Email:** sih31 at cam.ac.uk
- **GitHub Issues:** For more technical inquiries, you can also create a new issue in our GitHub repository.
We will respond to all questions within 2-3 business days.
Citation
To stay updated with the latest research and development, follow @samianholt on Twitter.
To cite L2MAC in publications, please use the following BibTeX entry.
How does L2MAC compare against AutoGPT, GPT-4 and existing methods?
LLM-Automatic Computer (L2MAC) instantiation for coding a large complex codebase for an entire application based on a single user prompt . Codebase generation system design task results showing the percentage of functional features specified that are fully implemented ( Features % ), the number of syntactical errors in the generated code ( # Errors ), the number of lines of code ( LOC ), and the number of passing tests ( Tests Passed ). L2MAC fully implements the highest percentage of user-specified task feature requirements across all tasks by generating fully functional code that has minimal syntactical errors and a high number of passing self-generated unit tests, therefore it is state-of-the-art for the generation of large output codebases, and similarly competitive for the generation of large output tasks. The results are averaged over 10 random seeds.