Quick Start
Build your first AI feature in 5 minutes
1. Initialize the Toolkit
Every app starts with initToolkit(). This validates your environment and configures providers.
import { initToolkit } from '@jamaalbuilds/ai-toolkit/config';
import { createAI } from '@jamaalbuilds/ai-toolkit/ai';
initToolkit();
const ai = createAI();
export async function POST(req: Request) {
const { prompt } = await req.json();
const result = await ai.generate(prompt);
return Response.json({ text: result.text });
}import { initToolkit } from '@jamaalbuilds/ai-toolkit/config';
import { createAI } from '@jamaalbuilds/ai-toolkit/ai';
initToolkit();
const ai = createAI();
const result = await ai.generate('Explain TypeScript generics');
console.log(result.text);import express from 'express';
import { initToolkit } from '@jamaalbuilds/ai-toolkit/config';
import { createAI } from '@jamaalbuilds/ai-toolkit/ai';
initToolkit();
const app = express();
const ai = createAI();
app.use(express.json());
app.post('/api/chat', async (req, res) => {
const result = await ai.generate(req.body.prompt);
res.json({ text: result.text });
});
app.listen(3000, () => console.log('Server running on :3000'));2. Generate Text
import { createAI } from '@jamaalbuilds/ai-toolkit/ai';
const ai = createAI();
const result = await ai.generate('What is RAG in AI?');
console.log(result.text);
3. Stream Responses
import { createAI } from '@jamaalbuilds/ai-toolkit/ai';
const ai = createAI();
const response = await ai.stream('Write a haiku about TypeScript');
for await (const chunk of response.textStream) {
process.stdout.write(chunk);
}
4. Get Structured Output
import { createAI } from '@jamaalbuilds/ai-toolkit/ai';
import { z } from 'zod';
const ai = createAI();
const result = await ai.structured('John is 30 years old and lives in NYC', {
schema: z.object({
name: z.string(),
age: z.number(),
}),
});
console.log(result.object); // { name: 'John', age: 30 }
5. Add Monitoring
Track every LLM call with zero code changes:
import { createAI } from '@jamaalbuilds/ai-toolkit/ai';
import { createMonitor, trace } from '@jamaalbuilds/ai-toolkit/monitor';
const ai = createAI();
const monitor = await createMonitor({
publicKey: process.env.LANGFUSE_PUBLIC_KEY!,
secretKey: process.env.LANGFUSE_SECRET_KEY!,
});
const result = await trace(monitor, 'my-trace', async (span) => {
span.update({ input: 'Hello world' });
const response = await ai.generate('Hello world');
return response;
});
6. Build a RAG Pipeline
Combine modules for a complete retrieval-augmented generation pipeline:
import { parseDocument, chunk } from '@jamaalbuilds/ai-toolkit/knowledge';
import { createChain } from '@jamaalbuilds/ai-toolkit/chain';
// Parse and chunk a document
const doc = await parseDocument('./guide.pdf');
const chunks = await chunk(doc.content, { chunkSize: 512, chunkOverlap: 50 });
// Create a RAG chain
const ragChain = createChain({
steps: [
(input: { context: string; question: string }) =>
`Answer based on context:\n${input.context}\n\nQuestion: ${input.question}`,
],
});
const answer = await ragChain.invoke({
context: chunks[0].content,
question: 'What is the main topic?',
});
Next Steps
- Module Reference — detailed API for each module
- RAG Pipeline Guide — full RAG tutorial
- Architecture — understand how the toolkit works