Skip to content

Commit

Permalink
chore: Update contributing and README documentation (#167)
Browse files Browse the repository at this point in the history
* chore: Update contributing and README documentation

* chore: Update README with new images and add assets

* chore: Update README with links and open source section

* chore: Update hero image asset

* chore: Update README with new Inferable features and setup instructions
  • Loading branch information
nadeesha authored Nov 30, 2024
1 parent 71a321e commit 1022f30
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 49 deletions.
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ We maintain different code style guidelines for each programming language in the
- Reference any relevant issues or PRs in the message

Example:

```
Fix: Resolve memory leak in function pre-processor (#123)
```
Expand All @@ -73,14 +74,13 @@ Fix: Resolve memory leak in function pre-processor (#123)
- Use Pull Requests for code contributions
- Be respectful and constructive in all communications
- Tag relevant maintainers when needed
- Seek help in the [Discord](https://go.inferable.ai/discord)

## Questions?

If you have questions about contributing, feel free to:

- Open an issue with your question
- Ask in the relevant Pull Request
- Contact the maintainers via [Discord](https://go.inferable.ai/discord)

## License

Expand Down
122 changes: 75 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,87 +1,115 @@
<p align="center">
<img src="https://a.inferable.ai/logo-hex.png" width="200" style="border-radius: 10px" />
</p>
![Inferable Hero](./assets/hero.png)

<div align="center">

[![Website](https://img.shields.io/badge/website-inferable.ai-blue)](https://inferable.ai) [![Documentation](https://img.shields.io/badge/docs-inferable.ai-brightgreen)](https://docs.inferable.ai/) [![Discord](https://img.shields.io/badge/community-Discord-blue)](https://go.inferable.ai/discord) [![Slack](https://img.shields.io/badge/enterprise-Slack-blue)](https://go.inferable.ai/slack)
[![Website](https://img.shields.io/badge/website-inferable.ai-blue)](https://inferable.ai) [![Documentation](https://img.shields.io/badge/docs-inferable.ai-brightgreen)](https://docs.inferable.ai/)

![NPM Version](https://img.shields.io/npm/v/inferable?color=32CD32) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/inferablehq/inferable?filename=sdk-go%2Fgo.mod&color=32CD32) ![NuGet Version](https://img.shields.io/nuget/v/inferable?color=32CD32)

</div>

# Introduction
# About Inferable

Inferable is a developer platform that makes it easy to build and deploy reliable, secure LLM-based applications.
Inferable is an open source platform that helps you build reliable LLM-powered agentic automations at scale.

## Key Features

🚀 **[2-Minute Setup](https://docs.inferable.ai/pages/quick-start)**: Get started in minutes with our [managed platform](https://app.inferable.ai) - wrap your existing functions, REST APIs and GraphQL endpoints as tools.
- 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

🤖 **[Managed Agent Runtime](https://docs.inferable.ai/pages/runs)**: Managed [ReAct](https://www.promptingguide.ai/techniques/react)-like agent runtime powered by your own functions.
![Deployment](./assets/deployment.png)

⚡️ **[Durable Tool Calling](https://docs.inferable.ai/pages/functions)**: Our durable execution engine helps you agents recover from tool-calling failures, load balance across your compute, and caches results for fast re-runs.
## Powered by your code

🛡️ **[Zero Network Config](https://docs.inferable.ai/pages/no-incoming-connections)**: No inbound connections or networking config required - your compute runs securely behind your firewall, and polls Inferable for instructions.
Automations are powered by your greenfield or brownfield code. Agent capabilities are defined by your own functions.

💻 **[Your Infrastructure](https://docs.inferable.ai/pages/on-premise)**: All functions run on your Infrastructure - Keep sensitive data and compute on-premise while leveraging our agent runtime. Inferable can't see or access any runtime information or environment variables.
**1. Define one or more functions that can be called by an automation**

🔌 **Multiple Language Support**: Native SDKs for TypeScript, Go, .NET and more coming soon - integrate with your existing codebase in minutes.
```typescript
async function readWebPage({ url }: { url: string }) {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto(url);
return await page.content();
}
```

## Get Started
**2. Register the function with Inferable**

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

Managed deployment of Inferable built for high availability and security. Inferable Cloud includes a [generous free teir](https://inferable.ai/pricing) and requires no credit card to get started.
**3. Create a run that uses the function**

[Inferable Cloud](https://app.inferable.ai).
```typescript
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
});
```

### Open-source
## Getting Started

Inferable is 100% open-source and self-hostable.
Check out our [quick start guide](https://docs.inferable.ai/pages/quick-start) for a step-by-step guide on how to get started with creating your first automation.

[Self hosting guide](https://docs.inferable.ai/pages/self-hosting)
## Self Hosting

## SDKs
Inferable is 100% open-source and self-hostable. See our [self hosting guide](https://docs.inferable.ai/pages/self-hosting) for more details.

- [Node.js / TypeScript SDK](./sdk-node/README.md)
- [Go SDK](./sdk-go/README.md)
- [.NET SDK](./sdk-dotnet/README.md)
- [React SDK](./sdk-react/README.md)
## Language Support

Each SDK directory contains its own README with specific installation instructions, quick start guide, and usage examples.
- [Node.js / TypeScript](./sdk-node/README.md) ([Quick start](./sdk-node/README.md#quick-start))
- [Go](./sdk-go/README.md) ([Quick start](./sdk-go/README.md#quick-start))
- [.NET](./sdk-dotnet/README.md) ([Quick start](./sdk-dotnet/README.md#quick-start))
- [React](./sdk-react/README.md) ([Quick start](./sdk-react/README.md#quick-start))

### Quick Start
## Documentation

For language-specific quick start guides, please refer to the README in each SDK's directory:
For comprehensive documentation on using Inferable AI, please visit our [official documentation](https://docs.inferable.ai/).

- [Node.js / TypeScript Quick Start](./sdk-node/README.md#quick-start)
- [Go Quick Start](./sdk-go/README.md#quick-start)
- [.NET Quick Start](./sdk-dotnet/README.md#quick-start)
- [React Quick Start](./sdk-react/README.md#quick-start)
## Open Source

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

### Core Features
**Core services:**

| Feature | Node.js | Go | .NET | React |
| --------------------------------------------------------------- | :-----: | :-: | :--: | :---: |
| Register [Functions](https://docs.inferable.ai/pages/functions) |||||
| Create [Runs](https://docs.inferable.ai/pages/runs) |||||
- `/control-plane` - The core Inferable control plane service
- `/app` - Web console/dashboard application
- `/cli` - Command-line interface tool

### Advanced Features
**SDKs:**

| Feature | Node.js | Go | .NET |
| ------------------------------------------------------------------------------------------------------ | :-----: | :-: | :--: |
| [Cached](https://docs.inferable.ai/pages/functions#config-cache) results ||||
| Call [Timeouts](https://docs.inferable.ai/pages/functions#config-timeoutseconds) ||||
| Call [Retries](https://docs.inferable.ai/pages/functions#config-retrycountonstall) ||||
| Call [Approval](https://docs.inferable.ai/pages/functions#approvalrequest) (Human in the loop) ||||
| [Auth / Run Context](https://docs.inferable.ai/pages/runs#context) ||||
- `/sdk-node` - Node.js/TypeScript SDK
- `/sdk-go` - Go SDK
- `/sdk-dotnet` - .NET SDK
- `/sdk-react` - React SDK

## Documentation
**Bootstrap templates:**

For comprehensive documentation on using Inferable AI, please visit our [official documentation](https://docs.inferable.ai/).
- `/bootstrap-node` - Node.js bootstrap application template
- `/bootstrap-go` - Go bootstrap application template
- `/bootstrap-dotnet` - .NET bootstrap application template

## Contributing

Expand Down
Binary file added assets/deployment.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/hero.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 1022f30

Please sign in to comment.