AI 초보자 QnA
질문
OpenAI Python SDK에서 파일을 올릴 때 이름을 따로 정할 수 있나요?
답변
네. file에 파일명·내용·미디어 유형을 묶은 튜플을 전달하면 됩니다. 로컬 파일은 그대로 두고 업로드할 때 보낼 이름을 지정합니다. 이름을 따로 정해도 문서 내용이나 실제 파일 형식은 바뀌지 않습니다.
이 글은 Files API에 새 파일을 올릴 때 이름을 정하는 방법입니다. 이미 업로드한 파일을 이름만 수정하는 절차가 아닙니다. 외부 전송이 허용된 작은 PDF 사본 하나로 연습하세요.
짧게 답하면
로컬 원본 확인 → 전송할 이름 지정 → 튜플로 업로드 → 반환 정보 대조 순서입니다. 파일을 읽는 경로와 서버로 보낼 파일명을 나누어 적으세요.
로컬 경로
Python이 내용을 읽을 파일의 위치입니다. 이름을 따로 지정해도 읽을 파일은 확인해야 합니다.
전송 파일명
튜플의 첫 항목입니다. 이번 업로드에서 보낼 이름이며 파일 ID와 다릅니다.
미디어 유형
내용의 유형을 나타냅니다. PDF 예시에서는 application/pdf를 쓰며 파일 변환 명령은 아닙니다.
처음 쓰는 사람 기준으로 설명하면
예를 들어 내 폴더에
draft.
가 있지만 API에는
review.
라는 이름으로 올리고 싶다고 해 보세요. 원본 파일을 이동하거나 이름을 바꿀 필요 없이 업로드 입력에서 전송 이름을 지정합니다.
공식 Python 문서의 File uploads는
(filename,
튜플을 지원한다고 설명합니다. 첫 항목은 이름, 둘째는 실제 내용이나 열린 파일 객체, 셋째는 미디어 유형입니다. 파일명 문자열만 file에 넣는 방식과는 다릅니다.
SDK의 파일 변환 구현도 튜플의 첫 항목과 나머지 값을 유지하고 둘째 항목의 파일 내용을 처리합니다. Upload file 참조는 업로드 응답에 id와 filename을 돌려줍니다. 성공했다고 가정하지 말고 실제 반환값을 읽으세요.
한 줄 정리: 읽을 파일은 로컬 경로로, 보낼 이름은 튜플 첫 항목으로 정하고 업로드 뒤 filename을 대조합니다.
바로 따라 해보기
1단계. 내용과 전송 이름을 나눠 준비합니다.
공개해도 괜찮은 작은 PDF를 연습 폴더에 두고 실제로 열어 확인하세요. 예시의 draft.pdf와 review.pdf는 연습용 이름입니다. 파일명에 고객 이름·사번 같은 정보가 없는지도 점검합니다.
2단계. 열린 파일을 튜플에 넣습니다.
기존 인증 설정의
client = OpenAI()
를 준비합니다.
with open("draft.
블록 안에서
uploaded = client.
를 실행하세요. 실제 호출 줄은 with보다 한 단계 들여씁니다.
3단계. 서버가 돌려준 정보를 확인합니다.
uploaded.
이 지정한 이름과 같은지,
uploaded.
와 용도가 무엇인지 확인하세요. 로컬 draft.pdf도 그대로 있는지 대조합니다. 크기 값이 제공되면 원본과 비교하되 null을 0으로 바꾸지 않습니다. 오류가 나면 성공으로 기록하지 마세요.
주의할 점
File inputs 가이드는 모델 입력용 업로드에 user_data를 권장합니다. 올린 파일을 모델이 읽게 하려면 별도 요청에서 받은 file_id를 참조해야 합니다. 업로드 성공과 분석 완료는 다릅니다. 이 예시는 문서 기반 절차이며 실제 API 전송 결과를 제시한 것은 아닙니다.
튜플의 둘째 항목에 로컬 경로 문자열만 넣습니다. 이 예시는 rb로 연 실제 파일 객체 f를 전달합니다. 파일 이름만 보낸다고 원본 내용이 전송되지는 않습니다.
이름을 review.pdf로 정하면 어떤 파일이든 PDF로 변환된다고 생각합니다. 확장자·미디어 유형·실제 내용이 맞아야 하며 해당 용도의 형식 조건도 따로 확인하세요.
이미 올린 파일의 이름이 덮어써진다고 믿고 계속 업로드합니다. 이 요청은 새 업로드입니다. 중복 사본을 만들기 전에 이전 응답 ID와 이번 작업 범위를 확인하세요.
웹사이트와 앱 중 무엇부터 쓰면 좋을까요?
입력 형식은 공식 웹 문서에서
Python의 File uploads와 Upload file의 요청·응답을 함께 읽으세요. 튜플은 Python SDK의 입력 표기이며 원시 HTTP 본문에 그대로 적는 JSON 배열이 아닙니다.
실제 점검은 API 개발 환경에서
ChatGPT 웹·모바일 앱의 첨부 이름 설정이 아닙니다. 파일을 읽고 API를 호출하는 Python 프로그램에서 확인하세요. 키는 코드에 쓰지 않고 승인된 비밀 설정을 사용합니다.
확인한 공식 자료
OpenAI 공식 Python 문서 — File uploads — 파일명·내용·미디어 유형 튜플과 파일 객체 지원을 확인했습니다.
OpenAI API 참조 — Upload file — 업로드 입력, user_data 용도와 반환 id·filename·bytes를 확인했습니다.
OpenAI 공식 가이드 — File inputs — 모델 입력용 용도 권장과 업로드 뒤 file_id로 참조하는 별도 요청을 확인했습니다.
OpenAI Python SDK — 파일 입력 변환 구현 — 튜플 이름과 유형을 유지하고 파일 내용을 처리하는 동작을 확인했습니다.
