What It Does
DiagnAI redefines the healthcare experience with the following capabilities:
Initial Screening Assistance: DiagnAI enhances professional workflows by gathering preliminary insights and guiding patients toward relevant medical specialists. Users can receive tailored recommendations, narrowing options to crucial areas like psychiatry, orthopedics, or other specializations, making the diagnostic process smoother for patients and doctors.
Early Disease Detection: Our tool is built to identify early indicators of health issues, addressing the cases where people may unknowingly need medical attention. DiagnAI helps users gain awareness of underlying conditions, reinforcing the philosophy: "The earlier it’s detected, the easier it is to cure." This early awareness can be life-changing, enabling preventive action before issues escalate.
A Mental Health Companion: DiagnAI goes beyond physical health by understanding users’ emotional and mental states through conversational interactions. DiagnAI compiles timely reports to share with healthcare providers, offering continuity in care. It also complements traditional therapies, providing ongoing mental health support tailored to each user’s needs.
24/7 Health Guide: DiagnAI is available around the clock, delivering reliable, context-aware health tips for daily wellness. As a steady companion, it can detect when something may be amiss, alleviating the initial diagnostic burden on medical professionals. DiagnAI provides a first line of insight, letting healthcare providers focus on complex, life-saving tasks.
How We Built It
DiagnAI integrates state-of-the-art tools and methods to deliver an efficient, reliable user experience:
RAG Setup with Anthropic’s Claude and VoyageAI: DiagnAI uses Retrieval-Augmented Generation (RAG) to deliver accurate, context-sensitive responses. Anthropic’s Claude API powers natural language comprehension, while VoyageAI supports embedding and semantic search, providing swift, tailored responses based on our database. This combination enables DiagnAI to process inquiries dynamically, with Claude’s language prowess ensuring clarity and VoyageAI’s embeddings guaranteeing precision.
Streamlit and SQLite for User Interface and Data Storage: The front end, designed with Streamlit, provides an interactive user experience, complete with login, session tracking, and a personalized dashboard. SQLite handles data management, storing user information, queries, and session records and maintaining a secure and organized database for all interactions.
Voice Recognition Integration with Speech Recognition Library: To enhance accessibility, DiagnAI incorporates voice recognition, allowing users to interact conversationally. Using the Speech Recognition library, audio inputs are converted to text, offering users a seamless way to engage without needing to type.
Document Embedding and Retrieval with LangChain and ChromaDB: LangChain streamlines DiagnAI’s document retrieval. It works alongside ChromaDB to store and access vectorized documents efficiently. LangChain’s components, such as DocArrayInMemorySearch, support fast, contextually relevant searches, while StrOutputParser enhances response formatting for clear, concise answers.
Challenges We Encountered
Our journey wasn’t without its obstacles. Here are some of the hurdles we overcame:
- Login and Signup Functionality: Setting up a smooth, secure login was challenging. Ensuring robust data storage and integrating user authentication proved intricate and time-intensive.
- Microphone Compatibility: Detecting and utilizing the user’s microphone for voice recognition required detailed troubleshooting, as different devices presented varied challenges.
- Library Compatibility Issues: ChromaDB required an older version of SQLite3, causing conflicts with other libraries. We ultimately restructured our environment to work around this.
- File Management Complexity: Integrating features across multiple files led to issues with data retrieval, especially in test.py where load_document failed to function as expected. To simplify, we consolidated our codebase into a single, streamlined structure.
- Network Latency: Poor Wi-Fi affected development efficiency, causing delays in downloading libraries, testing features, and accessing resources. Despite these challenges, we found ways to optimize our workflow and deliver a robust product.
Accomplishments We’re Proud Of
We’re thrilled to have developed DiagnAI—a tool with the potential to genuinely impact lives by supporting healthcare professionals and empowering users with health insights. From the technical achievements to the chance to provide proactive health solutions, we’re proud of what DiagnAI has become.
What We Learned
DiagnAI taught us the importance of flexibility in development, troubleshooting across diverse libraries, and the power of collaboration. We gained hands-on experience with cutting-edge technology and learned to adapt quickly to technical challenges.
What's Next for DiagnAI
DiagnAI is more than a project; it’s a step toward accessible mental and physical healthcare for everyone. The need for mental health support is more pressing than ever, affecting people’s daily lives and physical health. We’re committed to ensuring DiagnAI becomes a reliable ally in this area.
Future Enhancements:
- Facial Recognition for Emotional Insights: DiagnAI will integrate facial recognition technology to understand users’ emotions better. This will allow DiagnAI to adjust its tone and responses, providing a personalized, empathetic experience.
- Expanded Screening for Various Conditions: We want to widen DiagnAI’s diagnostic capabilities by incorporating more specialized screening options for a broader range of health conditions.
- Multi-Language Support and Localization: To expand DiagnAI’s reach, we aim to make it accessible to users worldwide by incorporating multi-language support and cultural customization.
Log in or sign up for Devpost to join the conversation.