Capabilities
Files API
Uploading files to a provider for reuse across requests
Read this when
- Reusing the same large document across many calls
- Implementing File Search or RAG over uploaded content
Compatibility
| Provider | API | pi-go | Notes |
|---|---|---|---|
| Anthropic | ✅ Files API beta (files-api-2025-04-14) — 500 MB/file, 500 GB/org; PDF, DOCX, TXT, CSV, XLSX, MD, images | ❌ | no upload helper; FileIDs accepted only as inputs (convert.go:86-108) |
| OpenAI Chat | ✅ Files API + Vector Stores | ❌ | FileID accepted only (convert.go:114) |
| OpenAI Responses | ✅ | ❌ | FileID accepted only |
| Google Gemini | ✅ Files API — 48h retention, free | ❌ | URI accepted as FileData.fileUri |
| Claude CLI | ❌ direct | — |
Provider Documentation
pi-go Gaps
- No
FilesProvidercapability interface. - No upload / list / delete helpers anywhere in the codebase.
- Without uploads, large reusable documents must be re-sent inline (base64) on every call — defeating the cost benefit.
- Vector Store management (OpenAI) and Cached Content (Google) are also missing.