PHP Client for Pinecone Vector Databases

Last updated: Jan 1, 2024

View on Github

Project Overview

This project provides a PHP client for interacting with Pinecone’s vector database API. It allows developers to create, manage, and query vectors and indexes with ease, making it a powerful tool for integrating vector-based searches and recommendations into PHP applications. The client offers a straightforward way to perform these operations while maintaining flexibility for advanced configurations.

Key Features

  • Index Management: Easily create, update, delete, and retrieve information about indexes.
  • Vector Operations: Perform operations such as upserting, querying, fetching, and deleting vectors from the database.
  • Custom Configuration: Configure custom API endpoints and manage index metadata.
  • JSON Schema Validation: Ensure input validation and error handling through predefined schemas.
  • Testing Support: Built-in unit and integration testing for seamless development.

Workflow

  1. Environment Setup: Configuration is handled through environment variables to ensure secure and efficient API access.
  2. Index Operations: Create and manage indexes that store vectors, which can be tailored to specific needs such as dimensions, metrics, and more.
  3. Vector Management: Upsert, fetch, query, and delete vectors in bulk for optimized search and recommendation functionalities.
  4. Custom API Endpoints: Leverage custom endpoints for advanced features such as index statistics and other custom operations.

Technologies Used

  • Language: PHP
  • Pinecone API: Used for vector database operations
  • Testing: PHPUnit for unit and integration tests

Upcoming Features

  • Collections Support: Introducing support for managing collections of vectors for more efficient batch operations.
  • Inference Features: Enhanced capabilities for vector inference to improve search accuracy and performance.
© 2024 Dominic Kneup