OpenAI Responses API, 파일 검색·웹 검색 툴 통합 정식 출시
OpenAI가 Responses API에 파일 검색(File Search)과 웹 검색(Web Search) 툴을 정식 통합하면서, 단일 API 호출로 RAG 파이프라인 구축이 대폭 간소화됐다. 기존에 별도로 운영하던 Assistants API의 retrieval 기능을 Responses API로 마이그레이션하는 공식 가이드도 함께 공개되어 한국 개발자들의 전환 작업 부담이 줄어들 전망이다.
무엇이 달라졌나
OpenAI Responses API는 기존 Chat Completions API보다 툴 호출·상태 관리를 구조화하도록 설계된 차세대 엔드포인트다. 이번 업데이트로 File Search와 Web Search 두 내장 툴이 정식(GA) 상태로 전환됐다.
- File Search: 벡터 스토어(Vector Store)에 업로드된 PDF·DOCX·코드 파일 등을 시맨틱 검색으로 조회. 스토어당 최대 10,000개 파일, 파일당 최대 512 MB 지원.
- Web Search: 실시간 웹 결과를 컨텍스트로 주입. 응답에 출처 URL 자동 첨부.
- 두 툴을 동시에 선언하면 모델이 쿼리 유형에 따라 자동으로 적합한 툴을 선택한다.
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-4.1",
tools=[
{"type": "file_search", "vector_store_ids": ["vs_abc123"]},
{"type": "web_search_preview"}
],
input="최신 Next.js App Router 마이그레이션 방법과 내부 위키 문서를 함께 참고해서 요약해줘"
)
print(response.output_text)
Assistants API에서 마이그레이션하는 법
OpenAI는 Assistants API의 retrieval 기능을 2026년 말 종료(deprecation) 예정으로 공지하고, Responses API 전환 가이드를 문서화했다. 핵심 변경 포인트는 다음과 같다.
| 항목 | Assistants API | Responses API |
|---|---|---|
| 스레드 관리 | 서버 사이드 Thread 객체 | 클라이언트 사이드 previous_response_id |
| 파일 첨부 | file_ids 파라미터 | Vector Store 사전 업로드 |
| 스트리밍 | EventStream | stream=True 동일 패턴 |
기존 Vector Store 데이터는 재업로드 없이 그대로 Responses API에서 참조 가능하므로 실제 마이그레이션 공수는 코드 레이어 변경에 집중된다.
한국 개발자 실무 포인트
- 비용: File Search는 벡터 스토어 저장 비용(GB당 공식 페이지 참조)과 검색 호출 비용이 분리 청구된다. 소규모 프로젝트는 무료 티어 내 저장 한도를 먼저 확인할 것.
- 레이턴시: 웹 검색 툴 사용 시 평균 응답 시간이 약 2~4초 증가하므로, UX 설계 시 스트리밍(
stream=True) 적용을 권장한다. - 한국어 파일: PDF 내 한글 텍스트 추출 품질이 이전 대비 개선됐으나, 스캔본 이미지 PDF는 여전히 OCR 전처리 후 업로드를 권장한다.