▶ 먼저 OpenAI 대화형이 어떤 흐름인지를 파악하는 것이 먼저!
(아과노트 티스토리에서 참고한 이미지)
▶ Chatbot 만들기 순서
OpenAI에 키 입력 → 주고받을 메세지 선언 및 초기화→ ChatGPT 모델 선택 → 대화함수 만들기→ 메인 함수 만들기
( https://platform.openai.com/account/usage : 과금 확인 페이지)
해당 프로그램을 하기 전 참고한 티스토리 : (여기 티스토리 완전 좋아요) https://alphalok.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B3%B5%EC%8B%9D%EB%AC%B8%EC%84%9C-%EA%B8%B0%EC%A4%80-ChatGPT-API-OpenAI-API-%EB%8C%80%ED%99%94%ED%98%95Chat-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90-%EC%9E%90%EB%B9%84%EC%8A%A4-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EC%95%84%EA%B3%BC%EB%85%B8%ED%8A%B8
파이썬(Python) / ChatGPT API (OpenAI API) 대화형(Chat) 기본 개념 (자비스 만들기) / 공식문서 기준 / 아과
안녕하세요, 아과노트 입니다. 오늘은 정말 재미있는 것을 만들어 보려고 합니다. 23.03.01 부로 ChatGPT API (OpenAI API)가 공식 서비스 되면서 이제 ChatGPT를 내 프로그램에서 사용할 수 있게 되었습니
alphalok.tistory.com
적용하여 bot에게 물어보는 과정
//전체 코드
import openai # OpenAI API 인증 정보 설정 openai.organization = "소속코드" openai.api_key = "API-키" #openai.Model.list() # 이전 대화 내용을 저장할 리스트 history_message = [ {"role": "system", "content": "You are a helpful assistant."} ] # GPT-3 엔진 선택 model_engine = "gpt-3.5-turbo" # OpenAI API를 호출하여 대화를 생성하는 함수 def generate_chat(question): # OpenAI API 호출하여 대화 생성 history_message.append({"role":"user", "content":question}) print(history_message) completions = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=history_message ) message = completions.choices[0].message.to_dict() print(message) answer = message["content"].strip() # 이전 대화 내용에 새로운 답변 추가 history_message.append(message) print(history_message) return answer # 사용자와의 대화 반복 while True: # 사용자의 입력 받기 question = input("User: ") # 대화 종료 조건 확인 if question.lower() in ["exit", "quit", "goodbye"]: print("Bot: Goodbye!") break # OpenAI API 호출하여 답변 생성 answer = generate_chat(question) # 챗봇의 답변 출력 print("Bot:", answer)
'Novice Data Analyst > 신입의 우당탕탕 도전기' 카테고리의 다른 글
SEO(Search Engine Optimization) 콘텐츠 작성할 때 중요한 3가지 (0) | 2023.05.30 |
---|---|
svelte_studying_todolist (1) | 2023.04.18 |
json 제이쓴 제이슨은 무엇일까? (0) | 2023.03.30 |
openai api 사용방법 확인하기(1) (0) | 2023.03.29 |
Svelte 도전기_01 (0) | 2023.03.22 |