Views
No views yet
pip install torch transformers gradio1from transformers import AutoTokenizer, AutoModelForCausalLM
2
3model_dir = "qa_llm_model"
4
5tokenizer = AutoTokenizer.from_pretrained(model_dir)
6model = AutoModelForCausalLM.from_pretrained(model_dir)
7
8device = "cuda" if torch.cuda.is_available() else "cpu"
9model.to(device)
10
11
12def generate_answer(question, max_new_tokens=128, temperature=0.8, top_p=0.9):
13 prompt = f"Question: {question}\nRéponse:"
14
15 inputs = tokenizer(prompt, return_tensors="pt").to(device)
16
17 with torch.no_grad():
18 outputs = model.generate(
19 **inputs,
20 max_new_tokens=max_new_tokens,
21 do_sample=True,
22 top_p=top_p,
23 temperature=temperature,
24 )
25
26 full_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
27
28 if "Réponse:" in full_text:
29 answer_part = full_text.split("Réponse:", 1)[1]
30 else:
31 answer_part = full_text
32
33 if "<EOS>" in answer_part:
34 answer_part = answer_part.split("<EOS>")[0]
35
36 return answer_part.strip()1
2iface = gr.Interface(
3 fn=generate_answer,
4 inputs=[
5 gr.Textbox(lines=2, label="Ta question"),
6 gr.Slider(16, 512, value=128, step=16, label="max_new_tokens"),
7 gr.Slider(0.1, 1.5, value=0.8, step=0.05, label="temperature"),
8 gr.Slider(0.1, 1.0, value=0.9, step=0.05, label="top_p"),
9 ],
10 outputs=gr.Textbox(lines=8, label="Réponse de l'IA"),
11 title="QA LLM",
12 description="Pose une question en français et le modèle génère une réponse.",
13)
14
15iface.launch(share=True)
16python app.py