Aller au contenu principal
Version : 21 BETA

OpenAITool

La classe OpenAITool représente un outil qui peut être appelé par le modèle OpenAI au cours d'une conversation. Les outils permettent à l'IA d'exécuter des fonctions spécifiques et d'interagir avec des systèmes externes ou d'extraire des informations.

Voir OpenAIMessage pour savoir comment répondre à un appel d'outil.

Note : Les appels d'outils sont gérés automatiquement lorsque vous utilisez OpenAIChatHelper avec l'option autoHandleToolCalls activée.

Propriétés

Propriétés root

PropriétéTypePar défautDescription
typeText"function"Le type d'outil. Prend en charge actuellement les types "function", "custom", et d'autres types intégrés.
strictBooleanFalseAppliquer ou non une validation stricte du schéma pour les paramètres de la fonction.

Propriétés communes

PropriétéTypeDescription
nameTextLe nom de l'outil, qui sert d'identifiant.
descriptionTextDescription de l'outil pour aider le LLM à décider quand l'utiliser.

Propriétés spécifiques des fonctions

PropriétéTypeDescription
parametersObjectDéfinition des paramètres de la fonction au format du schéma JSON.

Constructeur

new()

new(object : Object) : OpenAITool

ParamètresTypeDescription
objectObjectObjet de configuration de l'outil
RésultatOpenAIToolNouvelle instance d'OpenAITool

Crée une nouvelle instance d'OpenAITool. Le constructeur accepte à la fois le format simplifié et le format de l'API OpenAI.

Formats pris en charge

Format simplifié :

var $tool := cs.OpenAITool.new({ \
name: "get_weather"; \
description: "Get current weather for a location"; \
parameters: { \
type: "object"; \
properties: { \
location: {type: "string"; description: "City name"} \
}; \
required: ["location"] \
} \
})

Format de l'API OpenAI :

var $tool := cs.OpenAITool.new({ \
type: "function"; \
strict: True; \
function: { \
name: "get_weather"; \
description: "Get current weather for a location"; \
parameters: { \
type: "object"; \
properties: { \
location: {type: "string"; description: "City name"} \
}; \
required: ["location"] \
} \
} \
})

Intégration avec les générateurs de réponses conversationnelles

Les outils sont généralement utilisés avec la propriété OpenAIChatCompletionsParameters.tools :

var $parameters := cs.AIKit.OpenAIChatCompletionsParameters.new({ \
model: "gpt-4o-mini"; \
tools: [$tool1; $tool2; $tool3] \
})

Note : Vous pouvez passer des objets simples directement - ils seront automatiquement convertis en instances OpenAITool. Il n'est pas nécessaire de créer explicitement des objets OpenAITool.

Voir aussi