Inhaltsverzeichnis
Einführung
Was ist HuggingGPT?
Wie funktioniert HuggingGPT?
1. Aufgabenplanung
2. Modellauswahl
3. Aufgabenausführung
4. Antwort generieren
HuggingGPT einrichten
Systemanforderungen
Schritte für den Einstieg
Für Server:
Für das Web:
Für CLI:
Für Gradio:
Abschließende Gedanken
Heim Technologie-Peripheriegeräte KI HuggingGPT: Ein magisches Werkzeug für KI-Aufgaben

HuggingGPT: Ein magisches Werkzeug für KI-Aufgaben

May 08, 2023 pm 06:40 PM
ai hugginggpt 任务

Einführung

Künstliche Allgemeine Intelligenz (AGI) kann als ein künstliches Intelligenzsystem betrachtet werden, das in der Lage ist, intellektuelle Aufgaben wie Menschen zu verstehen, zu verarbeiten und darauf zu reagieren. Dies ist eine herausfordernde Aufgabe, die ein tiefes Verständnis der Funktionsweise des menschlichen Gehirns erfordert, damit wir es nachbilden können. Das Aufkommen von ChatGPT hat jedoch in der Forschungsgemeinschaft großes Interesse an der Entwicklung solcher Systeme geweckt. Microsoft hat ein so wichtiges KI-gestütztes System namens HuggingGPT (Microsoft Jarvis) veröffentlicht.

Bevor wir uns mit den Neuerungen in HuggingGPT und den relevanten Details seiner Funktionsweise befassen, wollen wir zunächst die Probleme mit ChatGPT verstehen und erklären, warum es Schwierigkeiten bei der Lösung komplexer KI-Aufgaben hat. Große Sprachmodelle wie ChatGPT eignen sich gut für die Interpretation von Textdaten und die Bewältigung allgemeiner Aufgaben. Allerdings tun sie sich bei bestimmten Aufgaben oft schwer und können absurd reagieren. Möglicherweise sind Sie beim Lösen komplexer mathematischer Probleme auf gefälschte Antworten von ChatGPT gestoßen. Auf der anderen Seite haben wir KI-Modelle auf Expertenebene wie Stable Diffusion und DALL-E, die über ein tieferes Verständnis ihrer jeweiligen Fachgebiete verfügen, aber mit einem breiteren Aufgabenspektrum zu kämpfen haben. Wenn wir keine Verbindung zwischen LLM und professionellen KI-Modellen herstellen, können wir das Potenzial von LLM zur Lösung anspruchsvoller KI-Aufgaben nicht voll ausschöpfen. Genau das macht HuggingGPT: Es kombiniert die Vorteile beider, um ein effektiveres, genaueres und vielseitigeres KI-System zu schaffen.

Was ist HuggingGPT?

Laut einem kürzlich von Microsoft veröffentlichten Artikel nutzt HuggingGPT die Leistungsfähigkeit von LLM als Controller, indem es es mit verschiedenen KI-Modellen in der Community für maschinelles Lernen (HuggingFace) verbindet und so die Verwendung externer Tools zur Verbesserung der Arbeitseffizienz ermöglicht. HuggingFace ist eine Website, die Entwicklern und Forschern unzählige Tools und Ressourcen zur Verfügung stellt. Darüber hinaus gibt es eine große Auswahl an professionellen und hochpräzisen Modellen. HuggingGPT wendet diese Modelle auf komplexe KI-Aufgaben in verschiedenen Bereichen und Modi an und erzielt beeindruckende Ergebnisse. Es verfügt über ähnliche multimodale Fähigkeiten wie OPenAI GPT-4, wenn es um Text und Bilder geht. Es stellt jedoch auch eine Verbindung zum Internet her und Sie können einen externen Weblink bereitstellen, um Fragen dazu zu stellen.

Angenommen, Sie möchten, dass das Modell den auf einem Bild geschriebenen Text per Audio vorliest. HuggingGPT führt diese Aufgabe seriell mit dem am besten passenden Modell aus. Zunächst wird Text aus dem Bild exportiert und das Ergebnis für die Audiogenerierung verwendet. Die Antwortdetails können im Bild unten angezeigt werden. Einfach großartig!

HuggingGPT: Ein magisches Werkzeug für KI-Aufgaben

Qualitative Analyse der multimodalen Zusammenarbeit von Video- und Audiomodi

Wie funktioniert HuggingGPT?

HuggingGPT: Ein magisches Werkzeug für KI-Aufgaben

HuggingGPT ist ein Kollaborationssystem, das LLM als Schnittstelle verwendet, um Benutzeranfragen an Expertenmodelle zu senden. Der gesamte Prozess von der Benutzeraufforderung über das Modell bis zum Eingang der Antwort kann in die folgenden einzelnen Schritte unterteilt werden:

1. Aufgabenplanung

In dieser Phase verwendet HuggingGPT ChatGPT, um die Benutzeraufforderung zu verstehen und die Abfrage dann in kleine und überschaubare Teile zu zerlegen Operative Aufgaben. Außerdem identifiziert es die Abhängigkeiten dieser Aufgaben und definiert die Reihenfolge, in der sie ausgeführt werden. HuggingGPT verfügt über vier Slots zum Parsen von Aufgaben: Aufgabentyp, Aufgaben-ID, Aufgabenabhängigkeit und Aufgabenparameter. Chats zwischen HuggingGPT und dem Benutzer werden aufgezeichnet und auf dem Bildschirm mit dem Ressourcenverlauf angezeigt.

2. Modellauswahl

Basierend auf der Benutzerumgebung und den verfügbaren Modellen verwendet HuggingGPT einen kontextbezogenen Aufgabenmodellzuordnungsmechanismus, um das am besten geeignete Modell für eine bestimmte Aufgabe auszuwählen. Nach diesem Mechanismus wird die Modellauswahl als Multiple-Choice-Frage betrachtet, die zunächst Modelle basierend auf der Art der Aufgabe herausfiltert. Anschließend wurden die Modelle anhand der Anzahl der Downloads gerankt, da diese als zuverlässiges Maß für die Modellqualität gilt. Basierend auf diesem Ranking werden die Top-K-Modelle ausgewählt. K ist hier lediglich eine Konstante, die die Anzahl der Modelle widerspiegelt. Wenn sie beispielsweise auf 3 eingestellt ist, werden die 3 Modelle mit den meisten Downloads ausgewählt.

3. Aufgabenausführung

Hier wird die Aufgabe einem bestimmten Modell zugewiesen, das darauf Rückschlüsse zieht und die Ergebnisse zurückgibt. Um diesen Prozess effizienter zu gestalten, kann HuggingGPT verschiedene Modelle gleichzeitig ausführen, sofern diese nicht dieselben Ressourcen benötigen. Wenn Sie beispielsweise aufgefordert werden, Bilder von Katzen und Hunden zu erstellen, können verschiedene Modelle parallel ausgeführt werden, um diese Aufgabe auszuführen. Manchmal benötigt ein Modell jedoch möglicherweise dieselbe Ressource, weshalb HuggingGPT ein -Attribut verwaltet, um den Überblick über die Ressource zu behalten. Es stellt sicher, dass Ressourcen effizient genutzt werden.

4. Antwort generieren

Der letzte Schritt besteht darin, eine Antwort an den Benutzer zu generieren. Zunächst werden alle Informationen und Argumentationsergebnisse aus den vorherigen Phasen integriert. Die Informationen werden in einem strukturierten Format dargestellt. Wenn die Eingabeaufforderung beispielsweise darin besteht, die Anzahl der Löwen in einem Bild zu erkennen, werden entsprechende Begrenzungsrahmen mit Erkennungswahrscheinlichkeiten gezeichnet. LLM (ChatGPT) nimmt dann dieses Format und gibt es in einer benutzerfreundlichen Sprache wieder.

HuggingGPT einrichten

HuggingGPT basiert auf der hochmodernen GPT-3.5-Architektur von Hugging Face, einem tiefen neuronalen Netzwerkmodell, das Text in natürlicher Sprache generieren kann. Hier sind die Schritte zum Einrichten auf Ihrem lokalen Computer:

Systemanforderungen

Die Standardkonfiguration erfordert Ubuntu 16.04 LTS, mindestens 24 GB VRAM, mindestens 12 GB (Minimum), 16 GB (Standard) oder 80 GB (voll). ) RAM und mindestens 284 GB Festplattenspeicher. Darüber hinaus sind 42 GB Speicherplatz für damo-vilab/text-to-video-ms-1.7b, 126 GB für ControlNet, 66 GB für Stable-Diffusion-v1-5 und 50 GB für andere Ressourcen erforderlich. Für die „Lite“-Konfiguration ist nur Ubuntu 16.04 LTS erforderlich.

Schritte für den Einstieg

Ersetzen Sie zunächst den OpenAI-Schlüssel und das Hugging Face Token in der Datei server/configs/config.default.yaml durch Ihre Schlüssel. Alternativ können Sie sie in die Umgebungsvariablen OPENAI_API_KEY bzw. HUGGINGFACE_ACCESS_TOKEN einfügen.

Führen Sie den folgenden Befehl aus:

Für Server:

  1. Richten Sie die Python-Umgebung ein und installieren Sie die erforderlichen Abhängigkeiten.
<code># 设置环境cd serverconda create -n jarvis pythnotallow=3.8conda activate jarvisconda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidiapip install -r requirements.txt</code>
Nach dem Login kopieren
  1. Laden Sie das gewünschte Modell herunter.
<code># 下载模型。确保`git-lfs`已经安装。cd modelsbash download.sh # required when `inference_mode` is `local` or `hybrid`.</code>
Nach dem Login kopieren
  1. Führen Sie den Server aus
<code># 运行服务器cd ..python models_server.py --config configs/config.default.yaml # required when `inference_mode` is `local` or `hybrid`python awesome_chat.py --config configs/config.default.yaml --mode server # for text-davinci-003</code>
Nach dem Login kopieren

Jetzt können Sie auf die Dienste von Jarvis zugreifen, indem Sie HTTP-Anfragen an den Web-API-Endpunkt senden. Senden Sie eine Anfrage an:

  • /hugginggpt Endpoint und verwenden Sie die POST-Methode, um auf den gesamten Dienst zuzugreifen.
  • /tasks-Endpunkt, verwenden Sie die POST-Methode, um auf die Zwischenergebnisse von Stufe 1 zuzugreifen.
  • /results-Endpunkt: Verwenden Sie die POST-Methode, um auf die Zwischenergebnisse der Stufen 1–3 zuzugreifen.

Diese Anfragen sollten im JSON-Format vorliegen und eine Liste der im Namen des Benutzers eingegebenen Informationen enthalten.

Für das Web:

  1. Nachdem Sie die Anwendung awesome_chat.py im Servermodus gestartet haben, installieren Sie Node js und npm auf Ihrem Computer.
  2. Navigieren Sie zum Webverzeichnis und installieren Sie die folgenden Abhängigkeiten:
<code>cd webnpm installnpm run dev</code>
Nach dem Login kopieren
  1. Setzen Sie http://{LAN_IP_of_the_server}:{port}/ auf die HUGGINGGPT_BASE_URL von web/src/config/index.ts, falls Sie sich auf einem anderen befinden Maschine Führen Sie den Webclient aus.
  2. Wenn Sie die Videogenerierungsfunktion nutzen möchten, kompilieren Sie ffmpeg bitte manuell mit H.264.
<code># 可选:安装 ffmpeg# 这个命令需要在没有错误的情况下执行。LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/ffmpeg -i input.mp4 -vcodec libx264 output.mp4</code>
Nach dem Login kopieren
  1. Doppelklicken Sie auf das Einstellungssymbol, um zurück zu ChatGPT zu wechseln.

Für CLI:

Das Einrichten von Jarvis mithilfe der CLI ist sehr einfach. Führen Sie einfach den unten genannten Befehl aus:

<code>cd serverpython awesome_chat.py --config configs/config.default.yaml --mode cli</code>
Nach dem Login kopieren

Für Gradio:

Die Gradio-Demo wird auch auf Hugging Face Space gehostet. Sie können experimentieren, nachdem Sie OPENAI_API_KEY und HUGGINGFACE_ACCESS_TOKEN eingegeben haben.

So führen Sie es lokal aus:

  1. Installieren Sie die erforderlichen Abhängigkeiten, klonen Sie das Projekt-Repository von Hugging Face Space und navigieren Sie zum Projektverzeichnis.
  2. Starten Sie den Modellserver mit dem folgenden Befehl und starten Sie dann die Gradio-Demo:
<code>python models_server.py --config configs/config.gradio.yamlpython run_gradio_demo.py --config configs/config.gradio.yaml</code>
Nach dem Login kopieren
  1. Greifen Sie in Ihrem Browser unter http://localhost:7860 auf die Demo zu und testen Sie sie durch Eingabe verschiedener Eingaben.
  2. Optional können Sie die Demo auch als Docker-Image ausführen, indem Sie den folgenden Befehl ausführen:
<code>docker run -it -p 7860:7860 --platform=linux/amd64 registry.hf.space/microsoft-hugginggpt:latest python app.py</code>
Nach dem Login kopieren

HINWEIS: Wenn Sie Fragen haben, lesen Sie bitte das offizielle Github Repo (https://github.com/microsoft/JARVIS).

Abschließende Gedanken

HuggingGPT weist auch bestimmte Einschränkungen auf, die hier hervorgehoben werden müssen. Beispielsweise stellt die Effizienz des Systems einen großen Engpass dar, und HuggingGPT erfordert in allen zuvor genannten Phasen mehrere Interaktionen mit LLM. Diese Interaktionen können zu einer beeinträchtigten Benutzererfahrung und einer erhöhten Latenz führen. Ebenso ist die maximale Kontextlänge durch die Anzahl der zulässigen Token begrenzt. Ein weiteres Problem ist die Zuverlässigkeit des Systems, da LLM Eingabeaufforderungen möglicherweise falsch interpretiert und eine falsche Reihenfolge von Aufgaben erzeugt, was sich wiederum auf den gesamten Prozess auswirkt. Dennoch hat es großes Potenzial zur Lösung komplexer KI-Aufgaben und ist eine gute Weiterentwicklung für AGI. Freuen wir uns auf die Richtung, in die diese Forschung die Zukunft der KI lenken wird!

Das obige ist der detaillierte Inhalt vonHuggingGPT: Ein magisches Werkzeug für KI-Aufgaben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Methode wird verwendet, um Strings in Objekte in Vue.js umzuwandeln? Welche Methode wird verwendet, um Strings in Objekte in Vue.js umzuwandeln? Apr 07, 2025 pm 09:39 PM

Bei der Konvertierung von Zeichenfolgen in Objekte in Vue.js wird JSON.Parse () für Standard -JSON -Zeichenfolgen bevorzugt. Bei nicht standardmäßigen JSON-Zeichenfolgen kann die Zeichenfolge durch Verwendung regelmäßiger Ausdrücke verarbeitet und Methoden gemäß dem Format oder dekodierten URL-kodiert reduziert werden. Wählen Sie die entsprechende Methode gemäß dem String -Format aus und achten Sie auf Sicherheits- und Codierungsprobleme, um Fehler zu vermeiden.

Vue- und Element-UI-Kaskaden-Dropdown-Box V-Model-Bindung Vue- und Element-UI-Kaskaden-Dropdown-Box V-Model-Bindung Apr 07, 2025 pm 08:06 PM

Vue- und Element-UI-kaskadierte Dropdown-Boxen V-Model-Bindung gemeinsame Grubenpunkte: V-Model bindet ein Array, das die ausgewählten Werte auf jeder Ebene des kaskadierten Auswahlfelds darstellt, nicht auf einer Zeichenfolge; Der Anfangswert von ausgewählten Optionen muss ein leeres Array sein, nicht null oder undefiniert. Die dynamische Belastung von Daten erfordert die Verwendung asynchroner Programmierkenntnisse, um Datenaktualisierungen asynchron zu verarbeiten. Für riesige Datensätze sollten Leistungsoptimierungstechniken wie virtuelles Scrollen und fauler Laden in Betracht gezogen werden.

VUE.JS Wie kann man ein Array von String -Typ in ein Array von Objekten umwandeln? VUE.JS Wie kann man ein Array von String -Typ in ein Array von Objekten umwandeln? Apr 07, 2025 pm 09:36 PM

Zusammenfassung: Es gibt die folgenden Methoden zum Umwandeln von VUE.JS -String -Arrays in Objektarrays: Grundlegende Methode: Verwenden Sie die Kartenfunktion, um regelmäßige formatierte Daten zu entsprechen. Erweitertes Gameplay: Die Verwendung regulärer Ausdrücke kann komplexe Formate ausführen, müssen jedoch sorgfältig geschrieben und berücksichtigt werden. Leistungsoptimierung: In Betracht ziehen die große Datenmenge, asynchrone Operationen oder effiziente Datenverarbeitungsbibliotheken können verwendet werden. Best Practice: Clear Code -Stil, verwenden Sie sinnvolle variable Namen und Kommentare, um den Code präzise zu halten.

So stellen Sie die Zeitüberschreitung von Vue Axios fest So stellen Sie die Zeitüberschreitung von Vue Axios fest Apr 07, 2025 pm 10:03 PM

Um die Zeitüberschreitung für Vue Axios festzulegen, können wir eine Axios -Instanz erstellen und die Zeitleitungsoption angeben: in globalen Einstellungen: vue.Prototyp. $ Axios = axios.create ({Timeout: 5000}); In einer einzigen Anfrage: this. $ axios.get ('/api/user', {timeout: 10000}).

Laravels Geospatial: Optimierung interaktiver Karten und großen Datenmengen Laravels Geospatial: Optimierung interaktiver Karten und großen Datenmengen Apr 08, 2025 pm 12:24 PM

Verarbeiten Sie 7 Millionen Aufzeichnungen effizient und erstellen Sie interaktive Karten mit Geospatial -Technologie. In diesem Artikel wird untersucht, wie über 7 Millionen Datensätze mithilfe von Laravel und MySQL effizient verarbeitet und in interaktive Kartenvisualisierungen umgewandelt werden können. Erstes Herausforderungsprojektanforderungen: Mit 7 Millionen Datensätzen in der MySQL -Datenbank wertvolle Erkenntnisse extrahieren. Viele Menschen erwägen zunächst Programmiersprachen, aber ignorieren die Datenbank selbst: Kann sie den Anforderungen erfüllen? Ist Datenmigration oder strukturelle Anpassung erforderlich? Kann MySQL einer so großen Datenbelastung standhalten? Voranalyse: Schlüsselfilter und Eigenschaften müssen identifiziert werden. Nach der Analyse wurde festgestellt, dass nur wenige Attribute mit der Lösung zusammenhängen. Wir haben die Machbarkeit des Filters überprüft und einige Einschränkungen festgelegt, um die Suche zu optimieren. Kartensuche basierend auf der Stadt

Remote Senior Backend Engineers (Plattformen) benötigen Kreise Remote Senior Backend Engineers (Plattformen) benötigen Kreise Apr 08, 2025 pm 12:27 PM

Remote Senior Backend Engineer Job Vacant Company: Circle Standort: Remote-Büro-Jobtyp: Vollzeitgehalt: 130.000 bis 140.000 US-Dollar Stellenbeschreibung Nehmen Sie an der Forschung und Entwicklung von Mobilfunkanwendungen und öffentlichen API-bezogenen Funktionen, die den gesamten Lebenszyklus der Softwareentwicklung abdecken. Die Hauptaufgaben erledigen die Entwicklungsarbeit unabhängig von RubyonRails und arbeiten mit dem Front-End-Team von React/Redux/Relay zusammen. Erstellen Sie die Kernfunktionalität und -verbesserungen für Webanwendungen und arbeiten Sie eng mit Designer und Führung während des gesamten funktionalen Designprozesses zusammen. Fördern Sie positive Entwicklungsprozesse und priorisieren Sie die Iterationsgeschwindigkeit. Erfordert mehr als 6 Jahre komplexes Backend für Webanwendungen

Wie man MySQL löst, kann nicht gestartet werden Wie man MySQL löst, kann nicht gestartet werden Apr 08, 2025 pm 02:21 PM

Es gibt viele Gründe, warum MySQL Startup fehlschlägt und durch Überprüfung des Fehlerprotokolls diagnostiziert werden kann. Zu den allgemeinen Ursachen gehören Portkonflikte (prüfen Portbelegung und Änderung der Konfiguration), Berechtigungsprobleme (Überprüfen Sie den Dienst Ausführen von Benutzerberechtigungen), Konfigurationsdateifehler (Überprüfung der Parametereinstellungen), Datenverzeichniskorruption (Wiederherstellung von Daten oder Wiederaufbautabellenraum), InnoDB-Tabellenraumprobleme (prüfen IBDATA1-Dateien), Plug-in-Ladeversagen (Überprüfen Sie Fehlerprotokolle). Wenn Sie Probleme lösen, sollten Sie sie anhand des Fehlerprotokolls analysieren, die Hauptursache des Problems finden und die Gewohnheit entwickeln, Daten regelmäßig zu unterstützen, um Probleme zu verhindern und zu lösen.

So verwenden Sie MySQL nach der Installation So verwenden Sie MySQL nach der Installation Apr 08, 2025 am 11:48 AM

Der Artikel führt den Betrieb der MySQL -Datenbank vor. Zunächst müssen Sie einen MySQL -Client wie MySQLworkBench oder Befehlszeilen -Client installieren. 1. Verwenden Sie den Befehl mySQL-uroot-P, um eine Verbindung zum Server herzustellen und sich mit dem Stammkonto-Passwort anzumelden. 2. Verwenden Sie die Erstellung von Createdatabase, um eine Datenbank zu erstellen, und verwenden Sie eine Datenbank aus. 3.. Verwenden Sie CreateTable, um eine Tabelle zu erstellen, Felder und Datentypen zu definieren. 4. Verwenden Sie InsertInto, um Daten einzulegen, Daten abzufragen, Daten nach Aktualisierung zu aktualisieren und Daten nach Löschen zu löschen. Nur indem Sie diese Schritte beherrschen, lernen, mit gemeinsamen Problemen umzugehen und die Datenbankleistung zu optimieren, können Sie MySQL effizient verwenden.

See all articles