스프레스시트(엑셀, 구글시트)에 custum prompt 입력하기

소개

열 하나씩 직접 GEMS에 입력하여 판독지 내용 수정하는 과정을 엑셀 VBA 코드를 통해 gemini를 호출하여 자동화한다.

gemini API를 통해서 GEMS를 호출하는 것은 불가능하다. 일반 gemini에 custom prompt 설정함으로써 GEMS와 동일한 결과를 얻고자 하였다.

진행 방법

어떤 도구를 사용했고, 어떻게 활용하셨나요?

1.엑셀의 VBA 코드 -> 실패

(1)custom prompt를 미리 메모장에 준비하였다.

한국어 문자 메시지 스크린샷

(2)위 custom prompt를 VBA 코드로 변환해달라고 gemini에게 요청

한국어로 된 문자 메시지의 스크린샷

(3)API 키 생성

(4)엑셀 VBA에 gemini가 생성한 코드를 입력하고 실행

여러 오류가 발생하면서 실패함.
1)models/gemini-1.5-flash is not found for API version
gemini는 gemini-1.5-flash를 이용하도록 코드를 짜주었는데, 알고보니 현재는 gemini에서 1.5-flash 버전을 더 지원해주지 않음.
-> 현재 지원하는 버전으로 변경

2)429(Too Many Requests)할당량 초과(너무 빠름).
이 오류는 한마디로 "너무 짧은 시간 내에 너무 많은 요청을 보냈다"는 뜻입니다.
-> gemini가 코드에 강제 휴식시간(sleep)을 넣거나, 유료API를 사용하라는 대처법을 알려줌.
강제 휴식시간을 넣어서 코드를 수정했음에도 429 오류는 반복해서 발생함.
-> 이럴 바엔 구글시트를 사용해보자는 생각이 들었음.
유료API를 사용하고 싶지는 않았고, VBA에 프롬프트를 길게 넣는게 안정적이지 않다는 생각.


2.구글시트 첫 사용기 -> 성공
(1)구글시트에서 custom prompt를 입력한 gemini 호출방법 문의

한국어 단어가 적힌 페이지

스터디장님께서 여러번 추천해주셨던 Apps Script를 써보고 싶었음. 2번으로 결정.

(2)API 키 입력
구글 생태계에서는 API키를 스크립스 속성값으로 설정할 수 있다. 구지 코드에 넣을 필요가 없어 좋았다.

(3)시스템 프롬프트 설정
아래와 같이 요청했고, 알려준 값을 앱스 스크립트의 SYSTEM_PROMPT 변수 자리에 넣음.

한국어 문자 메시지 스크린샷

(4)오류: models/gemini-1.5-flash is not found for API version
처음에 뭐가 문제인지 잘 몰랐는데, 알고보니 현재는 gemini에서 1.5-flash 버전을 더 지원해주지 않음. 현재 지원하는 버전인 gemini-2.5-flash-lite로 코드를 수정하니 해결됨.

(5)성공
=gemini_custom(입력값) 함수를 칸에 넣자 내가 원하는 결과값을 얻었다.

라고 입력하면, 아래와 같이 결과값을 얻음.

한국어 텍스트가 포함된 Google 스프레드시트의 스크린샷

결과와 배운 점

구글생태계를 활용하면 여러 프로그램(스프레드시트, LLM모델 gemini) 호환이 원활하다.
엑셀로도 오류를 해결할 수는 있었을 수 있으나, 호환 문제 때문에 험난할 것 같다.

또다른 장점으로 구글생태계 내에서는 API 입력 등을 생태계 내 설정으로 해결할 수 있다. 엑셀 VBA에서는 코드로 하나하나 작성을 해야한다.

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요