Solicitação ao GroqChat#

Este bloco permite enviar solicitações aos modelos generativos do GroqChat. 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 semi-estruturados 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 indicar 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 "You are helpful assistant on used cars selection. You know everything on how to choose the best deal for used car",
  • com a função "assistant", é recomendado incluir mensagens anteriores geradas pela própria rede neural,
  • com a função "user", é recomendado 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.

Essa 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 à rede neural. A solicitação será executada com a função system.
Solicitação User[Texto] Insira o texto de uma nova solicitação à 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 quiser receber, em média, solicitações mais curtas, aumente para obter solicitações mais longas. Lembre-se de que esse número limita o comprimento da resposta, no entanto, a resposta obtida pode não ter o comprimento especificado por você - dependendo do conteúdo da solicitação, ela pode ser mais curta.

Auto-limitação de comprimentoQuando ativado, o comprimento máximo especificado será automaticamente ajustado. 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 JSON dos parâmetros: "{\"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 das ferramentas 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 das ferramentas podem ser encontrados na descrição da propriedade de saída CalledTools.

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 for excedido, ocorre 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 local"
},
"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.
Reflexões[Texto] Reflexões da rede neural (se houver no resposta).
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, em vez de uma resposta textual, 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 gerado pela rede neural para esse parâmetro.

Ao usar o mecanismo de ferramentas, após a chamada deste bloco, você deve verificar se a rede neural selecionou 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 selecionadas no script do Robô e, 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.

O resultado da execução das ferramentas deve ser registrado 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 script e agora comunica esse resultado à rede neural),
  • na coluna "tool_call_id" - o valor do ToolItem.id atual,
  • na coluna "name" - o valor do ToolItem.name atual.
Nível de processamento

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 selecionado, 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 selecionado, 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.