Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add DenseVectorField #489

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Add DenseVectorField #489

wants to merge 2 commits into from

Conversation

BoPeng
Copy link

@BoPeng BoPeng commented Oct 21, 2024

Per discussion at #356 , django-elasticsearch-dsl lacks a DenseVectorField corresponding to the DenseVector field defined in elasticsearch-dsl

https://github.com/elastic/elasticsearch-dsl-py/blob/579f57205c395e17024d9ae827cbf6fd626969c4/elasticsearch_dsl/field.py#L392-L397

This PR adds this field type.

The patch has been used as

@registry.register_document
class MyClassDocument(Document):

    embedding = fields.DenseVectorField(attr="get_embedding")

where get_embedding is a function that returns a list of embeddings. Embeddings returned in array type does not work because

if instance == field_value_to_ignore:
return None

will fail if an array is compared to None.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants