This project won 2nd place at Poe Hackathon ORGANIZED BY AGI House on 17th Aug 2024.
Hashtags: #poe #modal #weaviate #fireworks #llamaIndex #arize #hackpro_sako
AI Assistant for Drug interactions.
Using Natural Language input:
- extract clinical conditions and drugs
- analyze both for interactions from authoritative sources
- present findings
The system is composed of the following key components:
- National Library of Medicine (NLM): Provides a comprehensive medical data source.
- RxNorm for Drugs Database: Offers standardized nomenclature for medications.
- ICD-10 for Conditions Database: Supplies a structured format for diseases and health conditions.
- Processes and organizes the data from NLM, RxNorm, and ICD-10, making it searchable and accessible.
- Weaviate: A vector database for storing and retrieving medical data using embeddings.
- The core processing unit, written in Python, handles requests from the UI and manages interactions between services, databases, and APIs. It is scalable and efficient, potentially leveraging serverless architecture via Modal.
- A responsive UI built with NextJS that allows users to input queries and interact with the system's features.
- Handles specific functionalities related to query processing, offering an additional interface for specialized requests.
- Enhances the system by providing advanced natural language processing and response generation capabilities.
- Monitors system performance, detects anomalies, and provides operational insights to ensure smooth functioning.
- Data Collection: Information from NLM, RxNorm, and ICD-10 is ingested into the system.
- Indexing & Storage: LLAMAIndex Cloud processes this data and stores it in vector database Weaviate for efficient retrieval.
- Backend Processing: The Python-based backend manages requests, coordinates with databases, and utilizes OpenAI for natural language understanding.
- User Interaction: Users interact with the system via the NextJS UI, inputting queries that the backend processes and returns relevant information.
- Observability: Phoenix/Observability tools monitor the system’s health and performance, ensuring reliability and efficiency.
Set secrets in .env file under /backend:
LLAMA_CLOUD_API_KEY=x
OPENAI_API_KEY=x
PHOENIX_API_KEY=x
WEAVIATE_CLUSTER_URL=x
WEAVIATE_API_KEY=x
Run in Modal:
modal serve deploy.py
Run frontend locally:
yarn install
yarn dev