Develop a web application in python utilizing GPT APIs

Job ID: 37379354

Budget: $250 – $750 USD

We have a small web application that we want to add some features to.

- The goal of the app is to utilize AI in our business by building use cases on top of it.
- The app will utilize OpenAI gpt via langchain using vector embeddings.
- Our business knowledge base will be embedded into a vector DB using text-embedding-ada model and used in these use cases via gpt-4 or gpt-instruct (not decided yet, could be discussed further upon awarding).

The requested features are:

Feature 1) User auth including (sign up, login, session mgmt., email verification, password reset)

Feature 2) A screen which will allow creation/modification/deletion of GPT embeddings on a vector DB connected to the app (screen should be visible to authorized users only).

Feature 2)
- A screen which will show a list of scraped items queried from the app DB.
- A refresh button on top of the page to check for new items.
- The items will need to be scraped from a dynamic public website and will either be stored in the DB or ignored according to a rule executed on some attributes of the scraped data.
- The scraper needs to run periodically to check for new items every 1 hour, unless the refresh button is clicked which will directly run the scraper and push the next run by 1 hour.
- The refresh button should be disabled for x minutes after each run.

Feature 3)
- The user would be allowed to click on one of the scraped items and see its details.
- The data shown will be checked against GPT embeddings to determine its viability.
- The user should be able to generate PDF files using a ready-made template from data returned by GPT.

About the current app:
- The developed app is using python as well as reflex (AKA pynecone) framework for UI you may see it in action on this repo (https://github.com/reflex-dev/reflex-chat).
- It is not yet hosted/deployed/setup for SMTP or connected to any db, so the freelancer is expected to setup them as well.
- AWS is preferred to be used.