|
import spacy |
|
import torch |
|
import gradio as gr |
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
|
nlp = spacy.load('es_core_news_sm') |
|
|
|
models = { |
|
"https://huggingface.co/OpenAssistant/oasst-sft-6-llama-30b-xor": AutoModelForCausalLM.from_pretrained("https://huggingface.co/OpenAssistant/oasst-sft-6-llama-30b-xor"), |
|
} |
|
|
|
tokenizers = { |
|
"https://huggingface.co/OpenAssistant/oasst-sft-6-llama-30b-xor": AutoTokenizer.from_pretrained("https://huggingface.co/OpenAssistant/oasst-sft-6-llama-30b-xor"), |
|
} |
|
|
|
|
|
def generate(model_name: str): |
|
model = models[model_name] |
|
tokenizer = tokenizers[model_name] |
|
|
|
|
|
input_ids = tokenizer.encode('El', return_tensors='pt') |
|
|
|
|
|
output = model.generate(input_ids, max_length=50, num_return_sequences=1, temperature=1.0) |
|
generated_text = tokenizer.decode(output[0], skip_special_tokens=True) |
|
|
|
return generated_text |
|
|
|
def process(sentence: str): |
|
doc = nlp(sentence) |
|
tagged_words = [(token.text, token.pos_) for token in doc] |
|
|
|
return tagged_words |
|
|
|
inputs_generate = gr.inputs.Dropdown(choices=list(models.keys()), label="Model") |
|
outputs_generate = gr.outputs.Textbox(label="Generated Sentence") |
|
|
|
inputs_process = gr.inputs.Textbox(label="Sentence") |
|
outputs_process = gr.outputs.Textbox(label="Processed Sentence") |
|
|
|
generate_interface = gr.Interface(fn=generate, inputs=inputs_generate, outputs=outputs_generate) |
|
process_interface = gr.Interface(fn=process, inputs=inputs_process, outputs=outputs_process) |
|
|
|
interface = gr.Interface( |
|
fn=generate, |
|
inputs=gr.inputs.Dropdown(choices=list(models.keys()), label="Model"), |
|
outputs=gr.outputs.Textbox(label="Generated Sentence") |
|
) |
|
|
|
interface.launch(share=True) |
|
|