요즘 인공지능 서비스를 앞다투어 하다 보니, 소속된 단체의 보안을 위해 인공지능 서비스 접속을 차단하는 경우가 늘고 있습니다. 이에 따라 이를 우회하기 위한 방안이 필요한데 대표적인게 api이용하는 방법을 소개합니다.
1) 본인 API_KEY알아내기
먼저 chatGPT API를 사용하기 위해서는 openai.com에 접속한 후에 로그인 하면 아래처럼 화면이 뜨는데, API를 선택한 후 에 나온 화면에서 우상단의 personal을 누르면 뜨는 메뉴중간에 View API Key가 있으니 그것을 클릭합니다.
=>
=>
=> API keys에서 기존에 생성한 key가 있으면 그걸 사용해도 되고, 없을 경우 create new secret key를 누르면 신규로 생성하고서 복사할 기회를 한번 주는데 잘 저장해 주십시요. 확인 누른 후에는 다시 확인할 방법이 없습니다.
이제 본인의 API Key를 복사했다고 가정하겠습니다.
2) OPENAI_API_KEY에 본인의 API key할당하기
윈도우 환경일 경우에는 아래와 같이 지정한다.
c:\> set OPENAI_API_KEY=sk…( 본인의 API key)
만약 linux환경일 경우 아래와 같이 지정한다.
$export OPENAI_API_KEY=sk..(본인의 API key)
3) python에서 활용하기 - requests 기반
pip install requests 는 이미 실행한 것으로 간주하고 설명합니다.
아래는 소스입니다.
import os
import requests
response = requests.post( ... "https://api.openai.com/v1/chat/completions", ... headers={"Authorization": f"Bearer {os.getenv('OPENAI_API_KEY')}"}, ... json={"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "새로운 질문 입력"}]}, ... )
response.json() => 결과에 세부 내용이 많으므로 비추
response.json()["choices"][0]["message"]["content"] => 결과만 보여주므로 추천
이상의 내용을 넣으면 python api를 이용해서 보안에서 막는 경우에도 접근 가능합니다.
4) python에서 활용하기 - openai 기반
pip install openai는 이미 실행한 것을 간주하고 설명합니다.
아래는 소스입니다.
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
response = openai.ChatCompletion.create( ... model="gpt-3.5-turbo", messages=[{"role": "user", "content": "새로운 질문 입력"}] ... )
response => 한글도 깨지고 내용읽기가 힘드므로 비추
response.choices[0].message.content => 결과만 나오므로 추천
5) 범용적인 Python code로 만들기
우선 개인의 api_key를 입력받고, 질문을 입력 받고, 결과를 보여주는 것으로 작성해 보겠습니다.
기존에 사용했던 코드에서 달라질 부분은 개인키를 입력받은 것으로 변경하는 부분입니다.
GUI구성은 간단히 tkinter방식으로 구성하겠습니다.
아래는 소스입니다.
아래는 실행파일로 만드는 과정입니다.
c:\>pyinstaller -w -F chatGPT_v0.1.py
그 결과 생성된 실행파일입니다.
'Python' 카테고리의 다른 글
[PYTHON] WIFI Heatmap 그리기 by ChatGPT (0) | 2024.09.09 |
---|---|
[PYTHON] PDF 파일을 Word로 변환하기 by ChatGPT (0) | 2024.09.08 |
[PYTHON] 엑셀 취합 by ChatGPT (0) | 2024.09.08 |
[PYTHON]숫자 야구 게임 by ChatGPT (6) | 2024.09.08 |
[PYTHON]대포를 쏘면 임의의 숫자를 보여주는 게임 by ChatGPT (2) | 2024.09.07 |