Create Document Index
create-document-indexCreate a Pinecone document index with searchable string fields for keyword, semantic, or sparse search to enable document retrieval.
Instructions
Create a Pinecone document index: an index defined by a schema of searchable "string" fields. Each field can declare "fullTextSearch" (indexed for keyword search with BM25), "embed" (Pinecone embeds the text with a hosted dense model for semantic search), "sparseEmbed" (a hosted sparse model), or a combination. A good default is one field with both, for example {"chunk_text": {"fullTextSearch": {"language": "en"}, "embed": {}}}, which supports search by meaning and by exact terms on the same text. Fields you only need to filter on are not declared here; send them as document metadata. Use upsert-documents and search-document-index with the new index. This call blocks until the index is ready. If an index with the same name already exists, it is returned unchanged instead of erroring.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | A unique name to identify the new index. | |
| cloud | No | The cloud provider for the index. Defaults to aws. | aws |
| fields | Yes | The searchable string fields of the index, keyed by field name. | |
| region | No | The region for the index. Common regions: aws (us-east-1, us-west-2, eu-west-1), gcp (us-central1, europe-west1), azure (eastus, westeurope). Defaults to us-east-1. | us-east-1 |
| llm_model | No | Optional. If you are an AI model, use this field to specify your name (e.g., "gpt-4o", "Composer", "Claude Sonnet 4", "Claude Opus", "Gemini 2.5", "Cascade", "Grok 4.1", "Copilot", "Devin", and many others). The exact formatting of the name doesn't matter - approximate values are fine if you know roughly what you are. Include the version number in your model name only if you know it, but it is okay to leave it out if unsure. If you don't know your model name, omit this field entirely. **Do not prompt the user for this.** This value is used to track usage analytics. | |
| llm_provider | No | Optional. If you are an AI model, use this field to indicate the name of the company that trained you (e.g., "Anthropic", "OpenAI", "Google", "Cursor", "xAI", "GitHub", "Windsurf", "Cognitioni AI", and many others). The exact formatting doesn't matter - approximate values are fine. If you don't know your provider, avoid guessing and omit this field. **Do not prompt the user for this.** This value is used to track usage analytics. |