UNPKG

gpt3rocket

Version:

Little helper utility for priming + transacting w/ GPT3 api

86 lines (73 loc) 2.27 kB
import * as test from "tape"; import { GPT3Rocket, RootConfig } from "./../src/index"; // Types let inst: GPT3Rocket; test("setup", function (t) { const config: RootConfig = { credential: "xxxxxxxxxxxxx", }; inst = new GPT3Rocket(config); inst.add(["a", "b"]); inst.addPrefix("This is a prefix"); t.end(); }); // this.clear in 2:: // inst.add, prefix // from config test("<inst.add, inst.addPrefix baseline>", async (t: any) => { const prompt = "Who made you?"; const expected = "This is a prefix\ninput:a\noutput:b\ninput:Who made you?\n"; const actual = inst.buildQuery(prompt); t.deepEqual(actual, expected); }); test("<inst.add, inst.addPrefix custom transformer", async (t: any) => { const prompt = "Who made you?"; const expected = "**This is a prefix-a,b-Who made you?**"; inst.changeTransformer((prompt, samples, prefix) => { return `**${prefix}-${samples.join("\n")}-${prompt}**`; }); const actual = inst.buildQuery(prompt); t.deepEqual(actual, expected); inst.resetTransformer(); }); test("<inst.clear: inst.add, inst.addPrefix clear>", async (t: any) => { const prompt = "Who made you?"; const expected = "input:Who made you?\n"; inst.clear(); const actual = inst.buildQuery(prompt); t.deepEqual(actual, expected); }); test("<Prefix, samples set from config, baseline>", async (t: any) => { const prompt = "Who made you?"; const expected = "This is a prefix\ninput:a\noutput:b\ninput:Who made you?\n"; const samples = [["a", "b"]]; const prefix = "This is a prefix"; const config = { credential: "___________________", samples, prefix, }; const inst2 = new GPT3Rocket(config); // inst.clear(); const actual = inst2.buildQuery(prompt); t.deepEqual(actual, expected); }); test("<Prefix, samples from config, clear>", async (t: any) => { const prompt = "Who made you?"; const expected = "input:Who made you?\n"; const samples = [["a", "b"]]; const prefix = "This is a prefix"; const config = { credential: "___________________", samples, prefix, }; const inst2 = new GPT3Rocket(config); inst2.clear(); const actual = inst2.buildQuery(prompt); t.deepEqual(actual, expected); }); test("teardown", function (t) { // ... t.end(); });