CoolFace
Apppublic

tbold/cli-ml-tools

sourceHugging Faceupdated 3y agoView on Hugging Face
1likes
index.js54 linesDownload Raw Back to lib
1#!/usr/bin/env node2 3import clear from 'clear';4import { Command } from 'commander';5import chalk from 'chalk';6import figlet from 'figlet';7import ClassificationPipeline from './classificationPipeline.js';8import SummarizationPipeline from './summarizationPipeline.js';9 10clear();11console.log(12  chalk.red(13    figlet.textSync('cli summarize', { horizontalLayout: 'full' })14  )15);16 17const command = new Command();18command19  .version('1.0.0')20  .description("An mini-CLI for summarizing text input")21  .usage('[OPTIONS]...')22  .option('-s, --summarize <text>', 'create summary of text input')23  .option('-S, --score <text>', 'create sentiment score of text input')24  .parse(process.argv);25 26 27if (!process.argv.slice(2).length) {28  command.outputHelp();29}30 31const options = command.opts();32 33if (options.score) {34  getClassification(options.score);35}36 37if (options.summarize) {38  getSummary(options.summarize);39}40 41async function getClassification(input) {42  const classifier = await ClassificationPipeline.getInstance();43  const response = await classifier(input);44  console.log(`input: ${input} \n score: ${JSON.stringify(response)}`);45}46 47async function getSummary(input) {48  const summarizer = await SummarizationPipeline.getInstance();49  const response = await summarizer(input);50 51  console.log(`input: ${input} \n summary: ${JSON.stringify(response)}`);52}53 54