Rost AI Stream Analyzer Twitch Bot
RSLLM ist AI -Pipeline zu 100% in Rost für Transformator/Tensor -Code, der das Kerzenrahmen aus dem Umarmungen nutzt. Es stellt einen Systemprogrammiersprachenansatz für die Interaktion zwischen KI und Stream -Analyse dar. Es kann lokal auf GPUs ausgeführt werden. Es konzentriert sich auf die Unterstützung von MacOS -Geräten, die mit M1/M2/M3 -Arm -GPUs ausgestattet sind. Diese KI -Pipeline ist für Entwickler und Forscher konzipiert, die sich an die Integration lokaler großer Sprachmodelle (LLMs) in Rost beabsichtigen, wobei die Notwendigkeit externer Abhängigkeiten und Python -Code für Chatbots und andere KI -Programme umgangen werden. Im Kern betont RSLLM die Verwendung lokaler LLMs zum Generieren von Text, Bildern und Sprache in einer Rostumgebung und bietet eine robuste Reihe von Funktionen für die Echtzeit-Datenstromanalyse und die Erstellung von KI-gesteuerten Inhalten. RSLLM kann einen Twitch Channell -Chat -Bot und NDI -Video/Audio mit generierten stabilen Diffusionsbildern und TTS -Sprachausgaben über Software ausführen, die mit NDI kompatibel ist. Sie können OBS einrichten, um den NDI -Feed zu nehmen und Ihren Twitch -Kanal einzurichten, dann einen vollständigen Chating und Sprechen/Bildgenerierungen anpassbarer Twitch -Kanal. Ganz AI Driven können Sie einen Twitch -Streamer etwas automatisieren. Sie können auch MPEGTS -Streams- oder OS -Systemstatistiken analysieren, sodass Sie die beiden kombinieren und die Chat -Benutzer kommentieren und die Stream -Analyse effektiv abfragen lassen können.
Schlüsselmerkmale
- Lokales LLM : Verwendet Candle's rostbasierte LLMs, Mistral und Gemma, für direkte und effiziente KI-Interaktionen und priorisieren die lokale Ausführung, um die volle Leistung von MacOS-Metall-GPUs zu nutzen.
- Umfassender AI-Analysator : Ein hochentwickeltes KI-Analysator, der in der Lage ist, Eingänge zu verarbeiten und Ausgaben über Text, Sprache, Sprache und Bilder zu generieren, wodurch ein nahtloser Fluss von AI-generierten Inhalten ermöglicht wird. (Arbeiten in Arbeit)
- Sprach- und Sprachintegration : Pläne, Whisper für sprachgesteuerte Interaktionen zu integrieren, ähnlich wie Alexa, damit Benutzer mit dem Toolkit mit Sprachbefehlen kommunizieren und als Antwort auf Streaming-Texteingaben empfangen können. (Geplante Funktion)
- Bildgenerierung und NDI-Ausgabe : Unterstützt das Erzeugen von Bildern aus Textbeschreibungen und Ausgabe über NDI für eine Vielzahl von Anwendungen, einschließlich Echtzeit-Inhaltserstellung und -Rading. (In Beta -Tests)
- TTS-Unterstützung : Candle implementiert TTs mit Metavoice (Standard, WIP), OpenAI TTS-API (hochwertig, Echtzeit) und Mimic3 TTS-API (lokal, frei). Metavoice wird für Metal -GPUs optimiert, während die OpenAI TTS -API zu Kosten eine Premium -Sprache erzeugt. MIMIC3 TTS-API erfordert das Ausführen des Mimic3-Servers, bietet jedoch eine gute Alternative zur OpenAI-TTS-API. Mimic3 Github
- Twitch Chat Interactive AI : Integrated Twitch Chat für Echtzeit-KI-Interaktionen, mit der Benutzer über Chat-Befehle mit dem Toolkit in Kontakt treten und Antworten von AI-generierten erhalten.
- Stabile Diffusionsbildgenerierung : Unterstützt entweder die stabile Diffusion des Kerzens oder den automatischen API -Server automatisch111111. https://github.com/automatic1111/stable-diffusion-webui/
Kernkomponenten
Integration von Kerzenrahmen
Candle, ein Projekt von Suggingface, bietet rostnative LLMs wie Mistral und Gemma, die für Metal-GPUs auf MacOS optimiert sind. Diese Integration erleichtert die lokale Ausführung von LLMs und sorgt für eine hohe Leistung und geringe Latenz in den AI -Modell -Interaktionen.
OpenAI -API -Unterstützung für LLAMA.CPP LLM Server Backend
Während RSLLMs Hauptaugenmerk auf dem Ausführen lokaler LLMs lag, bietet es auch die OpenAI -API, sodass Benutzer externe KI -Modelle bei Bedarf nutzen können. Diese Funktion sorgt für Vielseitigkeit und breite Anwendbarkeit in verschiedenen KI-gesteuerten Projekten mit benutzerdefinierten Modellen.
Echtzeit-KI-Analyse und Inhaltsgenerierung
RSLLM zeichnet sich aus der Analyse von Echtzeitdatenströmen und der Generierung von KI-gesteuerten Inhalten, einschließlich Text, Bildern und Sprache. Ziel ist es, ein dynamisches Interaktionsmodell zu erstellen, bei dem Spracheingänge für das LLM in Textbefehle konvertiert werden können und die generierten Ausgänge als Sprach- oder visueller Inhalt zurückgeführt werden können.
Installation und Konfiguration
Voraussetzungen
- Stellen Sie sicher, dass Rost und Fracht installiert sind. Rostinstallationshandbuch.
- Idealerweise ein MacOS -System mit einer M1/M2/M3 -Arm -GPU. Nvidia kann funktionieren, brauchen jemanden, der es repariert, da ich keine Nvidia -GPUs habe.
- NDI -Bibliothek für OBS -NDI -Streaming -Ausgabe. Dies ist optional.
Setup -Handbuch
Klonen Sie das Repository :
git clone https://github.com/groovybits/rsllm.git
Navigieren Sie zum Projektverzeichnis :
Kompilieren Sie mit Metal GPU -Unterstützung und NDI SDK -Unterstützung :
./scripts/compile.sh # Script handles NDI SDK dependency and DYLD_LIBRARY_PATH
Konfiguration
Verwendung
RSLLM wurde entwickelt, um eine breite Palette von KI-gesteuerten Vorgängen zu erleichtern, von der Generierung von textbasierten Inhalten bis zur Analyse von Netzwerkströmen und zur Verarbeitung visueller und Audioeingänge. Erweiterte Funktionen wie NDI-Audioausgabe und Sprach-zu-Text-Eingabeverarbeitung sind in der Entwicklung, um die interaktiven Funktionen des Toolkits zu verbessern.
Beispielbefehle
Verwenden Sie die Skripte im Verzeichnis ./Scripts.
./scripts/compile.sh # Build RsLLM
./scripts/broadcast_personality.sh # Full command line shown for most features (use personalities in ./personalities dir as an arg)
./scripts/mpeg_analyzer.sh # Experimental MpegTS Analyzer mode (WIP)
./scripts/mpeg_poetry.sh # Fun poetry about MpegTS Broadcasting with stream input prompt injection
./scripts/system_health.sh # System health status from OS Stats prompt injection
Sendung an OBS mit NDI mit voller Pipeline :
./scripts/broadcast_personality.sh buddha
Laufen mit Kerzen- und Betriebssystem -Statistiken für die AI -Systemanalyse :
cargo run --release --features fonts,ndi,mps,metavoice,audioplayer --
--candle_llm gemma
--model-id " 2b-it "
--max-tokens 800
--temperature 0.8
--ai-os-stats
--sd-image
--ndi-images
--ndi-audio
--system-prompt " You create image prompts from OS system stats health state. "
--query " How is my system doing? Create a report on the system health as visual image descriptions. "
Verbesserte Ausgangsfunktionen und bevorstehende Funktionen
NDI -Ausgabe für Bilder und TTS -Sprach -Audio
RSLLM verbessert seine Ausgabefunktionen, um NDI-Support (Network Device Interface) für Bilder und TTS-Audio (Text-to-Speech) zu enthalten, wodurch qualitativ hochwertige Video-Streaming mit niedrigem Latenz über IP-Netzwerken ermöglicht wird.
- (Optional) NDI SDK -Installation : Das Skript compile.sh wird das libndi.dylib für Sie herunterladen. Auf Wunsch können Sie die NDI SDK von hier herunterladen und installieren. Dieser SDK ist nützlich, um die NDI -Ausgabe anzuzeigen und andere Tools zu erkunden.
- Konfigurationsschritte :
- Fügen Sie
--features ndi zum Cargo Build -Befehl hinzu, um den NDI -Support in Ihren Build aufzunehmen. - Führen Sie
scripts/compile.sh aus, die den libndi.dylib abrufen, der für macOS am besten geeignet ist. - Um sicherzustellen, dass die Bibliothek beim Erstellen mit
cargo --features=ndi ordnungsgemäß erkannt wird, stellen Sie die Umgebungsvariable DYLD_LIBRARY_PATH fest:
export DYLD_LIBRARY_PATH= ` pwd ` : $DYLD_LIBRARY_PATH
- Zusätzliche Konfiguration : Anmeldung in den Hubface -Hub über die CLI kann einige potenzielle Warnungen lösen. Führen Sie
huggingface-cli login aus, um sich zu authentifizieren.
Metavoice TTS -Text zur Sprache (WIP)
Candle, unser Kernrost-Framework für die LLM-Interaktion, umfasst jetzt Metavoice, eine TTS-Technologie (Bahnbrechende Text-zu-Sprache). Während sich diese Funktion verbessert, ermöglicht es reine rostbasierte LLM-, TTI- (Text-to-Image-Funktionen) und TTS-Funktionen, die nahtlos in die Metall-GPU-Optimierungen für macOS integriert sind.
- Entwicklungsstatus : Die Metavoice -Integration wird durchgeführt und in Kerze so optimiert, dass sie der Qualität der Referenzimplementierung entspricht.
- Erwartete Vorteile : Sobald sie vollständig optimiert sind, verbessert Metavoice die Fähigkeit des Toolkits, ohne Kosten und mit geringer Latenz auf einem lokalen LLM eine lebensechte Sprache aus Text zu generieren. Es wird auch die Möglichkeit bieten, eine Stimme aus einem kleinen Clip zu lernen und eine Sprache daraus zu generieren. Im Moment möchten Sie OpenAI für die Qualität/Echtzeit-Generation von Sprach-Audio verwenden.
Die Mission von RSLLM ist es, die Implementierung eines vielseitigen Hochleistungs-Toolkits für die Erstellung und -analyse von KI-gesteuerten Inhalten auf MacOS zu erforschen und zu untersuchen, wodurch das volle Potenzial von Metal-GPUs und Rust-Effizienz nutzt.
Roadmap
Priorität:
- Erhalten Sie die Geschichte mithilfe einer lokalen Datenbank (z. B. SQLite oder MongoDB) und füttern Sie sie in einen Chroma -DB für LAG.
- MPEGTS-Chat für die Freiformanalyse über aktuelle und historische MPEG-TS-Stream-Daten.
- Verbesserung der Latenz/TTS -Latenz und der asynchronen Koordination der Ausgabe. Verwenden Sie eine NDI-Vorqueue für Bilder und Audio, um die Synchronisation zu gewährleisten und die Latenz zu minimieren.
- Implementieren Sie RAG (Abrufenvergrößerungserzeugung) unter Verwendung von Chromium für Dokumente zwischengespeichert und einbettet und bietet Augmented Documentations-basierten LLM-Kontext.
- Führen Sie Metavoice -Korrekturen von Kerze zusammen, sobald sie verfügbar sind (WIP).
- Implementieren Sie Wahrnehmungs-Hashes (DCT64-basiert) zum Frame-Fingerabdruck, um Änderungen in Videorahmen zu erkennen, wiederholte Inhaltssequenzen zu erkennen und zu lernen, kommerzielle Pausen zu überprüfen und Anzeigeneinsertionen zu erkennen. Integrieren Sie SCTE-35 und pflegen Sie eine Datenbank mit fingerabdruckten Inhalten für verschiedene Qualitätsprüfungen, die Bestätigung der Break-/Logo-Treue und die Präsenzerkennung.
- Aktivieren Sie den Daemon -Modus, um über den Zeromq -Eingang an Anforderungen auszuführen, und übergeben Sie sie an die Ausgabe.
- Erweitern Sie die Optionen für LLMs und die OpenAI -API.
Zukünftige Verbesserungen:
- Verwenden Sie FFMPEG-NEXTSYS, um Video und Audio in Echtzeit zu verarbeiten, um Frames, Audio und Text-zu-Video zu generieren sowie Videos zu transformieren und Stimmungsvideos oder thematische Geschichten zu erstellen. Erforschen Sie die Möglichkeiten, einen LLM mit FFMPEG zu kombinieren.
- Verbessern Sie den MPEGTS-Analysator für die Echtzeitanalyse von MPEG-TS-Streams, Berichterstattung und KI-gesteuerte Erkennung.
- Verbesserung der Netzwerk- und Systemanalysatoren.
- Verwenden Sie Chroma DB für Lappen mit Dokumenten, um die Eingabeaufforderungen mit relevanten Informationen zu erweitern.
- Implementieren Sie das CAP'N -Proto für Serialisierung, Deserialisierung und modulare Nulomq -Protokollkommunikation.
- Integrieren Sie die Metamusic für die stimmungsbasierte Musikgenerierung basierend auf den Ergebnissen.
- Entwickeln Sie Talking Head -Videogenerierung mit konsequentem Rahmenkontext, um sicherzustellen, dass Objekte innerhalb von Frames gleich bleiben.
- Implementieren Sie Sprach-zu-Text mit Whisper Candle für Audio Input, LLM-Einnahme und Video-Untertitel.
- Ermöglichen Sie den LLM Freeform Input -Optionen, um Benutzerabsichten zu interpretieren.
- Erforschen Sie die dynamische Codegenerierung in Python für neue Aufgaben wie Videoverarbeitung (Berücksichtigung von Risiken).
- Implementieren Sie die iterative und generationsübergreifende Ausgabe mit Umrissen, die zu mehreren Pässen führen, bis ein Endergebnis erzielt wird.
- Verwenden Sie Sprache zum Text mit Flüstern Kerze für Audioeingaben und aktivieren Sie die Sprachbefehle für die LLM für die Konversations -KI.
Beitragen
Beiträge werden herzlich begrüßt, insbesondere in Bereichen wie Merkmalentwicklung, Leistungsoptimierung und Dokumentation. Ihr Know -how kann die Funktionen und die Benutzererfahrung von Toolkit erheblich verbessern.
Lizenz
Dieses Projekt ist unter der MIT -Lizenz lizenziert. Ausführliche Informationen finden Sie in der Lizenzdatei.
Anerkennung
- Kerzenrosttransformatoren/Tensoren durch Umarmung: Kerze
- OpenAI für API -Spezifikationen: Openai
- OpenAI für TTS -Integration: OpenAI
- Metavoice für TTS -Integration: Metavoice
- Mimic3 für TTS -Integration: Mimic3
- Flüstere für Sprache zum Text: flüstert
- Google Gemini LLM: Gemini
- Mistral LLM: Mistral
Autor
Chris Kennedy, der die Entwicklung innovativer KI -Lösungen mit dem MacOS Metal GPU Rust LLM Toolkit leitet. Februar 2024.
Wir setzen uns dafür ein, die Grenzen der KI-Integration in die Videotechnik und die multimodale Eingabe/Ausgabe von MacOS-ARM-CPUs in reinem Rost zu überschreiten und sicherzustellen, dass Medienentwickler und Forscher Zugang zu leistungsstarken, effizienten und vielseitigen Tools für ihre KI-gesteuerten Projekte haben.