language: en
license: apache-2.0
tags:
- text-generation-inference
- transformers
- ruslanmv
- llama
- trl
base_model: meta-llama/Meta-Llama-3-8B
datasets:
- ruslanmv/ai-medical-chatbot
Medical-Llama3-8B-16bit: Fine-Tuned Llama3 for Medical Q&A
This repository provides a fine-tuned version of the powerful Llama3 8B model, specifically designed to answer medical questions in an informative way. It leverages the rich knowledge contained in the AI Medical Chatbot dataset (ruslanmv/ai-medical-chatbot).
Model & Development
- Developed by: ruslanmv
- License: Apache-2.0
- Finetuned from model: meta-llama/Meta-Llama-3-8B
Key Features
- Medical Focus: Optimized to address health-related inquiries.
- Knowledge Base: Trained on a comprehensive medical chatbot dataset.
- Text Generation: Generates informative and potentially helpful responses.
Installation
This model is accessible through the Hugging Face Transformers library. Install it using pip:
pip install transformers
Usage Example
Here's a Python code snippet demonstrating how to interact with the Medical-Llama3-8B-16bit
model and generate answers to your medical questions:
from transformers import AutoTokenizer, AutoModelForCausalLM
# Load tokenizer and model
tokenizer = AutoTokenizer.from_pretrained("ruslanmv/Medical-Llama3-8B")
model = AutoModelForCausalLM.from_pretrained("ruslanmv/Medical-Llama3-8B").to("cuda") # If using GPU
# Function to format and generate response with prompt engineering using a chat template
def askme(question):
sys_message = '''
You are an AI Medical Assistant trained on a vast dataset of health information. Please be thorough and
provide an informative answer. If you don't know the answer to a specific medical inquiry, advise seeking professional help.
'''
# Create messages structured for the chat template
messages = [{"role": "system", "content": sys_message}, {"role": "user", "content": question}]
# Applying chat template
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=100, use_cache=True) # Adjust max_new_tokens for longer responses
# Extract and return the generated text
answer = tokenizer.batch_decode(outputs)[0].strip()
return answer
# Example usage
# - Context: First describe your problem.
# - Question: Then make the question.
question = '''
I'm a 35-year-old male and for the past few months, I've been experiencing fatigue, increased sensitivity to cold, and dry, itchy skin.
Could these symptoms be related to hypothyroidism?
If so, what steps should I take to get a proper diagnosis and discuss treatment options?
'''
print(askme(question))
the type of answer is :
Hello, I can understand your concern. I would suggest you to get a blood test done for TSH, T3, T4, and TPO antibodies. If the TSH is high, then you can be diagnosed with hypothyroidism. If the TSH is normal, then you can be diagnosed with Hashimoto's thyroiditis. In both cases, you will need to take levothyroxine. Hope I have answered your query. Let me know if I can assist you
Important Note
This model is intended for informational purposes only and should not be used as a substitute for professional medical advice. Always consult with a qualified healthcare provider for any medical concerns.
License
This model is distributed under the Apache License 2.0 (see LICENSE file for details).
Contributing
We welcome contributions to this repository! If you have improvements or suggestions, feel free to create a pull request.
Disclaimer
While we strive to provide informative responses, the accuracy of the model's outputs cannot be guaranteed. It is crucial to consult a doctor or other healthcare professional for definitive medical advice. ```