LLM(Large Language Model) API는 거대 언어 모델의 기능을 프로그래밍적으로 사용할 수 있게 해주는 인터페이스입니다. 우리가 ChatGPT 웹사이트에서 채팅하듯이, 코드를 통해 프로그래밍적으로 AI와 대화하고 응답을 받을 수 있습니다.
LLM API의 핵심 구성 요소
LLM API 호출의 기본 흐름:
요청(Request): 사용자의 질문이나 명령을 API에 전송
처리(Processing): LLM이 요청을 분석하고 응답 생성
응답(Response): 생성된 텍스트를 JSON 형태로 반환
OpenAI API 직접 호출하기
OpenAI API는 가장 널리 사용되는 LLM API 중 하나입니다. GPT 모델을 프로그래밍적으로 사용할 수 있게 해줍니다.
1. 기본 설정
먼저 OpenAI 라이브러리를 설치합니다:
2. Python으로 OpenAI API 호출하기
주요 파라미터 설명
model: 사용할 LLM 모델 (gpt-5, gpt-5-mini 등)
messages: 대화 히스토리 배열
system: AI의 역할과 행동 방식 정의
user: 사용자의 질문이나 요청
assistant: AI의 이전 응답 (대화 컨텍스트 유지 시 사용)
reasoning_effort: 추론 깊이 조절 ("minimal", "low", "medium", "high")
GPT-5 전용 파라미터로, 내부 사고 과정의 깊이를 조절합니다
"minimal": 빠른 응답, 간단한 질문에 적합
"low": 일반적인 질의응답
"medium": 적당한 추론이 필요한 작업
"high": 복잡한 논리, 수학 문제, 코딩 등
max_completion_tokens: 생성할 최대 토큰 수
GPT-5 모델은 추론 토큰 + 응답 토큰을 모두 포함하므로 충분히 큰 값 권장
중요: GPT-5 시리즈는 추론 모델(reasoning model)이므로 temperature, top_p, presence_penalty, frequency_penalty 등의 샘플링 파라미터를 지원하지 않습니다. 대신 verbosity(응답 길이 조절)와 reasoning_effort(사고 깊이 조절) 같은 새로운 파라미터를 제공합니다.
GPT-5의 추론 토큰 이해하기
GPT-5 모델은 내부적으로 "생각하는" 과정을 거칩니다:
reasoning_tokens: 내부적으로 문제를 분석하고 추론하는데 사용되는 토큰 (사용자에게 보이지 않음)
output_tokens: 실제로 사용자에게 전달되는 응답 텍스트
max_completion_tokens: 이 두 가지를 합친 전체 토큰 수의 상한선
예를 들어, max_completion_tokens=500으로 설정하면:
reasoning에 500개를 모두 사용하면 → 응답이 비어있게 됨
reasoning에 100개, 응답에 400개 사용 → 정상적인 답변
따라서 충분한 토큰을 할당하거나 reasoning_effort를 적절히 조절하는 것이 중요합니다.
LangChain으로 LLM 호출하기
LangChain은 LLM 애플리케이션 개발을 쉽게 만들어주는 프레임워크입니다. 다양한 LLM 제공자를 통일된 인터페이스로 사용할 수 있게 해줍니다.