AI Client
Recurso de cliente de inteligência artificial.
Permite integrar com fornecedores de IA compatíveis com a API OpenAI, suportando chat, streaming, embeddings e ferramentas MCP (Model Context Protocol).
const client = _ai.client('openai')
client.model('gpt-4o')
const messages = _val.list()
.add(_val.map().set('role', 'user').set('content', 'Olá!'))
const result = client.chat(messages)
_out.json(result)
chat
chat(modelo: string, mensagens: Values) : Values
Descrição
Executa uma conversa especificando explicitamente o modelo a utilizar, sobrepondo o modelo configurado por omissão.
Como Usar
const messages = _val.list()
.add(_val.map().set('role', 'user').set('content', 'Olá!'))
const resposta = client.chat('gpt-4o-mini', messages)
_out.json(resposta.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| modelo | string | Identificador do modelo a usar nesta chamada. |
| mensagens | Values | Lista de mensagens da conversa. |
Retorno
( Values )
Objeto com a resposta completa da API.
chat(modelo: string, mensagens: Values, opcoes: Values) : Values
Descrição
Executa uma conversa especificando explicitamente o modelo a utilizar, com opções adicionais, sobrepondo o modelo configurado por omissão.
Como Usar
const messages = _val.list()
.add(_val.map().set('role', 'user').set('content', 'Olá!'))
const options = _val.map().set('temperature', 0.7)
const resposta = client.chat('gpt-4o-mini', messages, options)
_out.json(resposta.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| modelo | string | Identificador do modelo a usar nesta chamada. |
| mensagens | Values | Lista de mensagens da conversa. |
| opcoes | Values | Opções adicionais: temperature (0.0–2.0), max_tokens, top_p. |
Retorno
( Values )
Objeto com a resposta completa da API.
chat(modelo: string, mensagens: Values, opcoes: Values, callbackFerramenta: org.netuno.tritao.ai.client.Client$ToolCallback) : Values
Descrição
Executa uma conversa especificando explicitamente o modelo a utilizar, com opções adicionais e suporte a ferramentas MCP via callback, sobrepondo o modelo configurado por omissão.
Como Usar
const messages = _val.list()
.add(_val.map().set('role', 'user').set('content', 'Olá!'))
const options = _val.map().set('temperature', 0.7)
const resposta = client.chat('gpt-4o-mini', messages, options, (toolName, args, mcpClient, tool) => {
_log.info('Ferramenta invocada: ' + toolName)
return null
})
_out.json(resposta.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| modelo | string | Identificador do modelo a usar nesta chamada. |
| mensagens | Values | Lista de mensagens da conversa. |
| opcoes | Values | Opções adicionais: temperature (0.0–2.0), max_tokens, top_p. |
| callbackFerramenta | org.netuno.tritao.ai.client.Client$ToolCallback | Callback invocado antes de cada execução de ferramenta. Retorne null para execução normal ou um Values para sobrepor o resultado. |
Retorno
( Values )
Objeto com a resposta completa da API.
chat(modelo: string, mensagens: Values, callbackFerramenta: org.netuno.tritao.ai.client.Client$ToolCallback) : Values
Descrição
Executa uma conversa especificando explicitamente o modelo a utilizar, com suporte a ferramentas MCP via callback, sobrepondo o modelo configurado por omissão.
Como Usar
const messages = _val.list()
.add(_val.map().set('role', 'user').set('content', 'Que horas são?'))
const resposta = client.chat('gpt-4o-mini', messages, (toolName, args, mcpClient, tool) => {
_log.info('Ferramenta invocada: ' + toolName)
return null
})
_out.json(resposta.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| modelo | string | Identificador do modelo a usar nesta chamada. |
| mensagens | Values | Lista de mensagens da conversa. |
| callbackFerramenta | org.netuno.tritao.ai.client.Client$ToolCallback | Callback invocado antes de cada execução de ferramenta. Retorne null para execução normal ou um Values para sobrepor o resultado. |
Retorno
( Values )
Objeto com a resposta completa da API.
chat(mensagens: Values) : Values
Descrição
Executa uma conversa com o modelo de IA configurado, enviando uma lista de mensagens e retornando a resposta completa.
Como Usar
const messages = _val.list()
.add(_val.map().set('role', 'system').set('content', 'És um assistente útil.'))
.add(_val.map().set('role', 'user').set('content', 'Qual é a capital de Portugal?'))
const resposta = client.chat(messages)
_out.json(resposta.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| mensagens | Values | Lista de mensagens da conversa. Cada mensagem deve ter os campos role (system, user, assistant) e content. |
Retorno
( Values )
Objeto com a resposta completa da API, incluindo choices, usage e demais metadados.
chat(mensagens: Values, opcoes: Values) : Values
Descrição
Executa uma conversa com o modelo de IA configurado, com opções adicionais como temperatura e max_tokens.
Como Usar
const messages = _val.list()
.add(_val.map().set('role', 'user').set('content', 'Olá!'))
const options = _val.map()
.set('temperature', 0.7)
.set('max_tokens', 200)
const resposta = client.chat(messages, options)
_out.json(resposta.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| mensagens | Values | Lista de mensagens da conversa. |
| opcoes | Values | Opções adicionais: temperature (0.0–2.0), max_tokens, top_p. |
Retorno
( Values )
Objeto com a resposta completa da API.
chat(mensagens: Values, opcoes: Values, callbackFerramenta: org.netuno.tritao.ai.client.Client$ToolCallback) : Values
Descrição
Executa uma conversa com o modelo de IA configurado, com opções adicionais e suporte a ferramentas MCP via callback.
Como Usar
const messages = _val.list()
.add(_val.map().set('role', 'user').set('content', 'Olá!'))
const options = _val.map().set('temperature', 0.7)
const resposta = client.chat(messages, options, (toolName, args, mcpClient, tool) => {
_log.info('Ferramenta invocada: ' + toolName)
return null
})
_out.json(resposta.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| mensagens | Values | Lista de mensagens da conversa. |
| opcoes | Values | Opções adicionais: temperature (0.0–2.0), max_tokens, top_p. |
| callbackFerramenta | org.netuno.tritao.ai.client.Client$ToolCallback | Callback invocado antes de cada execução de ferramenta. Retorne null para execução normal ou um Values para sobrepor o resultado. |
Retorno
( Values )
Objeto com a resposta completa da API.
chat(mensagens: Values, callbackFerramenta: org.netuno.tritao.ai.client.Client$ToolCallback) : Values
Descrição
Executa uma conversa com o modelo de IA configurado com suporte a ferramentas MCP via callback. O callback é invocado antes de cada chamada a uma ferramenta, permitindo interceptar ou sobrepor o resultado.
Como Usar
const messages = _val.list()
.add(_val.map().set('role', 'user').set('content', 'Que horas são?'))
const resposta = client.chat(messages, (toolName, args, mcpClient, tool) => {
_log.info('Ferramenta invocada: ' + toolName)
return null // null = deixa o cliente executar normalmente
})
_out.json(resposta.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| mensagens | Values | Lista de mensagens da conversa. |
| callbackFerramenta | org.netuno.tritao.ai.client.Client$ToolCallback | Callback invocado antes de cada execução de ferramenta. Retorne null para execução normal ou um Values para sobrepor o resultado. |
Retorno
( Values )
Objeto com a resposta completa da API.
embeddings
embeddings(input: string) : Values
Descrição
Gera um embedding vetorial para um texto de entrada utilizando o modelo configurado.
Como Usar
const resultado = client.embeddings('O céu é azul.')
_out.json(resultado.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| input | string | Texto de entrada para o qual será gerado o embedding. |
Retorno
( Values )
Objeto com a resposta da API, incluindo os vetores gerados e metadados de uso.
embeddings(modelo: string, input: string) : Values
Descrição
Gera um embedding vetorial para um texto de entrada especificando explicitamente o modelo a utilizar.
Como Usar
const resultado = client.embeddings('text-embedding-3-small', 'O céu é azul.')
_out.json(resultado.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| modelo | string | Identificador do modelo de embeddings a utilizar, por exemplo: text-embedding-3-small. |
| input | string | Texto de entrada para o qual será gerado o embedding. |
Retorno
( Values )
Objeto com a resposta da API, incluindo os vetores gerados e metadados de uso.
embeddings(modelo: string, input: string, opcoes: Values) : Values
Descrição
Gera um embedding vetorial para um texto de entrada especificando explicitamente o modelo e opções adicionais.
Como Usar
const opcoes = _val.map().set('dimensions', 512)
const resultado = client.embeddings('text-embedding-3-small', 'O céu é azul.', opcoes)
_out.json(resultado.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| modelo | string | Identificador do modelo de embeddings a utilizar, por exemplo: text-embedding-3-small. |
| input | string | Texto de entrada para o qual será gerado o embedding. |
| opcoes | Values | Opções adicionais: dimensions (número de dimensões do vetor), encoding_format (float ou base64), user (identificador do utilizador). |
Retorno
( Values )
Objeto com a resposta da API, incluindo os vetores gerados e metadados de uso.
embeddings(modelo: string, entradas: Values) : Values
Descrição
Gera embeddings vetoriais para múltiplos textos de entrada especificando explicitamente o modelo a utilizar. A lista deve conter apenas valores de texto.
Como Usar
const textos = _val.list()
.add('O céu é azul.')
.add('A relva é verde.')
const resultado = client.embeddings('text-embedding-3-small', textos)
_out.json(resultado.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| modelo | string | Identificador do modelo de embeddings a utilizar, por exemplo: text-embedding-3-small. |
| entradas | Values | Lista de textos de entrada. Cada elemento deve ser um texto simples. |
Retorno
( Values )
Objeto com a resposta da API, incluindo os vetores gerados para cada texto e metadados de uso.
embeddings(modelo: string, entradas: Values, opcoes: Values) : Values
Descrição
Gera embeddings vetoriais para múltiplos textos de entrada especificando explicitamente o modelo a utilizar e opções adicionais. A lista deve conter apenas valores de texto.
Como Usar
const textos = _val.list()
.add('O céu é azul.')
.add('A relva é verde.')
const opcoes = _val.map().set('dimensions', 512)
const resultado = client.embeddings('text-embedding-3-small', textos, opcoes)
_out.json(resultado.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| modelo | string | Identificador do modelo de embeddings a utilizar, por exemplo: text-embedding-3-small. |
| entradas | Values | Lista de textos de entrada. Cada elemento deve ser um texto simples. |
| opcoes | Values | Opções adicionais: dimensions (número de dimensões do vetor), encoding_format (float ou base64), user (identificador do utilizador). |
Retorno
( Values )
Objeto com a resposta da API, incluindo os vetores gerados para cada texto e metadados de uso.
embeddings(entradas: Values) : Values
Descrição
Gera embeddings vetoriais para múltiplos textos de entrada utilizando o modelo configurado. A lista deve conter apenas valores de texto.
Como Usar
const textos = _val.list()
.add('O céu é azul.')
.add('A relva é verde.')
const resultado = client.embeddings(textos)
_out.json(resultado.toJSON())
Atributos
| NOME | TIPO | DESCRIÇÃO |
|---|---|---|
| entradas | Values | Lista de textos de entrada. Cada elemento deve ser um texto simples. |
Retorno
( Values )
Objeto com a resposta da API, incluindo os vetores gerados para cada texto e metadados de uso.