Pular para o conteúdo principal
Consulte URLs e autenticação HTTP e a referência da API para os formatos completos de solicitação e resposta. Casos de uso
  • Manter um loop de agente longo dentro da janela de contexto, resumindo os turnos que já não alteram o resultado.
  • Reduzir os tokens de entrada de cada turno seguinte, que de outra forma reenviariam o histórico completo.
  • Compactar sob demanda, em vez de esperar que um limite seja ultrapassado.

Visão geral

A compactação de contexto resume os itens mais antigos de uma conversa por meio de um modelo e os substitui por um único item de compactação, mantendo os itens mais recentes literalmente. Trata-se de uma reescrita do histórico, não de compressão ou truncamento do prompt. O resumo é escrito para preservar o que um agente que dá continuidade à conversa precisa:
  • Decisões tomadas e sua justificativa.
  • Arquivos lidos ou modificados e seu estado atual.
  • Resultados de ferramentas que ainda são relevantes.
  • Tarefas em aberto e questões não resolvidas.
A sumarização tem perdas. Um turno omitido pelo resumo não pode ser recuperado a partir do item de compactação, portanto mantenha a transcrição original sempre que o detalhe for importante. A compactação se aplica à Responses API, que mantém o estado da conversa no servidor. Recorra a ela quando o histórico de uma conversa ultrapassar a janela de contexto do modelo ou quando os tokens de entrada dominarem a fatura.

Início rápido

POST /v3/router/responses/compact resume uma conversa e retorna a próxima janela de contexto a partir da qual continuar. A mesma operação está disponível na base compatível com OpenAI como POST /v1/responses/compact.
Versões dos SDKs geradas antes desta mudança de esquema tipam o content de uma mensagem como string; o corpo REST aceita uma string ou um array de partes de conteúdo.

Campos da requisição

O endpoint não tem limite, e uma conversa curta é compactada por inteiro. Uma conversa mais longa mantém os cerca de 20.000 tokens mais recentes literalmente, fora do resumo. O output da resposta contém o item de compactação seguido desses itens recentes; por isso, continue a partir do output inteiro. Somente uma conversa que cabe na reserva volta apenas como o item de compactação.

Compactação automática

Defina context_management em uma requisição Responses de continuação e o gateway compactará à medida que a conversa crescer:
  • Ele carrega o histórico armazenado a partir de previous_response_id.
  • Tudo o que for mais antigo que a reserva é resumido em um único item.
  • O item é inserido no início do output da resposta.
A passagem lê o histórico que o gateway carregou, portanto a resposta que está sendo continuada precisa estar armazenada. store tem true como padrão; um primeiro turno enviado com store: false não tem histórico para compactar. Consulte Statefulness.

Campos da entrada

context_management recebe uma lista de entradas. Uma entrada compaction contém: A passagem é executada apenas sobre o histórico que o gateway carregou, seja a partir de previous_response_id ou de uma conversa. Os itens enviados no corpo da requisição atual não fazem parte dele, portanto uma única requisição grande demais não é reduzida.

Limite e reserva

A passagem é executada somente quando o histórico carregado excede compact_threshold. Tudo o que for mais antigo que a janela de reserva é enviado ao sumarizador; a própria reserva permanece literal.

Continuar a partir de um item de compactação

Envie o output de uma chamada de compactação de volta no input de uma requisição Responses posterior para continuar a partir do resumo e dos itens recentes que ele mantém. O gateway lê um item pelo seu formato, não pela sua origem:
  • Um item compaction sem content, com created_by e com encrypted_content é expandido em uma mensagem de developer, de modo que o modelo lê seu texto como contexto.
  • Qualquer outro item mantém seu próprio envelope e é repassado sem alterações.

Compactação nativa do provedor

Um modelo da OpenAI pode compactar por meio do provedor em vez do gateway. Toda entrada compaction é encaminhada à OpenAI junto com a requisição, independentemente do valor de provider_native; portanto, defina a flag como true para desativar a passagem própria do gateway: o provedor então aplica sozinho sua compactação e retorna o item em seu próprio formato.
A configuração se aplica a modelos da OpenAI. Em todos os outros modelos, o gateway realiza a passagem.

Cache de prompt

A compactação é uma chamada de modelo por si só e carrega o prompt_cache_key da requisição quando ele está definido, de modo que a requisição de sumarização participa do cache de prompt como qualquer outra chamada. Consulte Cache de prompt.

Limitações