openai-nodejs
Version:
A non-official OpenAI API wrapper for node.
2,602 lines (687 loc) • 41.3 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>OpenAI NodeJS: OpenAI</title>
<link type="text/css" rel="stylesheet" href="styles/vendor/prism-tomorrow-night.css">
<link type="text/css" rel="stylesheet" href="styles/styles.css">
</head>
<body>
<header class="layout-header">
<h1>
<a href="./index.html">
OpenAI NodeJS
</a>
</h1>
<nav class="layout-nav">
<ul><li class="nav-heading">Classes</li><li class="nav-heading"><span class="nav-item-type type-class" title="class">C</span><span class="nav-item-name is-class"><a href="OpenAI.html">OpenAI</a></span></li><li class="nav-item"><span class="nav-item-type type-function" title="function">F</span><span class="nav-item-name is-function"><a href="OpenAI.html#answer">answer</a></span></li><li class="nav-item"><span class="nav-item-type type-function" title="function">F</span><span class="nav-item-name is-function"><a href="OpenAI.html#classificate">classificate</a></span></li><li class="nav-item"><span class="nav-item-type type-function" title="function">F</span><span class="nav-item-name is-function"><a href="OpenAI.html#complete">complete</a></span></li><li class="nav-item"><span class="nav-item-type type-function" title="function">F</span><span class="nav-item-name is-function"><a href="OpenAI.html#decode">decode</a></span></li><li class="nav-item"><span class="nav-item-type type-function" title="function">F</span><span class="nav-item-name is-function"><a href="OpenAI.html#deleteFile">deleteFile</a></span></li><li class="nav-item"><span class="nav-item-type type-function" title="function">F</span><span class="nav-item-name is-function"><a href="OpenAI.html#encode">encode</a></span></li><li class="nav-item"><span class="nav-item-type type-function" title="function">F</span><span class="nav-item-name is-function"><a href="OpenAI.html#getEngine">getEngine</a></span></li><li class="nav-item"><span class="nav-item-type type-function" title="function">F</span><span class="nav-item-name is-function"><a href="OpenAI.html#getEngines">getEngines</a></span></li><li class="nav-item"><span class="nav-item-type type-function" title="function">F</span><span class="nav-item-name is-function"><a href="OpenAI.html#getFile">getFile</a></span></li><li class="nav-item"><span class="nav-item-type type-function" title="function">F</span><span class="nav-item-name is-function"><a href="OpenAI.html#getFiles">getFiles</a></span></li><li class="nav-item"><span class="nav-item-type type-function" title="function">F</span><span class="nav-item-name is-function"><a href="OpenAI.html#search">search</a></span></li><li class="nav-item"><span class="nav-item-type type-function" title="function">F</span><span class="nav-item-name is-function"><a href="OpenAI.html#tokens">tokens</a></span></li><li class="nav-item"><span class="nav-item-type type-function" title="function">F</span><span class="nav-item-name is-function"><a href="OpenAI.html#uploadFile">uploadFile</a></span></li></ul><li class="nav-heading"><a href="global.html">Globals</a></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#Answer">Answer</a></span></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#AnswerBody">AnswerBody</a></span></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#AnswerDocument">AnswerDocument</a></span></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#Classification">Classification</a></span></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#ClassificationBody">ClassificationBody</a></span></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#ClassificationExample">ClassificationExample</a></span></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#Completion">Completion</a></span></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#CompletionBody">CompletionBody</a></span></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#CompletionChoice">CompletionChoice</a></span></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#DeletedFile">DeletedFile</a></span></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#Engine">Engine</a></span></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#File">File</a></span></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#Search">Search</a></span></li><li class="nav-item"><span class="nav-item-type type-typedef" title="typedef">T</span><span class="nav-item-name is-typedef"><a href="global.html#SearchBody">SearchBody</a></span></li>
</nav>
</header>
<main class="layout-main ">
<div class="container">
<p class="page-kind">Class</p>
<h1 class="page-title">OpenAI</h1>
<section>
<header class="class">
<!-- <h2>OpenAI</h2> -->
<div class="class-description"><p>OpenAI client library.</p></div>
</header>
<article>
<div class="container-overview">
<h3 class="subtitle">Constructor</h3>
<div class="method-type">
</div>
<h4 class="method-name" id="OpenAI">new OpenAI<span class="signature">(key, organization<span class="signature-attributes">opt</span>, engine<span class="signature-attributes">opt</span>)</span><span class="return-type-signature"></span>
</h4>
<h4 class="method-heading">Parameters</h4>
<ul class="method-params">
<li>
<span class="param-name">key</span>
<span class="param-type">
<code>String</code>
</span>
<span class="param-attributes">
</span>
<div class="param-description"><p>API key</p></div>
</li>
<li>
<span class="param-name">organization</span>
<span class="param-type">
<code>String</code>
</span>
<span class="param-attributes">
<optional><br>
</span>
<span class="param-default">
null
</span>
<div class="param-description"><p>Organization ID</p></div>
</li>
<li>
<span class="param-name">engine</span>
<span class="param-type">
<code>String</code>
</span>
<span class="param-attributes">
<optional><br>
</span>
<span class="param-default">
davinci
</span>
<div class="param-description"><p>The engine you will use in your requests</p></div>
</li>
</ul>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/api-reference/authentication">https://beta.openai.com/docs/api-reference/authentication</a></li>
</ul>
</div>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.19">, line 19</a>
</li>
</ul>
</div>
<h3 class="subtitle">Methods</h3>
<article class="method">
<div class="method-type">
<span class="method-type-signature is-async">async</span>
</div>
<h4 class="method-name" id="answer">answer<span class="signature">(question, body<span class="signature-attributes">opt</span>)</span><span class="return-type-signature"> → {Promise.<<a href="global.html#Answer">Answer</a>>}</span>
</h4>
<div class="method-description">
<p>[BETA] Answers the specified question using the provided documents and examples.</p>
</div>
<h4 class="method-heading">Parameters</h4>
<ul class="method-params">
<li>
<span class="param-name">question</span>
<span class="param-type">
<code>string</code>
</span>
|
<span class="param-type">
<code>array</code>
</span>
<span class="param-attributes">
</span>
<div class="param-description"></div>
</li>
<li>
<span class="param-name">body</span>
<span class="param-type">
<code><a href="global.html#AnswerBody">AnswerBody</a></code>
</span>
<span class="param-attributes">
<optional><br>
</span>
<span class="param-default">
{}
</span>
<div class="param-description"></div>
</li>
</ul>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/api-reference/answers/create">https://beta.openai.com/docs/api-reference/answers/create</a></li>
</ul>
</div>
<h4 class="method-heading">Returns</h4>
<ul>
<li class="method-returns">
<code>Promise.<Answer></code>
</li>
</ul>
<h4 class="method-heading">Example</h4>
<pre><code class="language-js">const OpenAI = require('openai-nodejs');
const client = new OpenAI('YOUR_API_KEY');
const documents = ['Puppy A is happy.', 'Puppy B is sad.'];
const examples_context = 'In 2017, U.S. life expectancy was 78.6 years.';
const examples = [
['What is human life expectancy in the United States?', '78 years.']
];
const stop = ['\n', '<|endoftext|>'];
client.answer('Which puppy is happy?', {documents, examples_context, examples, stop})
.then(answer => {
console.log(`Answer: ${answer.answers[0]}`);
})
.catch(console.error);</code></pre>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.411">, line 411</a>
</li>
</ul>
</article>
<article class="method">
<div class="method-type">
<span class="method-type-signature is-async">async</span>
</div>
<h4 class="method-name" id="classificate">classificate<span class="signature">(query, body<span class="signature-attributes">opt</span>)</span><span class="return-type-signature"> → {Promise.<<a href="global.html#Classification">Classification</a>>}</span>
</h4>
<div class="method-description">
<p>[BETA] Classifies the specified query using provided examples.</p>
</div>
<h4 class="method-heading">Parameters</h4>
<ul class="method-params">
<li>
<span class="param-name">query</span>
<span class="param-type">
<code>string</code>
</span>
|
<span class="param-type">
<code>array</code>
</span>
<span class="param-attributes">
</span>
<div class="param-description"></div>
</li>
<li>
<span class="param-name">body</span>
<span class="param-type">
<code><a href="global.html#ClassificationBody">ClassificationBody</a></code>
</span>
<span class="param-attributes">
<optional><br>
</span>
<span class="param-default">
{}
</span>
<div class="param-description"></div>
</li>
</ul>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/api-reference/classifications/create">https://beta.openai.com/docs/api-reference/classifications/create</a></li>
</ul>
</div>
<h4 class="method-heading">Returns</h4>
<ul>
<li class="method-returns">
<code>Promise.<Classification></code>
</li>
</ul>
<h4 class="method-heading">Example</h4>
<pre><code class="language-js">const OpenAI = require('openai-nodejs');
const client = new OpenAI('YOUR_API_KEY');
const examples = [
['A happy moment', 'Positive'],
['I am sad.', 'Negative'],
['I am feeling awesome', 'Positive']
];
const labels = ['Positive', 'Negative', 'Neutral'];
client.classificate('It is a raining day :(', {examples, labels, 'search_model': 'ada', 'engine': 'curie'})
.then(classification => {
console.log(`Classification: ${classification.label}`);
})
.catch(console.error);</code></pre>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.327">, line 327</a>
</li>
</ul>
</article>
<article class="method">
<div class="method-type">
<span class="method-type-signature is-async">async</span>
</div>
<h4 class="method-name" id="complete">complete<span class="signature">(prompt<span class="signature-attributes">opt</span>, body<span class="signature-attributes">opt</span>)</span><span class="return-type-signature"> → {Promise.<<a href="global.html#Completion">Completion</a>>}</span>
</h4>
<div class="method-description">
<p>Creates a new completion for the provided prompt and parameters.</p>
</div>
<h4 class="method-heading">Parameters</h4>
<ul class="method-params">
<li>
<span class="param-name">prompt</span>
<span class="param-type">
<code>string</code>
</span>
|
<span class="param-type">
<code>array</code>
</span>
<span class="param-attributes">
<optional><br>
</span>
<span class="param-default">
<|endoftext|>
</span>
<div class="param-description"><p>The prompt(s) to generate completions for, encoded as a string, a list of strings, or a list of token lists.</p></div>
</li>
<li>
<span class="param-name">body</span>
<span class="param-type">
<code><a href="global.html#CompletionBody">CompletionBody</a></code>
</span>
<span class="param-attributes">
<optional><br>
</span>
<span class="param-default">
{}
</span>
<div class="param-description"></div>
</li>
</ul>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/api-reference/completions/create">https://beta.openai.com/docs/api-reference/completions/create</a></li>
</ul>
</div>
<h4 class="method-heading">Returns</h4>
<ul>
<li class="method-returns">
<code>Promise.<Completion></code>
</li>
</ul>
<h4 class="method-heading">Example</h4>
<pre><code class="language-js">const OpenAI = require('openai-nodejs');
const client = new OpenAI('YOUR_API_KEY');
var prompt = 'My name is Bond';
client.complete(prompt, {stop: ['\n', '"'], temperature: 0})
.then(completion => {
console.log(`Result: ${prompt}${completion.choices[0].text}`);
})
.catch(console.error);</code></pre>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.191">, line 191</a>
</li>
</ul>
</article>
<article class="method">
<div class="method-type">
</div>
<h4 class="method-name" id="decode">decode<span class="signature">(text)</span><span class="return-type-signature"> → {string}</span>
</h4>
<div class="method-description">
<p>Decode keys to text.</p>
</div>
<h4 class="method-heading">Parameters</h4>
<ul class="method-params">
<li>
<span class="param-name">text</span>
<span class="param-type">
<code>Array.<String></code>
</span>
<div class="param-description"><p>The encoded text</p></div>
</li>
</ul>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/introduction/key-concepts">https://beta.openai.com/docs/introduction/key-concepts</a></li>
</ul>
</div>
<h4 class="method-heading">Returns</h4>
<ul>
<li class="method-returns">
<code>string</code>
</li>
</ul>
<h4 class="method-heading">Example</h4>
<pre><code class="language-js">const OpenAI = require('openai-nodejs');
const client = new OpenAI('YOUR_API_KEY');
var encoded = client.encode('Hello, world!');
var decoded = client.decode(encoded);
console.log(`Decoded: ${decoded}`);</code></pre>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.594">, line 594</a>
</li>
</ul>
</article>
<article class="method">
<div class="method-type">
<span class="method-type-signature is-async">async</span>
</div>
<h4 class="method-name" id="deleteFile">deleteFile<span class="signature">(fileId)</span><span class="return-type-signature"> → {<a href="global.html#DeletedFile">DeletedFile</a>}</span>
</h4>
<div class="method-description">
<p>Delete a File.</p>
</div>
<h4 class="method-heading">Parameters</h4>
<ul class="method-params">
<li>
<span class="param-name">fileId</span>
<span class="param-type">
<code>String</code>
</span>
<div class="param-description"></div>
</li>
</ul>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/api-reference/files/delete">https://beta.openai.com/docs/api-reference/files/delete</a></li>
</ul>
</div>
<h4 class="method-heading">Returns</h4>
<ul>
<li class="method-returns">
<code>DeletedFile</code>
</li>
</ul>
<h4 class="method-heading">Example</h4>
<pre><code class="language-js">const OpenAI = require('openai-nodejs');
const client = new OpenAI('YOUR_API_KEY');
client.deleteFile('FILE_ID')
.then(console.log)
.catch(console.error);</code></pre>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.506">, line 506</a>
</li>
</ul>
</article>
<article class="method">
<div class="method-type">
</div>
<h4 class="method-name" id="encode">encode<span class="signature">(text)</span><span class="return-type-signature"> → {Array.<String>}</span>
</h4>
<div class="method-description">
<p>Split text by keys.</p>
</div>
<h4 class="method-heading">Parameters</h4>
<ul class="method-params">
<li>
<span class="param-name">text</span>
<span class="param-type">
<code>String</code>
</span>
<div class="param-description"><p>The string to be encoded</p></div>
</li>
</ul>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/introduction/key-concepts">https://beta.openai.com/docs/introduction/key-concepts</a></li>
</ul>
</div>
<h4 class="method-heading">Returns</h4>
<ul>
<li class="method-returns">
<code>Array.<String></code>
</li>
</ul>
<h4 class="method-heading">Example</h4>
<pre><code class="language-js">const OpenAI = require('openai-nodejs');
const client = new OpenAI('YOUR_API_KEY');
var encoded = client.encode('Hello, world!');
console.log(encoded);</code></pre>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.575">, line 575</a>
</li>
</ul>
</article>
<article class="method">
<div class="method-type">
<span class="method-type-signature is-async">async</span>
</div>
<h4 class="method-name" id="getEngine">getEngine<span class="signature">(engine)</span><span class="return-type-signature"> → {Promise.<<a href="global.html#Engine">Engine</a>>}</span>
</h4>
<div class="method-description">
<p>Retrieves an engine instance, providing basic information about the engine such as the owner and availability.</p>
</div>
<h4 class="method-heading">Parameters</h4>
<ul class="method-params">
<li>
<span class="param-name">engine</span>
<span class="param-type">
<code>String</code>
</span>
<div class="param-description"><p>The ID of the engine to use for this request</p></div>
</li>
</ul>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/api-reference/engines/retrieve">https://beta.openai.com/docs/api-reference/engines/retrieve</a></li>
</ul>
</div>
<h4 class="method-heading">Returns</h4>
<ul>
<li class="method-returns">
<code>Promise.<Engine></code>
</li>
</ul>
<h4 class="method-heading">Example</h4>
<pre><code class="language-js">const OpenAI = require('openai-nodejs');
const client = new OpenAI('YOUR_API_KEY');
client.getEngine('davinci')
.then(engine => {
console.log(`Engine owner: ${engine.owner}`);
})
.catch(console.error);</code></pre>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.124">, line 124</a>
</li>
</ul>
</article>
<article class="method">
<div class="method-type">
<span class="method-type-signature is-async">async</span>
</div>
<h4 class="method-name" id="getEngines">getEngines<span class="signature">()</span><span class="return-type-signature"> → {Promise.<Array.<<a href="global.html#Engine">Engine</a>>>}</span>
</h4>
<div class="method-description">
<p>Lists the currently available engines, and provides basic information about each one such as the owner and availability.</p>
</div>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/api-reference/engines/list">https://beta.openai.com/docs/api-reference/engines/list</a></li>
</ul>
</div>
<h4 class="method-heading">Returns</h4>
<ul>
<li class="method-returns">
<code>Promise.<Array.<Engine>></code>
</li>
</ul>
<h4 class="method-heading">Example</h4>
<pre><code class="language-js">const OpenAI = require('openai-nodejs');
const client = new OpenAI('YOUR_API_KEY');
client.getEngines()
.then(engines => {
console.log(`Engines: ${engines.map(engine => engine.id).join(', ')}`);
})
.catch(console.error);</code></pre>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.100">, line 100</a>
</li>
</ul>
</article>
<article class="method">
<div class="method-type">
<span class="method-type-signature is-async">async</span>
</div>
<h4 class="method-name" id="getFile">getFile<span class="signature">(filename)</span><span class="return-type-signature"> → {Promise.<<a href="global.html#File">File</a>>}</span>
</h4>
<div class="method-description">
<p>Returns information about a specific file.</p>
</div>
<h4 class="method-heading">Parameters</h4>
<ul class="method-params">
<li>
<span class="param-name">filename</span>
<span class="param-type">
<code>String</code>
</span>
<div class="param-description"></div>
</li>
</ul>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/api-reference/files/retrieve">https://beta.openai.com/docs/api-reference/files/retrieve</a></li>
</ul>
</div>
<h4 class="method-heading">Returns</h4>
<ul>
<li class="method-returns">
<code>Promise.<File></code>
</li>
</ul>
<h4 class="method-heading">Example</h4>
<pre><code class="language-js">const OpenAI = require('openai-nodejs');
const client = new OpenAI('YOUR_API_KEY');
client.getFile('FILE_ID')
.then(console.log)
.catch(console.error);</code></pre>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.474">, line 474</a>
</li>
</ul>
</article>
<article class="method">
<div class="method-type">
<span class="method-type-signature is-async">async</span>
</div>
<h4 class="method-name" id="getFiles">getFiles<span class="signature">()</span><span class="return-type-signature"> → {Promise.<Array.<<a href="global.html#File">File</a>>>}</span>
</h4>
<div class="method-description">
<p>Returns a list of files that belong to the user's organization.</p>
</div>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/api-reference/files/list">https://beta.openai.com/docs/api-reference/files/list</a></li>
</ul>
</div>
<h4 class="method-heading">Returns</h4>
<ul>
<li class="method-returns">
<code>Promise.<Array.<File>></code>
</li>
</ul>
<h4 class="method-heading">Example</h4>
<pre><code class="language-js">const OpenAI = require('openai-nodejs');
const client = new OpenAI('YOUR_API_KEY');
client.getFiles()
.then(console.log)
.catch(console.error);</code></pre>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.453">, line 453</a>
</li>
</ul>
</article>
<article class="method">
<div class="method-type">
<span class="method-type-signature is-async">async</span>
</div>
<h4 class="method-name" id="search">search<span class="signature">(query, body<span class="signature-attributes">opt</span>)</span><span class="return-type-signature"> → {Promise.<<a href="global.html#Search">Search</a>>}</span>
</h4>
<div class="method-description">
<p>Given a query and a set of documents or labels, the model ranks each document based on its semantic similarity to the provided query.</p>
</div>
<h4 class="method-heading">Parameters</h4>
<ul class="method-params">
<li>
<span class="param-name">query</span>
<span class="param-type">
<code>string</code>
</span>
|
<span class="param-type">
<code>array</code>
</span>
<span class="param-attributes">
</span>
<div class="param-description"></div>
</li>
<li>
<span class="param-name">body</span>
<span class="param-type">
<code><a href="global.html#SearchBody">SearchBody</a></code>
</span>
<span class="param-attributes">
<optional><br>
</span>
<span class="param-default">
{}
</span>
<div class="param-description"></div>
</li>
</ul>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/guides/search/create">https://beta.openai.com/docs/guides/search/create</a></li>
</ul>
</div>
<h4 class="method-heading">Returns</h4>
<ul>
<li class="method-returns">
<code>Promise.<Search></code>
</li>
</ul>
<h4 class="method-heading">Example</h4>
<pre><code class="language-js">const OpenAI = require('openai-nodejs');
const client = new OpenAI('YOUR_API_KEY');
const documents = ['Dancing', 'Programming', 'Skating', 'Drawing'];
client.search('I do not like CSS', {documents})
.then(result => {
var max_score = Math.max(...result.map(e => e.score), 0);
console.log(`Likely subject: ${documents[result.find(e => e.score === max_score).document]} (${max_score})`);
})
.catch(console.error);</code></pre>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.247">, line 247</a>
</li>
</ul>
</article>
<article class="method">
<div class="method-type">
</div>
<h4 class="method-name" id="tokens">tokens<span class="signature">(text)</span><span class="return-type-signature"> → {Number}</span>
</h4>
<div class="method-description">
<p>Shows the token amount of the inserted text.</p>
</div>
<h4 class="method-heading">Parameters</h4>
<ul class="method-params">
<li>
<span class="param-name">text</span>
<span class="param-type">
<code>String</code>
</span>
<div class="param-description"><p>The string to get the token amount</p></div>
</li>
</ul>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/introduction/key-concepts">https://beta.openai.com/docs/introduction/key-concepts</a></li>
</ul>
</div>
<h4 class="method-heading">Returns</h4>
<ul>
<li class="method-returns">
<code>Number</code>
</li>
</ul>
<h4 class="method-heading">Example</h4>
<pre><code class="language-js">const OpenAI = require('openai-nodejs');
const client = new OpenAI('YOUR_API_KEY');
var tokens = client.tokens('Hello, world!');
console.log(`Tokens count: ${tokens}`);</code></pre>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.612">, line 612</a>
</li>
</ul>
</article>
<article class="method">
<div class="method-type">
<span class="method-type-signature is-async">async</span>
</div>
<h4 class="method-name" id="uploadFile">uploadFile<span class="signature">(file, purpose)</span><span class="return-type-signature"> → {<a href="global.html#File">File</a>}</span>
</h4>
<div class="method-description">
<p>Upload a file that contains document(s) to be used across various endpoints/features.</p>
</div>
<h4 class="method-heading">Parameters</h4>
<ul class="method-params">
<li>
<span class="param-name">file</span>
<span class="param-type">
<code>string</code>
</span>
|
<span class="param-type">
<code>ReadStream</code>
</span>
<div class="param-description"><p>The content of the JSON to be uploaded.</p></div>
</li>
<li>
<span class="param-name">purpose</span>
<span class="param-type">
<code>String</code>
</span>
<div class="param-description"><p>The intended purpose of the uploaded documents.</p></div>
</li>
</ul>
<div class="details">
<h4 class="method-heading">See</h4>
<ul>
<li><a href="https://beta.openai.com/docs/api-reference/files/upload">https://beta.openai.com/docs/api-reference/files/upload</a></li>
</ul>
</div>
<h4 class="method-heading">Returns</h4>
<ul>
<li class="method-returns">
<code>File</code>
</li>
</ul>
<h4 class="method-heading">Example</h4>
<pre><code class="language-js">const fs = require('fs');
const OpenAI = require('openai-nodejs');
const client = new OpenAI('YOUR_API_KEY');
client.uploadFile(fs.createReadStream('file.jsonl'), 'answers')
.then(console.log)
.catch(console.error);
client.uploadFile('{"text": "A text here"}', 'answers')
.then(console.log)
.catch(console.error);</code></pre>
<h4 class="method-heading">Source</h4>
<ul>
<li class="method-source">
<a href="index.js.html">index.js</a><a href="index.js.html#source.535">, line 535</a>
</li>
</ul>
</article>
</article>
</section>
</div>
</main>
<footer class="layout-footer">
<div class="container">
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.7</a>
</div>
</footer>
<script src="scripts/prism.dev.js"></script>
</body>
</html>