AI 초보자 QnA
질문
OpenAI Python SDK에 내 컴퓨터 파일을 어떻게 올리나요?
답변
공식 Python SDK에서는 파일 경로를
Path
객체로 만들어
client.
의
file
에 전달합니다. SDK가 로컬 파일의 내용을 읽어 업로드합니다. 파일 이름을 질문 문장에 쓰는 것과는 다릅니다.
이 글은 내 컴퓨터나 서버에 있는 파일 하나를 Files API에 올려 ID를 받는 방법입니다. 업로드만으로 모델이 내용을 분석하거나 답변을 생성하지는 않습니다. 외부 전송이 허용된 작은 시험 파일부터 고르세요.
짧게 답하면
전송 권한 확인 → 실행 위치·경로 점검 → Path로 업로드 → 반환된 파일 정보 확인 순서입니다. 내 컴퓨터의 경로와 업로드 뒤 받은 파일 ID를 구분하세요.
Path 객체
Python이 로컬 파일의 위치를 다루는 객체입니다. 파일 내용 자체나 서버 ID는 아닙니다.
file
SDK 업로드에 전달하는 파일 입력입니다. 여기서는 Path 객체를 넣습니다.
file_id
업로드 뒤 받은 id를 다른 API에서 참조할 때 씁니다. 로컬 경로를 대신 적지 않습니다.
처음 쓰는 사람 기준으로 설명하면
예를 들어 연습 폴더의
sample.
를 올리려 한다고 해 보세요. 파일을 편집기에서 열 수 있어도 Python 프로그램이 같은 폴더에서 실행된다는 보장은 없습니다. 상대 경로가 가리키는 위치부터 확인하면 엉뚱한 파일을 보내는 실수를 줄일 수 있습니다.
OpenAI Python 문서의 File uploads는
bytes
, 파일 객체,
PathLike
객체와 파일명·내용·미디어 유형의 튜플을 지원한다고 설명합니다.
pathlib.
를 전달하는 예시도 제공합니다. 이번에는 경로를 직접 확인하기 쉬운 Path 방식만 사용합니다.
Upload file 참조의
file
은 파일 이름이 아닌 업로드할 파일입니다. SDK가 경로를 읽는 것과 HTTP 요청에 경로 문자열만 보내는 일은 다릅니다. 모델 입력용 자료에는 File inputs 가이드가
purpose="user_data"
를 권장합니다. 파인튜닝 예제의 용도를 무조건 복사하지 마세요.
한 줄 정리: Path는 로컬에서 읽을 위치이고, 업로드 결과의 id는 서버에 올라간 파일을 가리킵니다. 경로를 모델 질문에 적는 것으로 업로드를 대신하지 않습니다.
바로 따라 해보기
1단계. 실행 위치와 파일을 확인합니다.
from pathlib import Path
뒤에
path = Path(
를 둡니다. 같은 프로그램에서
Path.
,
path.
,
path.
을 확인하세요. 경로가 의도한 시험 파일인지 직접 대조합니다. 파일이 아니거나 접근 오류가 나면 전송을 멈추세요.
2단계. 확인한 Path 객체로 한 번 업로드합니다.
공식 SDK의 기존 인증 설정을 사용해
from openai import OpenAI
와
client = OpenAI(
를 준비합니다. 이어
uploaded = client.
를 호출하세요. 실제 키를 코드에 적지 말고 승인된 비밀 설정에서 불러옵니다.
3단계. 반환 정보와 다음 작업을 구분합니다.
uploaded.
,
uploaded.
,
uploaded.
를 대조하세요.
uploaded.
가 제공되면 크기도 비교하고, null이면 0으로 바꾸지 않습니다. 모델에게 읽히려면 별도 Responses 요청의
input_file
에서
file_id
에 받은 id를 넣습니다.
주의할 점
Path를 만들거나 경로를 절대 경로로 바꿨다는 사실만으로 파일 존재·읽기 권한·업로드 성공이 증명되지는 않습니다. 파일 검사와 실제 읽기 사이에도 상태가 바뀔 수 있으므로 오류를 숨기지 마세요. 이 글은 공식 문서 기반 절차이며 실제 API 업로드 결과를 제시한 것은 아닙니다.
문서 예제의 파일명이 같다는 이유로 다른 폴더의 파일을 올립니다. 실행 위치와 실제 경로를 먼저 확인하세요.
업로드 성공을 분석 완료로 표시합니다. 모델 입력에는 별도 형식·크기·모델 조건이 있으므로 다음 요청의 제한을 따로 확인하세요.
로컬 파일이므로 기기 안에서만 처리된다고 생각합니다. 파일 내용이 API로 전송되며, 경로·파일명에도 개인정보가 있을 수 있으니 공개 로그에 남기지 마세요.
웹사이트와 앱 중 무엇부터 쓰면 좋을까요?
사용법은 공식 웹 문서에서
Python API library의 File uploads와 Upload file의 입력 항목을 함께 읽으세요. Path 객체를 쓰는 SDK 예시와 원시 HTTP 요청을 섞지 않습니다.
경로 확인은 API 개발 환경에서
실제로 요청하는 Python 프로그램에서 경로를 확인하세요. 노트북·서버가 내 PC와 같은 파일을 본다고 가정하지 않습니다. ChatGPT 앱의 첨부 버튼은 이 코드의 경로 설정이 아닙니다.
같이 보면 좋은 질문
확인한 공식 자료
OpenAI 공식 Python 문서 — Python API library — File uploads의 PathLike 지원과 Path 객체 전달 예시를 확인했습니다.
OpenAI API 참조 — Upload file — 파일 입력·용도, 반환 ID·파일명·크기와 크기 미확정 시 null을 확인했습니다.
OpenAI 공식 가이드 — File inputs — 모델 입력용 user_data 권장과 업로드 뒤 file_id로 참조하는 별도 요청을 확인했습니다.
Python 공식 문서 — pathlib — 현재 폴더·절대 경로·일반 파일 여부 확인과 존재·접근 판단의 주의점을 확인했습니다.
