app like that
Chainless
Chainless

Chainless is a lightweight, modular framework to build task-oriented AI agents and orchestrate them in intelligent flows.

Features

Modular Agents

Design lightweight agents that use tools or reason directly and compose complex logic without over-engineering.

Composable TaskFlows

Connect agents in flexible sequences or parallel blocks to build entire pipelines by describing the data flow.

Native Python Tools

Define your own tools using pure Python, which Chainless automatically wraps with metadata for agent usage.

Custom Execution Hooks

Fully control how an agent executes by injecting prompts, chaining models, or pre/post-processing using decorators.

Zero-Bloat, Server-Free

Keep it local with no required runtime or cloud service, ensuring no lock-in.

LLM Agnostic

Bring your own model from various sources like OpenAI or others, with full compatibility.

Define a Tool

Allows you to wrap functionalities in structured tools that agents can use within their tasks.

Create an Agent

Enables the creation of smart assistants that can utilize tools and interact with language models.

Compose a TaskFlow

Facilitates running agents in a sequence, passing inputs and outputs throughout the pipeline.

Installation via pip

Easily install the Chainless library using the pip command without any hassle.

Upgrade existing installation

Effortlessly update to the latest version of Chainless if you already have it installed.

Verify installation

Confirm that Chainless is installed correctly with a simple pip command.

Quickstart tutorial

Follow an easy step-by-step guide to define your first Agent and run it within a TaskFlow.

OpenAI Integration

Supports various LLM providers like OpenAI's GPT-4 for creating intelligent agents.

Tool Functionality

Defines callable tool functions that agents can use to perform specific actions, like web searches.

Agent Creation

Easily create agents that can handle tasks using predefined tools and respond to input.

TaskFlow Orchestration

Coordinates multiple agents in structured workflows for complex, multi-step tasks.

Step-by-step orchestration

Facilitates the execution of multiple AI agents in a controlled sequence or in parallel.

Dynamic input mapping

Allows outputs from prior steps to be referenced as inputs for subsequent steps.

Retry policies

Enables the setting of retry mechanisms for each step or globally to ensure resilience.

Output tracking

Tracks and returns structured results from executed tasks.

Optional callbacks

Permits defining functions to be called upon completion of each step.

Modular Task System

Allows developers to create task-specific agents that are modular and encapsulate responsibilities.

Custom Start Functions

Enables overriding default agent behavior with custom logic using decorators.

Dynamic Prompting

Supports dynamic system prompts through decorator functionalities.

Seamless Tool Integration

Integrates tools directly within agent workflows for enhanced functionality.

Multi-Agent Coordination

Facilitates orchestration of multiple agents into a cohesive TaskFlow for complex tasks.

Pydantic input validation

Ensures that input data is validated before execution using Pydantic schemas.

Async and Sync function execution

Allows for safe execution of both synchronous and asynchronous functions.

Metadata generation

Generates metadata for prompt or UI integration to provide structured descriptions.

LangChain integration

Converts tools to LangChain structured tools for seamless integration with agents.

Error handling

Raises detailed errors for invalid input during function execution.

Multiple Agent Types

Define various types of agents, such as class-based or decorator-based, for flexible automation.

Data Retrieval Tools

Utilize tools to fetch content from the web for research.

Custom Logic Override

Use `custom_start` to customize the logic of agents for specific tasks.

Agent Orchestration

Manage the flow of tasks between different agents using the TaskFlow module.

Formatted Reporting

Generate a formatted report or email output from the processed data of research.