Bringing semantic search to Django. Integrates seamlessly with Django ORM.
Project description
django-semantic-search
Bringing semantic search to Django. Integrates seamlessly with Django ORM.
Full documentation for the project is available at https://kacperlukawski.github.io/django-semantic-search/
Django built-in search capabilities are rather limited. Finding a relevant instance of a model relies on the relational
database's search capabilities, like SQL LIKE
queries. This is not ideal for high-quality search results. This library
aims to provide a semantic search capability to Django, allowing for more relevant search results. All this is done in
a Django-friendly way, integrating with Django ORM.
The library does not aim to provide all the features of search engines, but rather to provide a simple way to integrate Django applications with semantic search capabilities, using existing vector search engines, a.k.a. vector databases, and embedding models.
Installation
The django-semantic-search
library can be installed via your favorite package manager. For example, using pip
:
pip install django-semantic-search
The current version is still experimental, and the API may change in the future.
Usage
Please refer to the Usage section in the documentation.
Features
- Define the search fields for a model.
- Reflect the configuration in your vector search engine.
- Auto-populate the vector search engine with the data from the Django models.
For the latest documentation, visit https://kacperlukawski.github.io/django-semantic-search/.
Roadmap
This is a general roadmap for the project. The list is not exhaustive and may change over time.
- Allow using multiple fields for a single vector index.
- Define overriding the default embedding model for each
VectorIndex
. - Implement wrappers for embedding models.
- Add support for modalities other than text.
- Improve the test coverage.
- Add metadata filtering to the search method.
If you have any suggestions or feature requests, feel free to create an issue in the project's repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_semantic_search-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d457f0431429b1d4bf866307e5c4a391d54f036a58076ccb37079f51508c215 |
|
MD5 | 989599f563311a2aa7c35bdf9a7ea330 |
|
BLAKE2b-256 | 98a5cd2b327c8219d22e38c978e42ab9d7d7ca1ee6b944092901c1dbedadefa4 |
Hashes for django_semantic_search-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50a3f0847e0df3b763571558b01dd6badefcb20179ad6bc12f4aa8e463e974f9 |
|
MD5 | 2cc0a41e3090f98ba100b5f05da258c7 |
|
BLAKE2b-256 | 90dfc048d4ff6633f4f4dc7eb77541fab827cdacdc70d7c51333ba1bd4232393 |