apache / apache/age

Proposal: Vector handling with extension(pgvector)

Open
#1,121 36 comments 40 reactions 0 assignees View on GitHub
enhancement
Dominant language
C
Stars
4.8k
Forks
523
Avg merge
1d 2h
Merged PRs (30d)
9

Description

**Is your feature request related to a problem? Please describe.**
Vector usage is very skyrocketing now. so, market wants to handle with them using database. but we didnt. exactly, the vectorDB has many popularity from resource 'db-engine rank'.

**related to a problem**

but , Apache age doesn't have the function for vector engineering. so many other person who wants to apply the vector are just using the python library itself for supporting vector handling.

**Describe the solution**

### Extension PGvector.
```
CRETATE EXTENSION vector;

SELECT embedding <-> '[3,1,2]' AS distance FROM items;
SELECT (embedding <#> '[3,1,2]') * -1 AS inner_product FROM items;
SELECT 1 - (embedding <=> '[3,1,2]') AS cosine_similarity FROM items;
```
and also can indexing function for searching of nearest neighbor. There are many very good functions except for the aforementioned functions.

**Additional context**
Except for above problem, we expand this feature to ML practitioner who wants data efficient management. the overview of additional context is compatible with Pytorch_geometric remote backend function. They builds the class for ease to integration others database. if previous problem well solve , then we might do this future work.

![image](https://github.com/apache/age/assets/129734402/48b23f0a-7fe9-4667-b723-f6ed3a98c4dc)

in below reference , it has the function for convenience.

[Scaling Up GNNs via Remote Backends]
https://pytorch-geometric.readthedocs.io/en/latest/advanced/remote.html

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.