πŸ€– Agenite

by subeshb1

69 444 downloads Not rated yet MIT

About

πŸ€– Build powerful AI agents with TypeScript. Agenite makes it easy to create, compose, and control AI agents with first-class support for tools, streaming, and multi-agent architectures. Switch seamlessly between providers like OpenAI, Anthropic, AWS Bedrock, and Ollama.

Details

License
MIT

Explore

- Type safety and developer experience
- Built from the ground up with TypeScript
- Robust type checking for tools and agent configurations
- Excellent IDE support and autocompletion

- Tool integration
- First-class support for function calling
- Built-in JSON Schema validation
- Structured error handling
- Easy API integration

- Provider agnostic
- Support for OpenAI, Anthropic, AWS Bedrock, and Ollama
- Consistent interface across providers
- Easy extension for new providers

- Advanced architecture
- Bidirectional flow using JavaScript generators
- Step-based execution model
- Built-in state management with reducers
- Flexible middleware system

- Model context protocol (MCP)
- Standardized protocol for connecting LLMs to data sources
- Client implementation for interacting with MCP servers
- Access to web content, filesystem, databases, and more

npm install @agenite/agent @agenite/tool @agenite/llm

npm install @agenite/openai

import { Agent } from '@agenite/agent';
import { Tool } from '@agenite/tool';
import { BedrockProvider } from '@agenite/bedrock';
import { prettyLogger } from '@agenite/pretty-logger';

// Create a calculator tool
const calculatorTool = new Tool<{ expression: string }>({
name: 'calculator',
description: 'Perform basic math operations',
inputSchema: {
type: 'object',
properties: {
expression: { type: 'string' },
},
required: ['expression'],
},
execute: async ({ input }) => {
try {
const result = new Function('return ' + input.expression)();
return { isError: false, data: result.toString() };
} catch (error) {
if (error instanceof Error) {
return { isError: true, data: error.message };
}
return { isError: true, data: 'Unknown error' };
}
},
});

// Create an agent
const agent = new Agent({
name: 'math-buddy',
provider: new BedrockProvider({
model: 'anthropic.claude-3-5-sonnet-20240620-v1:0',
}),
tools: [calculatorTool],
instructions: 'You are a helpful math assistant.',
middlewares: [prettyLogger()],
});

// Example usage
const result = await agent.execute({
messages: [
{
role: 'user',
content: [{ type: 'text', text: 'What is 1234 * 5678?' }],
},
],
});

Tools extend agent capabilities by providing specific functionalities:
- Strong type safety with TypeScript
- JSON Schema validation for inputs
- Flexible error handling
- Easy API integration

<div align="center">
Agenite Logo
<p><strong>A modern, modular, and type-safe framework for building AI agents using typescript</strong></p>
</div>

<div align="center">

GitHub license
npm version
TypeScript
PRs Welcome

</div>

What is Agenite?

Agenite is a powerful TypeScript framework designed for building sophisticated AI agents. It provides a modular, type-safe, and flexible architecture that makes it easy to create, compose, and control AI agents with advanced capabilities.

✨ Key features

- Type safety and developer experience
- Built from the ground up with TypeScript
- Robust type checking for tools and agent configurations
- Excellent IDE support and autocompletion

- Tool integration
- First-class support for function calling
- Built-in JSON Schema validation
- Structured error handling
- Easy API integration

- Provider agnostic
- Support for OpenAI, Anthropic, AWS Bedrock, and Ollama
- Consistent interface across providers
- Easy extension for new providers

- Advanced architecture
- Bidirectional flow using JavaScript generators
- Step-based execution model
- Built-in state management with reducers
- Flexible middleware system

- Model context protocol (MCP)
- Standardized protocol for connecting LLMs to data sources
- Client implementation for interacting with MCP servers
- Access to web content, filesystem, databases, and more

πŸ“¦ Available packages

| Package | Description | Installation |
|---------|-------------|--------------|
| Core packages | | |
| @agenite/agent | Core agent orchestration framework for managing LLM interactions, tool execution, and state management | npm install @agenite/agent |
| @agenite/tool | Tool definition framework with type safety, schema validation, and error handling | npm install @agenite/tool |
| @agenite/llm | Base provider interface layer that enables abstraction across different LLM providers | npm install @agenite/llm |
| Provider packages | | |
| @agenite/openai | Integration with OpenAI's API for GPT models with function calling support | npm install @agenite/openai |
| @agenite/anthropic | Integration with Anthropic's API for Claude models | npm install @agenite/anthropic |
| @agenite/bedrock | AWS Bedrock integration supporting Claude and other models | npm install @agenite/bedrock |
| @agenite/ollama | Integration with Ollama for running models locally | npm install @agenite/ollama |
| MCP package | | |
| @agenite/mcp | Model Context Protocol client for connecting to standardized data sources and tools | npm install @agenite/mcp |
| Middleware packages | | |
| @agenite/pretty-logger | Colorful console logging middleware for debugging agent execution | npm install @agenite/pretty-logger |

For a typical setup, you'll need the core packages and at least one provider:

```bash

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.

Videos about πŸ€– Agenite

Relevant YouTube tutorials, setups, and demos