PatSeal commited on
Commit
e130220
·
verified ·
1 Parent(s): d5ee952

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -7
app.py CHANGED
@@ -1,19 +1,46 @@
1
- from transformers import AutoTokenizer, AutoModelForCausalLM
2
 
 
3
  tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-medium")
4
  model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-medium")
5
 
6
- def chatbot(input_text):
7
- # Encode the input text
8
- input_ids = tokenizer.encode(input_text + tokenizer.eos_token, return_tensors="pt")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
- # Generate a response from the model
11
- response_ids = model.generate(input_ids, max_length=1000, pad_token_id=tokenizer.eos_token_id)
 
 
 
12
 
13
- # Decode the response and return it
 
 
 
 
 
 
 
 
14
  response_text = tokenizer.decode(response_ids[:, input_ids.shape[-1]:][0], skip_special_tokens=True)
15
  return response_text
16
 
 
17
  while True:
18
  user_input = input("You: ")
19
  if user_input.lower() == 'exit':
 
1
+ from transformers import AutoTokenizer, AutoModelForCausalLM, Trainer, TrainingArguments
2
 
3
+ # Load pre-trained model and tokenizer
4
  tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-medium")
5
  model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-medium")
6
 
7
+ # Prepare your dataset (replace this with your own dataset)
8
+ dataset = [
9
+ ("Hello!", "Hi there!"),
10
+ ("How are you?", "I'm doing well, thanks!"),
11
+ # Add more conversational pairs here
12
+ ]
13
+
14
+ # Tokenize the dataset
15
+ tokenized_dataset = tokenizer([example[0] for example in dataset], return_tensors="pt", padding=True, truncation=True)
16
+
17
+ # Fine-tune the model
18
+ training_args = TrainingArguments(
19
+ per_device_train_batch_size=4,
20
+ num_train_epochs=3,
21
+ logging_dir='./logs',
22
+ logging_steps=100,
23
+ )
24
 
25
+ trainer = Trainer(
26
+ model=model,
27
+ args=training_args,
28
+ train_dataset=tokenized_dataset,
29
+ )
30
 
31
+ trainer.train()
32
+
33
+ # Save the fine-tuned model
34
+ model.save_pretrained("fine_tuned_dialogpt")
35
+
36
+ # Example of using the fine-tuned model for chatbot
37
+ def chatbot(input_text):
38
+ input_ids = tokenizer.encode(input_text, return_tensors="pt")
39
+ response_ids = model.generate(input_ids, max_length=100, pad_token_id=tokenizer.eos_token_id)
40
  response_text = tokenizer.decode(response_ids[:, input_ids.shape[-1]:][0], skip_special_tokens=True)
41
  return response_text
42
 
43
+ # Example interaction with the fine-tuned model
44
  while True:
45
  user_input = input("You: ")
46
  if user_input.lower() == 'exit':