Skip to content

Open-source platform that helps you build reliable LLM-based agentic automations at scale. πŸš€

License

Notifications You must be signed in to change notification settings

inferablehq/inferable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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.