Skip to main content

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.

Project description

Synthora Logo

📖 Introduction

Synthora is a lightweight, extensible framework for LLM-driven agents and ALM research. It provides the essential components to build, test, and evaluate agents, enabling you to assemble an agent with a single configuration file. Our goal is to minimize effort while delivering robust functionality.

Note: This project is in its early stage of development. The APIs are subject to significant changes, which may introduce breaking updates. Use with caution and consider the risks associated with adopting an evolving framework. We welcome your feedback and contributions to improve this project together!

💡 Core Features

Synthora offers a comprehensive suite of features designed to support your AI development needs:

  • Config-Driven Assembly: Assemble agents and conduct chats with simple configurations.
  • Agents: Includes various predefined agents (e.g., COT, TOT, ReAct) and supports custom agent creation.
  • Tools: A comprehensive tool set is integrated for agents to call, unleashing the full power of agents.
  • Task Automation: Employ powerful workflows to automate and streamline diverse tasks.
  • Multi-Agent Interactions: Easily combine multiple agents using configuration files or straightforward code.
  • Extensibility: Leverage a lightweight and highly extensible framework that integrates seamlessly with additional tools.
  • State-of-the-Art Workflows: Align your work with cutting-edge AI research and practices.

⚙ Installation

Install the Synthora Python Library from PyPI with a single command:

pip install synthora

✨ Quick Start

Chat with an Agent

Engage in a conversation with a prebuilt Vanilla Agent:

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

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

Define a Tool

Create a simple tool to add two numbers using the provided decorator:

from synthora.toolkits.decorators import tool

@tool
def add(a: int, b: int) -> int:
    r"""Add two numbers together."""
    return a + b

Build a Workflow

Construct a workflow that chains tasks together:

def add(x: int, y: int) -> int:
    return x + y

flow = (BaseTask(add) | BaseTask(add)) >> BaseTask(add)
flow.run(1, 2)

📃 Documentation

For detailed information on core modules, tutorials, and cookbooks, please visit our Documentation.

🌎 The Ecosystem

Synthora is a core component of the Syntropix Ecosystem, serving as the hub for our tech stack and community engagement.

figure

We also offer a backend API platform, Syntropix, which provides a low-cost, efficient CPU-accelerated inference service—the first of its kind in heterogeneous acceleration. Using Syntropix as your backend API in Synthora unlocks additional benefits:

  • Detailed observability, analysis, and evaluation.
  • Finer-grain control over inference services, including scheduled jobs.
  • More advanced features and functionalities in the pipeline.

For further details, check out:

🧠 Contributing

We’re in the early stages of Synthora’s development, and your contributions are crucial to shaping its future. Whether you're a developer, researcher, or enthusiast, your feedback and code contributions are welcome and highly valued. If you encounter issues, have ideas for enhancements, or want to contribute new features, please get involved! Check our GitHub repository for guidelines on how to contribute, submit issues, and propose pull requests.

Together, we can build a robust and innovative framework that meets the needs of the AI research community. Join us on this journey, and help shape the future of agent-driven AI!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synthora-0.1.10.tar.gz (63.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synthora-0.1.10-py3-none-any.whl (140.5 kB view details)

Uploaded Python 3

File details

Details for the file synthora-0.1.10.tar.gz.

File metadata

  • Download URL: synthora-0.1.10.tar.gz
  • Upload date:
  • Size: 63.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.9 Darwin/24.3.0

File hashes

Hashes for synthora-0.1.10.tar.gz
Algorithm Hash digest
SHA256 643dab1aab802892d8895c79945dbef987c2a9e43c9f6d99e26d1c2b4d6771eb
MD5 8eb34397a5937566a1f198d8cd494feb
BLAKE2b-256 0c1a973d78ae68891f08ac6145995bdc5318658e77f8eeffd689922145b0c644

See more details on using hashes here.

File details

Details for the file synthora-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: synthora-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 140.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.9 Darwin/24.3.0

File hashes

Hashes for synthora-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 1601be18d24f6424f45f24dcc2cfb97423f5759f6ea5893f68d0e1815f2367a7
MD5 7ef1b5be5d556c398a3a338169ed4ae4
BLAKE2b-256 12fa87af4d9a4ffe46b9426688fffe69690c0516db41b93cd5434d8d12148039

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page