

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Genere respuestas utilizando OpenAI APIs
<a name="bedrock-mantle"></a>

Amazon Bedrock proporciona puntos de enlace de API OpenAI compatibles para la inferencia de modelos, con la tecnología de Mantle, un motor de inferencia distribuido para el servicio de modelos de aprendizaje automático a gran escala. Estos puntos de enlace le permiten utilizar los modelos OpenAI SDKs y herramientas familiares de Amazon Bedrock, lo que le permite migrar las aplicaciones existentes con cambios de código mínimos; basta con actualizar la URL base y la clave de API.

También ofrece otras ventajas como las siguientes:
+ Inferencia **asíncrona: Support para cargas de trabajo de inferencia** de larga duración a través de la API de respuestas
+ **Gestión de conversaciones avanzada:** reconstruye automáticamente el contexto sin pasar manualmente el historial de conversaciones con cada solicitud
+ **Uso simplificado de las herramientas**: integración optimizada para los flujos de trabajo de los agentes
+ **Modos de respuesta flexibles**: Support para respuestas de streaming y no streaming
+ **Migración sencilla**: compatible con las bases de código OpenAI del SDK existentes

## Regiones y puntos finales compatibles
<a name="bedrock-mantle-supported"></a>

Amazon Bedrock está disponible en las siguientes AWS regiones:


| Nombre de la región | Región | Punto de conexión | 
| --- | --- | --- | 
| Este de EE. UU. (Ohio) | us-east-2 | bedrock-mantle.us-east-2.api.aws | 
| Este de EE. UU. (Norte de Virginia) | us-east-1 | bedrock-mantle.us-east-1.api.aws | 
| Oeste de EE. UU. (Oregón) | us-west-2 | bedrock-mantle.us-west-2.api.aws | 
| Asia-Pacífico (Yakarta) | ap-southeast-3 | bedrock-mantle.ap-southeast-3.api.aws | 
| Asia-Pacífico (Mumbai) | ap-south-1 | bedrock-mantle.ap-south-1.api.aws | 
| Asia-Pacífico (Tokio) | ap-northeast-1 | bedrock-mantle.ap-northeast-1.api.aws | 
| Europa (Fráncfort) | eu-central-1 | bedrock-mantle.eu-central-1.api.aws | 
| Europa (Irlanda) | eu-west-1 | bedrock-mantle.eu-west-1.api.aws | 
| Europa (Londres) | eu-west-2 | bedrock-mantle.eu-west-2.api.aws | 
| Europa (Milán) | eu-south-1 | bedrock-mantle.eu-south-1.api.aws | 
| Europa (Estocolmo) | eu-north-1 | bedrock-mantle.eu-north-1.api.aws | 
| América del Sur (São Paulo) | sa-east-1 | bedrock-mantle.sa-east-1.api.aws | 

## Requisitos previos
<a name="bedrock-mantle-prereq"></a>

Antes de usarlo, asegúrese de tener lo siguiente: OpenAI APIs
+ **Autenticación**: puede autenticarse mediante:
  + Clave de API de Amazon Bedrock (necesaria para el OpenAI SDK)
  + AWS credenciales (compatibles con las solicitudes HTTP)
+ **OpenAISDK** (opcional): instala el SDK de OpenAI Python si utilizas solicitudes basadas en el SDK.
+ **Variables de entorno**: defina las siguientes variables de entorno:
  + `OPENAI_API_KEY`— Configúrelo en su clave de API de Amazon Bedrock
  + `OPENAI_BASE_URL`— Configúrelo en el punto final de Amazon Bedrock de su región (por ejemplo,` https://bedrock-mantle.us-east-1.api.aws/v1`)

## API de modelos
<a name="bedrock-mantle-models"></a>

La API de modelos te permite descubrir los modelos disponibles en Amazon Bedrock con tecnología Mantle. Use esta API para recuperar una lista de modelos que puede usar con la API de respuestas y la API de finalización de chats. Para obtener información completa sobre la API, consulta la [documentación de OpenAI los modelos](https://platform.openai.com/docs/api-reference/models).

### Enumere los modelos disponibles
<a name="bedrock-mantle-models-list"></a>

Para ver una lista de los modelos disponibles, selecciona la pestaña del método que prefieras y, a continuación, sigue los pasos:

------
#### [ OpenAI SDK (Python) ]

```
# List all available models using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

models = client.models.list()

for model in models.data:
    print(model.id)
```

------
#### [ HTTP request ]

Realiza una solicitud GET a`/v1/models`:

```
# List all available models
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X GET $OPENAI_BASE_URL/models \
   -H "Authorization: Bearer $OPENAI_API_KEY"
```

------

## API de respuestas
<a name="bedrock-mantle-responses"></a>

La API de respuestas proporciona una gestión de conversaciones con estado y admite la transmisión, el procesamiento en segundo plano y las interacciones en varios turnos. Para obtener información completa sobre la API, consulta la documentación de [OpenAIRespuestas](https://platform.openai.com/docs/api-reference/responses).

### Solicitud básica
<a name="bedrock-mantle-responses-create"></a>

Para crear una respuesta, selecciona la pestaña del método que prefieras y, a continuación, sigue estos pasos:

------
#### [ OpenAI SDK (Python) ]

```
# Create a basic response using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="openai.gpt-oss-120b",
    input=[
        {"role": "user", "content": "Hello! How can you help me today?"}
    ]
)

print(response)
```

------
#### [ HTTP request ]

Realiza una solicitud POST a`/v1/responses`:

```
# Create a basic response
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X POST $OPENAI_BASE_URL/responses \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -d '{
    "model": "openai.gpt-oss-120b",
    "input": [
        {"role": "user", "content": "Hello! How can you help me today?"}
    ]
}'
```

------

### Transmita las respuestas
<a name="bedrock-mantle-responses-streaming"></a>

Para recibir los eventos de respuesta de forma incremental, elige la pestaña del método que prefieras y, a continuación, sigue estos pasos:

------
#### [ OpenAI SDK (Python) ]

```
# Stream response events incrementally using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

stream = client.responses.create(
    model="openai.gpt-oss-120b",
    input=[{"role": "user", "content": "Tell me a story"}],
    stream=True
)

for event in stream:
    print(event)
```

------
#### [ HTTP request ]

Realiza una solicitud POST `/v1/responses` con el siguiente `stream` valor: `true`

```
# Stream response events incrementally
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X POST $OPENAI_BASE_URL/responses \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -d '{
    "model": "openai.gpt-oss-120b",
    "input": [
        {"role": "user", "content": "Tell me a story"}
    ],
    "stream": true
}'
```

------

## API de finalización de chat
<a name="bedrock-mantle-chat-completions"></a>

La API Chat Completions genera respuestas conversacionales. Para obtener información completa sobre la API, consulta la documentación de [OpenAIChat Completions](https://platform.openai.com/docs/api-reference/chat/create).

### Creación de una finalización de chat
<a name="bedrock-mantle-chat-completions-create"></a>

Para crear un chat completo, elige la pestaña del método que prefieras y, a continuación, sigue estos pasos:

------
#### [ OpenAI SDK (Python) ]

Configure el OpenAI cliente mediante variables de entorno:

```
# Create a chat completion using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

completion = client.chat.completions.create(
    model="openai.gpt-oss-120b",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ]
)

print(completion.choices[0].message)
```

------
#### [ HTTP request ]

Realice una solicitud POST a`/v1/chat/completions`:

```
# Create a chat completion
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X POST $OPENAI_BASE_URL/chat/completions \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -d '{
    "model": "openai.gpt-oss-120b",
    "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ]
}'
```

------

### Habilitar la transmisión
<a name="bedrock-mantle-chat-completions-streaming"></a>

Para recibir respuestas de forma incremental, selecciona la pestaña del método que prefieras y sigue los pasos:

------
#### [ OpenAI SDK (Python) ]

```
# Stream chat completion responses incrementally using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

stream = client.chat.completions.create(
    model="openai.gpt-oss-120b",
    messages=[{"role": "user", "content": "Tell me a story"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="")
```

------
#### [ HTTP request ]

Realiza una solicitud POST `/v1/chat/completions` con el siguiente ` stream` ajuste: `true`

```
# Stream chat completion responses incrementally
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X POST $OPENAI_BASE_URL/chat/completions \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -d '{
    "model": "openai.gpt-oss-120b",
    "messages": [
        {"role": "user", "content": "Tell me a story"}
    ],
    "stream": true
}'
```

------