"IT인들, 국가대표 출신 도움 받아 마라톤 풀코스 도전"

AI 챗봇, Chat GPT API를 활용하여 서비스 특화 AI 챗봇을 만드는 방법

IT 비즈니스의 모든 것

비즈니스 팁, 29 Jul 2024

ai-챗봇


Chat GPT를 활용하면 환경에 상관없이 24시간 일하며 고객을 응대하는 영업사원을 개발할 수 있다는 사실, 알고 계시나요? 바로 인공지능 AI를 활용한 ‘AI 챗봇’입니다. 


스스로 학습해서 대답하는 Chat GPT의 API를 활용하면 고객 응대부터 제품 추천, 재고 확인, 현황 파악 등 다양한 분야의 대화형 인공지능 서비스를 활용할 수 있는데요. 그래서 많은 기업들이 기업의 홈페이지랜딩 페이지 그리고 제품 상세 페이지에 챗봇 서비스를 연결시켜 고객 만족도를 높이고 있습니다.


주변 환경과 시간을 가리지 않고 최고의 서비스를 제공하는 AI 챗봇, Python으로 Chat GPT의 API를 활용‘나만의 맞춤형 AI 챗봇’을 만드는 방법을 알려드리겠습니다.



AI 챗봇이란?


chat-gpt-api


AI 챗봇은 사용자와 사람의 대화를 시뮬레이션하는 컴퓨터 프로그램입니다. AI 챗봇은 자연어를 처리와 같은 대화형 AI 기술을 사용하여 사용자의 질문을 이해하고 이에 대한 응답을 제공합니다.


AI 기술을 적용함으로써 일반적인 언어와 복잡한 요청을 이해하고 사람과 유사한 답변을 생성할 뿐만 아니라 새로운 콘텐츠를 생성하여 결과물을 만들어 낼 수 있어, 다양한 기업들이 AI 챗봇를 도입해 새로운 서비스를 개발하고 있습니다. 


AI 챗봇은 음식 배달부터 상품 추천, 주문 심지어 외국어 학습을 위한 학습 도구까지 다양한 분야에서 활용되고 있는데요. 이러한 AI 챗봇 서비스는 어떻게 개발할 수 있을까요? Chat GPT API를 활용하여 간단하게 만드는 방법을 알려드리겠습니다.




Chat GPT API란?


chatgpt-api-key


‘Chat GPT API’는 OpenAI에서 Chat GPT를 여러 앱에서 사용할 수 있도록 제공하는 인터페이스입니다. 자연어 처리 및 생성 기능을 활용하여 개발자가 Chat GPT의 다양한 기능을 개발할 수 있도록 도와줍니다. 


이러한 API는 텍스트 기반의 대화, 문서 요약, 번역, 텍스트 생성 등 여러 작업에 사용이 가능한데요. Chat GPT API를 활용한다면 24시간 동작하는 AI 챗봇 서비스를 개발할 수 있습니다. 어떻게 하는지 궁금하시죠?


우선 Chat GPT API를 사용하기에 앞서 필요한 준비사항과 Python에서 Chat GPT API를 호출하는 예시를 통해 활용 방법을 알아보겠습니다.




Chat GPT API 활용하기


API Key


네이버-클로바

(Chat GPT API key 생성 화면 / 출처: platform.openai.com)


OpenAI에서 제공하는 Chat GPT API를 사용하기 위해서는 API 키 생성이 필요합니다. 키는 OpenAI 웹사이트에서 계정 생성 후 계정 설정의 프로필 페이지에서 발급받을 수 있습니다.   


발급받은 API Key는 프로그램에서 ChatGPT와 통신하는 데 사용되며, 공유되는 경우 타인에 의해 무분별하게 사용될 수 있으니 반드시 관리에 주의를 기울이셔야 합니다.



API 비용


클로바

(Chat GPT API 비용 결제 화면 / 출처: platform.openai.com)


API 사용하기 전 결제수단 등록 및 사전결제가 필요합니다. 결제카드 등록 후 충전식으로 결제가 가능하며 서비스 중단을 방지하기 위해 자동 결제 옵션을 켜 둘 수도 있습니다. 


서비스를 활용하면서 비용을 제한하고 싶은 분들은 자동 결제를 비활성화한 상태에서 활용하시거나 Limit 기능을 활용하여 월 예산 설정과 이메일 알림 기능을 활용하시는 게 좋습니다.



Python에서 API 호출


OpenAI에서는 Chat, Edit, Image 등 다양한 유형의 API를 제공하며 필요에 따라 코드를 통해 다양한 모델 활용이 가능합니다.


Python에서는 OpenAI 라이브러리를 활용하여 API 호출이 가능한데요, 아래는 Chat API를 활용해 챗봇에게 인사를 건네는 예시입니다.



from openai import OpenAI

import os


client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))


completion = client.chat.completions.create(

 model="gpt-3.5-turbo",

 messages=[

   {"role": "system", "content": "You are a helpful assistant."},

   {"role": "user", "content": "Hello! What's your name?"} # 질문

 ]

)


print(completion.choices[0].message)



실행 결과는 다음과 같습니다. 모델에 의해 생성된 답변은 Chat completion object의 message object에 저장되어 리턴되며, 챗봇의 응답은 content에서 확인 가능합니다.



$ python3 openai_chatbot_example.py

ChatCompletionMessage(content="Hello! I'm a language model assistant here to help you. How can I assist you today?", role='assistant', function_call=None, tool_calls=None)




Chat GPT API 활용한 AI 챗봇 만들기


클로바-ai


Chat GPT API를 활용하면 프로그램 안에서 만들어지는 정보를 전달하고  정보에 대한 답변을 활용할 수 있습니다. API가 실제로 어떻게 활용 가능한지 예시를 바탕으로 알아보기 위해 단순 업무를 처리하는 나만의 AI 챗봇을 만드는 방법을 알려드리겠습니다.


API 호출 구성

챗봇의 API 호출 방식은 gpt-3.5-turbo 모델 기반의 Chat API를 활용하여 구성합니다. 응답 성능은 모델에 따라 결정되며, 더 나은 응답 성능을 기대하신다면 gpt-4 이상의 모델로 변경하여 사용하는 게 좋습니다.


아래 코드는 콘솔 기반으로 동작하는 챗봇 예제이며, 챗봇과 대화를 위해 질문과 답변을 주고받을 수 있도록 반복문 내에서 입력과 출력이 이뤄지는 코드를 작성했습니다.


# filename : openai_chatbot.py


import os

from print_color import print

from openai import OpenAI



def main():

  client = OpenAI(

      # This is the default and can be omitted

      api_key=os.environ.get("OPENAI_API_KEY"),

  )

  while True:

       user_query = input("Me: ") # 사용자 질의 입력

       print("")

 # 보조자 역할 사전 정보 입력

       product_name = "마라톤 레이싱 러닝화"

       order_date = "7월 25일"

       shipping_date = "7월 26일"

       shipping_eta = "7월 29일"


       reference = f"제품명: {product_name}, 주문일: {order_date}, 배송일: {shipping_date}"

       reference += f"예상도착일: {shipping_eta}"



       response = client.chat.completions.create(

           model="gpt-3.5-turbo",

           messages=[

               { "role": "system", "content": "You are a helpful assistant"},

               { "role": "assistant", "content": reference },

               { "role": "user", "content": user_query }

           ],

       )

       answer = response.to_dict()

       print( answer["choices"][0]["message"]["content"], tag='Chatbot',

           tag_color='green', color='white' ) # 챗봇의 응답

       print("")



if __name__ == "__main__":

  main()



코드를 실행을 하면 챗봇과 대화를 하면서 궁금한 내용을 질문하고 답변 받을 수 있습니다.



$ python3 openai_chatbot.py

Me: 안녕하세요?


[Chatbot] 안녕하세요! 무엇을 도와드릴까요?


Me: 제가 주문한 러닝화 배송일정이 어떻게 되나요?


[Chatbot] 주문하신 러닝화는 7월 25일에 주문되었고, 7월 26일에 발송되어 7월 29일에 도착할 것으로 예상됩니다. 상황에 따라 도착일정이 변경될 수 있으니 양해 부탁드립니다. 추가 질문이 있으시면 언제든지 도와드릴게요.


Me: 여름철 또는 겨울철에 놀러가기 좋은 해외여행지도 알려주세요


[Chatbot] 여름철에는 그리스의 섬 산토리니 나 이탈리아의 아말피 해변, 크로아티아의 두브로브니크, 태국의 푸켓 섬 등이 좋은 선택지일 수 있습니다. 겨울철에는 뉴질랜드의 퀸즈타운, 스위스의 쿠어마이어 또는 일본의 후쿠오카 등의 지역을 방문해보세요. 안전하고 즐거운 여행을 즐기실 수 있을 것입니다.




프롬프트 엔지니어링으로 응답 개선하기


Chat GPT 모델을 통해 챗봇을 이용하다 보면 답변이 너무 길어져서 응답이 늦어진다거나, 자유로운 형식으로 작성된 답변으로 인해 바로 활용하기가 어려울 수 있습니다. 그럴 때 프롬프트 엔지니어링을 통해 응답의 품질을 개선해 보세요.


프롬프트 엔지니어링(Prompt Engineering)은 인공지능 언어 모델, 특히 GPT-3나 GPT-4와 같은 모델을 효과적으로 활용하기 위해 입력 프롬프트를 설계하고 최적화하는 과정입니다. 챗봇의 정확성과 API 비용 절감을 위해 프롬프트 엔지니어링 기법을 도입해 볼 수 있습니다. 


아래 코드는 답변의 길이를 150자로 제한하고 마지막 인사말을 포함할 수 있도록 코드를 반영한 내용입니다.



       format = "답변은 150자 이내로 작성해. "

       format += "내용 마지막에는 '도움이 되었으면 좋겠습니다.'로 마무리 해"


       response = client.chat.completions.create(

           model="gpt-3.5-turbo",

           messages=[

               { "role": "system", "content": "You are a chatbot"},

               { "role": "assistant", "content": reference },

               { "role": "user", "content": format + user_query }

           ],

       )



원하는 답변 형식을 AI에게 알려주면 아래와 같이 챗봇을 통해 요청한 답변 형식을 받아볼 수 있습니다.



$ python3 openai_chatbot.py


Me: 러닝화 배송일정 알려주세요.


[Chatbot] 마라톤 레이싱 러닝화를 7월 25일에 주문하셨습니다. 제품은 7월 26일에 발송되었고, 예상 도착일은 7월 29일입니다. 해당 상품이 적시에 도착하도록 노력하겠습니다. 언제든지 추가 도움이 필요하시면 알려주세요. 도움이 되었으면 좋겠습니다.


Me: 여름이나 겨울에 갈만한 여행지도 추천해 주세요


[Chatbot] 여름에는 제주도나 부산 등 해변 지역이 좋습니다. 해수욕을 즐기거나 자연 풍경을 감상할 수 있어요. 겨울에는 강원도의 평창이나 강릉, 설악산 등의 스키 리조트도 좋은 선택이 될 수 있어요. 눈 내리는 풍경을 감상하며 스키를 즐기는 것도 멋진 경험이 될 거에요. 도움이 되었으면 좋겠습니다.




Chat GPT API를 활용한 

AI 챗봇을 통해, 맞춤형 고객 서비스를 제공해 보세요!


Chat GPT API는 다양한 인공지능 AI 기능들을 편리하게 활용할 수 있도록 도와줍니다. 이는 AI 기능을 더 빠르게 구현할 수 있도록 도와줄 뿐만 아니라, OpenAI에서 제공하는 높은 품질의 AI 모델을 통해 서비스 신뢰성과 만족도를 높일 수 있습니다.


이랜서에서 알려드리는 ChatGPT API 사용법을 참고해서 기업의 서비스에 맞춘 ‘맞춤형 AI 챗봇’을 만들어보세요. 스스로 학습해 답변하는 AI 챗봇이 고객이 원하는 방식으로 빠르게 맞춤형 응대 서비스를 제공해 충성고객 확보의 일등 공신이 될 것 입니다. 




이랜서 추천! 고객을 사로잡는 충성 고객 확보 시리즈

▶️ 만보기 어플 만들기] Kotlin으로 만보기 앱 개발하는 방법

▶️ 랜딩 페이지, 고객을 사로잡으려면 '이렇게' 만드세요

▶️ 고객 여정 지도, 'N사' 서비스 기획자는 이렇게 만듭니다.




 이랜서 추천! 개발자의 업무 단축을 도와주는 개발자 콘텐츠

▶️ C++ 연산자 가이드북 (비트 연산자부터 논리, 비교까지 총집합)

▶️ 정규 표현식; 자바 정규식을 활용해서 문자열을 손쉽게 처리하는 방법

▶️ [Javascript 문법] 문자열 자르기부터 복잡한 문자열 총정리!




경쟁이 치열해질수록 IT 전문가의 실력이 중요합니다.

대한민국 No.1 IT 인재 매칭 플랫폼 이랜서


ai-클로바

이랜서는 24년의 노하우와 데이터를 활용하여 검증된 IT 전문가를 매칭하는 대한민국 No.1  IT 인재 매칭 플랫폼입니다. 


웹 페이지 개발을 위한 Java, JavaScript, Typescript, React, Vue, Node js, Next js 개발자와 모바일 앱 개발을 위한 Kotlin, C++, Swift, Xamarin를 활용하는 앱 개발자와 플러터(Flutter), React Native, .Net을 활용하는 크로스 플랫폼 개발자, 데이터 수집 & 활용을 위한 SQL 전문가(오라클, Mysql, MS SQL 등) 그리고 고객 여정 지도스토리 보드를 활용하여 수준 높은 UX 디자인을 구사하는 서비스 기획자UX/UI 전문 디자이너까지 약 40만 명의 IT 전문 프리랜서가 파트너십으로 등록되어 있습니다.


“체계적인 프로세스, 검증된 프리랜서 매칭 서비스 

이랜서 덕분에 IT 전문가 채용에 걱정이 없습니다.”


이랜서는 경력 기술서이력서만 확인하는 다른 채용 플랫폼과는 다릅니다. 24년의 노하우와 프로세스를 바탕으로 DB를 활용한 체계적인 프로젝트에 가장 적합한 IT 전문가를 매칭합니다. 


restful-api


ERP, SAP를 활용하는 전사적 자원 관리부터 유지보수 프로젝트까지


개발, 기획, 디자인 등 

각 분야별 맞춤형 IT 전문가를 빠르게 매칭합니다.


api이랜서는 기업들이 IT 전문가 채용에 겪는 어려움을 해결하기 위해 현장에 바로 참여할 수 있는 IT 전문가를 매칭합니다. 


24년 동안 쌓은 약 1.5억 개의 서비스 데이터350만 개의 프리랜서 평가 데이터를 바탕으로, IT 전문가의 전문성부터 인성(협업 능력)까지 철저하게 검증하여 프로젝트에 가장 적합한 IT 전문가를 매칭합니다. 


데이터를 바탕으로 검증된 IT 전문가를 매칭하는 맞춤형 매칭 서비스로 이랜서를 사용한 기업들의 재의뢰율은 98%에 이르고 있습니다.


24년의 노하우와 데이터를 활용한 

맞춤형 매칭 서비스필요한 인력원하는 시기에!


it-프리랜서


맞춤형 AI 챗봇을 개발할 개발자를 찾으시나요?


대한민국 No.1 IT 인재 매칭 플랫폼 이랜서

-> 회원 가입만 하세요.

-> 24시간 안에 전담 매니저가 연락을 드립니다.

-> 끝입니다. 이게 다냐구요? 네, 이게 다입니다.

-> 급하시다고요? 전화 주세요. 02-545-0042


24년의 노하우 데이터를 바탕으로 검증된 IT 프리랜서를 매칭해 드립니다.




최신 블로그