JavaScript / TypeScript SDK
The ragpack-js package is a typed client for the RagPack REST API.
Install
npm install ragpack-js
Setup
import { RagPack } from "ragpack-js";
const client = new RagPack({
baseUrl: "http://localhost:9000",
apiKey: "rp_...",
});
Collections
const col = await client.collections.create("my-docs");
const collections = await client.collections.list();
await client.collections.delete("my-docs");
Ingest
const collection = client.collection("my-docs");
// Upload a file
await collection.ingest(file);
// Ingest from a URL
await collection.ingest({ uri: "https://example.com/docs/guide" });
// Ingest from S3
await collection.ingest({ uri: "s3://bucket/report.pdf", mimeType: "application/pdf" });
Semantic search
const results = await collection.findSimilar({
query: "how do I configure authentication?",
topK: 5,
});
for (const r of results) {
console.log(r.similarity, r.chunkText);
}
RAG (retrieve + generate)
const { answer, chunks } = await collection.rag({
query: "How do I reset my password?",
topK: 5,
model: "gpt-4o", // falls back to server default if omitted
minSimilarity: 60, // filter out low-relevance chunks
});
Jobs & documents
// Check ingestion status
const jobs = await collection.jobs.list();
// List indexed documents
const docs = await collection.documents.list();
// Delete a document and its chunks
await collection.documents.delete(documentId);
Error handling
import { RagPack, RagPackError } from "ragpack-js";
try {
await collection.findSimilar({ query: "..." });
} catch (err) {
if (err instanceof RagPackError) {
console.error(err.status, err.message);
}
}