brunch

You can make anything
by writing

C.S.Lewis

by HRKIM Jan 01. 2024

Assistants API로 HR 챗봇 만들기

인사혁신처 지침서를 활용하여

들어가며


 OpenAI가 2023년 11월 7일 개발자 컨퍼런스에서 발표한 GPTs는 챗봇 구축을 용이하게 하는 프로그램입니다. 'HR Analytics 끄적끄적' 매거진 글 중 'GPTs로 HR 챗봇 만들기: 인사혁신처, 고용노동부 지침서를 활용하여'에서 이러한 GPTs를 이용하여 국가공무원 HR 정보를 제공하는 '공공 HR 총끼', 코칭을 돕는 '코챗', 그리고 노동법 관련 조언을 제공하는 '노무드림' 등 여러 HR 관련 챗봇을 만들고 이를 소개한 적이 있었습니다. 

 2023년 11월 7일 OpenAI 개발자 컨퍼런스에서는 Assistants API를 발표하고 GPTs와 함께 강조했습니다. Assistants API는 GPTs와 마찬가지로 GPT API를 활용하여 챗봇을 만들 수 있습니다. 하지만 Assistants API의 장점은 GPTs와 달리 사용자가 Chat GPT의 유료 사용자일 필요가 없다는 것입니다. Assistants API를 통해 별도의 웹 인터페이스로 AI 챗봇을 구현할 수 있으며, 이를 통해 Chat GPT를 사용하지 않는 사람도 웹에 접속함으로써 AI 챗봇을 사용할 수 있습니다. 이번 'HR Analytics 끄적끄적' 매거진에서는 이와 같은 Assistants API를 활용하여 'GPTs로 HR 챗봇 만들기: 인사혁신처, 고용노동부 지침서를 활용하여' 글에서 소개했던 '코챗'을 웹상에 다시 구축해 보고자 합니다.


1. OpenAI API key 발급하기


 Assistants API를 우선 사용하기 위해서는 Chat GPT는 유료 사용자이어야 합니다. Chat GPT를 유료 가입 후에 아래 사이트를 통해 OpenAI 개발자 홈페이지에 접속합니다.


https://platform.openai.com


 Assistants API를 사용하여 AI 챗봇을 만들기 위해서는 우선 OpenAI API Key 발급이 필요합니다. OpenAI 계정이 없으신 경우에는 OpenAI 계정을 만든 후에 OpenAI API Key 발급이 가능합니다.



 위에서 살펴볼 수 있는 바와 같이 좌측에 [API keys] 메뉴를 클릭한 후 [+Create new secret key] 버튼을 클릭합니다. 해당 버튼을 클릭하면 하단 좌측처럼 화면이 활성화됩니다. Name에 원하는 API Key 이름을 넣고 [Create secret key] 버튼을 클릭하면 sk-로 시작하는 OpenAI key가 발급이 됩니다. 해당 key는 오른쪽 복사 버튼을 클릭해서 복사한 후 메모장 같은 곳에 저장해 주시기 바랍니다(발급된 후에 홈페이지 상에서는 Key를 다시 볼 수 없으니 반드시 메모장에 복사해 주세요.). 해당 키는 뒤 Python으로 챗봇 구현하기 부분에서 사용할 예정입니다.



Chat GPT 유료 가입 비용과 별도로 OpenAI API를 활용하면 토큰당 비용이 발생합니다. 
비용에 대한 정보는 링크를 한번 참고해 주시기 바랍니다. 

https://openai.com/pricing#language-models


2. Python 설치 및 환경설정하기


 Python 환경을 구축하기 위해서는 Python 프로그램을 설치하고 VS code를 설치하고 프로젝트 운영에 필요한 환경을 구축하여야 합니다. 다만, 이 글에서는 기초 Python 내용까지 함께 다루기는 어렵습니다. 따라서 유튜버 조코딩 님의 Python 기초강의를 추천드립니다. 해당 강의를 통해 기본적인 Python 활용법을 익히시기를 추천드립니다. 


[유튜버 조코딩 님_Python 기초강의]

https://www.youtube.com/watch?v=7ttbyGI5igA&list=PLU9-uwewPMe05-khW3YcDEaHMk_qA-7lI


 아래의 자료와 강의는 Python과 Assistants API 사용에 대해 설명합니다. 강의는 앞부분이 무료이며, 실습 중심의 뒷부분은 유료입니다. 실습에 필요한 Python 코드는 홈페이지에 공개되어 있어 독학도 가능합니다. Assistants API 활용에 더 깊이 있게 배우고 싶으신 분들은 유료 강의를 수강하는 것도 좋은 선택이 될 수 있습니다.


[유튜버 조코딩님_Assistants API 실전 활용 방법 강의 및 자료]

https://jocoding.net/Assistants-API-9b4f7436e94d4859838d1c00b5593ecd


3. Assistants API, Python을 활용하여 챗봇 만들기


 1) Assistants API의 작동방식


 아래 그림은 Assistants API의 작동방식을 나타내는 그림입니다. Assistant는 OpenAI의 여러 모델을 사용하고 도구를 호출하는 AI를 의미합니다. Thread는 Assistant와 사용자 간의 대화 세션입니다. Thread는 메시지를 저장하며 모델의 컨텍스트에 맞게 잘라냅니다. Message는 어시스턴트나 사용자가 생성한 메시지입니다. 메시지에는 텍스트, 이미지, 기타 파일이 포함될 수 있습니다. Message는 Thread에 List로 저장됩니다. Run은 Assistant가 Thread에서 호출됩니다. Assistant는 설정과 Thread의 메시지를 사용하여 모델과 도구를 호출하는 작업을 수행합니다. Run의 일부로, Assistant는 Thread에 Message를 추가합니다. Run Step은 Run의 일부로 Assistant가 수행한 상세한 단계 목록입니다. Assistant는 도구를 호출하거나 Message를 생성할 수 있습니다. Run Step을 검토하면 Assistan가 최종 결과에 도달하는 방법을 내부적로 살펴볼 수 있습니다.


 2) Assistants API 설정하기


 왼쪽 메뉴에서 [Assistants]를 클릭하면 아래화면 같이 내용이 생성됩니다. 오른쪽 상단에 [+Create]를 클릭하면 새로운 Assistants API를 생성할 수 있습니다. 

 아래 화면은 [+Create]를 클릭했을 때 생성되는 화면입니다. 오른쪽 메뉴에 Assistants API의 이름(Name), 지침(Instuctions), 모델(Model), 도구(Tools), 함수(Functions), 파일(FILES)에 대한 내용을 설정합니다.

지침(Instuctions): Assistants API 모델이 수행해야 할 행동과 반응 방식에 대한 가이드라인입니다.
모델(Model): 사용자는 GPT-3.5 또는 GPT-4 등의 모델을 선택할 수 있으며, 현재 베타 버전에서는 gpt-3.5-turbo-1106 또는 gpt-4-1106-preview 모델을 선택해야 합니다.
함수(Functions): API를 통해 사용자가 정의할 수 있는 함수 호출과 유사한 작동 방식의 사용자 정의 함수 시그니처를 제공합니다.
도구(Tools): OpenAI가 제공하며 호스팅하는 코드 해석(Code Interpreter)  및 검색 도구(Retrieval)를 API가 지원합니다.
파일(FILES): Assistants API 모델이 Data를 활용할 경우, 활용할 Data를 이 곳에 탑재해야 합니다.

 코챗 구현을 위해 '코챗'을 Name에 입력하고, 지침(Instuctions)에는 코칭의 목적과 가이드라인을 입력했습니다. 모델(Model)로는 'gpt-3.5-turbo-1106' 또는 'gpt-4-1106-preview'를 선택해야하며, 도구(Tools)는 코드해석(Code Interpreter), 검색 도구(Retrieval)을 모두 활성화하였습니다. 또한, 파일(FILES)에는 인사혁신처에서 제공하는 '성과면담을 부탁해!' pdf 데이터를 파일로 탑재하였습니다.


 3) Assistants API, Python으로 챗봇 구현하기


 아래의 코드는 유튜버 '조코딩'님이 자신의 GitHub 페이지에 공개한 Assistants API 챗봇용 Python 코드입니다. 이 코드에서는 Open AI API 키, thread_id, assistant_id 이렇게 세 가지 요소만 사용자의 필요에 맞게 수정하면, 개인 맞춤형 AI 챗봇을 만들 수 있습니다.


https://gist.github.com/youtube-jocoding/ba302959cc05af01a04edc6e864e2c09


 먼저, OpenAI API 키를 설정하는 방법입니다. Python 프로젝트를 진행하는 폴더 내에 .env 파일을 새로 생성합니다. 이 파일에 OpenAI API 키를 저장합니다. 하단 오른쪽에 위치한 ChatGPT의 안내에 따라 API 키를 입력하시면 됩니다.


 Python 코드에서 thread_id와 assistant_id를 사용자의 Assistants API 설정에 맞게 변경하는 방법은 아래와 같습니다. 먼저, 설정이 완료된 후에, 왼쪽 메뉴에서 [Playground]를 클릭합니다. 이렇게 하면 Playground 화면이 나타납니다. Name 코챗 아래 있는 asst로 시작하는 코드가 assistant_id입니다. 해당 내용을 복사하여 조코딩님이 공유해주신 Python 코드 중 아래 부분을 복사한 내용으로 수정합니다.  


assistant_id = "asst_WYPrmrww2xZ0jqsRyMyBD6Xu"

 다음으로 thread는 부분은 아래 화면과 같이 Playground에서 메시지를 입력한 후 [Run] 버튼을 누르면 아래 우측과 같이 thread_id가 명시됩니다. 해당 내용을 thread_id 부분에 넣어줍니다. 

thread_id = "thread_102Ni97l2qcsd09RZYPZkqH3"

 해당 파일을 저장한 후에 다음과 같은 명령어로 실행하면 챗봇을 사용할 수 있습니다.

streamlit run 파일이름.py


Assistant API를 활용한 코딩에 대해 더 자세히 알고 싶으신 분들은 제가 추천드리는 조코딩님의 강의 또는 아래 링크를 통해 볼 수 있는 OpenAI의 Assistant Overview 문서를 참고하시길 바랍니다.


https://platform.openai.com/docs/assistants/overview


4. 코칭 도우미 챗봇 '코챗'


 1) 코칭 도우미 '코챗' 탑재 Data


 인사혁신처에서 제공하는 '성과면담을 부탁해!'는 성과 면담을 위한 핵심 지침서입니다. 이 지침서에는 코칭 대화 기법과 다양한 질문 예시가 포함되어 있어, 성과 면담의 효과를 향상시킬 수 있습니다. '성과면담을 부탁해!' 지침서는 아래 링크를 통해 다운로드 받으실 수 있습니다.


https://www.mpm.go.kr/mpm/comm/pblcateList/?boardId=bbs_0000000000000036&mode=view&cntId=862&category=&pageIdx=1


 '코챗' 챗봇은 이 지침서를 바탕으로 만들어졌으며, 가상의 코칭 상황에서 연습할 수 있도록 도와줍니다. 


 2) 코칭 도우미 '코챗' 실행화면


 웹상에서 구현된 '코쳇'은 GPT와 인사혁신처의 '성과면담을 부탁해' 데이터를 기반으로 한 코칭 교육을 제공합니다. 사용자는 코칭 상황을 가정하여 관리자의 대화 내용을 입력하면, 코쳇은 해당 발언에 대한 피드백과 가상 직원의 응답을 제공합니다. 이를 통해 사용자는 대화 형식으로 코칭 기술을 지속적으로 연습할 수 있습니다.



나가며


 'HR Analytics 끄적끄적'에서는 'GPTs로 HR 챗봇 만들기: 인사혁신처, 고용노동부 지침서를 활용하여' 편에서 GPTs를 활용하여 만들었던 챗봇 '코챗'을 Assistants API를 활용하여 웹상에 다시 구현해보았습니다. 웹상에 챗봇을 구현하면 사용자의 접근성을 크게 개선할 수 있습니다. GPTs의 경우 Chat GPT 유료 사용자만 활용할 수 있는 반면에 Assistants API를 활용하면 Chat GPT를 활용하지 않는 사용자도 함께 사용할 수 있습니다. 다만 Assistants API는 아직 베타 버전이라 일부 제한사항이 있으나, 향후 업데이트를 통해 더욱 확장된 기능을 제공할 것으로 기대됩니다. 향후 업데이트를 통해 기술이 개선되면 다시 한 번 다루어 볼 수 있도록 하겠습니다. 이번 글을 통해 HR 분야에 AI 챗봇을 통한 혁신적인 접근법을 소개했습니다. 앞으로도 'HR Analytics 끄적끄적' 매거진은 이러한 혁신을 지속하고, HR 기술의 최전선에서 끊임없이 발전하려는 노력을 이어가도록 하겠습니다.




 본 대문사진은 미드저니와 유튜버 일잘러 장피엠님의 미드저니 프롬프트 생성기를 활용하였습니다.



Reference

조코팅 유튜브. (2023). '파이썬 기초 (2023 점프 투 파이썬). https://www.youtube.com/watch?v=7ttbyGI5igA&list=PLU9-uwewPMe05-khW3YcDEaHMk_qA-7lI

유튜버 조코딩 Github. https://gist.github.com/youtube-jocoding/ba302959cc05af01a04edc6e864e2c09

오픈AI 개발자 홈페이지. https://platform.openai.com

오픈AI Pricing 홈페이지. https://openai.com/pricing#language-models

유튜버 조코딩. Assistants API 실전 활용하기. https://jocoding.net/Assistants-API-9b4f7436e94d4859838d1c00b5593ecd

인사혁신처. 2020. "성과면담을 부탁해(부서장을 위한 성과면담 및 코칭가이드)". 인사혁신처 홈페이지. 2020년 3월 작성, 2023년 12월 31일 접속. https://www.mpm.go.kr/mpm/comm/pblcateList/?boardId=bbs_0000000000000036&mode=view&cntId=862&category=&pageIdx=1#

HRKIM. 2023. "GPTs로 HR 챗봇 만들기: 인사혁신처, 고용노동부 지침서를 활용하여".HRKIM(브런치). 2023년 11월 12일 작성. 2023년 12월 31일 접속. https://brunch.co.kr/@publichr/84

코딩추월차선. 2023. "OpenAI Assistants API를 활용해 AI 어시스턴트 만들기". 2023년 11월 8일 작성. 2023년 12월 31일 접속. https://www.developerfastlane.com/blog/2023/11/09/creating-ai-assistant-with-openai-assistants-api

일잘러 장피엠 프롬프트 생성기 홈페이지, https://midjourney-prompt-generator.webflow.io/

매거진의 이전글 ChatGPT와 GitHub을 활용한 HR 분석, 개발

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari