Spaces:
Sleeping
Sleeping
from transformers import AutoTokenizer, AutoModelForQuestionAnswering | |
import torch | |
import gradio as gr | |
# Charger le tokenizer depuis Hugging Face Spaces | |
tokenizer = AutoTokenizer.from_pretrained("Dofla/distilbert-squad") | |
# Charger le modèle depuis Hugging Face Spaces | |
model = AutoModelForQuestionAnswering.from_pretrained("Dofla/distilbert-squad") | |
def answer_question(context, question): | |
inputs = tokenizer.encode_plus(question, context, return_tensors="pt", padding=True, truncation=True) | |
start_logits, end_logits = model(**inputs) | |
outputs = model(**inputs) | |
start_logits = outputs.start_logits | |
end_logits = outputs.end_logits | |
# Assurez-vous que les logits sont des tenseurs | |
start_index = torch.argmax(start_logits, dim=1).item() | |
end_index = torch.argmax(end_logits, dim=1).item() + 1 | |
answer = tokenizer.decode(inputs["input_ids"][0][start_index:end_index]) | |
return answer | |
# Créer une interface Gradio pour l'inférence | |
iface = gr.Interface( | |
fn=answer_question, | |
inputs=[ | |
gr.Textbox(lines=7, label="Contexte"), | |
gr.Textbox(lines=1, label="Question") | |
], | |
outputs="text", | |
title="Question Answering with Fine-Tuned Model" | |
) | |
# Lancer l'interface | |
iface.launch('share=True') |