Ein Forschungsprototyp zur Erforschung und Organisation mehrerer Schreibvarianten mit großen Sprachmodellen. Lesen Sie mehr über das Projekt in diesem CHI2024-Papier.
Um dieses System zu würdigen, zitieren Sie bitte unser CHI'24-Papier „ABScribe: Rapid Exploration & Organization of Multiple Writing Variations in Human-AI Co-Writing Tasks using Large Language Models“: Mohi Reza, Nathan Laundry, Ilya Musabirov, Peter Dushniku, Zhi Yuan „Michael“ Yu, Kashish Mittal, Tovi Grossman, Michael Liut, Anastasia Kuzminykh und Joseph Jay Williams. 2024
@inproceedings { reza2024abscribe ,
title = { ABScribe: Rapid Exploration & Organization of Multiple Writing Variations in Human-AI Co-Writing Tasks using Large Language Models } ,
author = { Mohi Reza, Nathan Laundry, Ilya Musabirov, Peter Dushniku, Zhi Yuan "Michael" Yu, Kashish Mittal, Tovi Grossman, Michael Liut, Anastasia Kuzminykh, Joseph Jay Williams } ,
booktitle = { Proceedings of the 2024 CHI Conference on Human Factors in Computing Systems } ,
pages = { 1-18 } ,
organization = { Association for Computing Machinery } ,
doi = { https://doi.org/10.1145/3613904.3641899 } ,
year = { 2024 }
}
Das Erkunden alternativer Ideen durch Umschreiben von Text ist ein wesentlicher Bestandteil des Schreibprozesses. Hochmoderne große Sprachmodelle (LLMs) können die Generierung von Schreibvarianten vereinfachen. Aktuelle Schnittstellen stellen jedoch eine Herausforderung für die gleichzeitige Berücksichtigung mehrerer Variationen dar: Das Erstellen neuer Versionen ohne Überschreiben von Text kann schwierig sein, und das sequenzielle Einfügen kann die Dokumente überladen, die Arbeitsbelastung erhöhen und den Schreibfluss stören. Um dieses Problem anzugehen, stellen wir ABScribe vor, eine Schnittstelle, die eine schnelle und dennoch visuell strukturierte Erkundung von Schreibvarianten bei Co-Writing-Aufgaben zwischen Mensch und KI unterstützt. Mit ABScribe können Benutzer mithilfe von LLM-Eingabeaufforderungen schnell mehrere Variationen erstellen, die automatisch in wiederverwendbare Schaltflächen umgewandelt werden. Variationen werden nebeneinander in Textsegmenten gespeichert, um mithilfe von Mouseover-Interaktionen auf einer Kontextsymbolleiste schnelle direkte Vergleiche zu ermöglichen. Unsere Benutzerstudie mit 12 Autoren zeigt, dass ABScribe die Aufgabenarbeitsbelastung erheblich reduziert (d = 1,20, p < 0,001), die Benutzerwahrnehmung des Überarbeitungsprozesses (d = 2,41, p < 0,001) im Vergleich zu einem beliebten Basis-Workflow verbessert und Einblicke in die Arbeit bietet wie Autoren Variationen mithilfe von LLMs erkunden.
Um mit ABScribe zu beginnen, besuchen Sie ABScribe.ca oder richten Sie es lokal ein, indem Sie den Anweisungen in der Datei CONTRIBUTING.md folgen.
Das Projekt ist in die folgenden Verzeichnisse unterteilt:
/abscribe_backend
Die Backend-Anwendung bietet eine Reihe von Tools zum Verwalten von Dokumenten, Blöcken und Versionen. Mit der Anwendung können Benutzer Dokumente erstellen und bearbeiten, die Rich-Text-Inhalte enthalten. Das Backend wird mit Python und MongoDB erstellt und nutzt das MongoEngine ODM für Datenbankoperationen.
/abscribe_backend/models
Das Modellverzeichnis enthält die folgenden in der Anwendung verwendeten Datenmodelle:
Document
: Dokumentmetadaten und eine Liste von Blöcken mit Inhalten.Chunk
: Tatsächlicher Inhalt innerhalb des Dokuments.Version
: Die verschiedenen Versionen des Inhalts innerhalb eines Blocks.Feedback
: Kommentare und Feedback zu jedem Teil des Dokuments.Recipe
: Eine Reihe von Anweisungen zum Ändern des Inhalts innerhalb eines Dokuments. /abscribe_backend/services
Das Diensteverzeichnis enthält die folgenden in der Anwendung verwendeten Dienste:
document_service.py
: Stellt CRUD-Operationen für Dokumente bereit.chunk_service.py
: Stellt CRUD-Operationen für Chunks innerhalb eines Dokuments bereit.version_service.py
: Stellt CRUD-Operationen für Versionen innerhalb eines Blocks bereit.recipe_service.py
: Stellt CRUD-Operationen für Rezepte bereit.feedback_item_*_service.py
: Stellt CRUD-Operationen für Feedback zu den verschiedenen Komponenten eines Dokuments bereit. /abscribe_backend/tests
Das Testverzeichnis enthält die Testsuite für die Backend-Anwendung
/abscribe_backend/app.py
Enthält alle in den Diensten für die Anwendung beschriebenen Routen und API-Endpunkte.
/abscribe_frontend
Die Frontend-Anwendung bietet eine übersichtliche Bearbeitungsoberfläche, die auf Large Language Models basiert.
/abscribe_frontend/src/services
Funktionen zur Interaktion mit der Backend-API.
/abscribe_frontend/src/components
Wiederverwendbare Komponenten für die Frontend-Anwendung. Dies sind die Komponenten, die derzeit in der Anwendung verwendet werden:
PopupToolbar.jsx
: Symbolleistenkomponente, die die Interaktion mit dem Dokument erleichtert. Wichtigste Texteditor-Dienstprogramme wie Formatierung, Import usw.
Editor.jsx
: Rich-Text-Editor-Komponente zum Erstellen und Bearbeiten von Dokumenten.
VariationSidebar.jsx
: Sidebar-Komponente zum Speichern und Verwalten von Schreibvarianten.
AIModifiers.jsx
: Seitenleistenkomponente zum Verwalten und Anwenden von LLM-Anpassungen/Rezepten.
DocumentContainer.jsx
: Die Hauptschnittstelle für die Benutzerinteraktion. Kombiniert die Editor- und ABToolbar-Komponenten.
Richtlinien für die Mitwirkung an diesem Projekt finden Sie in der Beitragsdatei.
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Einzelheiten finden Sie in der LICENSE-Datei.