Spaces:
Sleeping
Sleeping
File size: 1,463 Bytes
509ca73 f6be9a2 509ca73 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
from transformers import AutoModelForCausalLM, AutoTokenizer
from flask import Flask, request, jsonify
device = "cuda" # the device to load the model onto
from transformers import set_cache_dir
set_cache_dir("/code/.cache/huggingface")
model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-Instruct-v0.1")
tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-Instruct-v0.1")
@app.route('/recommend', methods=['POST'])
def recommendation():
content = request.json
user_degree = content.get('degree')
user_stream = content.get('stream')
user_semester = content.get('semester')
messages = [
{"role": "user", "content": f"""
You need to act like as recommendataion engine for course recommendation based on below details.
Degree: {user_degree}
Stream: {user_stream}
Current Semester: {user_semester}
Based on above details recommend the courses that realtes to above details
Note: Output should bevalid json format in below format:
{{"course1:ABC,course2:DEF,course3:XYZ,...}}
"""},
]
encodeds = tokenizer.apply_chat_template(messages, return_tensors="pt")
model_inputs = encodeds.to(device)
model.to(device)
generated_ids = model.generate(model_inputs, max_new_tokens=1000, do_sample=True)
decoded = tokenizer.batch_decode(generated_ids)
return jsonify({"res":decoded[0]})
if __name__ == '__main__':
app.run(debug=True) |