Spaces:
Sleeping
Sleeping
| # ChatDoctor: Your Custom Medical AI Assistant | |
|  | |
|  | |
|  | |
|  | |
| ## Overview | |
| ChatDoctor is an AI-powered medical conversation assistant built on advanced language model technology. It provides informative responses to health-related queries while maintaining appropriate medical disclaimers. This project adapts the [ChatDoctor model](https://huggingface.co/zl111/ChatDoctor) from Hugging Face into an accessible, user-friendly interface. | |
| ## Features | |
| - **Medical Question Answering**: Get informative responses about symptoms, conditions, treatments, and general health information | |
| - **Conversational Interface**: Natural dialogue-based interaction for a seamless experience | |
| - **Educational Support**: Explanations of medical terminology, conditions, and procedures | |
| - **Responsible AI**: Clear disclaimers and ethical boundaries for medical information | |
| - **Examples**: Pre-loaded sample questions to help users get started | |
| ## Live Demo | |
| Try the live demo on Hugging Face Spaces: [Your ChatDoctor Demo](https://huggingface.co/spaces/YOUR_USERNAME/ChatDoctor) | |
| ## How It Works | |
| ### Technology Stack | |
| - **Base Model**: Fine-tuned medical language model from [zl111/ChatDoctor](https://huggingface.co/zl111/ChatDoctor) | |
| - **Framework**: Built with Hugging Face Transformers and Gradio | |
| - **Deployment**: Hosted on Hugging Face Spaces | |
| ### Key Components | |
| 1. **Language Model**: Powers the understanding of medical queries and generation of appropriate responses | |
| 2. **Context Management**: Maintains conversation history for coherent multi-turn interactions | |
| 3. **User Interface**: Clean, intuitive interface for asking questions and receiving answers | |
| 4. **Disclaimer System**: Ensures users understand the educational nature of responses | |
| ### How to Use | |
| 1. Type your medical question in the text box | |
| 2. Click "Send" or press Enter | |
| 3. Read the AI's response | |
| 4. Continue the conversation with follow-up questions | |
| 5. Use "Clear Conversation" to start fresh | |
| ## Example Interactions | |
| ### Example 1: Understanding Symptoms | |
| **User**: "What are the common symptoms of diabetes?" | |
| **ChatDoctor**: "Diabetes presents with several characteristic symptoms: | |
| 1. Increased thirst (polydipsia) and frequent urination (polyuria) | |
| 2. Unexplained weight loss despite increased hunger | |
| 3. Fatigue and weakness | |
| 4. Blurred vision | |
| 5. Slow-healing sores or frequent infections | |
| 6. Tingling or numbness in hands or feet (for Type 2 diabetes) | |
| Type 1 diabetes symptoms often develop quickly over weeks, while Type 2 diabetes symptoms may develop gradually or be subtle. If you're experiencing these symptoms, it's important to consult with a healthcare provider for proper evaluation and diagnosis. Early detection and management are crucial for preventing complications." | |
| ### Example 2: Medication Information | |
| **User**: "What are the side effects of ibuprofen?" | |
| **ChatDoctor**: "Ibuprofen is a nonsteroidal anti-inflammatory drug (NSAID) commonly used to treat pain, inflammation, and fever. Possible side effects include: | |
| Common side effects: | |
| - Stomach pain, heartburn, or indigestion | |
| - Nausea or vomiting | |
| - Headache or dizziness | |
| - Mild rash | |
| More serious side effects (less common): | |
| - Stomach bleeding or ulcers | |
| - Kidney problems | |
| - Liver problems | |
| - Allergic reactions | |
| - Increased risk of heart attack or stroke with long-term use | |
| To minimize risks, take ibuprofen with food, use the lowest effective dose for the shortest duration needed, and consult with a healthcare provider before use if you have underlying health conditions or take other medications. | |
| Disclaimer: This information is for educational purposes only and not a substitute for professional medical advice." | |
| ## Technical Details | |
| ### Model Specifications | |
| - **Base Model**: ChatDoctor is a next-generation AI doctor model that is based on the LLaMA model | |
| - **Model Type**: Causal Language Model (CLM) | |
| - **Response Generation**: Temperature=0.7, Top-p=0.9 | |
| - **Context Window**: 512 tokens | |
| - **Architecture**: Transformer-based neural network | |
| ### Conversation Processing | |
| ```python | |
| def generate_response(user_input): | |
| # Add user input to history | |
| conversation_history.append(f"User: {user_input}") | |
| # Construct the prompt with system instructions and conversation history | |
| prompt = system_prompt + "\n\n" | |
| prompt += "\n".join(conversation_history[-10:]) | |
| prompt += "\nAI Assistant: " | |
| # Generate the response using the model | |
| inputs = tokenizer(prompt, return_tensors="pt").to(device) | |
| outputs = model.generate( | |
| input_ids=inputs.input_ids, | |
| attention_mask=inputs.attention_mask, | |
| max_new_tokens=512, | |
| temperature=0.7, | |
| top_p=0.9, | |
| do_sample=True | |
| ) | |
| response = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True) | |
| # Add response to history | |
| conversation_history.append(f"AI Assistant: {response}") | |
| return response | |
| ``` | |
| ### Interface Components | |
| 1. **Chatbot Interface**: Displays the conversation history | |
| 2. **Input Box**: Text field for user questions | |
| 3. **Send Button**: Submits the user question | |
| 4. **Clear Button**: Resets the conversation | |
| 5. **Examples Section**: Pre-populated example questions | |
| 6. **Disclaimer**: Medical information advisory | |
| ## Limitations and Ethical Guidelines | |
| - **Not a Diagnostic Tool**: ChatDoctor cannot diagnose medical conditions | |
| - **Educational Purposes Only**: Information is provided for learning, not as medical advice | |
| - **No Emergency Services**: Not suitable for emergency situations | |
| - **Not a Replacement**: Does not replace consultation with qualified healthcare professionals | |
| - **Knowledge Limitations**: May not have information about very recent medical developments | |
| - **Privacy**: No personal medical data is stored | |
| ## Deployment | |
| This project is deployed on Hugging Face Spaces, providing a scalable and accessible platform for users worldwide. The deployment uses: | |
| - **Gradio Web Interface**: For user interaction | |
| - **Hugging Face Transformers**: For model serving | |
| - **GPU Acceleration**: For faster response generation | |
| ## Future Improvements | |
| - **Specialization**: Adding support for specific medical specialties | |
| - **Multilingual Support**: Expanding to multiple languages | |
| - **Image Analysis**: Adding capability to discuss uploaded medical images | |
| - **Voice Interface**: Adding speech recognition and text-to-speech | |
| - **Medical Reference Links**: Providing citations to trusted medical resources | |
| ## Disclaimer | |
| This AI assistant provides information for educational purposes only. It is not a substitute for professional medical advice, diagnosis, or treatment. Always seek the advice of your physician or other qualified health provider with any questions you may have regarding a medical condition. Never disregard professional medical advice or delay in seeking it because of something you have read or heard from this AI assistant. | |
| ## Acknowledgments | |
| - [Hugging Face](https://huggingface.co/) for the model hosting and Spaces platform | |
| - [ChatDoctor Team](https://huggingface.co/zl111/ChatDoctor) for the base model | |
| - The open-source AI community for tools and resources | |
| --- | |