TypeScript SDK for Agentset, an agentic RAG-as-a-service.
using npm:
npm install agentset
using yarn:
yarn add agentset
using pnpm:
pnpm add agentset
import { Agentset } from "agentset";
// Initialize the client
const agentset = new Agentset({
apiKey: "your_api_key_here",
});
// Create a namespace
const namespace = await agentset.namespaces.create({
name: "My Knowledge Base",
// Optional: provide custom embedding model
embeddingConfig: {
provider: "OPENAI",
model: "text-embedding-3-small",
apiKey: "your_openai_api_key_here",
},
});
// Get a namespace by ID or slug
const ns = agentset.namespace("my-knowledge-base");
// Ingest content
await ns.ingestion.create({
payload: {
type: "TEXT",
text: "This is some content to ingest into the knowledge base.",
name: "Introduction",
},
});
// List all ingestion jobs
const { jobs, pagination } = await ns.ingestion.all();
// Get a specific ingestion job
const job = await ns.ingestion.get("job_id");
// List all documents
const { documents } = await ns.documents.all();
// Search the knowledge base
const results = await ns.search("What is Agentset?");
Visit the full documentation for more details.
You can provide a custom fetch implementation:
import { Agentset } from "agentset";
import nodeFetch from "node-fetch";
const agentset = new Agentset({
apiKey: "your_api_key_here",
fetcher: nodeFetch,
});
The SDK provides typed errors that you can catch and handle:
import { Agentset, NotFoundError, UnauthorizedError } from "agentset";
try {
const namespace = await agentset.namespaces.get("non-existent-id");
} catch (error) {
if (error instanceof NotFoundError) {
console.error("Namespace not found");
} else if (error instanceof UnauthorizedError) {
console.error("Invalid API key");
} else {
console.error("Unexpected error", error);
}
}