forefront
TypeScript icon, indicating that this package has built-in type declarations

0.1.24 • Public • Published

forefront

Overview

This is the pre-release of the Forefront SDK.

Supported features (official docs coming later):

  • completions
  • models
  • fine-tunes
  • datasets
  • pipelines

Authentication

Create an account on https://platform.forefront.ai and get an API key from the API Keys page

Usage

Initialize the Forefront client

import Forefront from "forefront-sdk";

const client = new Forefront("<YOUR API KEY>");

Generate an LLM text completion

const completion: any = await client.chat.completions.create({
  model: "example/fine-tuned-llm",
  messages: [
    {
      role: "user",
      content: "aloha world",
    },
  ],
  max_tokens: 32,
  stream: false,
});

Stream an LLM text completion

const completion: any = await client.chat.completions.create({
  model: "mistralai/Mistral-7B-v0.1",
  messages: [
    {
      role: "user",
      content: "tell me a story about a toad",
    },
  ],
  temperature: 0.7,
  max_tokens: 32,
  stream: true,
});

for await (const chunk of completion) {
  console.log(chunk.choices[0].delta.content);
}

Work with fine-tuned models

// list your fine-tuned models
const fineTunes = await client.fineTunes.list();

// get a fine-tuned model by name
const fineTune = await client.fineTunes.getByName("example/my-custom-llm");

// create a fine-tuned model
const fineTune = await client.fineTunes.create({
  name: "my-mistral-fine-tune",
  baseModel: "mistralai/Mistral-7B-v0.1",
  trainingDataset: "example/my-dataset",
  epochs: 1,
  // you can make public or private models
  isPublic: true,
});

Work with pipelines

// list pipelines
const pipelines = await client.pipelines.list();

// get a pipeline by id
const pipeline = await client.pipelines.getById("pipe_XXXXX");

// get a count of samples in a pipeline
const count = await pipeline.getCount();

// get a filtered view of pipelines, returns a new pipeline object
const js = pipeline.filterByMetadata({ lang: "javascript" });
// get the count of samples that meet the filter criteria
console.log(await js.getCount());

// add a sample to a pipeline
await pipeline.add({
  messages: [
    {
      role: "user",
      content: "hello world",
    },
  ],
  // optionally add a user id to filter by later
  userId: "user_123",
  // optionally add a group id to filter by later
  groupId: "group_123",
  // optionally add key value labels to filter by later
  metadata: {
    lang: "javascript",
  },
});

// create a dataset from a pipeline
// In this example, we are creating a dataset from the
// filtered pipelien object above
const dataset = await js.createDatasetFromPipline("my-pipeline-dataset");

Readme

Keywords

none

Package Sidebar

Install

npm i forefront

Weekly Downloads

0

Version

0.1.24

License

none

Unpacked Size

38.5 kB

Total Files

22

Last publish

Collaborators

  • mrturck