| |
| 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 \ |
| |
| -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). |
|
|