用於使用大型語言模型探索和組織多種寫作變體的研究原型。請閱讀這篇 CHI2024 論文,以了解有關該專案的更多資訊。
要讚揚該系統,請引用我們的CHI'24 論文“ABScribe:使用大型語言模型在人類與人工智能共同寫作任務中快速探索和組織多種寫作變體”:Mohi Reza、Nathan Laundry、Ilya Musabirov、Peter Dushniku、於志遠、Kashish Mittal、Tovi Grossman、Michael Liut、Anastasia Kuzminykh 和 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 }
}
透過重寫文本來探索替代想法是寫作過程中不可或缺的一部分。最先進的大型語言模型 (LLM) 可以簡化編寫變體的生成。然而,目前的介面對同時考慮多種變體提出了挑戰:在不覆蓋文字的情況下創建新版本可能很困難,並且按順序貼上它們可能會使文件變得混亂,增加工作量並擾亂編寫者的流程。為了解決這個問題,我們推出了 ABScribe,這是一個介面,支援快速且視覺化地結構化探索人類與人工智慧共同寫作任務中的寫作變化。透過 ABScribe,使用者可以使用 LLM 提示快速產生多種變體,這些提示會自動轉換為可重複使用的按鈕。變體相鄰儲存在文字段內,以便使用上下文工具列上的滑鼠懸停互動進行快速就地比較。我們對12 位作者進行的使用者研究表明,與流行的基準工作流程相比,ABScribe 顯著減少了任務工作量(d = 1.20,p < 0.001),增強了使用者對修訂過程的感知(d = 2.41 ,p < 0.001),並提供了以下見解:作家如何利用法學碩士探索變化。
若要開始使用 ABScribe,請造訪 ABScribe.ca 或依照 CONTRIBUTING.md 檔案中的說明進行本機設定。
該項目被組織到以下目錄:
/abscribe_backend
後端應用程式提供了一組用於管理文件、區塊和版本的工具。該應用程式允許使用者建立和操作包含富文本內容的文件。後端使用Python和MongoDB構建,並利用MongoEngine ODM進行資料庫操作。
/abscribe_backend/models
models 目錄包含應用程式中使用的以下資料模型:
Document
:文檔元資料和包含內容的區塊清單。Chunk
:文檔中的實際內容。Version
:區塊中內容的不同版本。Feedback
:對文件各部分的評論和回饋。Recipe
:一組用於修改文件內容的指令。 /abscribe_backend/services
services 目錄包含應用程式中使用的以下服務:
document_service.py
:提供文件的CRUD操作。chunk_service.py
:為文件中的區塊提供 CRUD 操作。version_service.py
:為區塊內的版本提供 CRUD 操作。recipe_service.py
:為食譜提供CRUD作業。feedback_item_*_service.py
:提供 CRUD 操作以回饋文件的各個元件。 /abscribe_backend/tests
測試目錄包含後端應用程式的測試套件
/abscribe_backend/app.py
包含應用程式服務中所述的所有路由和 API 端點。
/abscribe_frontend
前端應用程式提供了由大型語言模型支援的整潔編輯介面。
/abscribe_frontend/src/services
與後端API交互作用的函數。
/abscribe_frontend/src/components
前端應用程式的可重複使用元件。這些是應用程式中目前使用的元件:
PopupToolbar.jsx
:促進與文件互動的工具列元件。主要文字編輯器實用程序,例如格式化、匯入等。
Editor.jsx
:用於建立和編輯文件的富文本編輯器元件。
VariationSidebar.jsx
:用於儲存和管理書寫變體的側邊欄元件。
AIModifiers.jsx
:用於管理和應用 LLM 調整/配方的側邊欄元件。
DocumentContainer.jsx
:使用者互動的主介面。組合了編輯器和 ABToolbar 組件。
請參閱貢獻文件,以了解如何為本專案做出貢獻的指南。
該項目已獲得 MIT 許可證的許可。有關詳細信息,請參閱許可證文件。