Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion examples/face_recognition/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,12 @@ We appreciate a star ⭐ at [CocoIndex Github](https://github.com/cocoindex-io/c

1. [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) if you don't have one.

2. dependencies:
2. Install Qdrant
```bash
docker run -d -p 6334:6334 -p 6333:6333 qdrant/qdrant
```

3. Install dependencies:

```bash
pip install -e .
Expand Down
18 changes: 11 additions & 7 deletions examples/face_recognition/main.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import cocoindex
import io
import dataclasses
import datetime
import typing
import io
import os

import face_recognition
from PIL import Image
import numpy as np
from PIL import Image

QDRANT_URL = os.getenv("QDRANT_URL", "http://localhost:6334/")
QDRANT_COLLECTION = "face_embeddings"


@dataclasses.dataclass
Expand Down Expand Up @@ -90,7 +93,7 @@ def face_recognition_flow(
flow_builder: cocoindex.FlowBuilder, data_scope: cocoindex.DataScope
) -> None:
"""
Define an example flow that embeds files into a vector database.
Define an example flow that embeds files into Qdrant vector database.
"""
data_scope["images"] = flow_builder.add_source(
cocoindex.sources.LocalFile(path="images", binary=True),
Expand All @@ -108,13 +111,14 @@ def face_recognition_flow(

# Collect embeddings
face_embeddings.collect(
id=cocoindex.GeneratedField.UUID,
filename=image["filename"],
rect=face["rect"],
embedding=face["embedding"],
)

face_embeddings.export(
"face_embeddings",
cocoindex.targets.Postgres(),
primary_key_fields=["filename", "rect"],
QDRANT_COLLECTION,
cocoindex.targets.Qdrant(collection_name=QDRANT_COLLECTION),
primary_key_fields=["id"],
)