LLM

[5-6일차 프롬프트 엔지니어링 심화/ OpenAI API 시작하기]

getfeelingsfrom 2025. 3. 23. 22:24

[5일차 3.5~3.8절 (82p~93p)]

 

예를 몇 개 드는지에 따라

  • 제로샷 : 예를 들지 않음
  • 원샷 : 예를 한 번만 보임
  • 퓨삿 : 예를 몇 개 보임
  • 매니샷: 수백 ~ 수천 개의 예시를 사용

원샷 프롬프팅 방법

  1. 시스템 메세지를 입력한다
  2. 채팅창에 사용자 메세지 예를 입력한다
  3. 어시스턴트 메세지 예를 additional messages란에 입력한다
  4. 사용자가 실제 작업을  시킬 텍스트를 chat란에 입력한 후 전송한다

원샷에서 해라 체를 사용할 경우 원하는 결과를 얻지 못함을 확인할 수 있다.

 

퓨삿 

원하는 결과를 얻을 수는 있지만, 프롬포트가 길어진다

 

 

수행 단계 나누기

: 규모가 크고 성능이 높은 모델 -> 사용료가 비쌈 

=> 저렴한 모델로 작업을 두세 단계로 나눠서 응답

 

프롬포트 연쇄

작업 단계를 나누어 한 단계씩 질의응답하여 올바른 답을 얻는다.

 

 

CoT : 차근차근 생각하라고 시키기

  • 복잡한 질문에 대해 단계적인 추론 과정을 거쳐 답변을 도출하는 프롬프트 엔지니어링 기법
  • 단계적 추론: 복잡한 문제를 작은 단위로 나누어 순차적으로 해결
  • 자연어 사고 과정: 추론 과정을 자연어로 명시해 사고의 흐름을 명확히 함
  • 논리적 일관성: 체계적인 추론을 통해 답변의 논리적 일관성을 확보
  • 설명 가능성: 중간 사고 과정을 제시함으로서 답변에 대한 설명 가능성 높임 
  • 수학문제 풀이, 논리 추론, 의사 결정 -> 인지 능력 요구하는 문제에서 큰 효과

 

다음과 같이 CoT 기법을 사용할 수 있다. 하지만 계산하는 과정에서 특수기호로만 표현되고 값이 표현되지 않는 문제가 발생했다. 

OpenAI Playground에서는 결과를 렌더링하는 과정이 없다고 한다. 이를 해결할 방법을 찾아보았다.

  • Plain Text로 요청하기 : 수식이 아니라 계산 과정을 일반 텍스트로 작성하기 
    • "수식을 LaTeX으로 표현하지 말고, 일반 텍스트로 설명해줘."
    • 결과: 1. 사과 3개의 가격이 3달러이므로, 1개의 가격은 3 ÷ 3 = 1달러입니다.
      2. 사과 1개의 가격이 1달러이므로, 12개의 가격은 1 × 12 = 12달러입니다. 

 

[6일차 4.1~4.3절, 코랩 환경 설정 (119p ~ 127p)]

 

 

OPENAI API키를 발급받는 방법이다. 키가 만들어지고 나서는 다시 확인이 불가능하므로 창을 닫기 전 키를 안전한 곳에 보관해야한다. 구글 코랩에서 보안 비밀란에 API키를 보관하면 편리하고 안전하게 보관 가능하다.

 

API 값을 환경 변수에 등록해서 

from openai import OpenAI

client=OpenAI()

라는 함수를 실행하면 환경 변수를 자동으로 찾아 API 키를 사용할 수 있다. 

API 값을 코드에서 사용하려면 환경 변수에 등록하거나, OPENAI 클라이언트를 생성할 때 api_key로 직접 전달해야하는데 이 경우는 환경변수에 적용한 경우이다. 환경 변수로 등록함으로써 코드를 직접 적는 일이 줄어들었으며, os.environ으로 키를 얻어낸 뒤 OPENAI를 초기화할 때 api_key매개변수에 API 키를 전달해도 된다. 

 

 

실습에 필요한 내용이 담긴 깃허브 저장소를 복제하여 저장하였다. 

 

✔️스크린샷: 기본 API 호출 코드(openai_chat_completion.ipynb)와 결과