Spaces:
				
			
			
	
			
			
		Runtime error
		
	
	
	
			
			
	
	
	
	
		
		
		Runtime error
		
	| from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig | |
| import torch | |
| model_name = "ruslanmv/Medical-Llama3-8B" | |
| device_map = 'auto' | |
| bnb_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4",bnb_4bit_compute_dtype=torch.float16,) | |
| model = AutoModelForCausalLM.from_pretrained( model_name,quantization_config=bnb_config, trust_remote_code=True,use_cache=False,device_map=device_map) | |
| tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) | |
| tokenizer.pad_token = tokenizer.eos_token | |
| 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) | |
| # Extract and return the generated text, removing the prompt | |
| response_text = tokenizer.batch_decode(outputs)[0].strip() | |
| answer = response_text.split('<|im_start|>assistant')[-1].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)) | |