7 Punkte von xguru 2024-12-03 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Grab's LLM-Kit ist ein Framework, das entwickelt wurde, um die Einrichtung von Generative-AI-Anwendungen auf Produktionsniveau zu beschleunigen
  • Bei der Entwicklung von AI-Anwendungen, die mit sensiblen Daten arbeiten, sind Sicherheit und Datensicherheit äußerst wichtig. LLM-Kit löst dabei Themen wie Skalierbarkeit, Integration, Monitoring und Standardisierung
  • Dadurch wird langfristig eine effiziente und effektive Entwicklung von LLM-Anwendungen ermöglicht und das Onboarding von Hunderten von GenAI-Anwendungen bei Grab unterstützt

Merkmale von LLM-Kit

  • Bietet eine vorkonfigurierte Struktur (API-Server, Konfigurationsverwaltung, Beispiel-LLM-Agenten, Tests usw.)
  • Integriert sich mit Poetry, Gunicorn, FastAPI, LangChain, LangSmith, Hashicorp Vault, Amazon EKS, Gitlab CI usw.
  • Observability-Funktionen mit Echtzeit-Monitoring durch Integration mit Datadog und LangSmith
  • Konfigurations- und Secret-Management mit configparser von Python und Vault
  • OpenID Connect (OIDC)-Authentifizierungshelfer
  • API-Dokumentation mit Swagger und Redoc
  • Integration mit Redis und Vector DB
  • Deployment-Pipelines für Staging- und Produktionsumgebungen
  • Integration mit dem leistungsstarken Evaluierungs-Framework von LangSmith
  • Cookbook: Sammlung häufig verwendeter Beispiele bei Grab als Ressource für Entwickler
    • Enthält verschiedene Anwendungsfälle wie Agenten mit persistentem Speicher, Slackbot-LLM-Agenten, Bildanalysatoren und Full-Stack-Chatbots mit Benutzeroberfläche

Der Wert von LLM-Kit

  • Höhere Entwicklungsgeschwindigkeit für LLM-Anwendungen durch einen vorkonfigurierten und integrierten Technologie-Stack
  • Echtzeit-Monitoring sowie Erkennung und Behebung von Problemen durch Integration mit LangSmith und Datadog
  • Verbesserte Sicherheit durch OIDC-Authentifizierung und Secret-Management mit Vault
  • Höhere Effizienz bei Datenspeicherung und -suche mit Vector DB
  • Stellt ein „gepflasterte Straße“-Framework bereit, das Best Practices und Standardisierung fördert
  • Teams können etwa 1,5 Wochen Entwicklungszeit sparen, bevor sie mit der Arbeit an der ersten Funktion beginnen

Architekturdesign und technische Umsetzung

  • Eine modulare Architektur bietet Skalierbarkeit, Flexibilität und Benutzerfreundlichkeit

Automatisierung

  1. Wenn ein Engineer relevante Details wie den App-Namen einreicht, wird die Erstellung eines GitLab-Projekts ausgelöst
  2. Es wird ein speziell für LLM-Apps entwickeltes Code-Scaffold erzeugt
  3. Im selben Repository wird eine GitLab-CI-Datei für CI/CD erstellt
  4. Staging-Infrastruktur wie ECR und EKS wird erzeugt
  5. Ein Terraform-Ordner für das Infrastructure Provisioning wird erstellt und führt zur Bereitstellung der Produktionsinfrastruktur
  6. Am Ende der Pipeline wird ein GPT-Token in einen sicheren Vault-Pfad geschrieben und eine Abschlussbenachrichtigung an den Engineer gesendet

Struktur des Scaffold-Codes

  1. Agents: Enthält Code zur Initialisierung von Agenten auf Basis des LangChain-Agent-Frameworks
  2. Auth: Modul für Authentifizierung und Autorisierung zur Ausführung einiger APIs innerhalb von Grab
  3. Core: Enthält das Auslesen von Konfigurationen (z. B. GPT-Token) und die Entschlüsselung von Secrets für die Ausführung der LLM-App
  4. Models: Definiert Strukturen für die zentralen LLM-APIs innerhalb von Grab
  5. Routes: Definiert REST-API-Endpunkte für LLM-Apps (einschließlich Statusprüfung, Authentifizierung, Autorisierung und einfacher Agenten)
  6. Storage: Enthält Konnektivität zu PGVector, Grabs verwalteter Vector DB, sowie das DB-Schema
  7. Tools: Funktionen, die als Werkzeuge für LLM-Agenten verwendet werden
  8. Tracing: Integration mit Tracing- und Monitoring-Tools zur Überwachung verschiedener Metriken von Produktions-Apps
  9. Utils: Standardordner für Utility-Funktionen

Infrastructure Provisioning und Deployment

  • In dieselbe Codebasis ist eine umfassende Pipeline integriert, die automatisch den für Infrastructure Provisioning, Deployment und Build-Prozesse benötigten Code scaffoldet
  • Mit Terraform wird die benötigte Infrastruktur nahtlos bereitgestellt
  • Die Deployment-Pipeline ist in der Datei .gitlab-ci.yml definiert und gewährleistet automatisierte Bereitstellungen
  • Der Build-Prozess ist im Dockerfile festgelegt und ermöglicht konsistente Builds
  • Durch automatisiertes Scaffolding können sich Entwickler auf das Schreiben der Business-Logik konzentrieren, statt auf die Komplexität von Basisinfrastruktur und Deployment

RAG-Scaffolding

  • Mit LLM-Kit werden die Einrichtung von Vector DB (PGVector) und das Hinzufügen zur Service-Allowlist vereinfacht
  • Nach dem Absenden des Formulars ist der Zugriff auf Zugangsdaten und den DB-Host-Pfad möglich
  • Secrets werden automatisch zu einem Vault-Pfad hinzugefügt
  • Engineers müssen im Konfigurationsfile der gescaffoldeten LLM-Kit-App nur noch den DB-Host-Pfad eintragen

Fazit

  • LLM-Kit ist ein wichtiges Werkzeug zur Unterstützung von Grabs AI- und ML-Innovationen sowie dessen Wachstum
  • Indem es die Herausforderungen der Teams adressiert und ein umfassendes, skalierbares und flexibles Framework für die Entwicklung von LLM-Apps bereitstellt, treibt es bei Grab die Entwicklung der nächsten Generation von AI-Apps voran

Wachstum und zukünftige Pläne

  • Geplant sind eine stabile und einfach zu nutzende SDK sowie eine deutliche Verbesserung von Parallelität und Skalierbarkeit des Webservers
  • Vorgesehen ist eine wiederverwendbare und kombinierbare LLM-SDK mit Evaluierungs- und Guardrail-Frameworks
  • Entwicklung eines CLI für Versionsupdates und Entwickler-Tools
  • Entwicklung einer Funktion zur Bereitstellung polling-basierter Agenten
  • Mit diesen Weiterentwicklungen soll Engineers eine noch reibungslosere und effizientere Entwicklungserfahrung geboten werden

Noch keine Kommentare.

Noch keine Kommentare.