토이 프로젝트 일지 2 : ChatGPT 서비스를 활용하는 크롬 플러그인 만들기
그림 1. 프로그램 동작 화면 1. 시작 계기 최근 IT 쪽에서 ChatGPT가 상당한 주목을 받고 있다. ChatGPT는 언어 생성 모델로, 매우 큰 범용성을 가지고 있기 때문에 다른 자동화 툴하고 연계할 경우 큰 시너지를 일으킬 수 있다. 이미 ChatGPT for Google 과 같은 ChatGPT를 활용한 플러그인들이 다수 출시되고 있는데 이러한 플러그인들은 Open AI의 API Key를 활용하거나 Open AI에서 제공하는 Chat 서비스 서버와 간접적으로 통신해서 ChatGPT를 활용하고 있다. 이러한 프로그램들을 보니 필자도 ChatGPT를 활용하는 프로그램을 만들어보고 싶게 되어서 이번 프로젝트를 시작하게 되었다. 2. 프로젝트 개요 가. 프로젝트 소개 1. 프로젝트 유형: 개인 토이 프로젝트 2. 구현 서비스 : 구글 검색 시 ChatGPT에 질문해서 응답을 보여주는 크롬 플러그인 3. 개발 환경 : VS Code 4. 구동 환경 : Linux, Windows 5. 활용 기술 - 리버스 엔지니어링 6. 개발 기간: 2023.2.4 ~ 2023.2.10 Open AI에서 제공하는 Chat 서버의 통신을 모방해서 결과를 출력시킬 것이다. 실제 내부 동작을 자세히 모르기 때문에 통신을 수행할 때, 패킷들을 캡처해서 각각의 엔드포인트들이 어떤 동작을 일으키고, 어떤 상호작용을 하는지 파악해야 한다. 이러한 부분은 리버스 엔지니어링에 속한다. 나. 프로젝트 목표 이번 프로젝트에서는 크롬 플러그인 Manifest 3 버전으로 개발한다. 2 버전으로 개발하는 경우는 많았으나, 3 버전으로 개발하는 것은 경험이 많지 않기 때문에 이 부분에 대한 경험을 쌓는 게 중요한 목표다. 또한, 모르는 부분들이 나왔을 경우 ChatGPT로 최대한 물어봐서 ChatGPT에 익숙해지는 것도 주요 사항이다. 3. 프로젝트 구현 가. ChatGPT 웹통신 과정 분석 그림 2. Chat 서비스 엔드포인트 용도 분석 네트워크 디버깅을 통해서 각각의 엔드포인트의 용도를 분석했다. ...