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