[AI & IT 지식카드] OpenAI API: 챗봇 대화의 원리와 구조

📔 TODAY I LEARNED

OpenAI API: 챗봇 대화의 원리와 구조

오늘 공부한 내용을 바탕으로 OpenAI API를 활용한 챗봇 상담사 만들기의 핵심 개념을 정리합니다.

1 대화의 핵심 요소: 3가지 역할 (Role)

AI 모델과 대화할 때는 '누가 말하는가'를 명확히 구분해야 합니다. 이를 Role(역할)이라고 부릅니다.

역할 설명 비유
system AI의 성격, 규칙, 배경 설정을 정의합니다. 감독의 연출 지시
user 실제 서비스를 사용하는 '나'의 입력값입니다. 배우에게 던지는 대사
assistant 사용자의 질문에 대한 AI의 답변입니다. 배우의 응답

2 AI는 어떻게 '기억'을 할까?

컴퓨터는 사람처럼 자연스럽게 과거를 기억하지 못합니다. 우리가 '대화 기록장(List)'을 만들어 매번 처음부터 끝까지 다시 보여주는 방식을 사용합니다.

STEP 1

입력 (input)

사용자가 말을 하면 변수에 저장합니다.

STEP 2

기록 (append)

messagesuser 이름표를 붙여 추가합니다.

STEP 3

전송

지금까지 적힌 기록장 전체를 OpenAI 서버로 보냅니다.

STEP 4

응답 저장

AI 답변을 assistant 이름표로 기록합니다.

💡 핵심 포인트

AI가 "아까 말씀하신 대로..."라고 말할 수 있는 이유는,
매번 첫 대화부터 지금까지의 기록을 통째로 복사해서 전달해주기 때문입니다!

3 핵심 코드 구조 분석

# 1. 기록장 초기화 (감독의 지시 전달)
messages = [{"role": "system", "content": "너는 사용자를 도와주는 상담사야."}]

while True:
    user_input = input("사용자: ")
    if user_input == "exit": break

    # 2. 나의 대화를 기록장에 추가
    messages.append({"role": "user", "content": user_input})

    # 3. 기록장 전체를 AI에게 보내서 답변 받기
    ai_response = get_ai_response(messages)

    # 4. AI의 답변도 기록장에 잊지 말고 추가
    messages.append({"role": "assistant", "content": ai_response})

    print("AI: " + ai_response)

! 오늘의 트러블슈팅: OpenAIError

⛔ The api_key client option must be set...

문제

OpenAI() 객체를 만들 때 비밀번호(API Key)가 전달되지 않아 인증 오류가 발생합니다.

원인

.env 파일에 OPENAI_API_KEY가 설정되지 않았거나 값이 잘못 입력된 경우입니다.

해결

.env 파일에 OPENAI_API_KEY=내키값을 정확히 적었는지 확인

② PowerShell 임시 설정: $env:OPENAI_API_KEY="..."

"

AI의 똑똑한 기억력은 사실
개발자가 성실하게 관리하는 '기록장'에서 나온다.

#TIL #OpenAI #챗봇 #Python #API #개발공부

이 글을 공유하기

댓글

Designed by JB FACTORY