Минимальный и самоуверенный клиент Openai, основанный на Fetch.
К сожалению, официальные патчи Openai Package вызывают проблемные способы и довольно раздуты.
openai-fetch :openai-fetch ~ 14 КБ, а openai ~ 152 КБopenai , если:npm install openai-fetch Этот пакет требует node >= 18 или среда с поддержкой fetch .
Этот пакет экспортирует ESM. Если ваш проект использует CommonJS, рассмотрите возможность переключения на ESM или используйте функцию Dynamic import() .
import { OpenAIClient } from 'openai-fetch' ;
const client = new OpenAIClient ( { apiKey : '<your api key>' } ) ; apiKey не является обязательным и будет прочитан от process.env.OPENAI_API_KEY , если присутствует.
API очень внимательно следует за OpenAI, поэтому их справочная документация обычно может использоваться. Все сильно напечатано, поэтому вы узнаете, что что -то отличается, как только TypeScript анализирует ваш код.
// Generate a single chat completion
client . createChatCompletion ( params : ChatParams ) : Promise < ChatResponse > ;
// Stream a single completion via a ReadableStream
client . streamChatCompletion ( params : ChatStreamParams ) : Promise < ChatStreamResponse > ;
// Generate one or more completions
client . createCompletions ( params : CompletionParams ) : Promise < CompletionResponse > ;
// Stream a single completion via a ReadableStream
client . streamCompletion ( params : CompletionStreamParams ) : Promise < CompletionStreamResponse > ;
// Generate one or more embeddings
client . createEmbeddings ( params : EmbeddingParams ) : Promise < EmbeddingResponse >
// Checks for potentially harmful content
client . createModeration ( params : ModerationParams ) : Promise < ModerationResponse >
// Text-to-Speech
client . createSpeech ( params : SpeechParams ) : Promise < SpeechResponse >Определения типа доступны через TSServer и могут быть найдены здесь: Определения типа.
MIT © DEXA