메인 콘텐츠로 건너뛰기
파일 입력을 통해 문서와 소스 파일을 /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을 전달하세요:
Venice가 인증 없이 가져올 수 있는 공개 URL만 사용하세요. 비공개 파일의 경우 base64 데이터 URL을 보내세요.

여러 파일

동일한 메시지에 둘 이상의 파일 블록을 포함할 수 있습니다. 모델이 사용 방법을 알 수 있도록 파일 앞에 짧은 텍스트 지침을 넣으세요.
최상의 결과를 얻으려면 각 파일에 명확한 이름을 지정하고 프롬프트에서 해당 이름을 참조하세요.

데이터 URL

로컬 파일의 경우 파일 바이트를 base64로 인코딩하고 올바른 MIME 유형을 접두어로 붙입니다: 정확한 MIME 유형을 모르는 경우 application/octet-stream을 사용하세요. 정확한 filename을 포함하면 Venice가 파일을 식별하고 표시하는 데 여전히 도움이 됩니다.

큰 파일 작업

파일이 프롬프트 텍스트가 되므로 큰 파일은 지연 시간, 토큰 사용량 및 비용을 증가시킬 수 있습니다. 모델의 컨텍스트 윈도우를 염두에 두세요. 원시 파일은 25MB 이하여야 합니다. Base64 인코딩은 요청 크기를 약 33% 증가시키므로 25MB 제한에 가까운 파일은 더 큰 JSON 요청 본문을 생성합니다. 큰 파일에 대한 좋은 패턴:
  • 광범위한 “모든 것을 분석” 프롬프트 대신 특정 작업을 요청하세요.
  • 현재 답변에 필요한 문서만 포함하세요.
  • 긴 보고서나 코드베이스에 더 큰 availableContextTokens이 있는 모델을 사용하세요.
  • 프롬프트 캐싱도 사용하는 경우 동적 사용자 질문 앞에 안정적이고 반복되는 문서를 두세요.
  • 긴 응답이 예상되는 경우 stream: true를 사용하세요.

파일 입력 vs. 텍스트 파서

모델이 파일에 대해 즉시 추론하길 원할 때 채팅 파일 입력을 사용하세요. 먼저 텍스트를 추출하고, 토큰 수를 검사하고, 추출된 텍스트를 자체 시스템에 저장하거나, 동일한 추출된 텍스트를 여러 요청에 보내려면 Text Parser API를 사용하세요.

모범 사례

  • 가능하면 항상 filename을 포함하세요. 특히 여러 파일을 보낼 때.
  • 모델이 추출된 콘텐츠를 읽기 전에 작업을 알 수 있도록 파일 블록 앞에 지침을 넣으세요.
  • 쿠키, 헤더 또는 서명된 세션 상태 없이 가져올 수 있는 파일에만 공개 URL을 사용하세요.
  • 비공개 파일이나 애플리케이션 내에서 생성된 파일에는 base64 데이터 URL을 선호하세요.
  • 집중된 질문을 하고 원하는 출력 형식을 지정하세요.
  • 구조화된 추출의 경우 파일 입력을 구조화된 응답과 결합하세요.

문제 해결

메시지 콘텐츠가 배열을 사용하고 type: "file" 블록을 포함하는지 확인하세요. URL을 사용한 경우 인증 없이 공개적으로 접근 가능한지 확인하세요.
파일이 많은 양의 텍스트로 추출될 수 있습니다. 더 큰 컨텍스트 모델을 사용하거나, 작업 범위를 좁히거나, 파일을 적게 보내거나, Text Parser API로 텍스트를 미리 추출하고 다듬으세요.
각 파일에 설명적인 filename을 부여하고 프롬프트에서 파일명을 직접 참조하세요. 예를 들어, “policy-v1.pdfpolicy-v2.pdf와 비교”
파일 입력은 호환되는 채팅 모델에서 사용할 수 있습니다. 현재 모델 기능과 컨텍스트 제한은 모델 페이지를 확인하거나 현재의 큰 컨텍스트 텍스트 모델을 시도하세요.