@vectororm/adapter-pinecone
v1.0.1
Published
Pinecone adapter for VectorORM
Maintainers
Readme
@vectororm/adapter-pinecone
Pinecone adapter for VectorORM.
Installation
npm install @vectororm/core @vectororm/adapter-pineconePrerequisites
A Pinecone account and API key. Set up at pinecone.io.
Usage
Standalone Adapter
import { PineconeAdapter } from '@vectororm/adapter-pinecone';
const adapter = new PineconeAdapter({
apiKey: process.env.PINECONE_API_KEY!,
environment: 'us-east-1-aws'
});
await adapter.connect();
// Create an index
await adapter.createCollection('my-index', 1536, 'cosine');
// Upsert vectors
await adapter.upsert('my-index', [
{
id: 'doc-1',
embedding: [0.1, 0.2, ...],
metadata: { title: 'My Document', __v_partition: 'finance' },
text: 'Document content...'
}
]);
// Search with filters
const results = await adapter.search('my-index', queryVector, {
topK: 10,
filter: { field: '__v_partition', op: 'eq', value: 'finance' }
});With RAGClient
import { RAGClient } from '@vectororm/core';
import { PineconeAdapter } from '@vectororm/adapter-pinecone';
const client = new RAGClient({
adapter: new PineconeAdapter({
apiKey: process.env.PINECONE_API_KEY!,
environment: 'us-east-1-aws'
}),
embedder: myEmbedder,
llm: myLLM,
defaultCollection: 'docs'
});
await client.createCollection('docs');
await client.ingest(['documents/*.pdf'], 'docs');
const result = await client.retrieve('search query');Configuration
interface PineconeConfig {
apiKey: string; // Required: Pinecone API key
environment: string; // Required: Pinecone environment (e.g., 'us-east-1-aws')
}Environment variable fallbacks: PINECONE_API_KEY, PINECONE_ENVIRONMENT.
Features
- Full CRUD operations (upsert, fetch, delete)
- Metadata filtering with Pinecone-native filter translation (
$eq,$in,$gt, etc.) - Index management (create, delete, exists, stats)
- Namespace support for multi-tenant isolation
- Paginated iteration for enrichment pipelines
Documentation
License
Apache-2.0
