Women's Health Chatbot πŸ₯

This GPT-2 model has been fine-tuned to provide helpful, empathetic responses to questions about women's health and reproductive wellness.

Model Description

  • Base Model: GPT-2 Medium
  • Training Data: 8,278 conversation pairs from women's health Q&A
  • Fine-tuning: Specialized for women's health topics
  • Features: Context-aware responses, emergency detection, medical disclaimers

Topics Covered

  • Menstrual health and cycle issues
  • Sexual and reproductive health
  • Pregnancy and fertility questions
  • Gynecological conditions (PCOS, endometriosis, etc.)
  • General women's wellness
  • Emergency situation detection

Performance Metrics

  • BLEU Score: 0.0057
  • Perplexity: 135.97
  • Domain Relevance: 0.71
  • Training Loss: 0.7526

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

# Load the model
model = AutoModelForCausalLM.from_pretrained("JCholder/womens-health-chatbot")
tokenizer = AutoTokenizer.from_pretrained("JCholder/womens-health-chatbot")

def ask_health_question(question):
    prompt = f"USER: {question}\nDOCTOR:"
    inputs = tokenizer(prompt, return_tensors="pt", max_length=400, truncation=True)
    
    outputs = model.generate(
        **inputs,
        max_new_tokens=120,
        temperature=0.7,
        top_p=0.9,
        repetition_penalty=1.3,
        do_sample=True,
        pad_token_id=tokenizer.eos_token_id
    )
    
    full_response = tokenizer.decode(outputs[0], skip_special_tokens=True)
    response = full_response.split("DOCTOR:")[-1].strip()
    return response

# Example usage
question = "What causes irregular periods?"
response = ask_health_question(question)
print(response)

NextJS Integration

// NextJS API Route (pages/api/chat.js)
import { pipeline } from '@huggingface/transformers';

let chatbot;

async function initializeChatbot() {
  if (!chatbot) {
    chatbot = await pipeline('text-generation', 'JCholder/womens-health-chatbot');
  }
  return chatbot;
}

export default async function handler(req, res) {
  const { message } = req.body;
  const model = await initializeChatbot();
  
  const prompt = `USER: ${message}\nDOCTOR:`;
  const result = await model(prompt, {
    max_new_tokens: 100,
    temperature: 0.7,
    return_full_text: false
  });
  
  const response = result[0].generated_text.trim();
  res.json({ response });
}

Safety Features

  • 🚨 Emergency keyword detection (suicide, severe bleeding, etc.)
  • 🎯 Domain boundary enforcement (women's health only)
  • πŸ“‹ Medical disclaimer integration
  • πŸ›‘οΈ Appropriate response filtering

Limitations

  • This model is for educational and informational purposes only
  • Not a substitute for professional medical advice
  • Should not be used for emergency medical situations
  • Always consult healthcare providers for serious concerns

Model Details

  • Training Steps: 6207
  • Parameters: ~354,823,168 parameters
  • Framework: PyTorch, Transformers
  • Fine-tuning Method: Causal Language Modeling

Ethical Considerations

This model has been designed with healthcare ethics in mind:

  • Encourages professional medical consultation
  • Avoids giving specific medical diagnoses
  • Includes appropriate disclaimers
  • Respects user privacy and autonomy

Citation

@misc{womens-health-chatbot,
  title={Women's Health Chatbot},
  author={Juliana Holder},
  year={2025},
  url={https://huggingface.co/JCholder/womens-health-chatbot}
}

Dataset

Trained on the altaidevorg/women-health-mini dataset containing professional women's health Q&A pairs.

Contact

For questions about this model, please refer to the project documentation or contact the model author.

Downloads last month
13
Safetensors
Model size
0.4B params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for JCholder/womens-health-chatbot

Quantizations
1 model