https://github.com/timeless-residents/handson-pinecone
FastAPI-based vector similarity search API using Pinecone for efficient vector database operations
https://github.com/timeless-residents/handson-pinecone
api fastapi pinecone vector-database vector-search vector-similarity
Last synced: 15 days ago
JSON representation
FastAPI-based vector similarity search API using Pinecone for efficient vector database operations
- Host: GitHub
- URL: https://github.com/timeless-residents/handson-pinecone
- Owner: timeless-residents
- Created: 2025-02-15T19:08:36.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-02-15T19:57:41.000Z (8 months ago)
- Last Synced: 2025-05-14T05:23:29.132Z (5 months ago)
- Topics: api, fastapi, pinecone, vector-database, vector-search, vector-similarity
- Language: Python
- Homepage: https://handson-pinecone.onrender.com/
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pinecone ベクトル検索 API
このプロジェクトは、Pineconeを使用したベクトル類似度検索APIを提供します。FastAPIフレームワークを使用して構築され、高性能なベクトル検索機能を実現します。
## 概要
このAPIサービスは、テキスト埋め込み、画像特徴量、または任意の数値ベクトルに対して、高速で正確な類似度検索を提供します。Pineconeのサーバーレスインフラストラクチャを活用し、スケーラブルな検索機能を実現しています。
## セットアップ
### 前提条件
- Python 3.8以上
- Pinecone アカウントとAPI キー
### インストール手順
1. リポジトリをクローンします:
```bash
git clone [リポジトリURL]
cd handson-pinecone
```
2. 必要なパッケージをインストールします:
```bash
pip install -r requirements.txt
```
3. 環境変数を設定します:
`.env`ファイルを作成し、以下の内容を追加します:
```
PINECONE_API_KEY=your_api_key_here
```
### 初期設定
インデックスを作成するには、以下のスクリプトを実行します:
```bash
python quick-start.py
```
## 主な機能
- **ベクトルデータの追加・更新** (`/upsert`)
- **類似ベクトル検索** (`/search`)
- **インデックス状態の確認** (`/status`)
## APIエンドポイント
### 1. ベクトル検索 `/search`
- **メソッド**: POST
- **説明**: クエリベクトルに最も類似したベクトルを検索
- **リクエスト例**:
```json
{
"query_vector": [0.1, 0.2]
}
```
### 2. ベクトル追加 `/upsert`
- **メソッド**: POST
- **説明**: 新しいベクトルデータをインデックスに追加
### 3. ステータス確認 `/status`
- **メソッド**: GET
- **説明**: インデックスの状態と統計情報を取得
## 使用例
### APIサーバーの起動
```bash
uvicorn main:app --reload
```
### Swagger UIへのアクセス
APIサーバー起動後、以下のURLでSwagger UIにアクセスできます:
```
http://localhost:8000/docs
```
## 利用シーン
- 類似文書検索システム
- 画像類似度検索
- レコメンデーションシステム
- セマンティック検索エンジン
## 技術スタック
- FastAPI
- Pinecone
- Python 3.8+
- uvicorn
- pydantic
## 注意事項
- 本番環境での使用前に、適切なセキュリティ設定を行ってください
- Pineconeの利用料金に注意してください
- ベクトルのディメンション数は2に設定されています(テスト用)
## ライセンス
このプロジェクトはMITライセンスの下で公開されています。