Saltar al contenido principal
Background

Crea un Chatbot LLM acelerado por Edge

Aprende a crear un chatbot basado en un modelo de lenguaje de gran tamaño (LLM) utilizando Akamai Functions y la inferencia con GPU, y luego despliéguelo a nivel mundial.

Resumen con fecha y hora

Resumen con fecha y hora

[00:00–00:58] Introducción: Thorsten Hans presenta un tutorial sobre cómo crear una aplicación de chatbot basada en LLM en la nube de Akamai, utilizando instancias GPU de Linode, Ollama, Spin y las funciones de Akamai.

[00:58–02:22] Resumen de la arquitectura: Explicación del diagrama del sistema de múltiples niveles, que detalla la instancia de Linode con una GPU NVIDIA que ejecuta Ollama, y las funciones de Akamai que alojan la aplicación Spin (compuesta por un frontend Astro y una API en TypeScript), junto con un almacén de datos distribuido basado en pares clave-valor.

[02:22–03:30] Componentes de giro y aplicación: Descripción general de Spin como un framework de WebAssembly de CNCF, y explicación de sus dos componentes principales: el frontend Astro y la API en TypeScript.

[03:30–06:21] Lógica de la API y flujo de almacenamiento en caché: Explicación detallada de cómo la API de TypeScript procesa las solicitudes, consulta el almacén de datos distribuido para proporcionar respuestas en caché, aplica la construcción de prompts y medidas de seguridad para nuevas consultas, y almacena en caché las respuestas generadas.

[06:21–09:03] Configuración de infraestructura con Terraform: Profundiza en la configuración de Terraform, mostrando el proveedor de Linode, la creación de instancias con GPU dedicadas de NVIDIA y la lógica de sondeo del proveedor nulo.

[09:03–10:05] Configuración del firewall y de la red: Revisión de la configuración del firewall de Linode en Terraform, especificando las reglas para el acceso SSH y el tráfico de la API HTTP de Ollama en el puerto 11434.

[10:05–12:26] Instalación de Cloud-init y del controlador de la GPU: Análisis de los scripts de cloud-init en linode.yaml que automatizan la actualización de paquetes, la instalación del controlador de GPU, el reinicio del sistema y la inicialización del servicio Ollama.

[12:26–14:49] Ejecutando el proceso de aprovisionamiento con Terraform: Ejecutamos `terraform apply` para construir la infraestructura en la nube y, a continuación, avanzamos rápidamente en el proceso de aprovisionamiento, que dura aproximadamente cinco minutos.

[14:49–16:07] Manifiesto de aplicación de giro (spin.toml): Inspección de spin.toml, con detalles sobre los desencadenadores HTTP, el enrutamiento de componentes, las variables de entorno y el acceso al almacén de datos clave-valor. y permisos para el host de salida.

[16:07–17:53] Implementación de la API y medidas de seguridad: Revisión del código de index.ts, handler.ts y guardrails.ts, explicando la validación de solicitudes, los límites de longitud de entrada (500 caracteres) y el uso de expresiones regulares para prevenir la inyección de prompts.

[17:53–19:30] Historial de sesiones y almacenamiento en caché de pares clave-valor: Explicación del seguimiento de sesiones mediante cookies y la implementación de kvService.ts para verificar y devolver respuestas de consultas almacenadas en caché desde el almacén de pares clave-valor.

[19:30–20:54] Invocación de LLM mediante LangChain: Examen detallado de llaService.ts que muestra el montaje del prompt (sistema, historial de sesión, consulta del usuario) y la invocación LLM utilizando los paquetes LangChain JS y Ollama.

[20:54–21:38] Dependencias del paquete: Revisión del archivo package.json, con especial atención a las dependencias de Spin SDK y LangChain necesarias para desarrollar la aplicación WebAssembly.

[21:38–22:27] Compilación a WebAssembly: Ejecuta el comando `spin build` en la terminal para compilar tanto los componentes del front-end como los de la API en archivos `.wasm`.

[22:27–23:59] Implementación en Akamai Functions: Autenticarse mediante el comando "spin" (es decir, iniciar sesión) y ejecutar "spin" (es decir, implementar) con variables de entorno para publicar la aplicación WebAssembly a nivel global.

Compartir