lucasgbezerra commited on
Commit
6d07f0d
1 Parent(s): ec0c99e

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +53 -0
app.py ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from fastai.tabular.all import *
3
+ import pickle
4
+ import pandas as pd
5
+ import torch
6
+
7
+ with open('learn.pkl', 'rb') as file:
8
+ model = pickle.load(file)
9
+
10
+ def recommendation():
11
+ data = {'user_id': [user_id, user_id, user_id],
12
+ 'name': [book_1, book_2, book_3]}
13
+
14
+ df = pd.DataFrame(data=data)
15
+
16
+ testdl = model.dls.test_dl(df)
17
+ preds = model.get_preds(dl=testdl)
18
+ preds
19
+
20
+ rec = 0
21
+ idx = -1
22
+ for p in range(len(preds[0])):
23
+ if float(preds[0][p]) > rec:
24
+ idx = p
25
+ rec = float(preds[0][p])
26
+
27
+ return f"O livro recomendado é {books[idx]}. A avaliação estimada é de {rec}"
28
+
29
+
30
+ books = ['To Kill a Mockingbird',
31
+ "Harry Potter and the Sorcerer's Stone (Harry Potter (Paperback))",
32
+ 'The Da Vinci Code',
33
+ 'Harry Potter and the Goblet of Fire (Book 4)',
34
+ 'Silence of the Lambs',
35
+ 'The Fellowship of the Ring (The Lord of the Rings, Part 1)',
36
+ 'The Little Prince',
37
+ 'Jurassic Park',
38
+ 'A Time to Kill'
39
+ ]
40
+
41
+ gr.Interface(
42
+ fn=recommendation,
43
+ title="Sistema de Recomendação para livros",
44
+ allow_flagging="never",
45
+ share=True,
46
+ inputs=[
47
+ gr.inputs.Number(default=777777, label="Id do usuário"),
48
+ gr.Dropdown(books, label="Primeira opção de livro"),
49
+ gr.Dropdown(books, label="Segunda opção de livro"),
50
+ gr.Dropdown(books, label="Terceira opção de livro"),
51
+ gr.Dropdown(books, label="Primeira opção de livro"),
52
+ ],
53
+ outputs="text").launch()