inferable

inferable

Open-source, developer-first platform to build production-ready AI agents. Batetries Included - multi-language, dynamic tool search, distributed orchestration, point-in-time recovery, human in the loop and more!

Stars: 62

Visit
 screenshot

Inferable is an open source platform that helps users build reliable LLM-powered agentic automations at scale. It offers a managed agent runtime, durable tool calling, zero network configuration, multiple language support, and is fully open source under the MIT license. Users can define functions, register them with Inferable, and create runs that utilize these functions to automate tasks. The platform supports Node.js/TypeScript, Go, .NET, and React, and provides SDKs, core services, and bootstrap templates for various languages.

README:

Inferable Hero

Website Documentation

NPM Version GitHub go.mod Go version NuGet Version

About Inferable

Inferable is an open source platform that helps you build reliable LLM-powered agentic automations at scale.

Key Features

  • Managed Agent Runtime - ReAct-like agent runtime powered by your own functions
  • Durable Tool Calling - Recover from failures, load balance across compute, cache results
  • Zero Network Config - No inbound connections or networking required
  • Multiple Language Support - Native SDKs for TypeScript, Go, .NET and more
  • Fully Open Source - MIT licensed and self-hostable

Deployment

Powered by your code

Automations are powered by your greenfield or brownfield code. Agent capabilities are defined by your own functions.

1. Define one or more functions that can be called by an automation

async function readWebPage({ url }: { url: string }) {
  const browser = await chromium.launch();
  const page = await browser.newPage();
  await page.goto(url);
  return await page.content();
}

2. Register the function with Inferable

inferable.default.register({
  name: "readWebPage",
  func: readWebPage,
  input: z.object({
    url: z.string(),
  }),
});

3. Create a run that uses the function

inferable.run({
  initialPrompt: `
    Produce me a list of all the open source projects
    at https://news.ycombinator.com/show, with their
    github url, programming language and fork count.
  `,
  resultSchema: z.array(
    z.object({
      url: z.string().regex(/^https:\/\/github\.com\/.*$/),
      language: z.string(),
      forkCount: z.number(),
    })
  ),
  // attachedFunctions: ["readWebPage"], // Optional, defaults to all registered functions
});

Getting Started

Check out our quick start guide for a step-by-step guide on how to get started with creating your first automation.

Self Hosting

Inferable is 100% open-source and self-hostable. See our self hosting guide for more details.

Language Support

Documentation

For comprehensive documentation on using Inferable AI, please visit our official documentation.

Open Source

This repository contains the Inferable control-plane, as well as SDKs for various languages.

Core services:

  • /control-plane - The core Inferable control plane service
  • /app - Web console/dashboard application
  • /cli - Command-line interface tool

SDKs:

  • /sdk-node - Node.js/TypeScript SDK
  • /sdk-go - Go SDK
  • /sdk-dotnet - .NET SDK
  • /sdk-react - React SDK

Bootstrap templates:

  • /bootstrap-node - Node.js bootstrap application template
  • /bootstrap-go - Go bootstrap application template
  • /bootstrap-dotnet - .NET bootstrap application template

Contributing

We welcome contributions to all projects in the Inferable repository. Please read our contributing guidelines before submitting any pull requests.

License

All code in this repository is licensed under the MIT License.

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for inferable

Similar Open Source Tools

For similar tasks

For similar jobs