본문 바로가기
IT BASIC/오류해결

openai.AuthenticationError: 1.60.1

by tankwoong 2025. 1. 25.
반응형
from openai import OpenAI
import os
from dotenv import load_dotenv

load_dotenv()
print(os.getenv("MYOPENAI_API_KEY"))
client = OpenAI(api_key=os.getenv("MYOPENAI_API_KEY"))
# client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
def chat(message:str) -> str:
    response = client.chat.completions.create(
        model = "gpt-4o",
        messages = [
            {"role":"system", "content": "You are a helpful asssistant"},
            {"role":"user", "content":message},
        ],
        max_tokens = 300,
        temperature = 0.9,
    )
    return response.choices[0].message.content
if __name__ == "__main__":
    print(chat("what is the meaning of life?"))

디버깅 정말 어렵게 진행했는데 결국 알아내었다.

위의 코드이고, dotenv를 활용했는데 api를 계속 생성해서 붙여도 

계속해서 Authentication 오류가났다. 

그 이유는 os.getenv를 했을 때 sk-proj-sk-proj-이렇게 출력되게 되어서 문제가 발생한 것이다. 

어떻게 알아냈냐하면 그냥 붙여넣을 때는 잘 되다가 안되었던 것이다. 

OPENAI_API_KEY

.env파일에 이렇게 붙였을 경우 중복이 되는데 

MYOPENAI_API_KEY

내가 임의로 바꿀 경우 제대로된 형식으로 출력이 되었다.

그 이유는 내가 OPENAI_API_KEY를 했을 경우 

윈도 시스템에 있는 OPENAI_API_KEY를 우선적으로 적용하기 때문이다. 그래서 OPENAI_API_KEY가 올바른지 환경변수에 확인하고 적용시켜주어야한다.

그렇게 했을 때 이렇게 잘 출력된 것을 볼 수 있다.

dot_env파일은 API를 붙여넣을 경우 발생하는 문제에 대비해서 .env파일에 붙여넣을 경우 

반응형