OpenAIMessage
The OpenAIMessage class represents a structured message containing a role, content, and an optional user. This class provides methods to manipulate and retrieve the text and other content of the message.
Propiedades
| Propiedad | Tipo | Descripción | 
|---|---|---|
| rol | Text | The role of the message (e.g., "user", "assistant", "system", "tool"). | 
| contenido | Variant | The content of the message, which can be a text or a collection of objects. | 
| user | Text | An optional property representing the user associated with the message. | 
| tool_calls | Collection | A collection of tool calls requested by the assistant. Cada llamada a una herramienta contiene un objeto id,typeyfunction. | 
| tool_call_id | Text | El ID de la llamada a la herramienta a la que responde este mensaje (se utiliza cuando rolees "tool"). | 
Propiedades calculadas
| Propiedad | Tipo | Descripción | 
|---|---|---|
| text | Text | Una propiedad que representa el mensaje de texto. | 
Funciones
addImageURL()
addImageURL(imageURL : Text; detail : Text)
| Parámetros | Tipo | Descripción | 
|---|---|---|
| imageURL | Text | La URL de la imagen a añadir al mensaje. | 
| detail | Text | Detalles adicionales sobre la imagen. | 
Añade una URL de imagen al contenido del mensaje.
Ejemplo de Uso
Create a simple message and attach an image
// Create an instance of OpenAIMessage
var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"})
// Add an image URL with details
$message.addImageURL("http://example.com/image.jpg"; "high")
Responder a un mensaje de llamada de herramienta
When an assistant needs to use external functions, it generates a message with tool_calls to request function execution.
Assistant message requesting tool calls:
{
  "role": "assistant",
  "tool_calls": [
    {
      "id": "call_12345",
      "type": "function",
      "function": {
        "name": "get_database_tables",
        "arguments": "{}"
      }
    }
  ]
}
Handling the tool call:
When you receive a tool call message, you need to:
- 
Extract the function information: - function.name: The name of the function to call (must match a function defined in your OpenAITool - you can select code to execute according to this name)
- function.arguments: A JSON string containing the function parameters that must be parsed with- JSON Parse
- id: el identificador único para esta llamada específica a la herramienta
 
- 
Execute the function: Parse the arguments (which is a JSON string) and call the corresponding function that you defined in your OpenAITool configuration. 
- 
Respond with the tool result: Create a response message using the exact tool_call_idfrom the original request.
Example tool response:
// Parse the function arguments (if any)
var $arguments : Object := JSON Parse($toolCall.function.arguments)
// Execute your code corresponding to "get_database_tables" 
var $tableNames: Text := OB Keys(ds).join(", ")
// Create the tool response message with the required tool_call_id
var $toolResponse:=cs.AIKit.OpenAIMessage.new({ \
  role: "tool"; \
  tool_call_id: "call_12345"; \
  content: $tableNames \
})
// Add it to the conversation and continue
Important: The tool_call_id in your response must exactly match the id from the original tool call. This allows the AI model to correctly associate your response with the specific function call that was made.
Ver también
- OpenAITool - For tool definition