UNPKG

n8n-nodes-aimlapi

Version:

Custom n8n node for integrating with the AI/ML API platform (AIMLAPI) to interact with LLMs and multimodal AI models such as chat completion endpoints.

286 lines 9.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.chatCompletionProperties = void 0; exports.chatCompletionProperties = [ { displayName: 'Use Message List', name: 'useStructuredMessages', type: 'boolean', displayOptions: { show: { operation: ['chatCompletion'], }, }, default: false, description: 'Whether to send a custom sequence of chat messages with explicit roles instead of a single prompt', }, { displayName: 'Prompt', name: 'prompt', type: 'string', typeOptions: { rows: 4, }, displayOptions: { show: { operation: ['chatCompletion'], useStructuredMessages: [false], }, }, default: '', required: true, description: 'Prompt to send to the AI model', }, { displayName: 'Messages', name: 'messagesUi', type: 'fixedCollection', placeholder: 'Add Message', typeOptions: { multipleValues: true, }, displayOptions: { show: { operation: ['chatCompletion'], useStructuredMessages: [true], }, }, default: {}, description: 'Define the list of chat messages (role and content) to send to the model', options: [ { displayName: 'Message', name: 'message', values: [ { displayName: 'Role', name: 'role', type: 'options', default: 'system', options: [ { name: 'System', value: 'system', }, { name: 'User', value: 'user', }, { name: 'Assistant', value: 'assistant', }, { name: 'Custom…', value: 'custom', }, ], description: 'Select the role for this message; choose Custom to provide a different role name such as "tool" when required by your model', }, { displayName: 'Custom Role', name: 'customRole', type: 'string', default: '', placeholder: 'tool', description: 'Enter the role name when Custom is selected (for example "tool" or any model-specific role)', displayOptions: { show: { role: ['custom'], }, }, }, { displayName: 'Tool Call ID', name: 'tool_call_id', type: 'string', default: '', placeholder: 'Required for tool responses', description: 'When the role is Tool, provide the tool call identifier returned by the assistant', displayOptions: { show: { role: ['custom', 'tool'], }, }, }, { displayName: 'Content', name: 'content', type: 'string', typeOptions: { rows: 4, }, default: '', description: 'Text content of the message', }, ], }, ], }, { displayName: 'Extract From Response', name: 'extract', type: 'options', displayOptions: { show: { operation: ['chatCompletion'], }, }, default: 'text', description: 'Choose what part of the response to return', options: [ { name: 'Text Only (First Message)', value: 'text', }, { name: 'Assistant Messages', value: 'messages', }, { name: 'Choices Array', value: 'choices', }, { name: 'Full Raw JSON', value: 'raw', }, ], }, { displayName: 'Options', name: 'options', type: 'collection', placeholder: 'Add Option', displayOptions: { show: { operation: ['chatCompletion'], }, }, default: {}, description: 'Additional parameters for the request', options: [ { displayName: 'Audio Format', name: 'audioFormat', type: 'options', options: [ { name: 'MP3', value: 'mp3', }, { name: 'OGG (Opus)', value: 'ogg', }, { name: 'PCM 16-Bit', value: 'pcm16', }, { name: 'WAV', value: 'wav', }, ], default: 'wav', description: 'Format to request when audio output is enabled', displayOptions: { show: { audioOutput: [true], }, }, }, { displayName: 'Audio Voice', name: 'audioVoice', type: 'string', default: 'alloy', description: 'Voice to synthesize when requesting audio output', displayOptions: { show: { audioOutput: [true], }, }, }, { displayName: 'Enable Audio Output', name: 'audioOutput', type: 'boolean', default: false, description: 'Whether to request an audio response in addition to text (required for GPT-4o audio preview models)', }, { displayName: 'Frequency Penalty', name: 'frequencyPenalty', type: 'number', default: null, typeOptions: { minValue: -2, maxValue: 2, numberPrecision: 2, }, description: 'Penalty for repeated tokens (range -2 to 2)', }, { displayName: 'Max Tokens', name: 'maxTokens', type: 'number', default: null, description: 'Maximum number of tokens to generate', }, { displayName: 'Presence Penalty', name: 'presencePenalty', type: 'number', default: null, typeOptions: { minValue: -2, maxValue: 2, numberPrecision: 2, }, description: 'Penalty for new topics (range -2 to 2)', }, { displayName: 'Response Format', name: 'responseFormat', type: 'options', options: [ { name: 'Default (Full JSON)', value: 'default', }, { name: 'Text Only', value: 'text', }, ], default: 'default', }, { displayName: 'Temperature', name: 'temperature', type: 'number', default: 1, typeOptions: { minValue: 0, maxValue: 2, numberPrecision: 2, }, description: 'Sampling temperature (0-2)', }, { displayName: 'Top P', name: 'topP', type: 'number', default: 1, typeOptions: { minValue: 0, maxValue: 1, numberPrecision: 2, }, description: 'Nucleus sampling (alternative to temperature)', }, ], }, ]; //# sourceMappingURL=chatCompletion.description.js.map