챗GPT의 API를 활용하여 다양한 프로그램을 만들 수 있다.
내 경우 '오늘의 타로'라는 타이틀로 타로 운세를 보는 프로그램을 만들고 이를 매일 같이 잘 사용하고 있다.
78장의 카드 중 임의의 3장을 보여주고 이 카드를 바탕으로 오늘의 운세를 해석하여 보여주는 프로그램이다.
이때, 각 카드 조합에 따른 다양한 해석을 위해 방대한 데이터를 수집해야 하고 이를 조합하여 보여주는 게 보통일이 아니다.
하지만, 이런 데이터를 OpenAI의 API를 이용하여 데이터를 받아오면 개발량은 상당히 줄어들게 된다.
단, OpenAI의 API는 서비스 모델별로 요금이 부과되기에 공개 서비스 보다는 개인 참고용으로 활용하고 있다.
참고로 그 데이터양이 얼마되지 않아 부과되는 금액은 상당히 미미하다.
[기존 OpenAI 호출]
[변경된 OpenAI 호출]
대략 11월 10일 경 업데이트되어 불가피하게 소스를 수정해야 했다.
이중 오늘 다루고자 하는 내용은 위 소스 중 'api_key'를 소스페이지에 직접 입력하지 않고 암호화하여 파일로 불러오는 방법에 대해 소개하고자 한다.
OpenAI를 활용한 개발 책들도 은근히 출간되고 있는 시점에서 예제 실행을 위해 API 키를 소스페이지에 직접 하드코딩하여 이용하는 모습을 볼 수 있었다.
테스트 용도로라도 가급적 API Key가 유출되지 않게 조심해야 한다.
GitHub에 API Key를 암호화는 프로그램 소스를 공유하였다.
Mac환경에서 개발하였지만, Windows에서도 쉽게 반영 가능할 것이라 생각된다.
프로그램을 실행하면 위와 같은 모습의 유틸리티가 실행된다.
'Key:' 입력창에 OpenAI Key와 같은 암호를 넣어 암호화하여 파일로 저장할 수 있다. 꼭 OpenAI키만 넣으란 법은 없다. 일반적인 암호를 넣어 암호화 하여 파일로 저장 후 소스에서 불러와 활용할 수 있다.
encryted_api_key.bin 파일과 sedcret.key 두 파일이 생성된 모습이다.
이 두 파일을 가지고 파이썬 소스페이지에서 불러와 사용하는 방법을 잠시 살펴보겠다.
위 소스와 같이 secure.key와 encrypted_api_key.bin파일을 불러와 OpenAI와 통신할 수 있다.
OpenAI를 활용한 프로그램을 이제 막 시작했다면 위 소스를 참고하여 보안에 민감한 키 값을 암호화하여 사용할 수 있다.
소스 관련 문의는 voka@naver.com으로 보내주시면 회신드립니다.
'BB Life' 카테고리의 다른 글
DJango (장고)로 만드는 웹 어플리케이션과 도메인 설정 (0) | 2024.02.28 |
---|---|
맥북에어 15인치 쓸만할까? (1) | 2023.11.09 |
알폰스 무하, 더 골든 에이지 전시회 관람 후기 (0) | 2023.05.09 |
갤럭시 탭 S8로 시작하는 그림 생활 (1) | 2023.03.27 |
다시 붓을 들다, 나의 명상 수련법 (0) | 2023.01.18 |
댓글