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](https://private-user-images.githubusercontent.com/65674752/261650144-8cb8ec87-6e50-44d5-aedc-c4994e9a8aa2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ4NzM2NzEsIm5iZiI6MTcyNDg3MzM3MSwicGF0aCI6Ii82NTY3NDc1Mi8yNjE2NTAxNDQtOGNiOGVjODctNmU1MC00NGQ1LWFlZGMtYzQ5OTRlOWE4YWEyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI4VDE5MjkzMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIxY2FkMmY1NDk0NGZkZGIzMDgzZjA2ZTg4NTgxZmJkZTZmMWZhYTI4NTgzYWYxNWMwYmM5NDRjNzU0NzQzMDEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.dq6zWsxQ-IRuo3P6eVnVTUOtDkuU7t7cn929SaOxg5o)
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.
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..
- βοΈ 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.
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
Or check out the Quick Start Doc.
See here for full documentation.
π Highlight Topics π
- π€ Agent Templates
- β°οΈ Hierarchical Agents
- π₯ Unique Agent Benchmark
- π¦ Open LLM Supports
- π§ High-Performance Memory
[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 :)
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!