Un client Openai minimal et opiniâtre propulsé par Fetch.
Malheureusement, les correctifs officiels du package OpenAI s'approchent de manière problématique et sont assez gonflés.
openai-fetch :openai-fetch est de ~ 14 Ko et openai est de ~ 152 Koopenai officiel si:npm install openai-fetch Ce package nécessite node >= 18 ou un environnement avec support fetch .
Ce package exporte ESM. Si votre projet utilise CommonJS, envisagez de passer à ESM ou d'utiliser la fonction Dynamic import() .
import { OpenAIClient } from 'openai-fetch' ;
const client = new OpenAIClient ( { apiKey : '<your api key>' } ) ; L' apiKey est facultatif et sera lu à partir de process.env.OPENAI_API_KEY s'il est présent.
L'API suit de très près Openai, de sorte que leur documentation de référence peut généralement être utilisée. Tout est fortement dactylographié, vous saurez donc si quelque chose est différent dès que TypeScript analyse votre code.
// 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 >Les définitions de type sont disponibles via TSServer et peuvent être trouvées ici: définitions de type.
MIT © Dexa