synthora

synthora

Synthora 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, Synthora aims to assemble an agent with a single config, thus minimizing your effort in building, tuning, and sharing agents.

Stars: 51

Visit
 screenshot

Synthora is a lightweight and extensible framework for LLM-driven Agents and ALM research. It aims to simplify the process of building, testing, and evaluating agents by providing essential components. The framework allows for easy agent assembly with a single config, reducing the effort required for tuning and sharing agents. Although in early development stages with unstable APIs, Synthora welcomes feedback and contributions to enhance its stability and functionality.

README:

Synthora

Read the Docs

Synthora 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, Synthora aims to assemble an agent with a single config, thus minimizing your effort in building, tuning, and sharing agents.

Note: This project is in its very early stages of development. The APIs are unstable and subject to significant changes, which may introduce breaking updates. Use with caution, as there are inherent risks in adopting this framework at its current maturity level. Feedback and contributions are welcome to help improve its stability and functionality.

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.
  • 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 Synthora, 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.

Installation

To install Synthora Python Library from PyPI, simply run:

 pip install synthora

Quick Start

import warnings

from synthora.callbacks import RichOutputHandler
from synthora.agents import VanillaAgent

warnings.filterwarnings("ignore")

agent = VanillaAgent.default("You are a Vanilla Agent.", handlers=[RichOutputHandler()])
agent.run("Hi! How are you?")

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for synthora

Similar Open Source Tools

For similar tasks

For similar jobs