chatGPT, 나도 활용해볼 수 있을까?
업무와 업무 외적으로도 최근에 chatGPT를 굉장히 잘 사용하고 있습니다. 코드를 물어보기도 하고, 무엇보다 아이디어를 얻기 위해서 많이 사용하고 있었는데요, 정작 직접 Open API를 호출해 본 적이 없다는 걸 깨달았습니다. 이제는 이런 생성형 AI가 활성화되면서 내가 직접 백지부터 창조해 내는 것보다 AI를 활용하여 모든 것을 만들어가는 방향으로 변화할 거 같다는 생각이 듭니다.
그래서 일단 시작을 해보자는 마음으로 간단하게 ‘긍정 확언’을 자동으로 생성하는 페이지를 만들어보았습니다. (매번 유튜브에서 긍정 확언 영상들을 찾다가 그냥 새롭게 생성해주는 사이트가 있으면 좋겠다 싶었습니다 😂) 코드는 공식 예제에서 제공하는 레포에서 config와 프롬프트만 간단하게 고쳐보는 방향으로 작업했습니다.
openAI Introduction
openAI에서는 단순히 chatGPT 같은 채팅 형태만이 아니라 다양한 AI 기반 기능을 제공하고 있는데, 그 중에서 생성(generation)과 관련이 있는 것이 text completion 엔드포인트입니다. 공식 사이트에서 제공하고 있는 예시처럼 ‘동물 이름을 지어줘’ 나 ‘아이스크림 가게 슬로건을 만들어줘’ 같은 프롬프트를 입력하면 이름과 슬로건을 실제로 생성해 줍니다.
openAI는 결과가 deterministic 하지 않습니다. 즉, 매번 조금씩 결과가 다르게 나오는데, 좀 더 랜덤성을 높이고 싶다면 temperature
값을 높이는 방법이 있습니다.
프롬프트 디자인
결국 openAI 생성 모델에게는 프로픔트를 정확히 입력하는 것이 중요한데, 공식 가이드는 다음 세 가지 방법을 제시하고 있습니다.
- 원하는 결과의 형태를 정확히 설명하고 보여줄 것. 예시를 제공하면 좋습니다.
- 정확한 데이터를 넘길 것
- 설정을 정확히 확인할 것. 창조적인 걸 원한다면
tempearture
나top_p
값을 높여야겠지만, 정확도가 중요하다면 반대로 낮춰야 할 수도 있습니다.
활용 가능한 영역
단순 생성 외에도 Completion 모델이 활용될 수 있는 영역은 다양합니다.
- Classification - 예) 특정 트윗의 감정을 분류
- Generation - 예) VR과 피트니스를 섞은 아이디어
- Conversation - 지시한 톤앤매너와 행동 가이드를 기반으로 대화
- Transformation - 한 가지 형태로 쓰인 내용을 다른 형태로 변형. 번역도 여기에 포함
- Summarization - 요약
- Completion - 중간에 끊긴 문장 등을 마저 이어서 마무리
- Factual Responses - 실제 같지만 사실은 가공된 답안을 생성
- Inserting Text - 뒷부분을 마저 채우는 느낌이나,
suffix
설정 등을 통해 끝 문장 등을 제공하여 중간 내용을 생성 - Editing Text - 제공된 텍스트를 안내한 가이드 대로 수정
다음 스텝
OpenAI API 호출 자체는 굉장히 간단해서 테스트로 만들어본 이 사이트를 디자인과 코드를 다듬어서 배포를 해볼 계획입니다. 긍정 확언은 지금은 굉장히 범용적이고 표현들도 추상적인데, 사용자가 원하는 카테고리를 고를 수 있도록 프롬프트도 수정해보려고 합니다.
'기타' 카테고리의 다른 글
VS Code 코드 자동완성 커스터마이징하기 (a.k.a custom snippet) (0) | 2021.02.21 |
---|