Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Update README with context. #1

Merged
merged 5 commits into from
Sep 13, 2023
Merged
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
32 changes: 25 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,54 @@
[![Built with Cookiecutter](https://img.shields.io/badge/built%20with-Cookiecutter-ff69b4.svg?logo=cookiecutter)](https://github.com/cookiecutter/cookiecutter)
[![Built with Cookiecutter](https://img.shields.io/badge/built%20with-Cookiecutter-ff69b4.svg?logo=cookiecutter)](https://github.com/thinknimble/tn-spa-bootstrapper)

# Vector Demonstration
# AI-Enabled Search Engine using LLM Embeddings, Django, and pgvector

A lot of people have asked us for ideas of how they can leverage Large Language Models (LLMs) for their business applications. A common example is to use the native language comprehension capabilities of LLMs to find matching content. This makes LLMs an excellent tool for search!

This repo demonstrates a prototype application that enables searching for job descriptions using an unstructured, English-language description of a job seeker.

## Watch the Demo on Youtube

[![Video: How We're Building AI Search Engines using LLM Embeddings](http://img.youtube.com/vi/ZCPUmC37HLU/0.jpg)](http://www.youtube.com/watch?v=ZCPUmC37HLU "How We're Building AI Search Engines using LLM Embeddings")

## Links & Resources

- https://www.sbert.net/ - Sentence Transformers package for Python
- https://github.com/pgvector/pgvector - Vector database plugin for PostgreSQL
- https://huggingface.co/spaces/mteb/leaderboard - The "Massive Text Embedding" leaderboard from HuggingFace. Look at this to find models you can use to generate embeddings.
- https://www.djangoproject.com/

## Setup

### Docker

If this is your first time...

1. [Install Docker](https://www.docker.com/)
1. Run `pipenv lock` to generate a Pipfile.lock
1. Run `cd client && npm install` so you have node_modules available outside of Docker
1. Back in the root directory, run `make build`
1. `make run` to start the app
1. If the DB is new, run `make create-test-data`
1. SuperUser `admin@thinknimble.com` with credentials from your `.env`
1. User `cypress@thinknimble.com` with credentials from your `.env` is used by the Cypress
tests
1. SuperUser `admin@thinknimble.com` with credentials from your `.env`
1. User `cypress@thinknimble.com` with credentials from your `.env` is used by the Cypress
tests
1. View other available scripts/commands with `make commands`
1. `localhost:8080` to view the app.
1. `localhost:8000/staff/` to log into the Django admin
1. `localhost:8000/api/docs/` to view backend API endpoints available for frontend development


### Backend

If not using Docker...
See the [backend README](server/README.md)

### Frontend

If not using Docker...
See the [frontend README](client/README.md)


## Testing & Linting Locally

1. `pipenv install --dev`
1. `pipenv run pytest server`
1. `pipenv run black server`
Expand Down
Loading