Skip to content

jmaczan/openai-polling

Repository files navigation

Tiny Machine Learning Company

OpenAI Polling

A library that fills the gaps in OpenAI Threads API

OpenAI docs: In order to keep the status of your run up to date, you will have to periodically retrieve the Run object. You can check the status of the run each time you retrieve the object to determine what your application should do next. We plan to add support for streaming to make this simpler in the near future.

It's not there yet and I bet you want to use Threads API anyways. All you need is to import this library and call the poll function

🌸 TMLC says: "Just upload your data and get an AI model"

<shameless plug>

We are building an Automated Machine Learning platform and we believe it will give you an edge over others

Click here to sign up on a priority waitlist and get an early access to our platform!

</shameless plug>

Install

npm install @tmlc/openai-polling

Usage

import { poll } from '@tmlc/openai-polling';

await poll(openai, thread, run);

API

poll(openai: OpenAI, thread: OpenAI.Beta.Threads.Thread, runId: OpenAI.Beta.Threads.Runs.Run, options?: Partial): Promise<OpenAI.Beta.Threads.Runs.Run>

openai

Type: OpenAI

threadId

Type: OpenAI.Beta.Threads.Thread

runId

Type: OpenAI.Beta.Threads.Runs.Run

(optional) options: PollOptions

Type: PollOptions

Default:

{
  maxAttempts: 60,
  intervalInMilliseconds: 4000,
  showLogs: false,
};

You might pass only some of the parameters and they will be merged with defaults

returns

Type: Promise<OpenAI.Beta.Threads.Runs.Run>

PollOptions

export interface PollOptions {
  maxAttempts: number;
  intervalInMilliseconds: number;
  showLogs: boolean;
}

License

MIT License

Author

Jędrzej Maczan from Tiny Machine Learning Company, Gdynia, Poland, 2024

Click here to sign up on a priority waitlist and get an early access to our AutoML platform first