한국GPT협회
home
기관 소개
home

구글 시트에 ChatGPT 직접 연동하기

태그
생성 일시
2025/02/03 02:23

구글 앱스스크립트를 활용해 구글 시트에 ChatGPT 불러오는 법

알고 계신 분도 많으시겠지만 구글 시트에서도 ChatGPT를 불러와 일을 시킬 수 있습니다.
엑셀이나 구글 시트와 같은 스프레드시트는 행과 열로 구조화 되어있고
그래서 우리가 내용을 항목별로 정리하고, 더하고 빼고, 문장을 합치는 작업들을 편하게 할 수 있습니다.
여기에 ChatGPT까지 더해지면 더욱 강력해지죠.
특정 열에 글을 입력해놓고 GPT에게 요약, 핵심 추출, 반대 의견 작성, 고객 감정 분석 등을 시킬 수 있습니다.

간단하게 다시 정리해 드립니다. 아래 3가지만 기억해주세요.

1. 구글 시트에 ChatGPT를 연동시킬 수 있는 프로그램을 누군가 만들어줬고,
우리는 '부가기능'을 선택해 설치하고 사용하기만 하면 된다.
구글 시트에서 '확장 프로그램 > 부가기능 > 부가기능 설치하기 > GPT for Sheets and Docs'를 검색하여 설치한다
2. GPT for Sheets and Docs 설정에서 OpenAI API Key를 입력해줍니다.
이건 platform.openai.com에서 발급받은 나의 API Key를 입력하면 됩니다.
3. 구글 시트에서 'GPT'라는 이름의 함수를 사용한다
'=sum( )', '=average( )' 함수를 사용했듯이 이제 '=gpt( )'라는 함수가 생깁니다.
괄호 안에 질문 프롬프트를 넣어주면 되고, 그럼 'GPT for Sheets and Docs'라는 프로그램이
이 질문 프롬프트를 OpenAI 서버에 보내고 답변을 받아와서 내가 함수를 입력한 셀에 채워줍니다.
이 과정에서 OpenAI는 저의 API Key를 확인할 것이고, 제 계정에 외상값을 달아놓을겁니다.
월말에 한번에 카드로 갚으면 됩니다.
그래서 이제 우리는 고객 리뷰 데이터를 구글 시트에 주루룩 입력하고,
간편하게 '=gpt("이 글을 읽고 customer sentiment를 결정해줘. 반드시 긍정, 중립, 부정 중에서 딱 하나로 골라줘", A2)'라고 입력해주면 됩니다.
이걸 아래로 긁거나 복사-붙여넣기를 하면 내가 분석해야 하는 고객 댓글의 개수는 상관없죠.
순식간에 끝낼 수 있습니다.
기본 업무는 이 자동화된 GPT가 수행을 하고, 사람은 잘 판단을 해서 구글 시트에서 필요 데이터만 골라내면 됩니다.
'부정적인 리뷰'만 필터링 하거나, 부정/긍정 비율을 구하거나, 전월대비 증감 등의 데이터를 뽑아보면 되는거죠.

하지만 안타까운 소식이 있습니다.

너무나도 아쉽지만 이제 더 이상 무료가 아닙니다.

'GPT for sheets and docs'라는 확장 프로그램은 무료로 서비스를 해줬고
우리는 오픈 AI API 비용만 내면서 쓸 수 있었기 때문에 아주 매력적이었는데,
드디어 이 부분을 막아버리고 유료화로 전환했습니다.
저도 데이터 대량 처리할 일이 있어서 접속했다가 깜짝 놀랐습니다.
급하게 분석이 필요한 상황이어서 결제하고 쓸 수 밖에 없었습니다.
이렇게 결제 메뉴가 생겨버렸어요 ㅜㅠ
결제 단위도 불편합니다. 쓴 만큼 내는 것도 아니고, 미리 저 단위로 사놓고 써야 합니다.
결제를 하면 이렇게 우측 하단에 저의 잔고가 나옵니다.
ChatGPT에게 질문을 하고 답변을 받을 때마다 저 금액이 줄어듭니다.
어떻게 UI를 이렇게 만들었을까요.
미리 선불로 사야 하는 것도 기분이 안 좋고, 사용할 때 마다 내 돈이 깎여 나가는 경험도 아주 별로입니다.
이 회사는 개발은 잘 하는데 UI/UX가 개선이 필요하군요.
그런데 우리가 누구입니까?
이제 좀 불편하다 싶으면 ChatGPT와 힘을 합쳐서 해결해버리는 AI 일잘러 아닙니까?
그래서 구글 시트에서 ChatGPT를 불러오는 함수를 직접 만들어보기로 했습니다. 두둥~

■ 구글 앱스스크립트(Google Apps Script)

구글 시트에는 '구글 앱스스크립트(Google Apps Script)'라는 게 있습니다.
이걸 잘 만들면 구글 시트에서 이메일 보내기 자동화, 보고서 생성 자동화 등이 가능하다고 합니다.
뭔가 엑셀 VBA하고 비슷한 느낌 아닌가요?
코딩이라는게 옛날부터 있었고 잘하는 분들도 많기 때문에 얼마든지 배울 수 있지만,
그래도 막상 혼자 공부하려면 너무 어렵죠?
바쁜 개발자 붙잡고 도와달라고 가르쳐달라고 부탁하기도 좀 민망하죠.
이제 ChatGPT가 있으니 언제든지 궁금하면 물어보고 가르쳐달라 하고 같이 공부하면 되니까 너무 좋습니다.
저는 여기에서 GPT와 AI의 의미를 더 찾습니다.
GPT가 엄청난 성능을 보여주며 인간의 능력을 뛰어넘고 급기야 대체를 해버린다는 과감한 상상은 나중에 하기로 하고,
지금 당장 내가 하는 공부와 업무에 적당한 조언자, 동료, 멘토, 동반자 등이되어주니까 너무 든든하고 고맙습니다.
여러분도 이런 친구 하나쯤 있으면 좋겠다고 늘 생각하셨죠?
아는 것도 많고, 친절하고, 물어보면 항상 열심히 도와주는 그런 친구 말이에요. 딱 ChatGPT 같은 친구 말이죠 ^^

앱스스크립트에서 ChatGPT 호출 함수를 만들어보기로 합니다.

그냥 물어봤을 뿐인데 유능하고 성격 급한 이 친구는 바로 코드를 토해냅니다.
자, 이제 구글 앱스스크립트로 가볼까요.
구글 시트에서 '확장 프로그램 > Apps Script'에 있습니다.
눌러보면 아래 화면이 열립니다.
제가 비록 코알못이지만, 그래도 지금까지 꾸준히 공부한 덕분에 이제 이런 화면이 낯설지는 않네요 ^^
하나씩 버튼을 눌러보겠습니다
작성된 코드를 실행하는 버튼입니다.
처음 실행하면 권한을 달라고 합니다. 권한 검토를 눌러줍니다.
다음 단계에서 본인 구글 계정을 선택하면 또 다른 경고창이 뜹니다.
여기서 '고급' 눌러주고 이걸 그래도 사용하겠다고 클릭해줍니다.
진짜 할거냐고 또 물어보네요. 안전제일 구글!
여기까지 오셨다면 이제 실행이 됩니다.
실행 결과는 오류입니다. API Key가 잘못됐다고 하네요.
그렇습니다. 제 API Key를 넣어주지 않았습니다.
넣어주고 다시 실행해 보겠습니다.
이번에도 오류가 났습니다. 오류 내용은 바뀌었네요.
그렇다면 API Key는 이제 잘 적용이 되었다는 겁니다..
이번에는 'The model `text-davinci-002` has been deprecated'라고 떴습니다.
이렇게 오류가 났을 때는 어떻게 해야 하는지, 핵심 노하우를 아시죠?
"오류가 발생했네요. GPT가 잘못 알려준건가?

당황하지 마세요! 이 오류마저 GPT가 해결할 겁니다.

그대로 복사해서 GPT에게 다시 가져다줍니다. 오류 났다고 따지지 않아도 됩니다.
그대로 복붙 해주면 알아서 반성하고 오류 이유도 설명하고 코드 수정도 해줍니다."
ChatGPT에게 물어보니 모델명을 최신 모델로 반영하라고 합니다.
얘기 듣고 GPT Models 사이트로 가봅니다. 링크는 잘 열리네요.
이 중에서 골라서 쓰면 되겠습니다.
테스트해서 개발하는 과정에서는 gpt-3.5-turbo를 쓰면 되겠고요(GPT-4는 단가가 비싸니까요).
나중에 개발이 완료되면 필요에 따라 세부 모델을 선택하면 되겠습니다.
GPT 모델을 반영하여 코드를 고쳤습니다.
var response = UrlFetchApp.fetch('https://api.openai.com/v1/engines/gpt-3.5-turbo/completions', options);
실행하면 과연?
네, 또 오류입니다
또 ChatGPT와 대화하며 이 문제를 해결해봅니다.
OpenAI도 친절해서 어떤 오류인지 잘 설명을 해주고 있고,
그걸 받아서 ChatGPT에게 가져다주니 오류에 대한 해설도 해주고 코드 수정도 해주네요.
코드 수정하면서 주석 달아준거 보이시나요?
'v1/completions' 대신 'v1/chat/completions' 엔드포인트 사용
이렇게 달아줬네요. 참 친절하고 자상한 멘토입니다.
그리고 저 아래에 뜨는 "실행이 시작됨"과 "실행이 완료됨"이 중요하죠.
크~ 감동적인 순간입니다!
실행이 완료되었으니 이제 '=askChatGPT( )'라는 함수가 생겼을 겁니다.
구글 시트로 돌아가서 사용해 보겠습니다.
자~ 이제 우리는 다시 '무료' GPT for Google Sheets를 가지게 되었네요.
=askChatGPT("이 고객 후기에 대해서 감정분석을 해줘. 긍정/중립/부정 중 단어를 선택해줘. 고객 후기:"&A28)
이런 함수를 통해서 대량 데이터의 고객감정분석을 자동화 할 수 있습니다.
자~ 오늘의 미션 성공!
꼭 기억해야 할 포인트를 정리해봅니다.
1. 뭔가 막히는 업무가 있다면 ChatGPT와 함께 공부하고 방법을 찾아보고 실행을 해보자.
2. ChatGPT는 코딩을 참 잘한다. 내가 코딩 할 줄 몰라도 네이버 뉴스 크롤링, 챗봇 만들기, 구글 시트 자동화 하기 등이 모두 가능하다.
3. ChatGPT와 함께 일하는 과정도 연습과 훈련이 된다. 하다보면 점점 빨라지고 또 무엇이 가능할지가 보인다. 많이 써봐야겠다.
여러분도 슬기로운 AI 생활 하셔요~