Package Exports
- openai
- openai/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (openai) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
OpenAI
A tiny async production-ready wrapper for OpenAI GPT-3 API.
This is an unofficial library and has no affiliations with OpenAI
Installation
Via npm
npm install openai
Via yarn
yarn add openai
Usage
Initialize OpenAI
import { OpenAI } from 'openai';
// or the commonJS way:
const { OpenAI } = require('openai');
// new OpenAI(apikey: string, organization?: string, version?: string)
const openai = new OpenAI(process.env.API_KEY, 'my-organization');
Engine
Get all engines:
const engines = await openai.getEngines();
Get specific engine:
const engine = await openai.getEngine('curie');
Completion
Make a completion:
const completion = await openai.complete('curie', {
prompt: 'Q: Hello\nA:',
user: 'user-123'
});
The options argument(2nd) properties follow the exactly same names as shown on official docs.
Make a completion from a fine-tuned model:
const completion = await openai.completeFromModel('FINE_TUNED_MODEL', {
prompt: 'Q: Hello\nA:'
});
Make a completion and stream the response:
const stream = await openai.completeAndStream('curie', { // or completeFromModelAndStream
prompt: 'Q: Hello\nA:',
user: 'user-123'
});
stream.pipe(response)
Make a content filter:
const isSafe = (await openai.contentFilter('hi I am cool')) === 0;
Search
Make a search:
const search = await openai.search('curie', {
query: 'the president',
documents: [
'whitehouse',
'school',
'hospital'
]
});
The options argument(2nd) properties follow the exactly same names as shown on official docs.
Classification
Classify a document:
const classification = await openai.classify({
examples: [
['A happy moment', 'Positive'],
['I am sad.', 'Negative'],
['I am feeling awesome', 'Positive']
],
labels: ['Positive', 'Negative', 'Neutral'],
query: 'It is a raining day :(',
search_model: 'ada',
model: 'curie'
});
The argument properties follow the exactly same names as shown on official docs.
Answer
Answer a question:
const answer = await openai.answer({
documents: ['Puppy A is happy.', 'Puppy B is sad.'],
question: 'which puppy is happy?',
search_model: 'ada',
model: 'curie',
examples_context: 'In 2017, U.S. life expectancy was 78.6 years.',
examples: [['What is human life expectancy in the United States?','78 years.']],
});
The argument properties follow the exactly same names as shown on official docs.
File
Get all files:
const files = await openai.getFiles();
Upload a single file:
const result = await openai.uploadFile('filename.json', await fs.readFileSync('somefile.json'), 'fine-tune');
Get a single file by id:
const file = await openai.getFile('file-29u89djwq');
Delete a single file by id:
await openai.deleteFile('file-29u89djwq');
Fine-tuning
Fine-tune from a file:
const result = await openai.finetune({
training_file: 'file-29u89djwq'
});
The argument properties follow the exactly same names as shown on official docs.
Get all fine-tunes:
const finetunes = await openai.getFinetunes();
Get a specific fine-tune:
const finetune = await openai.getFinetune('ftjob-AF1WoRqd3aJ');
Cancel a fine-tune:
await openai.cancelFinetune('ftjob-AF1WoRqd3aJ');
Get fine-tune events of a fine-tune:
const events = await openai.getFinetuneEvents('ftjob-AF1WoRqd3aJ');