Skip to content

thencc/gpts

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 

gpts = gpt-3 + typescript

typescript wrapper for gpt-3 api


example

import { GpTs } from 'gpts';
const brain = new GpTs(OPENAI_APIKEY); // dont publish your api key!

const thoughts = brain.completion({
	engineId: 'ada',
	prompt: 'whats for lunch?',
});

console.log(thoughts.choices[0].text); // "maybe a banana?"

also see demo/index.ts (need to insert your api key to run)


install

npm

npm i gpts

github

package.json

	"dependencies": {
		"gpts": "thencc/gpts",
		...
	},

features

  • engines
    • list
    • retreive
  • completions
    • create
    • stream ⚠️ (TODO)
  • searches
    • create
  • classifications
    • create
  • answers
    • create
  • files
    • list
    • upload (server-side only)
    • retrieve
    • delete
  • embeddings
    • create
  • fine-tunes
    • prepare dataset ⚠️ (TODO)
    • upload dataset ⚠️ (TODO)
    • check upload results ⚠️ (TODO)

notes

general

  • uses openai's REST api
  • for the /classifications and /answers endpoints, openai seems to switch the syntax from engineId -> model so if you specify both in the options argument, options.model takes precedence

client-side use

  • this library works client + server side using axios for http requests
  • DO NOT share your api key in public client-side frontend code
  • one way to hide your openai api key for client-side use is by hosting an api wrapper endpoint that enforces your own authentication, then updating the origin this library looks to use like the below.

api wrapper example:

import { GpTs } from 'gpts';
/*
    gives your api wrapper authorization like this:
        headers: {
            'Authorization': 'Bearer ASuperSecretPassword'
        }

    the constructor takes 2 arguments
        1. the authorization bearer value
        2. the api origin
*/
const brain = new GpTs('ASuperSecretPassword', 'https://company.api-wrappers.io/gpt3');

TODO