0.0.21-alpha • Published 3 months ago

tryreason v0.0.21-alpha

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

REASON

npx use-reason@latest

A small demo:

import { reason } from 'tryreason'

interface Joke {
  /** Use this property to indicate the age rating of the joke */
  rating: number;
  joke: string;

  /** Use this property to explain the joke to those who did not understood it */
  explanation: string;
}

const joke = await reason<Joke>('tell me a really spicy joke')

The value of the joke object is:

{
  "joke": "I'd tell you a chemistry joke but I know I wouldn't get a reaction.",
  "rating": 18,
  "explanation": "This joke is a play on words. The term 'reaction' refers to both a chemical process and a response from someone. The humor comes from the double meaning, implying that the joke might not be funny enough to elicit a response."
}

Yep, RΞASON actually utilizes your Typescript type information as the guide for the LLM. This is a key distinction: RΞASON uses Typescript (& JSDoc comments) at runtime to help the LLM know what to return.

Getting started

Head over to https://docs.tryreason.dev to get started & learn more.