Aller au contenu principal
Version : 20 R10

4D-AIKit

Vue d’ensemble

4D AIKit est un composant 4D intégré qui permet une interaction avec des API d'IA tierces.

OpenAI

La classe OpenAI vous permet d'envoyer des requêtes à l'API OpenAI.

Configuration

Tout d'abord, initialisez le client OpenAI en utilisant votre clé API

var $client:=cs.AIKit.OpenAI.new("your api key")

Pour l'API d'un founisseur compatible, vous devez configurer l'URL du serveur en définissant le paramètre baseURL.

var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"; baseURL: "https://your.server.ai"})

ou

$client.baseURL:="https://your.server.ai"

Formuler des requêtes

OpenAI fournit différents points de terminaison appelés ressources, chacun offrant diverses fonctions.

var $result:=$client.<resource>.<function>(<parameters...>)

Le résultat $result contient la requête HTTPRequest, un statut success, une collection de errors et plus encore. Voir OpenAIResult

Voir quelques exemples ci-dessous.

Chat

https://platform.openai.com/docs/api-reference/chat

Completions

https://platform.openai.com/docs/api-reference/chat/create

var $messages:=[{role: "system"; content: "You are a helpful assistant."}]
$messages.push({role: "user"; content: "Could you explain me why 42 is a special number"})
var $result:=$client.chat.completions.create($messages; {model: "gpt-4o-mini"})
// résultat dans $result.choice
Helper de discussion (chat)

Cet assistant vous permet de maintenir une liste de messages d'utilisateurs et de réponses de l'assistant.

var $helper:=$client.chat.create("You are a helpful assistant.")
var $result:=$helper.prompt("Could you explain me why 42 is a special number")
$result:=$helper.prompt("and could you decompose this number")
// conversation dans $helper.messages
Helper de vision

Cet assistant permet l'analyse des images à travers la discussion.

var $result:=$client.chat.vision.create($imageUrl).prompt("give me a description of the image")

Images

https://platform.openai.com/docs/api-reference/images

var $images:=$client.images.generate("A futuristic city skyline at sunset"; {size: "1024x1024"}).images

Modèles

https://platform.openai.com/docs/api-reference/models

Obtenir la liste complète des modèles

var $models:=$client.models.list().models // vous pouvez alors extraire le `id`

Obtenir une information de modèle par id

var $model:=$client.models.retrieve("a model id").model

Modérations

https://platform.openai.com/docs/api-reference/moderations

var $moderation:=$client.moderations.create("This text contains inappropriate language and offensive behavior.").moderation

Code asynchrone

Si vous ne souhaitez pas attendre la réponse de l'OpenAPI lorsque vous envoyez une requête à son API, vous devez utiliser un code asynchrone. L'objet résultat sera reçu dans une fonction de callback.

Voir documentation détaillée pour les exemples

Droits d'auteur

  • Cette bibliothèque n'est pas affiliée à OpenAI, ni approuvée par elle, ni officiellement liée à elle de quelque manière que ce soit.
  • "OpenAI" et toutes les marques associées sont des marques commerciales ou des marques déposées d'OpenAI, LLC. Tous les droits liés aux services, API et technologies de l'OpenAI restent la propriété de OpenAI.
  • Ce projet fournit simplement une interface aux services d'OpenAI et ne revendique aucune propriété sur leur technologie, leur marque ou leur propriété intellectuelle.