← All packages

@lacspace/condense

v1.0.0LLM Efficiency2 @lacspace deps

Extractive multi-source condenser — turn several articles on one story into a short, deduplicated, token-budgeted digest that keeps the numbers, quotes and named entities, so an LLM only rewrites a fraction of the text. BM25 sentence ranking, near-duplicate removal, per-source attribution with char offsets, Devanagari-aware (।/॥, ०-९, रु). Deterministic, isomorphic.

npm i @lacspace/condense

Usage

condense.ts
import { condense } from "@lacspace/condense";

const digest = condense(
  [
    { text: kathmanduPost, label: "Kathmandu Post" },
    { text: himalayanTimes, label: "Himalayan Times" },
    { text: onlineKhabar, label: "Online Khabar" },
  ],
  { tokenBudget: 1500, gazetteer: ["Nepal Rastra Bank", "\u0928\u0947\u092a\u093e\u0932 \u0930\u093e\u0937\u094d\u091f\u094d\u0930 \u092c\u0948\u0902\u0915"] },
);

digest.text;       // kept sentences grouped per source under [S1 Kathmandu Post] headers
digest.tokens;     // \u2264 tokenBudget
digest.droppedDup; // near-duplicate sentences removed across sources
// Feed digest.text to the model instead of six full articles.

Exports 2

condensesplitSentences

Keywords

condensesummarizeextractive-summarymulti-documentbm25token-budgetdedupeprompt-compressionragdevanagari

More in LLM Efficiency