/Gentopia

Build Hierarchical Autonomous Agents through Config. Collaborative Growth of Specialized Agents.

Primary LanguagePythonMIT LicenseMIT

Gentopia

License: MIT PyPI Read the Docs Static Badge Static Badge Open Issues Dependency Status

Twitter Follow YouTube Channel Subscribers GitHub star chart

Gentopia is a lightweight and extensible framework for LLM-driven Agents and ALM research. It provides essential components to build, test and evaluate agents. At its core, Gentopia aims to assemble an agent with a single config, thus minimizing your effort in building, tuning, and sharing agents.

image

Gentopia maintains an agent platform GentPool to share specialized agents, where your agent interacts with other agents by cloning, hierarchical plug-in, or sharing environment. We provide a unique agent benchmark for holistic evaluation.

Motivation ๐Ÿง 

Agent practitioners start to realize the difficulty in tuning a "well-rounded" agent with tons of tools or instructions in a single layer. Recent studies like TinyStories, Specializing Reasoning, Let's Verify SbS, ReWOO, etc. also point us towards an intuitive yet undervalued direction ๐Ÿ‘‰

An LLM is more capable if you create a context/distribution shift specialized to some target tasks.

Sadly, there is no silver bullet for agent specialization. For example, you can

  • Simply add Let's think step by step. in your prompt for more accurate Math QA.
  • Give a few-shot exemplar in your prompt to guide a better reasoning trajectory for novel plotting.
  • Supervise fine-tuning (SFT) your 70B llama2 like this to match reasoning of 175B GPT-3.5.
  • Tune your agent paradigm like this demo to easily half the execution time for Seach & Summarize.
  • And more ...

Isn't it beautiful if one shares his effort in specialized intelligence, allowing others to reproduce, build on, or interact with it? ๐Ÿค— This belief inspires us to build Gentopia, designed for agent specialization, sharing, and interaction, to stackingly achieve collective growth towards greater intelligence..

Core Features ๐Ÿ’ก

  • โš™๏ธ Config-driven agent assembling and chat.
  • ๐Ÿš€ Large amount of prebuilt agent types, LLM clients, tools, memory systems, and more.
  • ๐Ÿชถ Lightweight and highly extensible implementation of essential components.
  • ๐Ÿงช Aligning with state-of-the-art AI research.
  • ๐Ÿค Enabling multi-agent interactions.
  • ๐Ÿฆ Unique platform of agent zoo and eval benchmark.

Quick Start ๐Ÿ

conda create --name gentenv python=3.10
conda activate gentenv
pip install gentopia

or if you want to build with open LLMs locally ๐Ÿ‘‰ pip install gentopia[huggingface]

First time to Gentopia? Grab a coffee โ˜• and

Take ~ 8 mins to check out the following demo tutorials YouTube Channel Subscribers

Video 1 Video 2 Video 3

Or check out the Quick Start Doc.

Documentation ๐Ÿ“–

See here for full documentation.

๐ŸŒŸ Highlight Topics ๐ŸŒŸ

News ๐Ÿ‘ท

[Oct 7] The companion paper was accepted by #EMNLP 23. See you in Singapore! ๐Ÿฆ™๐ŸŒŽ

[Aug 6] We've submitted our work as a paper for EMNLP 2023. Special thanks to the research team and professors from NCSU, GMU, and CMU for collaboration :)

Join us! ๐ŸŒŽ

Participate in this Utopia of superintelligence and help it grows! As a fully open-source project, we develop under public advice, ideas, and supervision. Meanwhile, here are ways you may contribute to Gentopia.

  • ๐Ÿ› Post an issue requesting necessary bug fixes, additional features, or roadmap suggestions. (Check closed ones first)
  • ๐ŸŽฏ Our dev team meets weekly to groom backlog into tickets. While we work on them, you can pick up others and create a Pull Request to request a merge. We always welcome new members in this way.
  • ๐Ÿค Share your specialized agent to GentPool! Create an Agent PR (example) to merge your well-tuned agent into the pool. This allows others to use or build upon your agent.
  • โญ Help us spread! Give us a star, follow us on Twitter, join our Discord, and share with your friends!