pinecone-ts-client  by pinecone-io

TypeScript SDK for Pinecone vector database operations

Created 2 years ago
252 stars

Top 99.6% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

The pinecone-ts-client is the official TypeScript/Node.js SDK for the Pinecone vector database. It provides developers with a programmatic interface to manage Pinecone indexes, perform vector search operations, leverage integrated AI models for embeddings and reranking, and build AI assistants. This client is designed for backend applications requiring efficient and scalable vector database integration.

How It Works

This SDK acts as a comprehensive client library, abstracting the Pinecone API to facilitate interactions with both serverless and pod-based Pinecone indexes. It offers methods for the full lifecycle of indexes, including creation, configuration, and deletion. Core functionalities encompass data operations such as upserting, querying, fetching, and deleting vectors, alongside support for collections, backups, and advanced features like integrated inference models and an AI Assistant API. The client manages API key authentication, retry mechanisms, and proxy configurations for flexible deployment scenarios.

Quick Start & Requirements

  • Prerequisites: TypeScript >= 4.1, Node.js >= 18.x.
  • Installation: npm install @pinecone-database/pinecone
  • Initialization: Requires a Pinecone API key, which can be set via the PINECONE_API_KEY environment variable or passed directly in the client constructor.
  • Documentation: Comprehensive documentation and migration guides for SDK versions are available.

Highlighted Details

  • Dual Index Support: Manages both serverless and pod-based Pinecone indexes, offering flexibility in deployment and scaling.
  • Integrated Inference: Allows direct use of Pinecone-hosted embedding and reranking models, simplifying the process of generating vectors and enhancing search relevance within the database.
  • AI Assistant API: Provides capabilities to create, manage, and interact with AI assistants, including chat functionalities and file integration.
  • Data Management: Supports creating indexes from collections, generating backups, and restoring indexes from these backups.
  • Advanced Indexing: Features include deletion protection for indexes, index tagging for metadata organization, and the ability to import vectors in bulk from object storage (S3, Parquet).
  • Hybrid Search: Enables combined sparse and dense vector searches for more nuanced retrieval.

Maintenance & Community

Automated testing is integrated via GitHub Actions. A CONTRIBUTING.md file is referenced for contribution guidelines. The provided README does not include direct links to community channels such as Discord or Slack.

Licensing & Compatibility

The project's license is not explicitly stated in the provided README, nor are there specific compatibility notes for commercial use or integration with closed-source projects.

Limitations & Caveats

The SDK is intended strictly for server-side use; employing it in a browser context risks exposing API keys. Collections are not supported for serverless or starter indexes. Vector import from object storage is in public preview, currently limited to S3 and Parquet files, and exclusively compatible with serverless indexes. Deletion by metadata filter is applicable only to pod-based indexes. Namespaces are unsupported in gcp-starter environments. AI Assistants require at least one uploaded file to enable chat functionality.

Health Check
Last Commit

17 hours ago

Responsiveness

1+ week

Pull Requests (30d)
1
Issues (30d)
1
Star History
5 stars in the last 30 days

Explore Similar Projects

Starred by Chang She Chang She(Cofounder of LanceDB), Carol Willing Carol Willing(Core Contributor to CPython, Jupyter), and
11 more.

lancedb by lancedb

0.7%
8k
Embedded retrieval engine for multimodal AI
Created 2 years ago
Updated 3 days ago
Feedback? Help us improve.