Core
Summarization
Summarize text with configurable length controls.
Generate concise summaries of text using provider-agnostic summarization models. Works with any provider that implements the SummarizationModel interface.
See it in action
Try the Text Summarizer block and Audio Studio block for working demos of these APIs.
summarize()
Summarize a single text:
import { summarize } from '@localmode/core';
import { transformers } from '@localmode/transformers';
const model = transformers.summarizer('Xenova/distilbart-cnn-6-6');
const { summary, usage, response } = await summarize({
model,
text: 'A long article about machine learning and its impact on modern technology...',
});
console.log(summary);
console.log(usage.durationMs); // 250const { summary } = await summarize({
model,
text: longArticle,
maxLength: 100,
minLength: 30,
});const controller = new AbortController();
setTimeout(() => controller.abort(), 10000);
const { summary } = await summarize({
model,
text: longArticle,
abortSignal: controller.signal,
});SummarizeOptions
Prop
Type
SummarizeResult
Prop
Type
summarizeMany()
Summarize multiple texts:
import { summarizeMany } from '@localmode/core';
const { summaries } = await summarizeMany({
model,
texts: [article1, article2, article3],
maxLength: 100,
minLength: 30,
});
summaries.forEach((s) => console.log(s));Custom Provider
Implement the SummarizationModel interface:
import type { SummarizationModel, DoSummarizeOptions, DoSummarizeResult } from '@localmode/core';
class MySummarizer implements SummarizationModel {
readonly modelId = 'custom:my-summarizer';
readonly provider = 'custom';
async doSummarize(options: DoSummarizeOptions): Promise<DoSummarizeResult> {
const { texts, maxLength, minLength } = options;
// Your summarization logic here
const summaries = texts.map((text) => text.slice(0, maxLength ?? 150));
return {
summaries,
usage: { inputTokens: texts.join('').length, outputTokens: summaries.join('').length, durationMs: 0 },
};
}
}For recommended models, provider-specific options, and practical recipes, see the Transformers Summarization guide.
Next Steps
Transformers Summarization
Recommended summarization models and usage.
Translation
Translate text between languages.
Blocks
| App | Description | Links |
|---|---|---|
| Writing Tools (Text Summarizer) | Summarize articles and documents | Live block · Source |
| Audio Studio (Meeting Assistant) | Summarize transcribed meeting recordings | Live block · Source |
| Writing Tools (Smart Writer) | Summarize and rewrite content | Live block · Source |