You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(diff): display two tabs for diffs additions and additions/deletions (#336)
* docs(diff): display two tabs for diffs additions and additions/deletions
To save copy/paste errors when following the dungeon adventure tutorial, by default we show only the
"after" content (highlighting added lines). Also include a tab for users to see the full diff too.
Fixes#332
* docs: display diffs which were previously too complex to display
* docs: update translations
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Copy file name to clipboardExpand all lines: docs/src/content/docs/es/get_started/tutorials/dungeon-game/3.mdx
+25-25Lines changed: 25 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,13 +26,13 @@ import gameConversationPng from '@assets/game-conversation.png'
26
26
## Módulo 3: Implementación del Agente de Historia
27
27
28
28
<Asidetype="caution">
29
-
Asegúrate de que tu cuenta AWS tenga acceso habilitado al [modelo predeterminado de Strands](https://strandsagents.com/latest/documentation/docs/user-guide/concepts/model-providers/amazon-bedrock/) dentro de Bedrock para tu región objetivo siguiendo los pasos de[esta guía](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access-modify.html). Al momento de escribir esto, el modelo es Anthropic Claude Sonnet 4.
29
+
Asegúrate de que tu cuenta de AWS haya habilitado acceso al [modelo predeterminado de Strands](https://strandsagents.com/latest/documentation/docs/user-guide/concepts/model-providers/amazon-bedrock/) dentro de Bedrock para tu región objetivo siguiendo los pasos descritos en[esta guía](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access-modify.html). Al momento de escribir esto, el modelo es Anthropic Claude Sonnet 4.
30
30
</Aside>
31
31
32
32
El Agente de Historia es un agente de [Strands](https://strandsagents.com/) que, dado un `Game` y una lista de `Action`s como contexto, avanzará una historia. Configuraremos el agente para interactuar con nuestro Inventory MCP Server y gestionar los objetos disponibles del jugador.
33
33
34
34
:::note
35
-
Para simplificar este tutorial, implementamos el Agente de forma "sin estado", donde cada invocación es una sesión independiente que incluye todo el historial de mensajes. Para producción, considera integrar con [Bedrock AgentCore Memory](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/memory.html). Más documentación sobre el uso de AgentCore Memory con Strands está [disponible aquí](https://github.com/aws/bedrock-agentcore-sdk-python/tree/main/src/bedrock_agentcore/memory/integrations/strands).
35
+
Para simplificar este tutorial, implementamos el Agente de forma "sin estado" donde cada invocación es una sesión independiente que incluye todo el historial de mensajes. Para entornos de producción, considera integrar con [Bedrock AgentCore Memory](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/memory.html). Más documentación sobre el uso de AgentCore Memory con Strands está [disponible aquí](https://github.com/aws/bedrock-agentcore-sdk-python/tree/main/src/bedrock_agentcore/memory/integrations/strands).
36
36
:::
37
37
38
38
### Implementación del Agente
@@ -41,10 +41,10 @@ Implementemos nuestro agente. Actualiza los siguientes archivos en `packages/sto
Usa la salida`InventoryMcpArn` del despliegue CDK arriba, y especifica tu `AWS_REGION` objetivo.
107
+
Usa el output`InventoryMcpArn` del despliegue CDK arriba, además de especificar tu `AWS_REGION` objetivo.
108
108
:::
109
109
110
-
Cuando el servidor esté activo (¡no verás ninguna salida!), invócalo con:
110
+
Una vez que el servidor del Agente esté en ejecución (¡no verás ninguna salida!), invócalo con:
111
111
112
112
```bash
113
113
curl -N -X POST http://127.0.0.1:9999/invocations \
@@ -117,16 +117,16 @@ Podemos probar nuestra API de dos formas:
117
117
```
118
118
</TabItem>
119
119
<TabItemlabel="Desplegado">
120
-
Para probar el agente desplegado, necesitas autenticarte con Cognito y obtener un token JWT. Primero configura tus variables de entorno:
120
+
Para probar el agente desplegado, necesitarás autenticarte con Cognito y obtener un token JWT. Primero configura tus variables de entorno:
121
121
122
122
```bash
123
-
#Usa el User Pool ID y Client ID de las salidas CDK
124
-
export POOL_ID="<UserPoolId de salidas CDK>"
125
-
export CLIENT_ID="<UserPoolClientId de salidas CDK>"
126
-
export REGION="<tu-región>"
123
+
#Establece tu User Pool ID y Client ID de Cognito desde los outputs de CDK
124
+
export POOL_ID="<UserPoolId from CDK outputs>"
125
+
export CLIENT_ID="<UserPoolClientId from CDK outputs>"
126
+
export REGION="<your-region>"
127
127
```
128
128
129
-
Crea un usuario de prueba y obtén un token:
129
+
Crea un usuario de prueba y obtén un token de autenticación:
130
130
131
131
```bash
132
132
# Crear usuario
@@ -137,7 +137,7 @@ Podemos probar nuestra API de dos formas:
137
137
--region $REGION \
138
138
--message-action SUPPRESS > /dev/null
139
139
140
-
# Establecer contraseña permanente
140
+
# Establecer contraseña permanente (¡reemplaza con algo más seguro!)
141
141
aws cognito-idp admin-set-user-password \
142
142
--user-pool-id $POOL_ID \
143
143
--username "testuser" \
@@ -154,22 +154,22 @@ Podemos probar nuestra API de dos formas:
154
154
```
155
155
156
156
:::caution
157
-
Usa la salida`UserIdentityUserIdentityUserPoolIdXXX` para `POOL_ID` y asegúrate de tener el Client ID correspondiente de las salidas CDK.
157
+
Usa el output`UserIdentityUserIdentityUserPoolIdXXX` para `POOL_ID` y asegúrate de tener el Client ID correspondiente en tus outputs de despliegue CDK.
158
158
:::
159
159
160
-
Ahora invoca el agente desplegado usando la URL de Bedrock AgentCore:
160
+
Ahora invoca el agente desplegado usando la URL de Bedrock AgentCore Runtime:
161
161
162
162
```bash
163
-
#Usa el StoryAgentArn de las salidas CDK
164
-
export AGENT_ARN="<StoryAgentArn de salidas CDK>"
163
+
#Establece el ARN del Agente de Historia desde los outputs de CDK
164
+
export AGENT_ARN="<StoryAgentArn from CDK outputs>"
165
165
166
-
#Codificar ARN para URL
166
+
#Codifica el ARN en URL
167
167
export ENCODED_ARN=$(echo $AGENT_ARN| sed 's/:/%3A/g'| sed 's/\//%2F/g')
Luego puedes abrir el sitio web local en tu navegador, donde se te pedirá iniciar sesión y seguir las instrucciones para crear un nuevo usuario. Una vez completado, deberías ver el sitio web base:
37
+
Luego puedes abrir el sitio web local en tu navegador, donde se te pedirá iniciar sesión y seguir las indicaciones para crear un nuevo usuario. Una vez completado, deberías ver el sitio web base:
@@ -43,14 +43,14 @@ _Mantendremos el servidor de desarrollo en ejecución durante el resto de este m
43
43
</Aside>
44
44
45
45
:::tip
46
-
Puedes ejecutar <NxCommandscommands={["run @dungeon-adventure/game-ui:serve-local"]} /> para iniciar también los servidores locales de APIs conectadas, permitiéndote iterar simultáneamente en tu API tRPC y tu sitio web.
46
+
Puedes ejecutar <NxCommandscommands={["run @dungeon-adventure/game-ui:serve-local"]} /> en su lugar, lo que adicionalmente iniciará cualquier servidor API local conectado, permitiéndote iterar tanto en tu API tRPC como en tu sitio web simultáneamente.
47
47
:::
48
48
49
49
### Crear una nueva ruta '/game'
50
50
51
-
Mostraremos las capacidades de `@tanstack/react-router` creando una nueva ruta tipada. Para hacerlo, simplemente crea un archivo vacío en: `packages/game-ui/src/routes/game/index.tsx`. Notarás que el archivo se actualiza inmediatamente.
51
+
Mostraremos las capacidades de `@tanstack/react-router` creando una nueva ruta tipada. Para esto, simplemente crea un archivo vacío en la siguiente ubicación: `packages/game-ui/src/routes/game/index.tsx`. Notarás que el archivo se actualiza inmediatamente.
52
52
53
-
El `@tanstack/react-router` ha configurado automáticamente tu nueva ruta y observarás que el archivo recién creado ya contiene la ruta:
53
+
El `@tanstack/react-router` ha configurado automáticamente tu nueva ruta y observarás que el archivo que acabas de crear ya está poblado con la ruta:
Actualicemos también el archivo `index.tsx` para cargar nuestra nueva ruta `/game` por defecto. Observa cómo al actualizar el campo `to`, tienes una lista de rutas tipadas para elegir.
Finalmente podemos eliminar la carpeta `packages/game-ui/src/routes/welcome/` ya que no es necesaria.
80
80
81
81
### Actualizaciones de diseño
82
82
83
-
El diseño predeterminado se asemeja más a una aplicación empresarial estilo SaaS que a un juego. Reconfiguraremos el diseño y aplicaremos un tema más acorde a un juego de mazmorras.
83
+
El diseño predeterminado está más orientado a aplicaciones empresariales estilo SaaS que a un juego. Vamos a reconfigurar el diseño y rediseñar el tema para que se asemeje más a un juego de estilo mazmorra.
84
84
85
85
Realicemos los siguientes cambios en `packages/game-ui/src`:
86
86
@@ -100,7 +100,7 @@ Ahora eliminemos el archivo `packages/game-ui/src/hooks/useAppLayout.tsx` ya que
100
100
101
101
### Integración del Agente de Historia
102
102
103
-
A continuación crearemos un hook para interactuar con nuestro Agente de Historia.
103
+
A continuación crearemos un hook para inicializar un cliente que interactúe con nuestro Agente de Historia.
104
104
105
105
<Tabs>
106
106
<TabItemlabel="hooks/useStoryAgent.tsx">
@@ -116,12 +116,12 @@ Esto realiza lo siguiente:
116
116
- Retorna un iterador asíncrono para consumir fragmentos de mensajes transmitidos
117
117
118
118
:::tip
119
-
Notarás que la integración con nuestra Game API ya está configurada - no necesitamos hacer nada gracias al generador `api-connection`. Por favor vota [+1 en este issue de GitHub](https://github.com/awslabs/nx-plugin-for-aws/issues/326) si deseas una experiencia similar para agentes.
119
+
Notarás que la integración con nuestra Game API ya está configurada - no tenemos que hacer nada manualmente ya que usamos el generador `api-connection`. Por favor da +1 a [este issue de GitHub](https://github.com/awslabs/nx-plugin-for-aws/issues/326) si deseas una experiencia similar para agentes.
120
120
:::
121
121
122
122
### Páginas del juego
123
123
124
-
Creemos las páginas del juego que consumirán nuestras APIs y completarán la implementación. Actualiza los siguientes archivos en `packages/game-ui/src/routes/game`:
124
+
Creemos las páginas del juego que llamarán a nuestras APIs y completarán la implementación del juego. Actualiza los siguientes archivos en `packages/game-ui/src/routes/game`:
125
125
126
126
<Tabs>
127
127
<TabItemlabel="index.tsx">
@@ -132,24 +132,24 @@ Creemos las páginas del juego que consumirán nuestras APIs y completarán la i
La sintaxis `$playerName`indica a `@tanstack/react-router` que trate `playerName` como un [parámetro de ruta](https://tanstack.com/router/v1/docs/framework/react/guide/path-params). Además implementamos el método `validateSearch` que asegura que el parámetro de consulta `genre`tenga un tipo fuerte según nuestro enum de géneros.
135
+
La sintaxis `$playerName`indicará a `@tanstack/react-router` que trate `playerName` como un [parámetro de ruta](https://tanstack.com/router/v1/docs/framework/react/guide/path-params). Adicionalmente, implementamos el método `validateSearch` que asegura que el parámetro de consulta `genre`esté tipado según nuestro enum de géneros.
136
136
</Aside>
137
137
</TabItem>
138
138
</Tabs>
139
139
140
-
Al realizar estos cambios, ¡tu servidor de desarrollo local (http://localhost:4200/) debería tener el juego listo para jugar!
140
+
Al realizar estos cambios, ¡tu servidor de desarrollo local (http://localhost:4200/) debería tener ahora el juego listo para jugar!
141
141
142
-
<Drawertitle="Compilar y desplegar"trigger="También puedes compilar y desplegar tu código en Cloudfront si prefieres.">
142
+
<Drawertitle="Compilar e implementar"trigger="También puedes compilar e implementar tu código en Cloudfront si lo prefieres.">
0 commit comments