OpenAI API 응답 속도 OpenAI API를 사용하다보면 생각보다 응답 속도가 느려서 당황스러울 때가 많다. API를 한 번 호출하는데 10초가 넘게 걸리는 경우도 흔하다. 아래와 같이 간단한 질문에 걸리는 시간을 측정해보자. import time start = time.time() response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "코카콜라 제로도 많이 먹으면 몸에 해로울까?"}] ) end = time.time() print("%0.3f초" % (end - start)) print("---------------") print(response["choices"][0..
Prompt Engineering 지금까지 OpenAI API의 사용 방법과 언어모델에서 사용할 수 있는 여러 기능들을 살펴보았다. 그러나 축구 규칙을 안다고 해서 누구나 프로 축구선수가 될 수는 없다. 중요한 것은 어떻게 해야 'Goal'을 넣을 수 있는가이다. 언어모델의 'Goal'은 사용자가 원하는 대답을 얻는 것이다. 대화를 통해 원하는 대답을 얻기 위해서는 언어모델을 잘 구슬려서 원하는 대답을 내뱉도록 만드는 사용자의 화술이 중요하다. 언어모델에 주는 사용자의 입력을 '프롬프트'라고 하기도 하는데, 이 프롬프트를 잘 작성하기 위한 기술을 '프롬프트 엔지니어링'이라고 한다. OpenAI는 수많은 연구끝에 얻은 좋은 프롬프트를 작성하기 위한 6가지 방법들을 공개했는데, 덕분에 우리는 거인의 어깨에 ..
ChatCompletion 이전 글에서 OpenAI API를 소개하면서 ChatCompletion을 사용해보았다. ChatCompletion은 말 그대로 대화를 완성해주는 것이다. GPT 같은 생성형 언어모델은 이전 대화의 내용들을 입력하면 다음에 어떤 말을 할 것인지 예측한다. 따라서 API에 이전 대화 내용을 입력하면 다음 내용을 출력해주는데, 이러한 API를 쉽게 사용할 수 있도록 만든 것이 ChatCompletion이다. response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "user", "content": "GPT-3.5 모델에 대해 설명해줘"} ] ) GPT-3.5는 OpenAI가 개발한 자연어 처..