Make(옛 Integromat)은 다양한 웹서비스와 API를 연결하여 자동화 시나리오(Scenario)를 만들 수 있는 플랫폼입니다. Make에서 제공하는 OpenAI 모듈을 사용하면 ChatGPT, GPT-4 등 OpenAI의 GPT 계열 모델이나 기타 OpenAI API 기능을 시나리오에 사용할 수 있습니다.
이번 포스팅에서는 Make에서 OpenAI 모듈을 사용할 때 설정해야 하는 주요 항목들과, 각 설정이 의미하는 바를 중심으로 자세히 설명하겠습니다.
본문 내 링크에서 결제 발생 시 일정 수수료를 지급 받으며 이는 콘텐츠 제작에 큰 힘이 됩니다.
OpenAI 모듈 연결
- Connection: OpenAI 모듈을 처음 사용할 때는 OpenAI API Key를 입력하여 연결(Connection)을 생성해야 합니다.
- API Key: OpenAI 계정에서 발급받은 비밀 키를 사용합니다.
- Organization ID: 사용 중인 OpenAI 계정에 연결된 조직(Organization)이 여러 개 있는 경우, 특정 조직을 지정해야 할 수도 있습니다.
OpenAI 모듈 액션 유형
Make의 OpenAI 모듈에서 가장 많이 사용되는 액션은 아래와 같습니다.
- Create a completion : 특정 프롬프트(prompt)에 대해 텍스트를 생성하는 GPT 계열 API(Completion 엔드포인트)를 호출합니다.
- Create a chat completion : GPT-3.5, GPT-4 등의 Chat Completion 엔드포인트를 사용해 시스템/사용자/어시스턴트 메시지 구조를 가진 대화를 기반으로 결과를 생성합니다.
- Create an image : DALL·E 모델을 활용하여 이미지 생성을 요청합니다.
- Create an edit : 주어진 텍스트(prompt)에 대해 수정 및 편집(Edit) 작업을 수행합니다.
이 포스팅에서는 주로 텍스트 생성과 관련된 액션에 대해 집중적으로 설명해보겠습니다.
Completion / Chat Completion 설정
모델(Model)
Model: OpenAI에서 제공하는 모델 이름을 지정합니다. 예) text-davinci-003
, gpt-3.5-turbo
, gpt-4
등
- 모델에 따라 지원되는 기능(맥스 토큰, 컨텍스트, 품질 등)이 다릅니다.
- Chat Completion에서는 주로
gpt-3.5-turbo
또는gpt-4
를 사용합니다.
메시지 또는 프롬프트(Prompt / Messages)
Prompt(또는 Messages): 모델에 전달할 입력 텍스트입니다.
- Completion 방식의 경우, 하나의 텍스트 프롬프트를 넣으면 됩니다.
- Chat Completion 방식의 경우, 메시지 배열 형식(역할과 내용)으로 넣어야 합니다.
Tip: Chat Completion을 사용할 때, system
메시지를 통해 모델에게 전체 역할(role)이나 스타일을 정의할 수 있습니다.
Max tokens (Maximum length)
Max tokens: OpenAI가 생성할 응답의 최대 토큰(token) 수를 지정합니다.
- 토큰은 모델이 텍스트를 처리하는 최소 단위입니다. 너무 크게 잡으면 비용이 늘어나고 응답 시간이 길어질 수 있으므로 시나리오 목적에 맞춰 조정합니다.
Temperature
Temperature: 모델의 창의성(무작위성)을 조절하는 매개변수입니다(0~2 범위).
0
에 가까울수록 답변이 일정하고 보수적이 되며,1
을 넘어갈수록 더욱 창의적이고 변동이 큰 결과가 나옵니다.
Top P
Top P: Nucleus sampling 기법에 사용되는 파라미터로, 모델이 답변을 생성할 때 고려하는 토큰 후보들의 누적 확률값을 설정합니다(0~1 범위).
예) 0.9
로 설정하면, 누적 확률이 0.9가 되기 전까지의 후보 토큰들만 고려하여 결과를 생성합니다.
- 일반적으로
Temperature
와 함께 조절하며, 둘 다 높으면 무작위성이 더 커집니다.
Frequency penalty
Frequency penalty: 이미 등장한 단어나 문구가 반복되지 않도록 페널티(점수 차감)를 주는 정도를 설정합니다(-2~2 범위).
- 값이 높을수록 모델이 같은 토큰(단어)을 여러 번 반복하는 것을 피하려고 합니다.
Presence penalty
Presence penalty: 새로운 주제나 단어를 말하도록 유도하기 위해, 모델이 특정 단어 또는 주제를 사용했는지 여부에 따라 페널티를 주는 정도(-2~2 범위).
- 값이 높으면 모델이 기존에 사용하지 않은 새로운 단어나 주제를 시도하려고 합니다.
Stop sequences
Stop: 모델이 응답 생성을 중단하도록 유도할 ‘중단 문자열’을 지정합니다.
- 예)
["\n\n"]
또는 특정 토큰. - 중단 문자열을 지정하면 해당 문자열이 생성되기 직전에 응답이 잘리므로, 특정 형식이나 최대 길이를 제어하고자 할 때 유용합니다.
Best of (Completion 전용)
Best of: 지정한 횟수만큼 응답(샘플)을 생성한 뒤, 그중 가장 “우수한” 응답을 선택하여 반환하는 파라미터입니다(1~X).
n
파라미터(아래 참고)와 같이 사용하면 토큰 비용이 크게 증가할 수 있으므로 주의합니다.
n (Number of completions)
n: 동시에 여러 개의 응답을 생성하여 반환하도록 설정합니다.
- 예)
3
으로 설정하면, 하나의 프롬프트에 대한 응답을 3개 받아옵니다. - 이후 Make 시나리오 안에서 3개의 결과를 각각 처리하거나, 그중 하나를 선택하도록 프로세스를 구성할 수 있습니다.
이미지 생성(Create an image) 설정
만약 Create an image 기능을 사용하는 경우, 추가적으로 다음 같은 파라미터를 확인합니다:
- Prompt: 그림으로 표현하고자 하는 내용을 설명하는 텍스트 프롬프트입니다.
- Size: 생성할 이미지의 사이즈를 설정합니다. 예)
256x256
,512x512
,1024x1024
. - Number of images: 동시에 생성할 이미지의 수.
- Response format: URL 혹은 base64 형태 등, 반환되는 이미지 형식을 지정할 수 있습니다.
모듈 사용 시 주의사항 및 팁
비용 관리
- OpenAI API는 사용한 토큰 수에 따라 비용이 청구됩니다.
Max tokens
,n
,Best of
등을 높게 설정할수록 비용이 가파르게 상승할 수 있으므로 목적에 맞춰 적절히 조정해야 합니다.
에러 처리
- 모듈 호출 시 오류(예: 인증 실패, 토큰 부족, 초과 사용 등)가 발생할 수 있으니, Make 시나리오에서 에러 브랜치(에러 처리 모듈) 등을 통해 예외 케이스를 핸들링해야 합니다.
Time out / Rate limit
- OpenAI API에는 일시적인 요청 초과, 레이트 리밋(Rate Limit) 이슈 등이 있을 수 있습니다.
- Make에서 반복 요청 시 딜레이/재시도(Iterator, 반복 시 오류 시 대기 등) 로직을 고려하세요.
토큰 계산
- GPT-3.5, GPT-4 등은 프롬프트와 응답을 합산한 토큰 수가 모델별 제한을 초과하면 응답이 정상적으로 오지 않거나 에러가 발생할 수 있습니다.
- 긴 컨텍스트를 사용해야 할 경우, Chat Completion의
messages
내용 중 필요한 부분만 남기거나, 이전 메시지를 요약한 뒤 연결하는 방식을 고려하세요.
보안
- API Key는 반드시 안전하게 보관해야 합니다.
- Make Scenario 내에서 중요 정보를 다룰 때는 별도의 인증, 혹은 시나리오 접근 제한이 필요합니다.
맺음말
Make에서 OpenAI 모듈을 사용할 때는 API Key를 통한 연결을 먼저 설정하고, 어떤 액션(Completion, Chat Completion, Edit, Image 등)을 수행할지를 정해야 합니다. 이후 모델, 프롬프트, 매개변수(Temperature, Top P, Max tokens 등)를 설정해 원하는 형태의 응답을 얻습니다.
- Completion / Chat Completion: 텍스트 생성 파라미터(모델 선택, 프롬프트, Temperature, Penalty 등)를 세심하게 조정
- Image 생성: 생성할 이미지 사이즈, 개수, 반환 형식 등을 지정
- 비용과 보안을 고려한 시나리오 구성
- 에러 처리, 토큰 제한, 레이트 리밋 등에 대한 예외 처리를 준비
위 설정들을 조합하여 Make에서 다양한 워크플로우를 구현할 수 있습니다.
모든 파라미터는 목적과 비용을 잘 고려해 적절히 설정하는 것이 핵심입니다.