/chat/completions 요청에 직접 첨부할 수 있습니다. Venice는 선택된 모델로 보내기 전에 파일을 텍스트로 추출하므로 직접 파서를 만들지 않고도 파일 콘텐츠에 대해 질문하거나, 요약하거나, 비교하거나, 변환할 수 있습니다.
프롬프트가 문서, 스프레드시트, markdown 파일, JSON 파일 또는 코드 파일의 콘텐츠에 의존할 때 파일 입력을 사용하세요. 이는 요청 범위 입력이며 영구 파일 저장소가 아니므로 필요한 각 요청에 파일을 포함해야 합니다.
파일 입력은 OpenAI 호환 채팅 콘텐츠 배열을 사용합니다.
type: "file"이 있는 콘텐츠 블록을 추가하고 file.file_data에 파일 콘텐츠를 제공하세요.지원되는 파일 유형
채팅 API는 파일 입력을 base64 데이터 URL 또는 공개적으로 접근 가능한 URL로 허용합니다. 최대 파일 크기는 base64 데이터 URL 디코딩 후 또는 URL 가져오기 후 측정된 파일당 25MB입니다.파일은 추론 전에 텍스트로 추출됩니다. 추출된 텍스트는 모델의 입력 컨텍스트에 포함되므로 파일과 지침 및 예상 답변에 충분한
availableContextTokens이 있는 모델을 선택하세요.기본 사용법
사용자 메시지content가 텍스트와 파일 블록의 배열인 messages 배열을 보냅니다:
파일 URL
파일이 이미 공개 HTTP 또는 HTTPS URL에서 호스팅되는 경우 base64 인코딩 대신file_data에 URL을 전달하세요:
여러 파일
동일한 메시지에 둘 이상의 파일 블록을 포함할 수 있습니다. 모델이 사용 방법을 알 수 있도록 파일 앞에 짧은 텍스트 지침을 넣으세요.데이터 URL
로컬 파일의 경우 파일 바이트를 base64로 인코딩하고 올바른 MIME 유형을 접두어로 붙입니다:
정확한 MIME 유형을 모르는 경우
application/octet-stream을 사용하세요. 정확한 filename을 포함하면 Venice가 파일을 식별하고 표시하는 데 여전히 도움이 됩니다.
큰 파일 작업
파일이 프롬프트 텍스트가 되므로 큰 파일은 지연 시간, 토큰 사용량 및 비용을 증가시킬 수 있습니다. 모델의 컨텍스트 윈도우를 염두에 두세요. 원시 파일은 25MB 이하여야 합니다. Base64 인코딩은 요청 크기를 약 33% 증가시키므로 25MB 제한에 가까운 파일은 더 큰 JSON 요청 본문을 생성합니다. 큰 파일에 대한 좋은 패턴:- 광범위한 “모든 것을 분석” 프롬프트 대신 특정 작업을 요청하세요.
- 현재 답변에 필요한 문서만 포함하세요.
- 긴 보고서나 코드베이스에 더 큰
availableContextTokens이 있는 모델을 사용하세요. - 프롬프트 캐싱도 사용하는 경우 동적 사용자 질문 앞에 안정적이고 반복되는 문서를 두세요.
- 긴 응답이 예상되는 경우
stream: true를 사용하세요.
요청 한도
- 파일당: 각 파일은 25MB 이하여야 합니다.
- 이미지: 단일 메시지에는 최대 10개의 이미지를 포함할 수 있습니다. 이 한도는 요청 단위가 아니라 메시지 단위로 적용됩니다.
파일이 실패하는 경우
처리할 수 없는 파일(예: 파일당 크기 한도를 초과한 경우)이 있더라도 전체 요청이 실패하지는 않습니다. Venice는 해당 파일을 에러 메모로 대체하고, 모델은 여전히 응답하며, 요청은 평소대로 과금됩니다. 응답이 파일을 무시하는 것처럼 보인다면, 재시도하기 전에 파일이 위의 한도 내에 있는지 확인하세요.파일 입력 vs. 텍스트 파서
모델이 파일에 대해 즉시 추론하길 원할 때 채팅 파일 입력을 사용하세요. 먼저 텍스트를 추출하고, 토큰 수를 검사하고, 추출된 텍스트를 자체 시스템에 저장하거나, 동일한 추출된 텍스트를 여러 요청에 보내려면 Text Parser API를 사용하세요.모범 사례
- 가능하면 항상
filename을 포함하세요. 특히 여러 파일을 보낼 때. - 모델이 추출된 콘텐츠를 읽기 전에 작업을 알 수 있도록 파일 블록 앞에 지침을 넣으세요.
- 쿠키, 헤더 또는 서명된 세션 상태 없이 가져올 수 있는 파일에만 공개 URL을 사용하세요.
- 비공개 파일이나 애플리케이션 내에서 생성된 파일에는 base64 데이터 URL을 선호하세요.
- 집중된 질문을 하고 원하는 출력 형식을 지정하세요.
- 구조화된 추출의 경우 파일 입력을 구조화된 응답과 결합하세요.
문제 해결
모델이 파일에 액세스할 수 없다고 말함
모델이 파일에 액세스할 수 없다고 말함
메시지 콘텐츠가 배열을 사용하고
type: "file" 블록을 포함하는지 확인하세요. URL을 사용한 경우 인증 없이 공개적으로 접근 가능한지 확인하세요.요청이 느리거나 비쌈
요청이 느리거나 비쌈
파일이 많은 양의 텍스트로 추출될 수 있습니다. 더 큰 컨텍스트 모델을 사용하거나, 작업 범위를 좁히거나, 파일을 적게 보내거나, Text Parser API로 텍스트를 미리 추출하고 다듬으세요.
응답이 내 파일 중 하나를 무시함
응답이 내 파일 중 하나를 무시함
각 파일에 설명적인
filename을 부여하고 프롬프트에서 파일명을 직접 참조하세요. 예를 들어, “policy-v1.pdf를 policy-v2.pdf와 비교”파일 처리에 실패한 경우(예: 25MB를 초과한 경우), 모델은 그 자리에 에러 메모를 받고 해당 파일 없이 응답합니다. 파일이 실패하는 경우를 참고하세요.모델이 파일 콘텐츠를 거부함
모델이 파일 콘텐츠를 거부함
파일 입력은 호환되는 채팅 모델에서 사용할 수 있습니다. 현재 모델 기능과 컨텍스트 제한은 모델 페이지를 확인하거나 현재의 큰 컨텍스트 텍스트 모델을 시도하세요.