Pular para o conteúdo principal
A ferramenta orq:tool_search adia o carregamento de function tools no prompt até que o modelo as solicite. Marque as function tools com defer_loading: true, e o modelo receberá apenas a ferramenta de busca e as ferramentas não adiadas. Quando o modelo precisa de um recurso, ele pesquisa as ferramentas adiadas com uma expressão regular, e as ferramentas correspondentes passam a poder ser chamadas no turno seguinte. Adiar ferramentas reduz os tokens do prompt e mantém a lista de ferramentas estável para o prompt caching. Isso compensa a partir de aproximadamente dez ferramentas ou 10k tokens de definições de ferramentas. A busca é executada no AI Gateway; portanto, funciona com qualquer modelo compatível com tool calling.

Início rápido

Os exemplos usam a configuração de cliente da Visão geral das server tools.
Em Chat Completions, defina defer_loading ao lado de function no objeto da ferramenta.

Como funciona

  1. O modelo vê orq_tool_search e as ferramentas que não foram adiadas.
  2. Quando precisa de um recurso, ele chama orq_tool_search com uma expressão regular, por exemplo, calendar|event.
  3. O AI Gateway compara o padrão, sem diferenciar maiúsculas de minúsculas, com os nomes, as descrições e os nomes e descrições dos parâmetros das ferramentas adiadas. Um padrão weather encontra uma ferramenta cuja única menção a clima está na descrição de um parâmetro.
  4. As ferramentas correspondentes são adicionadas à lista de ferramentas do modelo. O modelo as chama como qualquer outra function tool, e a aplicação trata a chamada normalmente.
Revelar uma ferramenta não altera as ferramentas que já estão na conversa; assim, o prefixo de prompt em cache permanece intacto. Em uma continuação com previous_response_id ou conversation, as ferramentas reveladas em turnos anteriores são oferecidas desde o início.

Configuração

Defina defer_loading: true em qualquer ferramenta function para ocultá-la. Apenas function tools podem ser adiadas; o próprio orq:tool_search nunca é adiado, para que o modelo sempre tenha uma ferramenta para chamar.

Regras

  • Uma solicitação com uma ferramenta adiada precisa incluir orq:tool_search; caso contrário, falha com tool_search_required.
  • tool_choice precisa ser omitido, auto ou none. Forçar uma chamada de ferramenta entra em conflito com o tool search e falha com tool_choice_conflict.
  • Um padrão tem no máximo 200 caracteres. Um padrão malformado é retornado ao modelo como erro de ferramenta, e não como falha da solicitação.
  • Uma chamada a uma ferramenta adiada que nenhuma busca revelou é rejeitada como uma ferramenta que não foi oferecida.

Agentes

Os agentes também podem usar o tool search. Adicione orq:tool_search às ferramentas do agente e defina configuration.defer_loading nas ferramentas personalizadas que devem ser ocultadas:
Sem orq:tool_search no agente, defer_loading não tem efeito e todas as ferramentas permanecem visíveis.

Custo e uso

As buscas de ferramentas não têm cobrança adicional. O número de buscas aparece em usage.server_tool_use.tool_search_requests. Cada busca é um item de saída orq:tool_search cujo resultado lista as ferramentas reveladas.