뼈대라고 하는게 맞나.
단어를 잘 모르겠다.
지난 글 : 2024.01.11 - [Python/[Project] Guide_Bright] - [Guide Bright] 0. 아이디어
본론
Draw 내용 중 아래 표시된 부분을 진행했다.
노트북을 한달에 두 번씩 바꿔버려서 Git이 좀 엉망이다.
Git Bash 때문에 깔긴했는데 아직 Git graph도 안깔려있다 ㅋㅋ
파일 설명
.env
GPT API를 포함한다. 이거 털리면 내 지갑이 털린다. 코드는 아래와 같다.
// .env
OPENAI_API_KEY=[Your_API_KEY]
별거 없다. 보안용으로 파일을 분리한 것 뿐.
config.py
이름에서 감이 오게쬬?
python_dotenv, os 패키지를 이용해서 .env 파일을 안전하게 분리한다. 코드는 아래와 같다.
// config.py
from dotenv import load_dotenv
import os
load_dotenv()
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
main.py
별거없다. 입력받고, 함수 호출, 출력 끝
코드는 아래와 같다.
from chatgpt_client import get_response
def main():
print("Welcome to the Chat Assistant for Individuals with Borderline Intelligence Disabilities.")
print("Please type your message and press Enter. Type 'exit' to quit the application.")
while True:
user_input = input("You: ")
if user_input.lower() == 'exit':
print("Exiting the application. Goodbye!")
break
response = get_response(user_input)
print(f"Assistant: {response}\n I'm glad I could help you")
if __name__ == "__main__":
main()
chatgpt_client.py
실질적인 몸통.
제일 중요한게 get_response() 라고 생각한다.
근데 이게 gpt-3 모델에서 gpt-4 모델로 넘어가면서
openai.Completion.create() 함수가 openai.ChatCompletion.create()로 바뀌었다는데,
prompt 변수 설정이 조금 귀찮아졌다.
코드는 아래와 같다.
import openai
from config import OPENAI_API_KEY
def get_response(user_input):
"""
Sends the user input to ChatGPT and returns the response.
"""
role = """
// 여기에 경계성 지능 장애에 대한 내용과 GPT의 역할을 심었다. (비밀임 ㅎㅎ)
"""
openai.api_key = OPENAI_API_KEY
try:
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "system", "content": role},
{"role": "user", "content": user_input}]
)
except Exception as e:
return f"An error occurred: {e}"
return response.choices[0].message['content'].strip()
결론
python main.py 실행하면 잘 된다.
문제(?)는 지금 쓰는 패키지들이 python3.12를 못 받는다는것.
python 3.11 쓰십셔
아래는 내용 번역이다.
메시지를 입력하고 Enter 키를 눌러 응용 프로그램을 종료하십시오. exit을 입력하십시오.
너: 집에 토스트 빵이 있는데 데우려면 어떻게 해야 해?
따뜻한 토스트 한 조각을 만들어 먹으려는 당신의 노력은 훌륭합니다. 당신이 할 수 있는 일은 다음과 같습니다:
1. 집에 토스터기가 있는지 확인하세요. 있다면 정말 좋습니다!
2. 빵 조각을 토스터 슬롯에 넣으세요.
4. 몇 분만 기다려. 아무데도 가지 말고 토스터기를 봐.
5. 빵이 준비되면 빵이 튀어나올 거예요.
절대로 토스터기에 손이나 금속 같은 것을 넣지 말아야 한다는 것을 기억하세요. 만약 문제가 생기면 부모님이나 주방에서 도와줄 수 있는 사람에게 전화하세요.
제가 당신을 도울 수 있어서 기쁩니다.
'Python > [Project] Guide_Bright' 카테고리의 다른 글
[Guide Bright] 1.5. 저장용 (0) | 2024.01.11 |
---|---|
[Guide Bright] 0. 아이디어 (0) | 2024.01.11 |