À partir de sgcWebSockets 2023.3.0, l'API OpenAI est entièrement prise en charge.
L'API OpenAI peut être appliquée à pratiquement toute tâche impliquant la compréhension ou la génération de langage naturel, de code ou d'images. OpenAI propose un éventail de modèles avec différents niveaux de puissance adaptés à différentes tâches, ainsi que la possibilité d'affiner tes propres modèles personnalisés. Ces modèles peuvent être utilisés pour tout, de la génération de contenu à la recherche sémantique et à la classification.
Authentification
L'API OpenAI utilise des clés API pour l'authentification. Visite ta page API Keys pour récupérer la clé API que tu utiliseras dans tes requêtes.
Rappelle-toi que ta clé API est un secret ! Ne la partage pas et ne l'expose pas dans du code côté client (navigateurs, apps). Les requêtes de production doivent être routées via ton propre serveur backend, où ta clé API peut être chargée de façon sécurisée depuis une variable d'environnement ou un service de gestion des clés.Cette clé API doit être configurée dans la propriété OpenAIOptions.ApiKey du composant. Optionnellement, pour les utilisateurs qui appartiennent à plusieurs organisations, tu peux définir ton organisation dans la propriété OpenAIOptions.Organization si ton compte appartient à une organisation.
Modèles OpenAI
Une fois la clé API configurée, tu trouveras ci-dessous la liste des fonctions disponibles pour interagir avec l'API OpenAI.
ModèlesListe et décrit les différents modèles disponibles dans l'API.
- GetModels : liste les modèles actuellement disponibles et fournit des informations de base sur chacun, comme le propriétaire et la disponibilité.
- GetModel : récupère une instance de modèle en fournissant des informations de base sur le modèle, comme le propriétaire et les permissions.
- Model : l'ID du modèle à utiliser pour cette requête
Completions
À partir d'un prompt, le modèle renvoie une ou plusieurs completions prédites, et peut aussi renvoyer les probabilités des jetons alternatifs à chaque position.
- CreateCompletion : crée une completion pour le prompt et les paramètres fournis
- Model : ID du modèle à utiliser. Tu peux utiliser l'API List models pour voir tous tes modèles disponibles, ou consulter notre aperçu Model pour leurs descriptions.
- Prompt : le prompt pour lequel générer des completions.
Chat
À partir d'une conversation de chat, le modèle renvoie une réponse de completion de chat.
- Model : ID du modèle à utiliser. Appelle GetModels pour obtenir la liste de tous les modèles pris en charge par l'API Chat.
- Message : le message pour lequel générer des completions de chat.
- Role : par défaut user, les autres options sont : system, assistant.
Edits
À partir d'un prompt et d'une instruction, le modèle renvoie une version éditée du prompt.
- CreateEdit : crée une nouvelle édition pour l'entrée, l'instruction et les paramètres fournis.
- Model : ID du modèle à utiliser. Tu peux utiliser le modèle text-davinci-edit-001 ou code-davinci-edit-001 avec cet endpoint.
- Instruction : l'instruction qui indique au modèle comment éditer le prompt.
- Input : (optionnel) le texte d'entrée à utiliser comme point de départ pour l'édition.
À partir d'un prompt et/ou d'une image d'entrée, le modèle génère une nouvelle image.
- CreateImage : crée une image à partir d'un prompt.
- Prompt : une description textuelle de la ou des images souhaitées. La longueur maximale est de 1000 caractères.
- CreateImageEdit : crée une image éditée ou étendue à partir d'une image originale et d'un prompt.
- Image : l'image à éditer. Doit être un fichier PNG valide, de moins de 4 Mo et carré. Si aucun masque n'est fourni, l'image doit avoir de la transparence, qui sera utilisée comme masque.
- Prompt: A text description of the desired image(s). The maximum length is 1000 characters.
- CreateImageVariations : crée une variation d'une image donnée.
- Image : l'image à utiliser comme base pour la ou les variations. Doit être un fichier PNG valide, de moins de 4 Mo et carré.
Embeddings
Obtient une représentation vectorielle d'une entrée donnée, facilement consommable par les modèles et algorithmes de machine learning.
- CreateEmbeddings : crée un vecteur d'embedding représentant le texte d'entrée.
- Model : ID du modèle à utiliser.
- Input : texte d'entrée pour lequel obtenir des embeddings.
Audio
Transforme l'audio en texte.
- CreateTranscriptionFromFile : transcrit l'audio dans la langue d'entrée à partir d'un nom de fichier
- Model : ID du modèle à utiliser. Seul whisper-1 est actuellement disponible.
- Filename : le fichier audio à transcrire, dans un de ces formats : mp3, mp4, mpeg, mpga, m4a, wav ou webm.
- CreateTranscription : enregistre l'audio pendant X secondes et le transcrit.
- Model: ID of the model to use. Only whisper-1 is currently available.
- Time : durée en millisecondes, par défaut 10 secondes.
- CreateTranslationFromFile : traduit l'audio en anglais.
- Model: ID of the model to use. Only whisper-1 is currently available.
- Filename : le fichier audio à traduire, dans un de ces formats : mp3, mp4, mpeg, mpga, m4a, wav ou webm.
- CreateTranslation : enregistre l'audio pendant X secondes et le traduit.
- Model: ID of the model to use. Only whisper-1 is currently available.
- Time: time in milliseconds, by default 10 seconds.
Files
Les fichiers servent à téléverser des documents utilisables avec des fonctionnalités comme le fine-tuning.
- ListFiles : renvoie la liste des fichiers appartenant à l'organisation de l'utilisateur.
- UploadFile : téléverse un fichier contenant un ou plusieurs documents à utiliser sur différents endpoints/fonctionnalités. Actuellement, la taille totale des fichiers téléversés par une organisation peut atteindre 1 Go.
- Filename : nom du fichier JSON Lines à téléverser. Si le purpose est défini sur « fine-tune », chaque ligne est un enregistrement JSON avec les champs « prompt » et « completion » représentant tes exemples d'entraînement.
- Purpose : l'objectif des documents téléversés. Utilise « fine-tune » pour le fine-tuning.
- DeleteFile : supprime un fichier.
- FileId : l'ID du fichier à utiliser pour cette requête
- RetrieveFile : renvoie des informations sur un fichier spécifique.
- FileId : l'ID du fichier à utiliser pour cette requête
- RetrieveFileContent : renvoie le contenu du fichier spécifié
- FileId : l'ID du fichier à utiliser pour cette requête.
Fine-Tunes
Gère les tâches de fine-tuning pour adapter un modèle à tes données d'entraînement spécifiques.
- CreateFineTune : crée une tâche qui affine un modèle spécifié à partir d'un dataset donné. La réponse inclut les détails de la tâche mise en file, dont le statut et le nom des modèles fine-tunés une fois terminés.
- TrainingFile : l'ID d'un fichier téléversé contenant les données d'entraînement.
- ListFineTunes : liste les tâches de fine-tuning de ton organisation
- RetrieveFineTune : obtient les infos sur la tâche de fine-tune.
- FineTuneId : l'ID de la tâche de fine-tune
- CancelFineTune : annule immédiatement une tâche de fine-tune.
- FineTuneId: The ID of the fine-tune job
- ListFineTuneEvents : obtient des mises à jour de statut fines pour une tâche de fine-tune.
- FineTuneId: The ID of the fine-tune job
- DeleteFineTuneModel : supprime un modèle fine-tuné. Tu dois avoir le rôle Owner dans ton organisation.
- Model : le modèle à supprimer.
Moderations
À partir d'un texte d'entrée, indique si le modèle le classe comme violant la politique de contenu d'OpenAI.
- CreateModeration : classifie si un texte viole la politique de contenu d'OpenAI
- Input : le texte d'entrée à classifier
Exemples OpenAI
Tu trouveras ci-dessous quelques exemples d'applications conçues en Delphi avec l'API OpenAI
2. OpenAI Transcription Delphi Client
3. Translate OpenAI Delphi Client
4. Image Generator OpenAI Delphi Client
Tu trouveras ci-dessous un exemple de client API OpenAI conçu pour Windows avec la bibliothèque Delphi sgcWebSockets, qui illustre les principales méthodes de l'API.
