안녕하세요. 현재 만들고 있는 솔루션에 chatgpt 엔진을 얹고자 합니다.
요즘 핫한 chatgpt를 사용하기위해 api를 사용해보았습니다.
먼저 API key를 발급해야합니다.
1. https://platform.openai.com/api-keys 접속하여 키를 발급합니다.
- Create new secret key 클릭후 발급된 키를 잘 보관하세요.
2. pip install openai로 설치하기
3. 아래 코드에 위 복사한 API키를 붙여넣고 실행하세요.
import openai
# ChatGPT API 키를 설정합니다.
api_key = "Input your private API key"
# OpenAI API 클라이언트를 초기화합니다.
openai.api_key = api_key
def send_message(messages):
response = openai.chat.completions.create(
model="gpt-3.5-turbo",
messages=messages
)
return response.choices[0].message.content
# return response.choices[0].message['content']
# 대화 시작
conversation = []
while True:
user_input = input("사용자: ")
conversation.append({"role": "system", "content": "You are a helpful assistant."})
conversation.append({"role": "user", "content": user_input})
# 사용자 입력에 대한 응답 생성
response = send_message(conversation)
print("ChatGPT: " + response)
conversation.append({"role": "assistant", "content": response})
4. 질문 및 답변 확인
사용자: 안녕하세요. 클래식 추천해주세요.
ChatGPT: 안녕하세요! 클래식 추천을 드릴게요. 클래식 음악은 다양한 작곡가와 장르가 있기 때문에 여러 가지 추천을 드리도록 하겠습니다.
1. 요한 세바스티안 바흐의 "브란덴부르크 협주곡": 바흐의 대표작 중 하나로 유명한 클래식 음악입니다. 아름다운 협주곡으로 유명하며, 명확한 음악적 구조와 아름다운 화음으로 구성되어 있습니다.
2. 루트비히 반 베토벤의 "교향곡 번호 9, '오디세이'": 베토벤의 대표작 중 하나이며, '오드 투 조이'라고도 불리는 이 교향곡은 대중적인 인식도 많이 받고 있습니다. 감동적이고 엄청난 규모의 작품입니다.
3. 아담 클라이베의 "아드리아나 룰루 극장": 이 오페라는 클라이베의 대표작 중 하나입니다. 이름처럼 유쾌하고 경쾌하면서도 아름다운 멜로디와 화려한 오페라 곡으로 구성되어 있습니다.
4. 모차르트의 "라인어 사곡": 모차르트의 대표작 중 하나인 이 사곡은 그의 마지막 작품으로도 알려져 있습니다. 아름다운 선율과 정교한 작곡 기술이 돋보이는 작품입니다.
이 추천들을 통해 클래식 음악의 다양한 스타일과 장르를 즐기실 수 있을 것입니다. 좋은 음악 감상을 즐기시길 바랍니다!
지금 제가 만들고 있는 솔루션은 chatgpt로 봇을 만들어 특정영역을 학습하고 해당영역에서 1순위로 대답하게하는 AI chatbot을 만들고 있습니다. 활용방법은 무궁무진한거같습니다.
5. 제가 겪었던 오류들
1) openai의 ChatCompletion을 호출하다가 지속적인애러
<애러메세지>
APIRemovedInV1:
You tried to access openai.ChatCompletion, but this is no longer supported in openai>=1.0.0 - see the README at https://github.com/openai/openai-python for the API.
You can run `openai migrate` to automatically upgrade your codebase to use the 1.0.0 interface.
Alternatively, you can pin your installation to the old version, e.g. `pip install openai==0.28`
A detailed migration guide is available here: https://github.com/openai/openai-python/discussions/742
<해결방법>
위 애러응답에서 해결제시한 "openai migrate" or "pip install openai==0.28"로 해결하면 안될겁니다.
참고로 아직(2024.02.02기준) windows migrate cli를 지원하지 않습니다. openai 버전을 강제로 세팅해도 오류가
발생합니다.
결국 수험공부하듯이 "기본서에 충실하자"로가서 https://github.com/openai/openai-python 에 api정의서를 읽어
보았습니다.
제가 구매한 전자책(2023년 11월20일 발행)에는 ChatCompletion을 호출하게 되어있는데, 알고보니
ChatCompletion이아닌 chat.completion입니다. functions을 세분화 작업을 한거같습니다.
2) 요청한도 초과관련 애러
<애러메세지>
RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
<해결방법>
- 대시보드 접속 : https://platform.openai.com/usage
- Bill 확인 : 제거는 expired되었다고하여 다시 활성화 시켰습니다.
6. 교훈 : 애러발생시에는 애러코드를 보고 기본서를 충실히한다.
- 아이러니하게도 chatgpt를 사용하려고 발생한 애러라, chatgpt한테 물어봤는데 잘못된 답변을 줍니다.
이유는 과거데이터(2년전 데이터)기준 분석이라 반영을 못합니다.
앞으로 이 간극을 메꾸는 게 이슈가 될거같습니다.
'IT' 카테고리의 다른 글
공공데이터 Rest API 활용팁(부동산,정책 등) (0) | 2024.02.17 |
---|---|
ML 분석시 최적의 조합 찾기 위한 방법 (0) | 2024.02.14 |
ChatGPT를 활용한 1분만에 엑셀data 분석 (0) | 2024.01.30 |
쉬운 프로젝트 일정관리(Jira활용) (1) | 2024.01.13 |
Figma Jam 활용 (0) | 2023.12.30 |