---
title: "Pinecone"
description: "Pinecone vector database integration for semantic caching in Bifrost."
icon: "database"
---

## Pinecone

[Pinecone](https://www.pinecone.io/) is a managed vector database service designed for machine learning applications, offering both serverless and pod-based deployment options.

### Key Features

- **Managed Service**: Fully managed with no infrastructure to maintain
- **Serverless Option**: Pay-per-use pricing with automatic scaling
- **High Performance**: Optimized for low-latency vector search
- **Metadata Filtering**: Advanced filtering on vector metadata
- **Namespaces**: Organize vectors into separate namespaces within an index

### Setup & Installation

**Pinecone Cloud:**
- Sign up at [pinecone.io](https://www.pinecone.io/)
- Create a new index with the desired dimensions
- Get your API key and index host URL from the console

**Local Development (Pinecone Local):**
```bash
docker run -d \
  --name pinecone-local \
  -p 5081:5081 \
  ghcr.io/pinecone-io/pinecone-index:latest
```

### Configuration Options

<Tabs group="pinecone-config">

<Tab title="Go SDK">

```go
vectorConfig := &vectorstore.Config{
    Enabled: true,
    Type:    vectorstore.VectorStoreTypePinecone,
    Config: vectorstore.PineconeConfig{
        APIKey:    "your-pinecone-api-key",
        IndexHost: "your-index-host.svc.environment.pinecone.io",
    },
}

store, err := vectorstore.NewVectorStore(context.Background(), vectorConfig, logger)
```

</Tab>

<Tab title="config.json">

**Cloud Setup:**
```json
{
  "vector_store": {
    "enabled": true,
    "type": "pinecone",
    "config": {
      "api_key": "your-pinecone-api-key",
      "index_host": "your-index-host.svc.environment.pinecone.io"
    }
  }
}
```

**Local Development:**
```json
{
  "vector_store": {
    "enabled": true,
    "type": "pinecone",
    "config": {
      "api_key": "pclocal",
      "index_host": "localhost:5081"
    }
  }
}
```

</Tab>

</Tabs>

<Note>
For local development with Pinecone Local, any API key value works (e.g., "pclocal"). The index host should point to localhost:5081 by default.
</Note>

<Warning>
Pinecone requires all IDs to be unique strings. Namespaces are created automatically when you first upsert vectors.
</Warning>

For the VectorStore interface API and usage examples, see [Vector Store Architecture](/architecture/framework/vector-store). For semantic caching setup, see [Semantic Caching](/features/semantic-caching).
