JSPM

@energetic-ai/classifiers

0.2.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q27369F
  • License Apache-2.0

Fast, easy-to-use AI few-shot text classification.

Package Exports

  • @energetic-ai/classifiers
  • @energetic-ai/classifiers/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@energetic-ai/classifiers) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

EnergeticAI

Fast, easy-to-use AI few-shot text classification, optimized for serverless functions.

EnergeticAI Classifiers

EnergeticAI Classifiers is a library for few-shot text classification, which is the task of classifying text into a set of categories, given only a few examples of each category.

There's no complicated training pipelines to maintain. Just provide a few examples of each category, and you're good to go.

It's great for assessing sentiment, categorizing support tickets, and more.

Install

Install this package, along with @energetic-ai/core, and any model weights (e.g. @energetic-ai/model-embeddings-en):

npm install @energetic-ai/core @energetic-ai/classifiers @energetic-ai/model-embeddings-en

Usage

You can easily call this method to create a classifier, and use it to predict categories for new text:

import { initClassifier } from "@energetic-ai/classifiers";
import { modelSource } from "@energetic-ai/model-embeddings-en";

(async () => {
  // Initialize with training examples
  const classifier = await initClassifier(
    [
      ["The world is happy", "Positive"],
      ["Work is so fun", "Positive"],
      ["I had a great day", "Positive"],
      ["I had a bad day", "Negative"],
      ["I am frustrated", "Negative"],
      ["I am depressed", "Negative"],
    ],
    modelSource
  );

  // Classify a single string
  const single = await classifier.classify("The weather is so nice today");
  // { "label": "Positive" ... }

  // Classify multiple strings in a batch
  const multiple = await classifier.classify([
    "What is this? I am so angry!",
    "I am so excited!",
  ]);
  // [{ "label": "Negative" ... }, { "label": "Positive" ... }]
})();

Examples

See the examples directory for examples.

Development

This repository uses Lerna to manage packages, and Vitest to run tests.

Run tests with this method:

npm run test

License

Apache 2.0, except for dependencies.

Acknowledgements

This project is derived from TensorFlow.js and the KNN Classifier library, which are also Apache 2.0 licensed.