Quick Start

Installation

AINU is available as an npm package. You can install it using the following command:

npm install @ainulabs/ainu

Create An Agent

Agents are the core abstraction in AINU. They orchestrate AI tasks by interacting with providers, tools, and other components. Follow these steps to create your first agent.

Step 1: Import Required Modules

Start by importing the necessary classes from AINU:

import { Agent, Anthropic } from "@ainulabs/ainu";

Here, Agent is the main class for creating agents, and Anthropic is a provider that connects the agent to an AI model.

Step 2: Set Up a Provider

Providers are responsible for connecting your agent to an AI service. For this example, we'll use the Anthropic provider:

const provider = new Anthropic({
  apiKey: "your-api-key", // Replace with your actual API key
});

The apiKey is required to authenticate with the Anthropic API. You can replace this with other providers like OpenAI or XAI, depending on your use case.

Step 3: Create the Agent

Now, create an agent and pass the provider to it:

const agent = new Agent({
  provider,
});

This sets up a basic agent that can interact with the Anthropic provider.

Adding a Tool

Step 1: Import the Tool Class

Import the Tool class from AINU:

import { Tool } from "@ainulabs/ainu";
import { z } from "zod"; // For schema validation

Step 2: Create a Tool

Define a tool with a name, description, parameters, and a handler function. For example, a tool to fetch weather data:

const weatherTool = new Tool("getWeather", {
  description: "Get the weather at a given location",
  parameters: z.object({
    location: z.string(),
  }),
  handler: ({ location }) => {
    // Mock implementation
    return `The weather in ${location} is sunny.`;
  },
});

Here:

parameters defines the expected input using zod for validation. handler is the function executed when the tool is called.

Step 3: Attach the Tool to the Agent

Add the tool to the agent using the putTool method:

agent.putTool(weatherTool);

The agent can now use this tool to handle tasks related to weather.

Generating Text

Once your agent is set up with a provider and tools, you can use it to generate text or perform other tasks.

Step 1: Use the generateText Method

Call the generateText method on the agent to generate text based on a prompt:

const response = await agent.generateText({
  prompt: "What is the weather in New York?",
  maxSteps: 3, // Optional: Limits the number of steps the agent takes
});

console.log(response.data?.text);

Here:

  • prompt is the input text for the agent.

  • maxSteps limits the number of steps the agent takes to complete the task.

Step 2: Combine Tools and Text Generation

If the agent has tools (like the weather tool), it can use them to enhance its responses. For example:

const response = await agent.generateText({
  prompt: "What is the weather in New York?",
  tools: [weatherTool], // Pass the tool explicitly
});

console.log(response.data?.text);

This allows the agent to use the weatherTool to fetch weather data dynamically.

Running the Code

To run your code, ensure all dependencies are installed and your file is saved. Use the following command:

node your-file-name.js

If you're using TypeScript, compile the code first:

npm run build
node dist/your-file-name.js

With these steps, you've successfully installed AINU, created an agent, added a tool, and generated text. You're now ready to explore more advanced features, such as MCP integration and multi-agent systems, in the Core Concepts section.

Last updated