asingh37 commited on
Commit
2181523
·
1 Parent(s): 899732a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -50
app.py CHANGED
@@ -1,50 +1,25 @@
1
- from transformers import AutoModelForCausalLM, AutoTokenizer
2
- import gradio as gr
3
- import torch
4
-
5
- title = "🤖AI ChatBot"
6
- description = "A State-of-the-Art Large-scale Pretrained Response generation model (DialoGPT)"
7
- examples = [["How are you?"]]
8
-
9
- tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-large")
10
- model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-large")
11
-
12
-
13
- def predict(input_text, history=None):
14
- if history is None:
15
- history = []
16
-
17
- # Tokenize the new input sentence
18
- new_user_input_ids = tokenizer.encode(
19
- input_text + tokenizer.eos_token, return_tensors="pt"
20
- )
21
-
22
- # Append the new user input tokens to the chat history
23
- bot_input_ids = torch.cat([torch.LongTensor(history), new_user_input_ids], dim=-1)
24
-
25
- # Generate a response using batch processing
26
- generated_ids = model.generate(
27
- bot_input_ids, max_length=4000, pad_token_id=tokenizer.eos_token_id
28
- )
29
-
30
- # Convert the generated response tokens to text
31
- response = tokenizer.decode(generated_ids[0], skip_special_tokens=True)
32
-
33
- # Split the responses into lines
34
- response = response.split("\n")
35
-
36
- # Convert to tuples of list
37
- response = [(response[i], response[i + 1]) for i in range(0, len(response) - 1, 2)]
38
-
39
- return response, generated_ids.tolist()
40
-
41
-
42
- gr.Interface(
43
- fn=predict,
44
- title=title,
45
- description=description,
46
- examples=examples,
47
- inputs=["text", "state"],
48
- outputs=["chatbot", "state"],
49
- theme="finlaymacklon/boxy_violet",
50
- ).launch()
 
1
+ from transformers import MarianMTModel, MarianTokenizer
2
+
3
+ # Load the model and tokenizer for English-to-French translation
4
+ model_name = "Helsinki-NLP/opus-mt-en-fr" # English to French translation model
5
+ tokenizer = MarianTokenizer.from_pretrained(model_name)
6
+ model = MarianMTModel.from_pretrained(model_name)
7
+
8
+ def translate_text(input_text):
9
+ # Tokenize the input text
10
+ input_text = ">>en<< " + input_text # Prefix the input text with the source language code (en for English)
11
+ inputs = tokenizer(input_text, return_tensors="pt")
12
+
13
+ # Perform translation
14
+ with torch.no_grad():
15
+ outputs = model.generate(**inputs)
16
+
17
+ # Decode the translated text
18
+ translated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
19
+ return translated_text
20
+
21
+ # Example usage
22
+ input_text = "Hello, how are you?"
23
+ translated_text = translate_text(input_text)
24
+ print("English:", input_text)
25
+ print("French:", translated_text)