Skip to content
Primary navigation

Create vector store

client.vectorStores.create(VectorStoreCreateParams { chunking_strategy, description, expires_after, 3 more } body, RequestOptionsoptions?): VectorStore { id, created_at, file_counts, 8 more }
POST/vector_stores

Create a vector store.

ParametersExpand Collapse
body: VectorStoreCreateParams { chunking_strategy, description, expires_after, 3 more }
chunking_strategy?: FileChunkingStrategyParam

The chunking strategy used to chunk the file(s). If not set, will use the auto strategy. Only applicable if file_ids is non-empty.

One of the following:
AutoFileChunkingStrategyParam { type }

The default strategy. This strategy currently uses a max_chunk_size_tokens of 800 and chunk_overlap_tokens of 400.

type: "auto"

Always auto.

StaticFileChunkingStrategyObjectParam { static, type }

Customize your own chunking strategy by setting chunk size and chunk overlap.

static: StaticFileChunkingStrategy { chunk_overlap_tokens, max_chunk_size_tokens }
chunk_overlap_tokens: number

The number of tokens that overlap between chunks. The default value is 400.

Note that the overlap must not exceed half of max_chunk_size_tokens.

max_chunk_size_tokens: number

The maximum number of tokens in each chunk. The default value is 800. The minimum value is 100 and the maximum value is 4096.

minimum100
maximum4096
type: "static"

Always static.

description?: string

A description for the vector store. Can be used to describe the vector store's purpose.

expires_after?: ExpiresAfter

The expiration policy for a vector store.

anchor: "last_active_at"

Anchor timestamp after which the expiration policy applies. Supported anchors: last_active_at.

days: number

The number of days after the anchor time that the vector store will expire.

minimum1
maximum365
file_ids?: Array<string>

A list of File IDs that the vector store should use. Useful for tools like file_search that can access files.

metadata?: Metadata | null

Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.

name?: string

The name of the vector store.

ReturnsExpand Collapse
VectorStore { id, created_at, file_counts, 8 more }

A vector store is a collection of processed files can be used by the file_search tool.

id: string

The identifier, which can be referenced in API endpoints.

created_at: number

The Unix timestamp (in seconds) for when the vector store was created.

file_counts: FileCounts { cancelled, completed, failed, 2 more }
cancelled: number

The number of files that were cancelled.

completed: number

The number of files that have been successfully processed.

failed: number

The number of files that have failed to process.

in_progress: number

The number of files that are currently being processed.

total: number

The total number of files.

last_active_at: number | null

The Unix timestamp (in seconds) for when the vector store was last active.

metadata: Metadata | null

Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.

name: string

The name of the vector store.

object: "vector_store"

The object type, which is always vector_store.

status: "expired" | "in_progress" | "completed"

The status of the vector store, which can be either expired, in_progress, or completed. A status of completed indicates that the vector store is ready for use.

One of the following:
"expired"
"in_progress"
"completed"
usage_bytes: number

The total number of bytes used by the files in the vector store.

expires_after?: ExpiresAfter { anchor, days }

The expiration policy for a vector store.

anchor: "last_active_at"

Anchor timestamp after which the expiration policy applies. Supported anchors: last_active_at.

days: number

The number of days after the anchor time that the vector store will expire.

minimum1
maximum365
expires_at?: number | null

The Unix timestamp (in seconds) for when the vector store will expire.

Create vector store

import OpenAI from "openai";
const openai = new OpenAI();

async function main() {
  const vectorStore = await openai.vectorStores.create({
    name: "Support FAQ"
  });
  console.log(vectorStore);
}

main();
{
  "id": "vs_abc123",
  "object": "vector_store",
  "created_at": 1699061776,
  "name": "Support FAQ",
  "description": "Contains commonly asked questions and answers, organized by topic.",
  "bytes": 139920,
  "file_counts": {
    "in_progress": 0,
    "completed": 3,
    "failed": 0,
    "cancelled": 0,
    "total": 3
  }
}
Returns Examples
{
  "id": "vs_abc123",
  "object": "vector_store",
  "created_at": 1699061776,
  "name": "Support FAQ",
  "description": "Contains commonly asked questions and answers, organized by topic.",
  "bytes": 139920,
  "file_counts": {
    "in_progress": 0,
    "completed": 3,
    "failed": 0,
    "cancelled": 0,
    "total": 3
  }
}