서론: 인공지능의 힘을 빌려 글을 요약하다
오늘은 Google의 PaLM API와 Google Apps Script를 사용하여 Google Docs 문서를 자동으로 요약하는 방법을 탐구했습니다. 이 기술은 한계가 있지만, 중학교 국어 교사인 저에게 새로운 교육 도구를 제공합니다.
학습 경험: PaLM API와 Apps Script의 만남
PaLM API는 Google AI Studio에서 제공하는 강력한 언어 모델입니다. 이를 Google Docs와 연동하여 문서의 내용을 요약하는 스크립트를 작성해 보았습니다.
현재 Gemini Pro의 가격 정책은 분당 60쿼리 요청까지 무료입니다.
P

하지만, 우리 글에서 살펴볼 내용은 PaLM API입니다. PaLM API에 대해서는 따로 가격 정책이 보이지 않습니다.
PaLM API 획득
https://makersuite.google.com/ 에 접속하면 API키를 획득할 수 있습니다.

Google Docs에서 Apps Script에 코드 적용하기
구글 독스에 접속하여, 앱스크립트에서 아래의 코드를 입력합니다.
오늘의 코드: Google Docs 자동 요약 스크립트function onOpen(){
var ui = DocumentApp.getUi();
ui.createMenu('Custom Menu')
.addItem('Summarize Selected Paragraph', 'summarizeSelectedParagraph')
.addToUi();
}
function DocSummary(paragraph){
var apiKey = "XXXXXXXXX";
var apiUrl = "https://generativelanguage.googleapis.com/v1beta2/models/text-bison-001:generateText";
var url = apiUrl + "?key=" + apiKey;
var headers = {
"Content-Type": "application/json"
}
var prompt = {
'text': "Please generate a short summary for :\n" + paragraph
}
var requestBody = {
"prompt": prompt
}
var options = {
"method": "POST",
"headers": headers,
"payload": JSON.stringify(requestBody)
}
var response = UrlFetchApp.fetch(url,options);
var data = JSON.parse(response.getContentText());
return data.candidates[0].output;
}
function summarizeSelectedParagraph(){
var selection = DocumentApp.getActiveDocument().getSelection();
var text = selection.getRangeElements()[0].getElement().getText();
var summary = DocSummary(text);
DocumentApp.getActiveDocument().getBody().appendParagraph("Summary");
DocumentApp.getActiveDocument().getBody().appendParagraph(summary)
}
이 코드는 Google Docs에서 선택한 텍스트를 PaLM API를 사용하여 요약하고, 그 결과를 문서에 추가합니다.
저장하고 실행하게 되면 권한에 대해 묻는 팝업이 뜹니다.


기형아에 대한 글을 넣고, 글을 선택한 다음 새롭게 생긴 메뉴 Custom Menu를 클릭하면 Summarize Selected Paragraph를 만날 수 있습니다.


아쉽게도 요청 언어가 영어가 아니라 되지 않는 것 같습니다.

글을 영어로 바꾸고 진행해보니 잘 되었습니다.

개인적 성찰: 교육과 기술의 조화
이 기술은 학생들이 글을 더 잘 이해하고 요약하는 데 도움을 줄 수 있습니다. 하지만 현재는 영어만 지원되어, 한국어 교육에는 직접 적용하기 어렵다는 한계가 있습니다. 영어 교사가 아니라는게 이렇게 아쉬울 때가 많습니다.
마무리 생각:
오늘 배운 기술은 비록 현재 한국어에는 적용되지 않지만, 교육 분야에서 인공지능의 잠재력을 보여주는 좋은 예입니다. 앞으로 이 기술이 다양한 언어를 지원하게 되길 기대합니다.
이 블로그 글은 교육과 기술의 만남을 탐구하고, 이를 통해 더 나은 교육 방법을 모색하는 여정을 담았습니다. 독자 여러분의 생각과 경험도 공유해주세요!
'구글 앱스크립트 일기' 카테고리의 다른 글
Gemini와 Apps Script를 활용하여 Google Docs에서 글 요약하기 (0) | 2024.01.21 |
---|---|
앱스크립트를 활용해 구글 시트의 학생 수상 목록으로 상장 자동생성 (0) | 2024.01.21 |
구글 폼 응답 제한 걸기(by Apps Script) (0) | 2024.01.15 |