Supported file types
Pinecone Assistant supports the following file types:- DOCX (.docx)
- JSON (.json)
- Markdown (.md)
- PDF (.pdf)
- Text (.txt)
For PDF files, assistants support multimodal context, allowing them to analyze and gather context from images. This feature is in public preview.
File storage
Files are uploaded to Google Cloud Storage in the assistant’s region (us or eu). The assistant processes the files and stores the resulting embeddings in a Pinecone-managed index, separate from the indexes in your projects.
Some API responses include a signed_url field, which provides temporary, read-only access to one of the assistant’s files. The URL is signed and hard to guess, but publicly accessible, so treat it as sensitive. signed_url links expire in one hour.
File identifiers
Each file in an assistant has a unique identifier. File IDs can be:- System-generated: When you upload a file using
POST, the system assigns a UUID as the file ID. - User-provided: When you upsert a file using
PUT, you provide a custom file ID. User-provided IDs must be 1-128 characters long and can contain alphanumeric characters, hyphens, and underscores. Requires API version2026-04or later.
File metadata
You can upload a file with metadata, which allows you to store additional information about the file as key-value pairs. File metadata can be used for the following purposes:- Filtering chat responses: Specify filters on assistant responses so only files that match the metadata filter are referenced in the response. Chat requests without metadata filters don’t consider metadata.
- Viewing a filtered list of files: Use metadata filters to list files in an assistant that match specific criteria.
Supported metadata size and format
Pinecone Assistant supports 16 KB of metadata per file.- Metadata fields must be key-value pairs in a flat JSON object. Nested JSON objects aren’t supported.
- Keys must be strings and must not start with a
$. - Values must be one of the following data types:
- String
- Integer (converted to a 64-bit floating point by Pinecone)
- Floating point
- Boolean (
true,false) - List of strings
- Null metadata values aren’t supported. Instead of setting a key to
null, remove the key from the metadata payload.
Metadata query language
Pinecone’s filtering language supports the following operators:
At the top level, list one or more fields (combined with implicit AND) or combine clauses with the logical operators
$and and $or. Use $not to negate a clause, as shown in the table. A bare comparison operator (like $gt) can’t appear at the top level. Nest it under a field.
A metadata field can hold an array of strings, such as {"genre": ["comedy", "documentary"]}. A filter on that field matches when any value in the array satisfies it, so each of these filters matches:
JSON
"drama" value and because $ne and $nin exclude an item when any of its values matches:
JSON
$in. These filters are invalid and return a 400 error:
JSON