Team OneLastTime project for the KLEOS 2.0 2024 hackathon
![New Screen Shot Name 2024-06-22 at 3 52 16 AM](https://private-user-images.githubusercontent.com/93381397/341903781-902587fd-c7ee-4b2d-ace9-066aedee7670.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyNTc2NzUsIm5iZiI6MTcyNDI1NzM3NSwicGF0aCI6Ii85MzM4MTM5Ny8zNDE5MDM3ODEtOTAyNTg3ZmQtYzdlZS00YjJkLWFjZTktMDY2YWVkZWU3NjcwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIxVDE2MjI1NVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJhMzJlNjE1ZjcyMjE3ZmU1MzI2MDNkZmVjNzFkOWE4NGY0MTc5YjI4YmRiMzMwZTA1ODIxNTdhZmVjMmRlNWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.3EJcDCYc8_hL3Hf9I63jqHwXGtw3hrw88nuEJv2Z58k)
![New Screen Shot Name 2024-06-23 at 8 15 23 AM](https://private-user-images.githubusercontent.com/93381397/342017707-797878ea-4307-4447-af85-80054152f958.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyNTc2NzUsIm5iZiI6MTcyNDI1NzM3NSwicGF0aCI6Ii85MzM4MTM5Ny8zNDIwMTc3MDctNzk3ODc4ZWEtNDMwNy00NDQ3LWFmODUtODAwNTQxNTJmOTU4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIxVDE2MjI1NVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdlMDMxOGQyNGI4ODQ5OWE0NzZlZGNhZTdmNDQyMTYwZjhkMTQ3OTM3NTlhMjVlNTYxMjVhZmIxN2U3NTA1OGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.dvzpIcEcNPYKSff7hUSmA5_oxTDNt0zUnqDe6x3HbMg)
-
The User first sends a query to the LLM.
-
The LLM takes the user's query and checks it against the vector database (Qdrant) - This database will contain verified and trusted health information
-
If the data is present in database, then send the response back to the user.
-
If the data is not present, then using AI Agent, we will do a web search on the user's query (we will use CrewAI and SerperAPI).
-
This web scraped data will be then sent to a panel of Medical experts, who will verify the data.
-
This result will also be shown to the user, with a warning saying
⚠️ This data was taken from the web with these sources [....]: Please wait for our Medical experts to verify the data. -
When the Medical experts verify the data, the user will be informed.
-
In case, the results from the web is wrong, the the Medical Expert can send their own trusted opinion to the user.
-
This final trusted and verified source will also be added to the vector database, making an ever growing set of perfect data. 🤗
- Create a Notebook in which we will experiment AI Agents
- Create a AI Agent for searching the web and summarising the scraped results
- Test different prompts to verify which gives the best results
- Create a Notebook to push the dataset into the database (Qdrant)
- Check the threshold and FAITHFUL score of the database to ensure that the LLM can retrieve the data correctly (RAG)
-
Integrate the various pipeline into a single backend file (We will use FastAPI)
-
Create a MongoDB database for storing logs and Medical Expert's details.
-
Develop the workflow for connecting the API calls between the Medical Experts, the LLM and the users.
-
Email Notification Service
- Create a demo frontend to show working of backend.
- Create a landing page.
- Create a Chat Page for user to interact with.
- Create a Medical Expert page where they can validate and verify the user's query.
- Dataset Used: https://www.huggingface.co/datasets/lavita/ChatDoctor-HealthCareMagic-100k?row=36
- CrewAI: https://docs.crewai.com/
- Serper API: https://www.serper.dev
- Qdrant: https://cloud.qdrant.io
- https://arxiv.org/html/2402.04620v1
- https://www.analyticsvidhya.com/blog/2024/06/agentic-workflow-with-crewai-and-groq/