An api interface that allows a user to have chat conversations over a set of uploaded documents in markdown format. The conversation must mantain some type of context there are plenty of patterns for this in langchain

You must use gpt3.5 for the chat and embedding API's i can provide a key with a limited budget.

The uploaded documents should be stored as vector embeddings in a redis instance. Ideally you would use toolchains such as langchain, llamaindex, and fast apI.

There should be API's for creating conversations, chatting, scoring a conversation and uploading documents.

for example
POST /conversation
Request ()
Response ( Conversation_id: 21313121 )

POST /chat
Request ( conversation_id: 21313121, question: "Why is sales down in 2022" )
Response ( conversation_id: 21313121, answer: "Because we lost xyz co.", message_id: 63271 )

POST /rate
Request ( message_id: 63271, score:  0.8 )
Response ()

POST /documents
Request ( data: "[base64filecontent]" title: "/reports/mydoc.md" )
Response ()

Should be delivered as a github repository and be able to run with docker compose that contains the db (redis) and the running app with fast api and examples to execute in a postman file



Budget: $300
Posted On: May 24, 2023 09:38 UTC
Category: Full Stack Development
Skills:Redis, GPT-3, Docker, Python, API
Country: Australia
click to apply