ChatGPT 코드 인터프리터
OpenAI에서 공개한 ChatGPT 인공지능은 최근 몇 달 동안 텍스트기반 챗봇으로 전 세계를 열광시켰는데요, 이제 챗봇은 차트와 지도를 만들고 이미지, 동영상 까지 만들어 다시한번 이목을 집중시키고 있습니다. ‘챗 지피티 플러그인의 끝판왕’ 이라고 불리는 코드 인터프리터가 무엇인지, 같이 살펴보시겠습니다.
7월 7일, 코드 인터프리터가 공개되었습니다. CI(Code Interpreter)는 Open의 공식 ChatGPT 플러그인인 인데요, AI는 데이터 분석, 이미지 변환, 코드 편집 등을 가능하게 함으로써 AI로 가능한 것의 경계를 넓혔습니다. CI를 사용하면 이러한 모든 작업을 텍스트 인터페이스를 통해 수행할 수 있다고 합니다.
코드 인터프리터를 통한 새로운 채팅 GPT 기능
(참조)코드 인터프리터 플러그인은 파일 업로드 및 다운로드를 처리할 수 있습니다. 이를 통해 이미지 및 비디오를 포함한 데이터 파일로 직접 작업할 수 있으며 특히 컴퓨터 비전에 유용합니다. 이 외에도 코드 인터프리터는 CSV, JSON 등 다양한 파일 형식을 지원합니다.
코드 인터프리터의 또 다른 독특한 측면은 실행되는 코드의 출력을 반영하고 학습하는 능력 이라고 합니다. 코드 인터프리터가 자신의 실수를 인정하고, 수정할 수 있습니다. 따라서 ChatGPT에 새로운 차원을 가져와 자연어 이해와 코드 실행 사이의 격차를 해소한다고하는데, 제대로 작동한다면 정말 놀라운 기능이 아닐 수 없습니다.
Code Interpreter 활용
코드 인터프리터의 놀라운 기능들을 같이 살펴보겠습니다.
데이터 시각화
데이터 시각화를 위해서는 데이터가 필요했는데요, 마침 예전에 공부하는데 사용했던 ‘서울시 지하철 호선별 역별 시간대별승하차인원정보.csv’ 파일이 있었습니다.
처음에는 아무 말 없이 그냥 csv파일만 올려 보았습니다.

파일만 올렸을 뿐인데 어떤 종류의 데이터가 포함되어있는지 알아보겠다며 파일을 로드했습니다.

놀라운 점은 인코딩 문제로 파일을 읽을 수 없자 cp949 인코딩을 사용하여 파일을 다시 읽었습니다. 앞서 말했던, 자신을 잘못을 인정하고 스스로 수정하는 부분이 바로 나왔습니다.(뭐 잘못이랄건 없지만..) 또한 pandas로 csv 파일을 읽는 과정이 AI라고 다르지 않고 사람과 같은 시행착오를 겪는다는게 참 반가웠습니다.

그렇게 데이터를 읽고 칼럼에 대한 설명까지 해줍니다.
그 다음, 다짜고짜 지하철역별 승하차 인원 분석을 해달라 해보았습니다.

그러자 파이썬 코드와 함께 결과를 보여줍니다.
이번에는 시간대별 승하차 인원을 시각화 해달라고 시켜보았습니다.

코드인터프리터에게 시각화를 해달라고 하자 matplotlib라이브러리를 이용해서 시각화 결과까지 나타내고, 짧은 분석까지 해주었습니다.
이번에는 카카오톡 채팅 로그를 주고 분석해보았습니다.

별거 아니지만 재미있네요. 여러분들도 해보세요
이 밖에도 주식 차트 그리기, SNS 애널리틱스 등 다양한 시각화 및 분석을 할 수 있습니다.

전문가들은 코드 인터프리터를 데이터 분석을 위한 게임 체인저라고 말합니다. 복잡한 데이터 변환, 통계 분석 및 시각화를 대화형으로 수행할 수 있습니다. 모든 것이 대화형으로 이루어지므로, 직관적이고 매력적이며 비전문가도 쉽게 이용할 수 있습니다. 최고네요.
이미지 편집
다음으로는 이미지 편집을 시도해보겠습니다. 강아지 한마리를 흑백으로 만들어 달라고 해보았습니다.
원본
변환
그레이스케일을 적용한 강아지도 귀엽네요.
또 무엇을 할 수 있을까 하다가 아스키 아트가 생각났습니다. 아스키 아트를 만드는 방법을 알려줄 필요도 없었습니다. 코드 인터프리터는 이미 알고 있었습니다.


멍뭉이가 보이시나요?
이 밖에도 펜슬드로잉, 핑거스냅 에니메이션 적용, 파나로마 gif 적용등 다양한 이미지 편집을 시도 할 수 있습니다. (참조)
이외의 다양한 기능들
- PowerPoint 파일 만들기
- PDF 읽기
- 이미지 및 비디오 편집
- 대화에서 정적 이미지 표시
- 대화형 시각화 생성(HTML 다운로드)
- OCR(글자 추출)
- 기계 학습 모델 실행
- 데이터 정리 및 분석
- QR코드생성
- 간단한 게임 프로그래밍
- 등등등 무궁무진
코드 인터프리터 플러그인의 제한 사항
코드 인터프리터는 뛰어난 성능과 유연성을 제공하지만 현재는 한계가 있습니다.
- 인터넷 액세스 : 코드 인터프리터는 인터넷에 액세스할 수 없으므로 웹에서 직접 데이터를 가져오거나 온라인 API와 상호 작용할 수 없습니다.
- 파일 크기 : 업로드할 수 있는 최대 파일 크기는 250MB입니다.이 문제를 해결하려면 데이터를 zip 파일로 압축하여 크기를 줄일 수 있습니다.그러나 압축되지 않은 데이터는 여전히 사용 가능한 메모리 내에 있어야 합니다.
- 언어 지원: 현재 코드 인터프리터는 Python 코드만 지원합니다.
- Python 패키지 : 외부 Python 패키지는 설치할 수 없습니다.그러나 코딩 환경은 330개 이상의 패키지와 함께 사전 설치되어 제공됩니다.여기에는 수치 계산을 위한 numpy, 데이터 조작 및 분석을 위한 Pandas, 데이터 시각화를 위한 matplotlib 및 컴퓨터 비전 작업을 위한 OpenCV가 포함되지만 이에 국한되지 않습니다.
- 환경 지속성 : 만약 환경이 죽는다면, 전체 상태가 손실됩니다.생성된 파일도 다운로드 링크가 작동하지 않게 되면 액세스할 수 없게 됩니다.
- 지식 차단(Knowledge Cut-off) : 기본 모델인 GPT-4에는 교육 데이터가 수집된 후 발생한 이벤트에 대해 알지 못하는 “지식 차단”이 있습니다.
활용 후기
파일을 알아서 분석하고 이해하여 그래프를 그려주는것 까지 짧은 한 문장이면 충분했습니다. 코딩에 있어 해박한 사람도, 코딩을 처음 접해보는 사람도 복잡한 데이터 시각화와 고급 데이터 분석을 수행할 수 있게 되었습니다. 활용만 잘 한다면 누구나 데이터 분석가가 될 수 있는 시대에 온 것 같습니다.
ChatGPT Code Interpreter는 인간과 기계 사이의 장애를 허물고 우리가 컴퓨터와 더 자연스럽고 직관적인 방식으로 상호 작용할 수 있게 해줄 날이 머지 않았음을 보여주는 듯 했습니다. 비슷한 인공지능이 계속 개발된다면 그 시기는 상상 이상으로 앞당겨지지 않을까 생각해봅니다.