Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[bot] AWS Bedrock Runtime: `start_async_invoke()` not instrumented

Abierto
#524 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
74/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
aws, python

Línea de trabajo

Comienza con py/src/braintrust/integrations/bedrock_runtime/patchers.py y tracing.py, y después compara sus wrappers de métodos existentes con la implementación de lotes de Anthropic en py/src/braintrust/integrations/anthropic/tracing.py. La tarea está terminada cuando start_async_invoke queda registrado mediante el wrapper existente del cliente de Bedrock con un span TASK que contenga la información especificada de entrada, salida, metadatos y latencia, preservando al mismo tiempo la compatibilidad con ambos pins de la matriz de boto3.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bot-automation integration: bedrock_runtime

Summary

The AWS Bedrock Runtime start_async_invoke() API is not instrumented. Calls to client.start_async_invoke(...) produce zero Braintrust tracing. This method submits an asynchronous model invocation job — output is written to an S3 bucket — and is the Bedrock analog to batch inference APIs that are already instrumented for Anthropic (messages.batches.create()) and tracked as gaps for OpenAI (#295), Mistral (#272), and Google GenAI (#332).

The Bedrock Runtime integration was completed in #279 (closed 2026-06-16) and instruments the four synchronous execution surfaces. start_async_invoke was not included.

What is missing

Bedrock Runtime method Description Instrumented?
client.converse(...) Synchronous unified chat Yes
client.converse_stream(...) Streaming unified chat Yes
client.invoke_model(...) Synchronous raw model invocation Yes
client.invoke_model_with_response_stream(...) Streaming raw invocation Yes
client.start_async_invoke(...) Asynchronous model invocation job No
API details
  • Endpoint: POST /async-invoke
  • Purpose: Submit a long-running async model invocation. The caller supplies modelId, modelInput (provider-specific JSON), and outputDataConfig (S3 output location). The API returns an invocationArn immediately; output is written to S3 when complete.
  • Poll for results: Status checked via client.get_async_invoke(invocationArn=...) or client.list_async_invokes().
  • Use case: Large-scale batch generation workloads where latency is not time-sensitive (similar to Anthropic's Message Batches API or OpenAI's Batch API).
Minimum instrumentation for start_async_invoke

At minimum, start_async_invoke should create a span capturing:

Span field Content
input modelInput (parsed JSON body), modelId
output invocationArn, submission HTTP status
metadata provider: "bedrock", model (from modelId), S3 output location, clientRequestToken if set
metrics Submission latency

Span type should be SpanTypeAttribute.TASK, matching the Anthropic batch pattern.

Availability

start_async_invoke is in both boto3 matrix pins:

  • boto3==1.43.29 (latest)
  • boto3==1.34.116 (floor)

It is in the bedrock-runtime service (not bedrock-agent-runtime), so it is reachable via the same wrap_bedrock_client(client) helper that wraps the existing four methods.

Braintrust docs status

not_found — The AWS Bedrock integration page documents tracing for converse and invoke_model. No mention of async invocation.

Upstream sources

Local files inspected

  • py/src/braintrust/integrations/bedrock_runtime/patchers.py — defines ConversePatcher, ConverseStreamPatcher, InvokeModelPatcher, InvokeModelWithResponseStreamPatcher, composed into BedrockRuntimeClientMethodsPatcher; zero references to start_async_invoke
  • py/src/braintrust/integrations/bedrock_runtime/tracing.py — _converse_wrapper, _converse_stream_wrapper, _invoke_model_wrapper, _invoke_model_stream_wrapper only; no async invoke wrappers
  • py/src/braintrust/integrations/bedrock_runtime/integration.py — registers BedrockRuntimeClientMethodsPatcher; no async invoke registration
  • py/src/braintrust/integrations/anthropic/tracing.py — Anthropic messages.batches.create() IS instrumented as a task-type span — reference implementation for this pattern
  • py/pyproject.toml — [tool.braintrust.matrix.boto3] pins: latest = "boto3==1.43.29", "1.34.116" = "boto3==1.34.116"

Relationship to existing issues

  • #279 (closed) completed the Bedrock Runtime integration for converse, converse_stream, invoke_model, invoke_model_with_response_stream; start_async_invoke was not in scope
  • #295 tracks the analogous OpenAI Batch API gap (client.batches.create())
  • #272 tracks the analogous Mistral Batch Jobs API gap (client.batch.jobs.create())
  • #332 tracks the analogous Google GenAI Batch API gap (client.batches.create())
Lenguaje dominante
Python
Estrellas
20
Forks
18
Merge medio
21 h 8 min
PR fusionados (30 d)
81

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de braintrustdata/braintrust-sdk-python

Todos los issues de braintrustdata/braintrust-sdk-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.