Prototipe penelitian untuk mengeksplorasi dan mengatur berbagai variasi tulisan dengan Model Bahasa Besar. Baca lebih lanjut tentang proyek ini di makalah CHI2024 ini.
Untuk menghargai sistem ini, harap kutip makalah CHI'24 kami, "ABScribe: Eksplorasi Cepat & Pengorganisasian Berbagai Variasi Penulisan dalam Tugas Penulisan Bersama Manusia-AI menggunakan Model Bahasa Besar": Mohi Reza, Nathan Laundry, Ilya Musabirov, Peter Dushniku, Zhi Yuan "Michael" Yu, Kashish Mittal, Tovi Grossman, Michael Liut, Anastasia Kuzminykh dan 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 }
}
Mengeksplorasi ide-ide alternatif dengan menulis ulang teks merupakan bagian integral dari proses penulisan. Model bahasa besar (LLM) yang canggih dapat menyederhanakan pembuatan variasi penulisan. Namun, antarmuka saat ini menimbulkan tantangan untuk mempertimbangkan beberapa variasi secara bersamaan: membuat versi baru tanpa menimpa teks bisa jadi sulit, dan menempelkannya secara berurutan dapat mengacaukan dokumen, menambah beban kerja, dan mengganggu alur penulis. Untuk mengatasi hal ini, kami menghadirkan ABScribe, sebuah antarmuka yang mendukung eksplorasi variasi penulisan yang cepat namun terstruktur secara visual dalam tugas penulisan bersama manusia-AI. Dengan ABScribe, pengguna dapat dengan cepat membuat beberapa variasi menggunakan perintah LLM, yang secara otomatis diubah menjadi tombol yang dapat digunakan kembali. Variasi disimpan berdekatan dalam segmen teks untuk perbandingan cepat di tempat menggunakan interaksi mouse pada toolbar konteks. Studi pengguna kami dengan 12 penulis menunjukkan bahwa ABScribe secara signifikan mengurangi beban kerja tugas (d = 1,20, p <0,001), meningkatkan persepsi pengguna terhadap proses revisi (d = 2,41, p <0,001) dibandingkan dengan alur kerja dasar yang populer, dan memberikan wawasan tentang bagaimana penulis mengeksplorasi variasi menggunakan LLM.
Untuk memulai ABScribe, kunjungi ABScribe.ca atau atur secara lokal dengan mengikuti instruksi di file CONTRIBUTING.md.
Proyek ini disusun ke dalam direktori berikut:
/abscribe_backend
Aplikasi backend menyediakan seperangkat alat untuk mengelola dokumen, potongan, dan versi. Aplikasi ini memungkinkan pengguna untuk membuat dan memanipulasi dokumen yang berisi konten teks kaya. Backend dibuat menggunakan Python dan MongoDB, dan memanfaatkan ODM MongoEngine untuk operasi database.
/abscribe_backend/models
Direktori model berisi model data berikut yang digunakan dalam aplikasi:
Document
: Metadata dokumen dan daftar potongan yang berisi konten.Chunk
: Konten aktual dalam dokumen.Version
: Versi konten yang berbeda dalam satu bagian.Feedback
: Komentar dan umpan balik pada setiap bagian dokumen.Recipe
: Serangkaian instruksi untuk memodifikasi konten dalam dokumen. /abscribe_backend/services
Direktori layanan berisi layanan berikut yang digunakan dalam aplikasi:
document_service.py
: Menyediakan operasi CRUD untuk dokumen.chunk_service.py
: Menyediakan operasi CRUD untuk potongan dalam dokumen.version_service.py
: Menyediakan operasi CRUD untuk versi dalam satu potongan.recipe_service.py
: Menyediakan operasi CRUD untuk resep.feedback_item_*_service.py
: Menyediakan operasi CRUD untuk memberi umpan balik pada berbagai komponen dokumen. /abscribe_backend/tests
Direktori tes berisi rangkaian pengujian untuk aplikasi backend
/abscribe_backend/app.py
Berisi semua rute dan titik akhir API yang dijelaskan dalam layanan untuk aplikasi.
/abscribe_frontend
Aplikasi frontend menyediakan antarmuka pengeditan bebas kekacauan yang didukung oleh Model Bahasa Besar.
/abscribe_frontend/src/services
Fungsi untuk berinteraksi dengan API backend.
/abscribe_frontend/src/components
Komponen yang dapat digunakan kembali untuk aplikasi frontend. Ini adalah komponen yang saat ini digunakan dalam aplikasi:
PopupToolbar.jsx
: Komponen toolbar yang memfasilitasi interaksi dengan dokumen. Utilitas editor teks utama seperti pemformatan, impor, dll.
Editor.jsx
: Komponen editor teks kaya untuk membuat dan mengedit dokumen.
VariationSidebar.jsx
: Komponen sidebar untuk menyimpan dan mengelola variasi penulisan.
AIModifiers.jsx
: Komponen sidebar untuk mengelola dan menerapkan penyesuaian/resep LLM.
DocumentContainer.jsx
: Antarmuka utama untuk interaksi pengguna. Menggabungkan komponen Editor dan ABToolbar.
Silakan lihat file kontribusi untuk panduan tentang cara berkontribusi pada proyek ini.
Proyek ini dilisensikan di bawah Lisensi MIT. Lihat file LISENSI untuk detailnya.