Zum Hauptinhalt springen
Background

Entwicklung eines Edge-beschleunigten LLM‑Chatbots

Erfahren Sie, wie Sie einen LLM‑Chatbot mit Akamai Functions und GPU‑basierter Inferenz erstellen und dann global bereitstellen können.

Zusammenfassung mit Zeitstempeln

Zusammenfassung mit Zeitstempeln

[00:00–00:58] Einführung: Thorsten Hans stellt das Tutorial für die Entwicklung einer LLM‑basierten Chatbot-Anwendung in der Akamai Cloud vor, bei der Linode-GPU‑Instanzen, Ollama, Spin und Akamai Functions verwendet werden.

[00:58–02:22] Architekturübersicht: Erläuterung des mehrstufigen Systemdiagramms, mit Details zur Linode-Instanz mit einer NVIDIA‑GPU, auf der Ollama ausgeführt wird, und zu Akamai Functions, das die Spin-Anwendung (Astro-Frontend und TypeScript‑API) mit einem verteilten Schlüssel-Wert-Speicher hostet.

[02:22–03:30] Spin und Anwendungskomponenten: Überblick über Spin als CNCF-WebAssembly-Framework und eine Erläuterung der beiden Anwendungskomponenten: Astro-Frontend und TypeScript‑API.

[03:30–06:21] API‑Logik und Caching-Ablauf: Erklärung, wie die TypeScript‑API Anfragen verarbeitet, den verteilten Schlüssel-Wert-Speicher abfragt, um zwischengespeicherte Antworten bereitzustellen, Prompt Engineering und Leitplanken für neue Abfragen anwendet und generierte Antworten zwischenspeichert.

[06:21–09:03] Infrastruktureinrichtung mit Terraform: Tiefgreifende Informationen zur Terraform-Konfiguration, die den Linode-Anbieter, die Instanzbereitstellung mit dedizierten NVIDIA‑GPUs und die anbieterfreie Abfragelogik umfassen.

[09:03–10:05] Firewall- und Netzwerkkonfiguration: Untersuchung der Einrichtung der Linode-Firewall in Terraform, bei der Regeln für den SSH‑Zugriff festgelegt werden und der Ollama-HTTP-API-Traffic an Port 11434 verfügbar gemacht wird.

[10:05–12:26] cloud-init und GPU-Treiber-Installation: Analyse von linode.yaml-cloud-init-Skripten zur Automatisierung von Paketupdates, GPU‑Treiber-Installation, Systemneustarts und Ollama-Serviceinitialisierung.

[12:26–14:49] Terraform-Bereitstellung: Ausführen von „terraform apply“, um die Cloud-Infrastruktur zu erstellen, gefolgt vom etwa fünfminütigen Bereitstellungsprozess im Zeitraffer.

[14:49–16:07] Spin-Anwendungsmanifest (spin.toml): Untersuchung von spin.toml, mit Details zu HTTP-Triggern, Komponenten-Routing, Umgebungsvariablen, Zugriff auf den Schlüssel-Wert-Speicher und ausgehenden Host-Berechtigungen.

[16:07–17:53] API-Implementierung und Leitplanken: Vorstellung des Codes von index.ts, handler.ts und guardrails.ts, mit Erläuterung der Anfragevalidierung, der Begrenzung der Eingabelänge (500 Zeichen) und des Regex-Musterabgleichs zur Verhinderung von Prompt Injection.

[17:53–19:30] Sitzungsverlauf und Schlüssel-Wert-Caching: Erläuterung der cookiebasierten Sitzungsverfolgung und der Implementierung von kvService.ts zur Prüfung und Rückgabe zwischengespeicherter Abfrageantworten aus dem Schlüssel-Wert-Speicher.

[19:30–20:54] LLM-Aufruf über LangChain: Detaillierte Erläuterung von llaService.ts, bei der Prompt-Zusammensetzung (System-Prompt, Sitzungsverlauf, Nutzerabfrage) und LLM‑Aufruf mit LangChain-JS- und Ollama-Paketen vorgestellt werden.

[20:54–21:38] Paketabhängigkeiten: Übersicht zu package.json, bei der Spin-SDK- und LangChain-Abhängigkeiten hervorgehoben werden, die für die Erstellung der WebAssembly-Anwendung erforderlich sind.

[21:38–22:27] Kompilierung in WebAssembly: Ausführen von „spin build“ im Terminal, um sowohl Frontend- als auch API‑Komponenten in .wasm-Ziele zu kompilieren.

[22:27–23:59] Bereitstellung in Akamai Functions: Authentifizierung über „spin aka login“ und Ausführung von „spin aka deploy“ mit Umgebungsvariablen, um die WebAssembly-Anwendung global zu veröffentlichen.

Teilen