| | from flask import Flask, request, render_template
|
| | from transformers import AutoModelForCausalLM, AutoTokenizer
|
| | import torch
|
| |
|
| | app = Flask(__name__)
|
| |
|
| |
|
| | model_path = "./finetuned_weights"
|
| | tokenizer = AutoTokenizer.from_pretrained(model_path)
|
| | model = AutoModelForCausalLM.from_pretrained(model_path)
|
| | device = torch.device("cpu")
|
| | model.to(device)
|
| |
|
| | @app.route('/')
|
| | def home():
|
| | return render_template('index.html')
|
| |
|
| | @app.route('/generate', methods=['POST'])
|
| | def generate():
|
| | user_input = request.form['prompt'].strip()
|
| | prompt = f"<|USER|> {user_input} <|ASSISTANT|> "
|
| | inputs = tokenizer(prompt, return_tensors="pt").to(device)
|
| | outputs = model.generate(**inputs, max_length=100, num_return_sequences=1, pad_token_id=tokenizer.eos_token_id)
|
| | generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
|
| | response = generated_text.split("<|ASSISTANT|> ")[-1] if "<|ASSISTANT|> " in generated_text else generated_text
|
| | return response
|
| |
|
| | if __name__ == '__main__':
|
| | app.run(debug=True) |