Views
No views yet
transformers library:pip install transformers accelerate bitsandbytes1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3tokenizer = AutoTokenizer.from_pretrained("RayyanAhmed9477/Health-Chatbot")
4model = AutoModelForCausalLM.from_pretrained(
5 "RayyanAhmed9477/Health-Chatbot",
6 device_map="auto",
7 load_in_8bit=True
8)
9
10# Generate a response
11def chat(prompt):
12 inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
13 outputs = model.generate(**inputs, max_length=150, do_sample=True, temperature=0.7)
14 response = tokenizer.decode(outputs[0], skip_special_tokens=True)
15 return response
16
17# Example usage
18prompt = "What are some common symptoms of the flu?"
19print(chat(prompt))pip install datasets peftinput and output fields:1[
2 {"input": "What are some symptoms of dehydration?", "output": "Symptoms include dry mouth, fatigue, and dizziness."},
3 {"input": "How can I boost my immune system?", "output": "Eat a balanced diet, exercise regularly, and get enough sleep."}
4]1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import prepare_model_for_int8_training, LoraConfig, get_peft_model
3from datasets import load_dataset
4
5# Load the base model and tokenizer
6tokenizer = AutoTokenizer.from_pretrained("RayyanAhmed9477/Health-Chatbot")
7model = AutoModelForCausalLM.from_pretrained(
8 "RayyanAhmed9477/Health-Chatbot",
9 device_map="auto",
10 load_in_8bit=True
11)
12
13# Prepare model for training
14model = prepare_model_for_int8_training(model)
15
16# Define LoRA configuration
17lora_config = LoraConfig(
18 r=8,
19 lora_alpha=32,
20 target_modules=["q_proj", "v_proj"],
21 lora_dropout=0.1,
22 bias="none",
23 task_type="CAUSAL_LM"
24)
25model = get_peft_model(model, lora_config)
26
27# Load your custom dataset
28data = load_dataset("json", data_files="your_dataset.json")
29
30# Fine-tune the model
31from transformers import TrainingArguments, Trainer
32
33training_args = TrainingArguments(
34 output_dir="./results",
35 per_device_train_batch_size=4,
36 num_train_epochs=3,
37 logging_dir="./logs",
38 save_strategy="epoch",
39 evaluation_strategy="epoch",
40 learning_rate=1e-4,
41 fp16=True
42)
43
44trainer = Trainer(
45 model=model,
46 args=training_args,
47 train_dataset=data["train"]
48)
49
50trainer.train()
51
52# Save the fine-tuned model
53model.save_pretrained("./fine_tuned_health_chatbot")
54tokenizer.save_pretrained("./fine_tuned_health_chatbot")1from datasets import load_metric
2
3# Load evaluation dataset
4eval_data = load_dataset("json", data_files="evaluation_dataset.json")
5
6# Evaluate with perplexity
7def compute_perplexity(model, dataset):
8 metric = load_metric("perplexity")
9 results = metric.compute(model=model, dataset=dataset)
10 return results
11
12print(compute_perplexity(model, eval_data["test"]))rayyanahmed265@yahoo.com, LinkedIn .