대규모 언어 모델을 사용하여 다양한 글쓰기 변형을 탐색하고 구성하기 위한 연구 프로토타입입니다. 이 CHI2024 논문에서 프로젝트에 대해 자세히 알아보세요.
이 시스템에 대한 공로를 인정하려면 CHI'24 논문 "ABScribe: Rapid Exploration & Organisation 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 및 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(대형 언어 모델)은 쓰기 변형 생성을 단순화할 수 있습니다. 그러나 현재 인터페이스는 다양한 변형을 동시에 고려하는 데 어려움을 겪습니다. 텍스트를 덮어쓰지 않고 새 버전을 만드는 것은 어려울 수 있으며, 순차적으로 붙여넣으면 문서가 복잡해지고 작업량이 증가하며 작성자의 흐름이 방해될 수 있습니다. 이 문제를 해결하기 위해 우리는 인간-AI 공동 쓰기 작업에서 쓰기 변형을 신속하면서도 시각적으로 구조적으로 탐색할 수 있도록 지원하는 인터페이스인 ABScribe를 제시합니다. ABScribe를 사용하면 사용자는 재사용 가능한 버튼으로 자동 변환되는 LLM 프롬프트를 사용하여 다양한 변형을 신속하게 생성할 수 있습니다. 상황에 맞는 도구 모음에서 마우스 오버 상호 작용을 사용하여 신속한 내부 비교를 위해 변형이 텍스트 세그먼트 내에 인접하게 저장됩니다. 12명의 작가를 대상으로 한 사용자 연구에 따르면 ABScribe는 인기 있는 기준 워크플로에 비해 작업 부하를 크게 줄이고(d = 1.20, p < 0.001) 개정 프로세스에 대한 사용자 인식을 향상시키며(d = 2.41, p < 0.001) 다음에 대한 통찰력을 제공합니다. 작가가 LLM을 사용하여 변형을 탐색하는 방법.
ABScribe를 시작하려면 ABScribe.ca를 방문하거나 CONTRIBUTING.md 파일의 지침에 따라 로컬로 설정하세요.
프로젝트는 다음 디렉터리로 구성됩니다.
/abscribe_backend
백엔드 애플리케이션은 문서, 청크 및 버전을 관리하기 위한 도구 세트를 제공합니다. 이 응용 프로그램을 사용하면 사용자는 서식 있는 텍스트 콘텐츠가 포함된 문서를 만들고 조작할 수 있습니다. 백엔드는 Python 및 MongoDB를 사용하여 구축되었으며 데이터베이스 작업에 MongoEngine ODM을 활용합니다.
/abscribe_backend/models
모델 디렉터리에는 애플리케이션에 사용되는 다음 데이터 모델이 포함되어 있습니다.
Document
: 문서 메타데이터 및 콘텐츠가 포함된 청크 목록입니다.Chunk
: 문서 내의 실제 내용입니다.Version
: 청크 내 콘텐츠의 다양한 버전입니다.Feedback
: 문서의 각 부분에 대한 의견 및 피드백입니다.Recipe
: 문서 내의 내용을 수정하기 위한 일련의 지침입니다. /abscribe_backend/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
: 사용자 상호작용을 위한 기본 인터페이스입니다. Editor와 ABToolbar 구성 요소를 결합합니다.
이 프로젝트에 기여하는 방법에 대한 지침은 기여 파일을 참조하세요.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.