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 Text Summarizer and Meeting Assistant 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.