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

2.1.0 • Public • Published

llm-exe

node.js Coverage Status npm version

A package that provides simplified base components to make building and maintaining LLM-powered applications easier.

  • Write functions powered by LLM's with easy to use building blocks.
  • Pure Javascript and Typescript. Allows you to pass and infer types.
  • Support for text-based (llama-3) and chat-based prompts (gpt-4o, claude-3.5).
  • Supercharge your prompts by using handlebars within prompt template.
  • Allow LLM's to call functions (or call other LLM executors).
  • Not very opinionated. You have control on how you use it.

llm-exe

See full docs here


Install

Install llm-exe using npm.

npm i llm-exe
import * as llmExe from "llm-exe";

// or 

import { /* specific modules */ } from from "llm-exe"

Basic Example

Below is simple example:

import * as llmExe from "llm-exe";

/**
 * Define a yes/no llm-powered function
 */
export async function YesOrNoBot<I extends string>(input: I) {
  const llm = llmExe.useLlm("openai.gpt-4o-mini");

  const instruction = `You are not an assistant, I need you to reply with only 
  'yes' or 'no' as an answer to the question below. Do not explain yourself 
  or ask questions. Answer with only yes or no.`;

  const prompt = llmExe
    .createChatPrompt(instruction)
    .addUserMessage(input)
    .addSystemMessage(`yes or no:`);

  const parser = llmExe.createParser("stringExtract", { enum: ["yes", "no"] });
  return llmExe.createLlmExecutor({ llm, prompt, parser }).execute({ input });
}

const isTheSkyBlue = await YesOrNoBot(`Is AI cool?`)

/**
 * 
 * The prompt sent to the LLM would be: 
 * (line breaks added for readability)
 * 
 * [{ 
 *   role: 'system', 
 *    content: 'You are not an assistant, I need you to reply with only 
  'yes' or 'no' as an answer to the question asked by the user. Do not explain yourself 
  or ask questions. Answer only with yes or no.' 
 * },
 * { 
 *   role: 'user',
 *   content: 'Is AI cool?'
 * }]
 * 
 */

/**
 * 
 * console.log(isTheSkyBlue)
 * yes
 * /

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
2.0.0-beta.10beta
2.1.013latest

Version History

VersionDownloads (Last 7 Days)Published
2.1.013
2.0.0-beta.12447
2.0.0-beta.110
2.0.0-beta.100
2.0.0-beta.90
2.0.0-beta.81
2.0.0-beta.60
2.0.0-beta.50
2.0.0-beta.40
2.0.0-beta.31
2.0.0-beta.20
2.0.0-beta.10
1.0.20
1.0.10
1.0.01
0.0.71
0.0.61
0.0.51
0.0.40
0.0.31
0.0.20
0.0.10

Package Sidebar

Install

npm i llm-exe

Weekly Downloads

467

Version

2.1.0

License

MIT

Unpacked Size

349 kB

Total Files

7

Last publish

Collaborators

  • greg.reindel