/pinecone-lab

Experimenting with Pinecone as vector data continues to take center stage in AI-native systems. The purpose of this project is to explore the core capabilities, benchmark performance across different embedding models, and better understand what is possible with vector search in production environments.

Primary LanguagePythonMIT LicenseMIT

Experimenting with Pinecone as vector data is becoming the standard for AI-native systems. Purpose of the project is learning and experimentation, with the intent of implementing all core Pinecone DB capabilities.

Contributors Forks Stars Issues MIT License


Table of Contents


Pinecone Learning & Experimentation

A comprehensive learning project for exploring Pinecone vector database capabilities through hands-on examples and interactive notebooks.


Features

  • Complete Pinecone DB operations coverage
  • Vector search and similarity matching
  • Metadata filtering and namespaces
  • Hybrid search (dense + sparse vectors)
  • Interactive Jupyter notebooks
  • Utility functions and configuration management

Installation

  1. Clone the repository:
git clone https://github.com/harehimself/pinecone-lab.git
cd pinecone-lab
  1. Create and activate virtual environment:
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Configure API key as environment variable:
# Variable Name: PINECONE_API_KEY
# Variable Value: your-api-key-here

Examples

The src/examples directory contains 8 standalone scripts demonstrating core features:

  • Basic Operations: python -m src.examples.01_basic_operations
  • Vector Operations: python -m src.examples.02_vector_operations
  • Namespaces: python -m src.examples.03_namespaces
  • Metadata Filtering: python -m src.examples.04_metadata_filtering
  • Sparse Vectors: python -m src.examples.05_sparse_vectors
  • Hybrid Search: python -m src.examples.06_hybrid_search
  • Integrated Embedding: python -m src.examples.07_integrated_embedding
  • Backup & Restore: python -m src.examples.08_backup_restore

Jupyter Notebooks

Interactive notebooks for hands-on exploration:

jupyter notebook notebooks/01_quickstart.ipynb
jupyter notebook notebooks/02_advanced_usage.ipynb

Project Structure

  • src/config.py: Configuration and environment variables
  • src/utils.py: Utility functions for Pinecone operations
  • src/examples/: Individual example scripts
  • notebooks/: Interactive learning notebooks

Future Enhancements

  • Real embedding models (OpenAI, SentenceTransformers)
  • Real-world dataset examples
  • Performance benchmarking tools
  • Vector space visualization tools

License

MIT License © 2025 HareLabs