OpenAI API 기반 챗봇 구현
OpenAI API를 활용한 챗봇 구현 프로젝트입니다. Python과 가상환경 설정, 패키지 설치, API 키 설정, 디렉토리 구조 설정, 메인 코드 작성, 그리고 실행 및 테스트 과정을 다룹니다.
OpenAI API 기반 챗봇 구현
1. 프로젝트 폴더 생성
프로젝트 이름: LLM_gpt01
1 2
mkdir LLM_gpt01 cd LLM_gpt01
프로젝트 폴더 내부 구조를 명확히 정리하여 관리하기 용이하게 설정.
2. 가상환경 생성 및 활성화
Python 가상환경을 통해 독립된 환경을 구성하여 외부 환경과의 충돌 방지.
1
python -m venv gpt_env
가상환경 활성화:
Windows:
1
gpt_env\Scripts\activate
macOS/Linux:
1
source gpt_env/bin/activate
3. 패키지 다운로드
OpenAI API와 환경 변수 관리를 위한 패키지를 설치.
1 2
pip install openai==0.28 pip install python-dotenv
pip freeze > requirements.txt
명령어를 사용하여 설치된 패키지를 관리 가능.
4. .env
파일 생성 및 API 키 설정
루트 폴더에
.env
파일 생성:1
touch .env
.env
파일 내용:1
OPENAI_API_KEY="오픈 API 키 입력하기"
.env
파일은 민감한 정보를 담고 있으므로.gitignore
에 반드시 추가.
5. 디렉토리 구조 설정
디렉토리 구조:
1 2 3 4 5 6 7 8 9
LLM_gpt01/ # 프로젝트 이름 ├── gpt_env/ # 가상환경 폴더 ├── main/ # 과제 진행할 폴더 │ ├── main.py │ ├── text.txt │ └── simpletest.py │ ├── .gitignore └── .env # .gitignore 할 파일
6. main.py
파일 작성
- 챗봇 기능을 구현하는 메인 Python 코드:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import openai
from dotenv import load_dotenv
import os
# 환경 변수 로드
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
# 초기 프롬프트 설정
prompt = "너는 영어 선생님이야. user의 영어 공부를 도와줘."
messages = [{"role": "system", "content": prompt}]
# 대화 기록 저장
with open("text.txt", "w", encoding="utf-8") as file:
file.write("대화시작: " + prompt + "\n")
while True:
user_input = input("USER: ")
if user_input.lower() == "그만":
print("종료합니다.")
break
messages.append({"role": "user", "content": user_input})
file.write("USER: " + user_input + "\n")
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages
)
ai_response = response['choices'][0]['message']['content']
print("AI: " + ai_response)
file.write("AI: " + ai_response + "\n")
- 주요 기능:
- OpenAI API와 연동하여 챗봇 동작 구현.
dotenv
패키지를 활용해 환경 변수에서 API 키를 로드.- 대화 내용을
text.txt
파일에 저장. - 사용자가 “그만”을 입력하면 대화 종료.
7. .gitignore
설정
민감한 파일을 Git에 포함하지 않도록
.gitignore
파일 작성:1 2 3
.env gpt_env/ text.txt
8. 실행 및 테스트
main.py
파일 실행:1
python main/main.py
- 실행 시 사용자 입력에 따라 AI가 영어 학습을 도와주는 응답 제공.
- 대화 예시:
1 2 3 4
USER: 안녕 AI: 안녕하세요! 영어 공부를 시작하신 건가요? 무엇을 도와드릴까요? USER: 쉬운 영어 알려줘 AI: 물론이죠! "Hello"는 "안녕"이라는 인사말을 영어로 표현한 것이에요. 다른 쉬운 영어 표현을 알려드릴까요?
This post is licensed under CC BY 4.0 by the author.