Saltar al contenido principal
Versión: 21 BETA

OpenAITool

La clase OpenAITool representa una herramienta que puede ser llamada por el modelo OpenAI durante una conversación. Las herramientas permiten a la IA realizar funciones específicas e interactuar con sistemas externos o recuperar información.

Ver OpenAIMessage para ver cómo responder a una llamada de herramienta.

Nota: las llamadas a herramientas se gestionan automáticamente cuando se utiliza OpenAIChatHelper con autoHandleToolCalls activado.

Propiedades

Propiedades root

PropiedadTipoPor defectoDescripción
tipoText"function"El tipo de herramienta. Actualmente soporta los tipos "function", "custom", y otros tipos integrados.
strictBooleanFalseAplicar o no una validación estricta del esquema para los parámetros de función.

Propiedades comunes

PropiedadTipoDescripción
nameTextEl nombre de la herramienta, que funciona como identificador.
descripciónTextDescripción de la herramienta para ayudar al LLM a decidir cuándo utilizarla.

Propiedades específicas de las funciones

PropiedadTipoDescripción
parámetrosObjectDefinición de los parámetros de la función en formato del esquema JSON.

Constructor

new()

new(object : Object) : OpenAITool

ParámetrosTipoDescripción
objectObjectObjeto de configuración de la herramienta
ResultadoOpenAIToolNueva instancia de OpenAITool

Crea una nueva instancia de OpenAITool. El constructor acepta tanto el formato simplificado como el formato de la API OpenAI.

Formatos soportados

Formato simplificado:

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"] \
} \
})

Formato de la 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"] \
} \
} \
})

Integración con los generadores de respuestas del chat

Las herramientas se utilizan normalmente con la propiedad OpenAIChatCompletionsParameters.tools:

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

Nota: puede pasar objetos planos directamente, se convertirán automáticamente en instancias OpenAITool. No es necesario crear explícitamente objetos OpenAITool.

Ver también