import { LLMLingua2 } from "@its-iris/llmlingua-2";
import { AutoTokenizer } from "@huggingface/transformers";
const modelName = "atjsh/llmlingua-2-js-xlm-roberta-large-meetingbank";
const oai_tokenizer = await AutoTokenizer.from_pretrained("Xenova/gpt-4o");
const { promptCompressor } = await LLMLingua2.WithXLMRoBERTa(modelName,
{
transformersJSConfig: {
device: "auto",
dtype: "fp32",
},
oaiTokenizer: oai_tokenizer,
modelOptions: {
use_external_data_format: true,
},
}
);
const compressedText: string = await promptCompressor.compress(
"LLMLingua-2, a small-size yet powerful prompt compression method trained via data distillation from GPT-4 for token classification with a BERT-level encoder, excels in task-agnostic compression. It surpasses LLMLingua in handling out-of-domain data, offering 3x-6x faster performance.",
{ rate: 0.8 }
);
console.log({ compressedText });
Factory functions to create instances of LLMLingua-2 PromptCompressor with XLM-RoBERTa model.