Skip to main content
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!

Metadata

Release files for synthora 0.1.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for synthora 0.1.15
File Size Uploaded
synthora-0.1.15.tar.gz 3.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for synthora 0.1.15
File Interpreter ABI Platform
synthora-0.1.15-py3-none-any.whl Python 3 none any Details

Total release size: 3.3 MB

Release files / synthora-0.1.15.tar.gz

Download URL synthora-0.1.15.tar.gz
Size 3.2 MB
Tags Source
SHA-256 checksum
How to use checksums
bcdd161f301971602ce6dd9b6e1501acc4ae77fd78adb2973695fb0b2c1530b0
BLAKE2b-256 checksum
How to use checksums
c8f29ac7197c450c168c8608ef5a5709fa8fa55e805a273990b25df1c9e18d3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.6

Release files / synthora-0.1.15-py3-none-any.whl

Download URL synthora-0.1.15-py3-none-any.whl
Size 152.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7fbb50cd8a01d081850ad82d3e563d4a516fa67587cd15caf76e2b4106a1638b
BLAKE2b-256 checksum
How to use checksums
caaa0618df69daa79ada65cfef9171f6f793f482f1da2994082de2e58959744b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.6

Release history Release notifications | RSS feed

This release

0.1.15 This release

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page