Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -13,15 +13,21 @@ device = torch.device("cpu")
|
|
| 13 |
model.to(device)
|
| 14 |
|
| 15 |
def gerar_resposta(mensagem, historico):
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
if historico is None:
|
| 18 |
historico = []
|
| 19 |
|
| 20 |
mensagem = mensagem.strip()
|
| 21 |
if not mensagem:
|
| 22 |
-
return "Me manda uma pergunta primeiro? :)"
|
| 23 |
|
| 24 |
-
# Monta
|
| 25 |
conversa = ""
|
| 26 |
for user_msg, bot_msg in historico:
|
| 27 |
conversa += f"Usuário: {user_msg}\nBot: {bot_msg}\n"
|
|
@@ -54,20 +60,24 @@ def gerar_resposta(mensagem, historico):
|
|
| 54 |
resposta = texto_gerado.strip()
|
| 55 |
|
| 56 |
if not resposta:
|
| 57 |
-
resposta =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
|
| 59 |
-
# ATENÇÃO: agora usamos TUPLAS, não listas
|
| 60 |
-
historico = historico + [(mensagem, resposta)]
|
| 61 |
-
return resposta, historico
|
| 62 |
|
| 63 |
descricao = """
|
| 64 |
### Chatbot com IA Real (Transformers) 🤖
|
| 65 |
|
| 66 |
-
Este Space demonstra um
|
| 67 |
- Modelo: `microsoft/DialoGPT-small`
|
| 68 |
- Backend: `transformers` + `torch`
|
| 69 |
- Interface: **Gradio ChatInterface**
|
| 70 |
|
|
|
|
| 71 |
"""
|
| 72 |
|
| 73 |
iface = gr.ChatInterface(
|
|
@@ -80,9 +90,8 @@ iface = gr.ChatInterface(
|
|
| 80 |
"Me dá uma dica para estudar programação?",
|
| 81 |
"Como posso aprender sobre segurança da informação?",
|
| 82 |
],
|
| 83 |
-
cache_examples=False,
|
| 84 |
)
|
| 85 |
|
| 86 |
if __name__ == "__main__":
|
| 87 |
iface.launch()
|
| 88 |
-
|
|
|
|
| 13 |
model.to(device)
|
| 14 |
|
| 15 |
def gerar_resposta(mensagem, historico):
|
| 16 |
+
"""
|
| 17 |
+
Função chamada pelo ChatInterface.
|
| 18 |
+
- mensagem: texto digitado pelo usuário
|
| 19 |
+
- historico: lista de tuplas (user, bot) que o Gradio mantém
|
| 20 |
+
A função DEVE retornar apenas a resposta (string).
|
| 21 |
+
"""
|
| 22 |
+
|
| 23 |
if historico is None:
|
| 24 |
historico = []
|
| 25 |
|
| 26 |
mensagem = mensagem.strip()
|
| 27 |
if not mensagem:
|
| 28 |
+
return "Me manda uma pergunta primeiro? :)"
|
| 29 |
|
| 30 |
+
# Monta um contexto simples com base no histórico
|
| 31 |
conversa = ""
|
| 32 |
for user_msg, bot_msg in historico:
|
| 33 |
conversa += f"Usuário: {user_msg}\nBot: {bot_msg}\n"
|
|
|
|
| 60 |
resposta = texto_gerado.strip()
|
| 61 |
|
| 62 |
if not resposta:
|
| 63 |
+
resposta = (
|
| 64 |
+
"Estou pensando aqui, mas não consegui formular uma resposta melhor ainda. "
|
| 65 |
+
"Tenta perguntar de outro jeito? :)"
|
| 66 |
+
)
|
| 67 |
+
|
| 68 |
+
# IMPORTANTE: retornamos APENAS a resposta (string)
|
| 69 |
+
return resposta
|
| 70 |
|
|
|
|
|
|
|
|
|
|
| 71 |
|
| 72 |
descricao = """
|
| 73 |
### Chatbot com IA Real (Transformers) 🤖
|
| 74 |
|
| 75 |
+
Este Space demonstra um chatbot usando um modelo de linguagem da biblioteca **Transformers**:
|
| 76 |
- Modelo: `microsoft/DialoGPT-small`
|
| 77 |
- Backend: `transformers` + `torch`
|
| 78 |
- Interface: **Gradio ChatInterface**
|
| 79 |
|
| 80 |
+
Não precisa de chave de API externa e roda em CPU no Hugging Face Spaces.
|
| 81 |
"""
|
| 82 |
|
| 83 |
iface = gr.ChatInterface(
|
|
|
|
| 90 |
"Me dá uma dica para estudar programação?",
|
| 91 |
"Como posso aprender sobre segurança da informação?",
|
| 92 |
],
|
| 93 |
+
cache_examples=False, # evita execução automática na inicialização
|
| 94 |
)
|
| 95 |
|
| 96 |
if __name__ == "__main__":
|
| 97 |
iface.launch()
|
|
|