Merlintxu commited on
Commit
b09df44
1 Parent(s): 8e89b38

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -39
app.py CHANGED
@@ -1,51 +1,36 @@
1
- import spacy
2
- import torch
 
3
  import gradio as gr
4
- from transformers import AutoModelForCausalLM, AutoTokenizer
 
5
 
6
  nlp = spacy.load('es_core_news_sm')
 
7
 
8
- models = {
9
- "https://huggingface.co/OpenAssistant/oasst-sft-6-llama-30b-xor": AutoModelForCausalLM.from_pretrained("https://huggingface.co/OpenAssistant/oasst-sft-6-llama-30b-xor"),
10
- }
11
-
12
- tokenizers = {
13
- "https://huggingface.co/OpenAssistant/oasst-sft-6-llama-30b-xor": AutoTokenizer.from_pretrained("https://huggingface.co/OpenAssistant/oasst-sft-6-llama-30b-xor"),
14
- }
15
-
16
-
17
- def generate(model_name: str):
18
- model = models[model_name]
19
- tokenizer = tokenizers[model_name]
20
 
21
- # Encode input for the model
22
- input_ids = tokenizer.encode('El', return_tensors='pt')
23
-
24
- # Generate text
25
- output = model.generate(input_ids, max_length=50, num_return_sequences=1, temperature=1.0)
26
- generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
27
-
28
- return generated_text
29
-
30
- def process(sentence: str):
31
  doc = nlp(sentence)
32
  tagged_words = [(token.text, token.pos_) for token in doc]
33
-
34
  return tagged_words
35
 
36
- inputs_generate = gr.inputs.Dropdown(choices=list(models.keys()), label="Model")
37
- outputs_generate = gr.outputs.Textbox(label="Generated Sentence")
38
-
39
- inputs_process = gr.inputs.Textbox(label="Sentence")
40
- outputs_process = gr.outputs.Textbox(label="Processed Sentence")
 
 
41
 
42
- generate_interface = gr.Interface(fn=generate, inputs=inputs_generate, outputs=outputs_generate)
43
- process_interface = gr.Interface(fn=process, inputs=inputs_process, outputs=outputs_process)
 
 
44
 
45
- interface = gr.Interface(
46
- fn=generate,
47
- inputs=gr.inputs.Dropdown(choices=list(models.keys()), label="Model"),
48
- outputs=gr.outputs.Textbox(label="Generated Sentence")
49
- )
50
 
51
- interface.launch(share=True)
 
1
+ Aqu铆 hay un ejemplo de c贸digo que puede utilizar como punto de partida para su aplicaci贸n:
2
+
3
+ ```python
4
  import gradio as gr
5
+ import spacy
6
+ from transformers import pipeline
7
 
8
  nlp = spacy.load('es_core_news_sm')
9
+ text_generator = pipeline('text-generation', model='gpt2')
10
 
11
+ def generate_sentence():
12
+ result = text_generator('')[0]
13
+ sentence = result['generated_text']
14
+ return sentence
 
 
 
 
 
 
 
 
15
 
16
+ def analyze_sentence(sentence):
 
 
 
 
 
 
 
 
 
17
  doc = nlp(sentence)
18
  tagged_words = [(token.text, token.pos_) for token in doc]
 
19
  return tagged_words
20
 
21
+ def check_answer(sentence, answer):
22
+ tagged_words = analyze_sentence(sentence)
23
+ correct_answer = [tag for word, tag in tagged_words]
24
+ if answer == correct_answer:
25
+ return 'Correcto!'
26
+ else:
27
+ return 'Incorrecto. La respuesta correcta es: ' + str(correct_answer)
28
 
29
+ sentence = generate_sentence()
30
+ iface = gr.Interface(fn=check_answer, inputs=['text', 'list'], outputs='text')
31
+ iface.launch()
32
+ ```
33
 
34
+ Este c贸digo utiliza el modelo `gpt2` de HuggingFace para generar una frase utilizando la funci贸n `generate_sentence`. Luego, la funci贸n `analyze_sentence` utiliza spaCy para analizar la frase y etiquetar las palabras con sus respectivas categor铆as gramaticales. La funci贸n `check_answer` compara la respuesta del usuario con la respuesta correcta y devuelve un mensaje indicando si la respuesta es correcta o no. Finalmente, se utiliza Gradio para crear una interfaz de usuario donde el usuario puede ingresar su respuesta y recibir retroalimentaci贸n del sistema.
 
 
 
 
35
 
36
+ Puede modificar este c贸digo para adaptarlo a sus necesidades espec铆ficas y agregar m谩s funcionalidades a su aplicaci贸n.