用于使用大型语言模型探索和组织多种写作变体的研究原型。请阅读这篇 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 许可证的许可。有关详细信息,请参阅许可证文件。