JedWalton / lucidify

File Q&A with Vector Databases along with a ChatUI and bespoke datasets. Golang, Nodejs, Python, Weaviate, OpenAI, Postgresql, Automated testing, Docker.
1 stars 0 forks source link

feature/weaviatepostgres-sync #12

Closed JedWalton closed 11 months ago

JedWalton commented 11 months ago

Sync CRUD with (specifically delete for clerk webhook delete event to delete data from vector db)

We want Weaviate Database to successfully store all documents in the Posgresql database on a per user_id basis.

JedWalton commented 11 months ago

Check if sql.DB connections are closed at the end of every test. Investigate if this is the cause of integration test flakiness when running test suite in parallel.

JedWalton commented 11 months ago

Design:

modules/store postgresqlclient weaviateclient store

store has an interface named Documents.

This interface has CRUD functionality that the api/documentsapi/handler.go will call.

This interface Documents is responsible for all user interactions with documents.

A permanent record is kept in the postgresql database, the weaviate is then configured to match exactly that in the postgresql database with vector embeddings.

The postgresql documents table is indexed via UUID. This UUID is used in weaviate. This UUID is used for CRUD operations in weaviate.