Solicitação ao OpenRouter#

Este bloco permite enviar solicitações para os modelos generativos do OpenRouter. Com ele, você pode criar novos textos sob demanda, realizar diversas tarefas:

  • classificação,
  • sumarização,
  • tradução e reescrita de textos,
  • escrita de protótipos de código em diferentes linguagens de programação,
  • analisar dados semiestruturados e não estruturados,
  • extrair e processar fatos,
  • manter diálogos sobre diversos temas, e muito mais.

O pagamento pelo uso dessa funcionalidade é debitado da conta do cliente na plataforma. Para fins de teste, cada novo Usuário tem a oportunidade de testar essa funcionalidade sem custo. Após a conclusão do desenvolvimento do Robô, o uso dessa funcionalidade requer pagamento.

Histórico de chat

[Tabela de Dados] Adicione o histórico de chat, com base no contexto do qual a rede neural deve gerar uma resposta. A tabela de dados especificada deve conter colunas com os nomes "role" e "content".

Na ausência dessas colunas, a primeira coluna da tabela será usada como "role" e a segunda coluna como "content". Na coluna "role", você pode especificar apenas um dos seguintes valores:

  • system,
  • assistant,
  • user.

A função system é destinada a configurar o tom e as configurações básicas da rede neural. Por exemplo, com a função "system", você pode escrever "Você é um assistente útil na seleção de carros usados. Você sabe tudo sobre como escolher o melhor negócio para um carro usado".

Com a função "assistant", é recomendável incluir mensagens anteriores geradas pela própria rede neural.

Com a função "user", é recomendável incluir falas escritas pelo usuário interlocutor.

Mensagens mais antigas devem ser colocadas no início da tabela, as mais novas no final. A coluna "content" deve conter a própria mensagem.

Esta propriedade pode ser deixada em branco, então a geração será realizada apenas com base no conteúdo das propriedades "Role" e "Request".

Se a propriedade "Tools" for utilizada, a tabela deve ter 4 colunas:

  • "role",
  • "content",
  • "tool_call_id",
  • "name".
Solicitação System[Texto] Insira o texto de uma nova solicitação para a rede neural. A solicitação será executada com a função system.
Solicitação User[Texto] Insira o texto de uma nova solicitação para a rede neural. A solicitação será executada com a função user.
ModeloSelecione o modelo para gerar a resposta.
Palavras de parada[Texto/Lista] String ou lista contendo no máximo 4 strings que interromperão a geração subsequente. O texto retornado não conterá essas palavras.
Temperatura

[Número] Número decimal entre 0 e 1, que indica o grau de "aleatoriedade" ou "criatividade" do resultado, onde:

  • 0 - resultado menos criativo,
  • 1 - resultado mais aleatório.

Para a maioria das tarefas criativas, o valor 0.7 é mais adequado, e se você deseja receber a mesma resposta para a mesma solicitação a cada vez - defina o valor como 0.

Comprimento máximo

[Número] Comprimento máximo do resultado, expresso em tokens condicionais.

Para o inglês, 1 token é 4 caracteres, para a maioria das outras línguas, 1 token é 1 caractere. Reduza esse número se desejar receber, em média, solicitações mais curtas, aumente para obter solicitações mais longas.

Observe que esse número limita o comprimento da resposta, no entanto, a resposta obtida não necessariamente terá o comprimento que você especificou - dependendo do conteúdo da solicitação, ela pode ser mais curta.

Autoajuste de comprimentoQuando ativado, o comprimento máximo especificado será ajustado automaticamente. Para isso, é calculado o número de tokens na solicitação e considerado o número máximo possível de tokens para o modelo selecionado.
Ferramentas

[Tabela de Dados] Tabela com a descrição das ferramentas que a rede neural pode escolher para resolver a tarefa em vez de uma resposta textual.

Essa funcionalidade não é suportada por todos os modelos. A tabela de dados deve conter três colunas:

  • "name" - nome da ferramenta (letras latinas e números, no máximo 64 caracteres),
  • "description" - descrição da ferramenta (pode estar em idiomas diferentes do inglês),
  • "parameters" - argumentos passados para a ferramenta ao chamá-la no formato JSON.

Exemplo de descrição de parâmetros em JSON: "{\"type\": \"object\", \"properties\": { \"query\": { \"type\": \"string\", \"description\": \"Request for a Google search result\" } }, \"required\": [\"query\"] }".

Ao chamar a ferramenta, a rede neural escolherá a ferramenta apropriada entre as disponíveis, com base na descrição que você forneceu, e também preencherá (gerará) os valores dos parâmetros que você especificou para chamar essas ferramentas.

Mais detalhes sobre o mecanismo de uso de ferramentas podem ser encontrados na descrição da propriedade de saída CalledTools.

Usar ferramenta[Texto] Se necessário, você pode forçar a especificação do nome da ferramenta que a rede neural deve usar na solicitação atual. O nome deve corresponder ao nome de uma das ferramentas na coluna "name" na tabela "Ferramentas".
Timeout[Número] Tempo máximo de espera pela resposta em segundos. O tempo real de espera depende do modelo selecionado, do comprimento da sua solicitação e do comprimento previsto da resposta, bem como da carga atual dos servidores. Se o limite de espera estabelecido for excedido, ocorrerá um erro.
Esquema de resposta[Texto] Esquema de resposta no formato JSON. Por exemplo:
{
"name": "weather",
"strict": true,
"schema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Nome da cidade ou localização"
},
"temperature": {
"type": "number",
"description": "Temperatura em Celsius"
},
"conditions": {
"type": "string",
"description": "Descrição das condições climáticas"
}
},
"required": ["location", "temperature", "conditions"],
"additionalProperties": false
}
}
Número de tentativas[Número] Número de tentativas em caso de erro de conexão com o servidor.
Papel da resposta[Texto] Papel com o qual a rede neural respondeu.
Resposta[Texto] Texto da resposta da rede neural.
Comprimento total[Número] Comprimento total da solicitação e do resultado (juntos), expresso em tokens condicionais.
Ferramentas chamadas

[Lista] Lista de objetos ToolItem.

Se a rede neural, após a solicitação, sugerir usar uma ou mais ferramentas especificadas na propriedade "Ferramentas", então esta propriedade retornará uma lista de objetos ToolItem.

O objeto contém as seguintes propriedades:

  • id,
  • name,
  • arguments.

Os valores de id e name devem ser usados na tabela "Histórico de chat".

A propriedade arguments é um dicionário, onde a chave é o nome do parâmetro da ferramenta chamada, e o valor é o valor desse parâmetro gerado pela rede neural.

Ao usar o mecanismo de ferramentas, após a chamada deste bloco, você deve verificar se a rede neural escolheu alguma ferramenta, com base no conteúdo desta lista.

Se a lista não estiver vazia, você deve implementar a funcionalidade da ferramenta ou ferramentas escolhidas no cenário do Robô. Em seguida, na próxima chamada deste bloco, retornar à rede neural o resultado da execução da ferramenta, que a rede neural usará na geração de mensagens subsequentes.

Os resultados da execução das ferramentas devem ser registrados na tabela "Histórico de chat" da seguinte forma:

  • na coluna "role" é registrado o valor constante "tool",
  • na coluna "content" - o valor do resultado da execução da ferramenta (que você implementou em seu cenário e agora comunica esse resultado à rede neural),
  • na coluna "tool_call_id" - o valor atual de ToolItem.id,
  • na coluna "name" - o valor atual de ToolItem.name.
Nível de tratamento

Seleção do nível de tratamento de erros. Valores possíveis:

  • "Default" - padrão;
  • "Ignore" - erros são ignorados;
  • "Handle" - erros são tratados.

Se o valor "Default" for escolhido, será utilizado o valor do bloco "Início" deste diagrama.

Nível de mensagens

Seleção do nível de mensagens que os blocos exibirão durante a operação. Valores possíveis:

  • "Default" - padrão;
  • "Release" - saída desativada;
  • "Debug" - saída de informações principais;
  • "Detailed" - saída de informações detalhadas.

Se o valor "Default" for escolhido, será utilizado o valor do bloco "Início" deste diagrama.

Texto do erro[Texto] Retorna informações detalhadas sobre o erro em caso de execução incorreta do bloco.