GDG on Campus: SSWU 6th/Monthly Session

[11월 교육 세션] ChatGPT API 사용가이드

GDSC SungShin Team 2025. 1. 2. 01:55

안녕하세요! GDGoC Sungshin 교육팀 민서연 입니다.

 

 

2024년 11월 정기세션에서 교육팀은 ChatGPT API 사용법에 대해 교육을 진행하였습니다.

이번 달 교육을 통해 ChatGPT API를 통해 프로젝트할 때 AI 기능을 적용할 수 있기를 바랍니다.

 

 

처음에는 ChatGPT API에 대한 개념들을 설명하고, 다음에는 API를 통한 실습 코드와 함께 사용법에 대해 설명하였습니다.

 

 

OpenAI에서 대화형 인공지능 모델인 ChatGPT의 api를 제공하여, 누구나 다양한 AI 작업을 수행할 수 있습니다.

ChatGPT를 기반으로 새로운 애플리케이션을 만들거나 기존 서비스에 통합할 수 있고,

자연어 처리, 이미지 생성, 음성 인식 등 다양한 AI 작업을 효율적으로 구현할 수 있습니다.

 

 

OpenAI의 인공지능 서비스에 접근하기 위해서는 각 서비스 별로 API Key가 필요합니다.

이 키는 OpenAI 시스템에 연결하는 중요한 역할을 하며, 텍스트 생성이나 이미지 생성 등 다양한 인공지능 서비스를 이용할 수 있게 해줍니다.

API Key는 보안 상 매우 중요하므로, 절대 다른 사람과 공유해서는 안 됩니다. 따라서, API Key를 안전하게 관리하고 사용하는 것이 필수적입니다.

 

 

엔드포인트는 OpenAI API의 핵심 요소로, 특정 AI 모델을 호출하여 다양한 기능을 수행하는 URL입니다.

API는 여러가지 엔드포인트를 제공하며, 각 엔드포인트는 특정 작업을 처리하는 역할을 합니다.

예를 들어, openai.chat.completions.create() 메서드를 사용하면 ChatGPT API를 생성하고, 대화형 모델에 해당하는 엔드포인트로 요청을 보내서 대화형 응답을 생성할 수 있습니다.

 

 

ChatGPT API를 사용할 때 "역할(role)"은 대화의 흐름과 맥락을 관리하기 위해 각 메시지에 지정되는 속성으로, 다음 세 가지 역할이 있습니다

시스템(System)은 ChatGPT에게 어떤 행동을 해야 하는지 전반적인 행동 방식을 설정하는 역할입니다. 상황을 설정하거나, 특정 역할 수행을 정의합니다.

보조자(assistant)는 모델이 사용자 요청에 대한 응답을 생성하는 역할입니다. ChatGPT api는 기본적으로 이전 대화 내용을 기억하지 못하는데, assistant로 생성된 응답을 사용하면 이전 대화를 저장하고 연속성 유지할 수 있습니다.

사용자(User)는 모델 ChatGPT에게 질문하는 내용을 의미합니다. 보조자와 마찬가지로 사용자의 메시지는 이전 대화를 저장하고 연속성을 유지하기 위해 사용되며 이어지는 답변에 영향을 줄 수 있습니다.

 

 

API를 통해 주요 기능들을 수행할 수 있습니다.

  • GPT-4o와 같은 언어 모델을 사용하여 사용자 프롬프트에 기반한 다양한 텍스트 생성할 수 있습니다.
  • 텍스트 설명을 기반으로 한 이미지 생성할 수 있습니다.
  • 외부 API나 내부 함수 호출을 통해 특정 작업에 필요한 데이터를 실시간으로 호출하여 사용할 수 있습니다.
  • JSON과 같은 구조화된 특정 형식의 데이터를 출력하여 데이터를 더 쉽게 처리할 수 있습니다.
  • 수학 문제 해결, 코드 디버깅 등 다양한 추론 작업을 논리적으로 수행할 수 있습니다.
  • 텍스트를 고차원 벡터로 변환하여 의미적 유사성을 계산하여, 검색 엔진이나 추천 시스템 등에서 활용될 수 있습니다.

 

OpenAI platform에 가면 ChatGPT Playground 페이지를 볼 수 있습니다.

여기는 OpenAI가 제공하는 여러 모델들을 테스트해볼 수 있는 웹 인터페이스인데요, 코드 작성 없이 다양한 GPT 모델을 실험하고 직접 프롬프트를 입력하여 즉각적인 응답을 받을 수 있습니다.

 

 

Playground에서 다양한 모델을 선택해보고,

특정 질문이나 지시를 입력하여 모델의 반응을 볼 수 있고,

여러 파라미터를 조정해볼 수 있고,

입력 프롬프트에 대한 모델의 응답을 즉시 확인하여 다양한 시나리오를 신속하게 테스트해볼 수 있습니다.

 

 

이제 실습을 진행해보겠습니다.

일단 OpenAI Platform 페이지로 들어가서 API Key를 발급 받기 위해 로그인 또는 회원 가입을 합니다.

 

 

앞에서 설명한 Playground 페이지입니다.

여러가지 모델을 직접 사용해볼 수 있고,

Temperature, Max length 등의 파라미터도 조절 가능하기 때문에

API를 직접 사용하기 전에 간단하게 테스트해보기 좋은 환경입니다.

 

 

API reference tab에서 API 사용법에 관한 정보를 상세하게 얻을 수 있습니다.

 

 

이제 API Key를 발급 받기 위해, 왼쪽 메뉴에서 API Keys 를 선택하고,

create new secreat key를 눌러서 새로운 API Key를 발급 받을 수 있습니다.

새로운 API Key의 이름은 사용자가 직접 설정합니다.

 

 

발급 받게 되면 화면과 같이 API Key 이름과 함께 Key의 정보를 확인할 수 있습니다.

 

 

API를 사용하기 위한 환경 설정을 해봅시다.

자신이 개발하고 있는 프로젝트의 root 폴더에서 .env 파일을 생성하고,

OPENAI_API_KEY = {발급받은 secret API key}

와 같이 작성합니다.

 

 

API를 사용하기 위해서는 필요한 모듈을 설치해야 합니다.

API와 HTTP 요청 처리를 위해, 터미널에서 pip install openai requests 명령어를 실행합니다.

그리고 API 호출을 위한 python 파일을 작성하고,

python app .py 명령어를 사용하여 코드를 실행하면 됩니다.

 

 

ChatGPT API를 활용하기 위해서, 먼저 .env 파일에 저장된 API 키를 불러오는 작업이 필요합니다.

os.getenv() 함수를 통해 .env 파일에 있는 API key를 가져옵니다.

openai.ChatCompletion.create 메서드를 통해 ChatGPT API 객체를 생성할 수 있습니다. 이때 주요 파라미터를 설정해야 하는데요,

  • model은 사용할 api의 모델을 작성하면 되고, (예를 들어, ChatGPT를 사용하고 싶을 경우 gpt-3.5-turbo로 지정)
  • message는 메세지의 내용, 사용자의 입력과 모델의 출력을 포함합니다. 사용자의 메시지와 시스템 지시 사항을 정의할 수 있습니다. (ChatGPT의 프롬프트에 해당)
  • temperature는 답변의 다양성을 지정하는 파라미터입니다. 값이 높을 수록 다양한 문장을 생성하고, 값이 낮을 수록 일관성 있는 문장이 생성됩니다.
  • max_token은 모델이 생성할 답변의 최대 길이를 지정할 수 있습니다.

이런 설정을 통해 ChatGPT API를 효과적으로 사용할 수 있습니다.

 

 

감사합니다.