As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Per-request marcação de metadados
Os metadados de solicitação permitem que você anexe tags de valor-chave a chamadas de inferência individuais do Amazon Bedrock no endpoint. bedrock-runtime As tags são registradas com a solicitação nos registros de invocação do modelo, para que você possa atribuir o uso a uma equipe, aplicativo, ambiente, experimento ou qualquer outra dimensão que varie por chamada. Não há nenhum recurso para criar ou configurar com antecedência — cada chamada pode conter um conjunto diferente de tags.
Os metadados de solicitação são compatíveis com as seguintes bedrock-runtimeAPIs:
nota
Os metadados de solicitação não são compatíveis com o bedrock-mantleendpoint. Para a atribuição que flui diretamente para o AWS Cost Explorer e os Relatórios de AWS Custos e Uso como tags de alocação de custos, consultePerfis de inferência de aplicações, Projetos ou. Espaços de trabalho
Como funcionam os metadados da solicitação
Você anexa metadados a uma solicitação de forma diferente, dependendo da API que você chama:
-
InvokeModel e InvokeModelWithResponseStream — Defina o cabeçalho
X-Amzn-Bedrock-Request-MetadataHTTP na solicitação. O valor é um objeto JSON cujas chaves e valores são cadeias de caracteres que você escolhe. -
Converse e ConverseStream — Defina o
requestMetadatacampo no corpo da solicitação. Para obter mais informações, consulte requestMetadata.
Os metadados da solicitação são registrados nos registros de invocação do modelo somente quando o registro está ativado no local em Região da AWS que a chamada é feita. Para obter instruções de configuração, consulteMonitore a invocação do modelo usando CloudWatch Logs e Amazon S3.
O exemplo a seguir mostra uma InvokeModel solicitação que marca a chamada com um nome de equipe, um ambiente e um identificador de caso de teste:
POST /model/anthropic.claude-3-haiku-20240307-v1:0/invoke HTTP/1.1 Content-Type: application/json X-Amzn-Bedrock-Request-Metadata: {"team": "orchestrator", "environment": "preview-test", "test_case": "invoke_model_sync"} { "anthropic_version": "bedrock-2023-05-31", "max_tokens": 50, "messages": [{"role": "user", "content": "Say hello in one word."}] }
O mesmo cabeçalho é suportado em InvokeModelWithResponseStream:
POST /model/anthropic.claude-3-haiku-20240307-v1:0/invoke-with-response-stream HTTP/1.1 Content-Type: application/json X-Amzn-Bedrock-Request-Metadata: {"team": "orchestrator", "environment": "preview-test", "test_case": "invoke_model_stream"} { "anthropic_version": "bedrock-2023-05-31", "max_tokens": 50, "messages": [{"role": "user", "content": "Say hello in one word."}] }
Importante
Ao assinar solicitações com o AWS Signature Version 4 (SigV4), inclua X-Amzn-Bedrock-Request-Metadata SignedHeaders na lista. Solicitações que omitem o cabeçalho da lista assinada são rejeitadas com umInvalidSignatureException. AWS Os SDKs que expõem os metadados da solicitação como um parâmetro lidam com isso automaticamente.
Limites
Os metadados da solicitação têm os seguintes limites, que se aplicam tanto ao X-Amzn-Bedrock-Request-Metadata cabeçalho (InvokeModel, InvokeModelWithResponseStream) quanto ao campo do requestMetadata corpo (Converse, ConverseStream):
Máximo de 16 entradas de metadados por solicitação.
Teclas: máximo de 256 caracteres.
Valores: máximo de 256 caracteres.
Caracteres permitidos: um conjunto restrito de caracteres alfanuméricos e de pontuação.
Solicitações que excedem esses limites são rejeitadas com um erro de validação.
Onde os metadados da solicitação aparecem
Os metadados da solicitação aparecem nos registros de invocação do modelo Amazon Bedrock no campo de nível superior. requestMetadata A seguinte entrada de registro abreviada mostra o campo de uma chamada: InvokeModel
{ "schemaType": "ModelInvocationLog", "schemaVersion": "1.0", "timestamp": "2024-01-15T12:00:00Z", "accountId": "123456789012", "region": "us-east-1", "requestId": "abcd1234-5678-efgh-ijkl-mnopqrstuvwx", "operation": "InvokeModel", "modelId": "anthropic.claude-3-haiku-20240307-v1:0", "requestMetadata": { "team": "orchestrator", "environment": "preview-test", "test_case": "invoke_model_sync" }, "input": { "...": "..." }, "output": { "...": "..." } }
Você pode filtrar e agregar registros por campos de metadados no Amazon CloudWatch Logs Insights, nas ferramentas de consulta do Amazon S3, como o Amazon Athena, ou em qualquer outro sistema que leia registros de invocação.
Considerações
-
Os valores dos metadados da solicitação são registrados somente quando o registro de invocação do modelo está ativado na chamada. Região da AWS Se o registro não estiver configurado, a solicitação ainda será bem-sucedida, mas os metadados não serão retidos.
-
Os metadados da solicitação não são entregues como uma etiqueta de alocação de AWS custos e não aparecem no AWS Cost Explorer ou no CUR. Para analisar os custos por dimensão de metadados, junte seus registros de invocação ao seu Relatório de Custo e Uso ou agregue contagens de tokens diretamente dos registros de registro e multiplique pelas taxas por token nos preços do Amazon Bedrock.
requestIdPara atribuição que flui nativamente para o Cost Explorer e o CUR, usePerfis de inferência de aplicações, ou. Projetos Espaços de trabalho -
Escolha chaves estáveis e de baixa cardinalidade
team, como,environmentfeature, ouexperimentpara análises fáceis de agregar. Use valores de cardinalidade mais altos, como identificadores de sessão ou rastreamento, somente quando precisar rastrear chamadas individuais. -
Evite colocar informações de identificação pessoal (PII), credenciais ou outros dados confidenciais nos metadados da solicitação. Os valores são armazenados nos registros de invocação do modelo e em qualquer sistema que leia esses registros.
-
Os metadados de solicitação funcionam junto com os outros métodos de rastreamento de uso do Amazon Bedrock. Você pode usar Atribuição principal do IAM para atribuição por identidade e Perfis de inferência de aplicações para tags de alocação de custos em nível de recurso na mesma carga de trabalho.