안녕하세요. 요 근래 핫한 이슈인 ChatGPT를 사용해보고 후기를 기록하겠습니다.
-
ChatGPT의 답변 시 글자 수 제한 단점 존재 (4096자)
ChatGPT는 gpt-3 기반으로 개발된 검색엔진입니다. gpt-3은 Token 처리 제한 값이 2048로 4096자 이상의 긴 문장을 처리할 때 정확도가 낮아질 수 있습니다.
또한 OpenAI API는 이보다 적은 수의 Token을 처리합니다.
이는 안정성과 보다 높은 성능을 위해 설정된 사항으로 감안하고 사용해야 하는 부분입니다.
소스코드, 특히 php나 html 같은 웹 소스 파일의 경우 질문을 위해 입력 시에는 문제가 없으나 ChatGPT의 답변에서 중간에 코드가 끊기거나 답변이 미완성인 채로 사용자에게 회신되는 경우가 종종 발생합니다.
다음 소스 코드를 보내달라고 요청하면 이어서 답변을 보내지만 끊긴 부분이 어디인지 인식하지 못하는 경우도 있으며, 한 눈에 코드를 보기 어렵다는 점이 단점인 것 같습니다.
[예시] 긴 소스 코드 답변 시 제한되는 현상
추가적으로 무료 버전인 3.5 에서는 3시간에 25개의 질문이 가능하다고 합니다.
-
ChatGPT 질문 시 사용자의 기본 지식 필요
로그 같은 명확한 Input data가 있을 때를 제외하고 간혹 사용자가 하는 질문에 대한 의도를 파악하지 못할 수 있습니다. 이럴 때에는 정확하게 묻고자 하는 핵심을 다시 질문해야 하므로 사용자가 본인의 질문에 관련한 기본 지식이 있어야 합니다.
-
ChatGPT 질문 시 답변 형식(form) 지정하여 질문
일반적인 질문 시 이론부터 코드까지 긴 답변이 오기 때문에 질문할 때 ‘~의 대한 답을 ~(형식)으로 답변해줘’라고 형식을 지정하여 질문하면 필요한 부분만 답변을 들을 수 있어 용이합니다.
예시를 들어보겠습니다. docker로 apm을 설치하는 방법을 질문할 때 형식을 메뉴얼 화하여 알려달라고 질문했을 때 답변입니다.
[예시] 메뉴얼 형식으로 답변 요청 시
단계 별로 소제목으로 구분하여 가독성이 향상되었으며, 순서대로 따라하기 쉬워 졌습니다.
-
ChatGPT 이해하기 참고 영상
영상 자료를 찾다보니 좋은 자료를 발견하였습니다.
요약하자면 chatGPT 원리 자체는 사용자의 질문인 input 값을 기반으로 답변이 될 output을 확률적으로 계산하여 제작하는 즉, 말을 만들어내는 ai입니다.
특징으로는 말을 잘 만들어내는 점, input 값을 기반으로 검색하므로 지시문을 절대적 사실로 받아들일 수 있는 점, 창의적인 답변이 가능한 점, 외부 사실관계와 단절될 수 있는 점이 있습니다.
따라서 계산이나 사실 여부가 중요한 작업에는 적합하지 않고 문장을 만들어내거나 단순 검색, 단어 수정이나 문장을 매끄럽게 바꾸는 것 등의 작업에 적합합니다.
[URL] https://www.youtube.com/watch?v=-5S8yHHsaHQ
-
OpenAI API를 이용한 cli 챗 봇 구축 따라해보기
[URL] https://www.youtube.com/watch?v=b-QeMi1A2go
OpenAI는 API 지원을 하고 있으며, 자료가 많아 위 URL 한 개를 참고하여 Rocky 8에서 Python(3.9 Ver)을 이용하여 아래와 같이 간단한 CLI 챗 봇을 따라서 구현해보았습니다.
① 패키지 업데이트
② selinux 해제
③ 기본 방화벽 firewalld 해제
④ python 설치 (3.9 Ver) python3.9 –version
⑤ pip 모듈 설치
⑥ OpenAI API KEY 발급 받기
⑦ python 코드 작성
⑧ 실행 방법 |
스크립트를 실행하면 아래와 같이 챗 봇이 시작됩니다. 예시로 ChatGPT와 같은 질문을 하고 답변을 비교해보겠습니다.
[예시] OpenAI API 챗 봇 답변
[예시] ChatGPT 챗 봇 답변
챗 봇은 gpt-3.5-turbo 기반으로, ChatGPT는 gpt-3.5 기반으로 둘 다 동일한 Major 버전 기반 모델이지만 비교 시 ChatGPT가 더 상세하게 답변을 주고 있습니다.
Token 처리 값이 API 구현 시 더 적은 값이라 그런 것으로 추측됩니다.
-
기타 – BING
Google 검색 엔진의 라이벌 격인 MicroSoft에서 BING 검색 엔진 리소스를 활용한 챗 봇 기능이 Edge 브라우저에 탑재되었습니다.
프로메테우스*를 탑재하였으며, 입력 문에 대한 검색어를 AI가 직접 검색하여 답변하는 시스템으로 출처를 주석 형태로 제공하여 사용자가 내용에 대한 확인이 가능합니다.
프로메테우스*) MS 사에서 개발한 검색에 특화된 엔진 모델
단, 한 개의 질문 후에 기존 질문과 관련된 질문은 6개까지로 제한되며, TEXT 기반 검색 후 답변하므로 ChatGPT보다 신뢰성이 낮아 주석 형태의 출처를 직접 컨펌 해보는 절차가 필요합니다.
Azure 구독 시스템으로 Key 값을 받아 API 형태로 사용이 가능합니다. 무료 서비스로 이용 시에는 답변 횟수가 제한됩니다.
[실행방법 윈도우] Edge 브라우저 접속 및 로그인 후 bing.com에 접속하여 상단 메뉴에서 채팅을 클릭하면 됩니다.
[URL] https://www.bing.com
[예시] 윈도우로 BING 챗 봇 접속 시
[실행방법 리눅스] (환경 : 하모니카 6.0 태백 + 버전 3.19.166.16(공식 빌드) (64비트))
① 호환 스토어에서 BING 추가
[URL] https://chrome.google.com/webstore/detail/microsoft-bing-homepage-s/ddojnmkongaimkdddgmcccldlfhokcfb
② bing.com 접속 및 로그인 후 채팅 클릭
보통은 호환 스토어에서 다운로드하면 바로 새 탭으로 열립니다.
채팅을 누르면 아래와 같이 BING 챗 봇으로 접근됩니다.
[예시] BING UI
깔끔하고 세련된 UI를 갖추고 있으며, 간단해보이지만 여러 기능이 있습니다.
① 필터링 검색 기능 제공
이미지 검색을 예시로 들면 색상, 크기, 파일 유형 등 다양한 필터링이 가능하고 지도 검색 시에는 거리 계산, 교통 정보 등을 함께 제공합니다.
② 사용자 맞춤 정보 제공
Bing은 검색 결과를 보다 개인화된 방식으로 제공합니다. 사용자가 입력한 검색어와 연관된 검색어를 자동으로 제공하며, 사용자의 관심사에 맞는 결과를 보다 정확하게 제공하고 원하는 정보를 더 빠르게 찾을 수 있도록 도와줍니다.
③ 개인정보 보호
검색 기록을 삭제하는 기능을 제공하며, 검색 결과에서도 개인정보가 노출되지 않도록 보호하는 기능을 제공합니다.
Bing Microsoft Search 정보보안 관련 정책은 아래에서 자세하게 확인이 가능합니다.
[URL] https://support.microsoft.com/ko-kr/office/bing-microsoft-search-%EC%A0%95%EB%B3%B4-%EB%B3%B4%EC%95%88%EC%9D%84-%EC%9C%A0%EC%A7%80%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-cbce46ae-bb1f-4d0e-86f1-5984f4589113
[예시] 질문을 통해 확인 가능한 BING 특징
두 엔진 모두 사용해본 결과 오류 검출 및 소스 검증 등에 대해서는 ChatGPT가 유용하게 쓰였고, 공부나 지식을 쌓는 용도 또는 자료 조사 등에 대해서는 BING이 효율적이었습니다.
다만, 이론적인 부분이므로 출처에 따른 정보를 사용자가 다시 한 번 재확인하는 과정이 동반되어야 해서 불편했습니다.
특히 개인이 운영하는 형태인 BLOG 게시글의 경우 특히 신뢰성 검증이 필요합니다.
이에 검색 결과에서 BLOG를 제외하는 방법이 있는지 BING에 질문해보았고 필터링 기능때문인지 -site:blog 옵션을 사용하면 된다는 답변을 받았습니다.
[예시] BING 검색결과 블로그 제외 방법
공식 문서 document 위주로 검색하고 싶어 아래와 같이 옵션을 사용하여 검색해보았습니다.
[예시] 검색 결과에 BLOG 제외 옵션 사용하여 질문
원하던 Output이 도출되었습니다. 개인적인 의견으로 여기까지 보았을 때 발전한 모습까지 고려한다면 BING이 ChatGPT보다 유용하게 쓰일 것 같습니다.
하지만 지금은 두 챗 봇을 필요한 상황에 따라 적절히 섞어 사용하면 될 것 같습니다.
이상으로 글을 마무리하겠습니다.
아직 공부 중인 영역으로 부족한 부분에 대해 남겨주시면 확인하겠습니다.
감사합니다.