1
resposta

[Bug] [Erro] Selecionando uma persona para o chatbot

Olá, boa tarde!

Ao selecionar a persona com sentimento negativo através da pergunta "Fiz uma péssima compra e gostaria de trocar minha caneca!" conforme orientação do professo na aula "02 Selecionando uma persona para o chatbot" gerou o erro abaixo. Ao fazer as perguntas que adota o sentimento positivo e neutro funcionou corretamente.

Alguém pode ajudar?

"""
href="?__debugger__=yes&cmd=resource&f=console.png">
KeyError
KeyError: 'sentimento: negativo'
Traceback (most recent call last)
File "C:\Projetos\iagenerativa\chatbot\lib\site-packages\flask\app.py",
line 1488,
in __call__
return self.wsgi_app(environ, start_response)
File "C:\Projetos\iagenerativa\chatbot\lib\site-packages\flask\app.py",
line 1466,
in wsgi_app
response = self.handle_exception(e)
File "C:\Projetos\iagenerativa\chatbot\lib\site-packages\flask\app.py",
line 1463,
in wsgi_app
response = self.full_dispatch_request()
File "C:\Projetos\iagenerativa\chatbot\lib\site-packages\flask\app.py",
line 872,
in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Projetos\iagenerativa\chatbot\lib\site-packages\flask\app.py",
line 870,
in full_dispatch_request
rv = self.dispatch_request()
File "C:\Projetos\iagenerativa\chatbot\lib\site-packages\flask\app.py",
line 855,
in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]

File "C:\Projetos\iagenerativa\chatbot\app.py",
line 67,
in chat
resposta = bot(prompt)
file "C:\Projetos\iagenerativa\chatbot\app.py",
line 23,
in bot
personalidade = personas[selecionar_persona(prompt)]
KeyError: 'sentimento: negativo'

This is the Copy/Paste friendly version of the traceback.

Traceback (most recent call last):<br>  File "C:\Projetos\iagenerativa\chatbot\lib\site-packages\flask\app.py", line 1488, in __call__<br>    return self.wsgi_app(environ, start_response)<br>  File "C:\Projetos\iagenerativa\chatbot\lib\site-packages\flask\app.py", line 1466, in wsgi_app<br>    response = self.handle_exception(e)<br>  File "C:\Projetos\iagenerativa\chatbot\lib\site-packages\flask\app.py", line 1463, in wsgi_app<br>    response = self.full_dispatch_request()<br>  File "C:\Projetos\iagenerativa\chatbot\lib\site-packages\flask\app.py", line 872, in full_dispatch_request<br>    rv = self.handle_user_exception(e)<br>  File "C:\Projetos\iagenerativa\chatbot\lib\site-packages\flask\app.py", line 870, in full_dispatch_request<br>    rv = self.dispatch_request()<br>  File "C:\Projetos\iagenerativa\chatbot\lib\site-packages\flask\app.py", line 855, in dispatch_request<br>    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]<br>  File "C:\Projetos\iagenerativa\chatbot\app.py", line 67, in chat<br>    resposta = bot(prompt)<br>  File "C:\Projetos\iagenerativa\chatbot\app.py", line 23, in bot<br>    personalidade = personas[selecionar_persona(prompt)]<br>KeyError: 'sentimento: negativo'<br>

The debugger caught an exception in your WSGI application. You can now
look at the traceback which led to the error.
If you enable JavaScript you can also use additional features such as code
execution (if the evalex feature is enabled), automatic pasting of the
exceptions and much more.
"""

Brought to you by DON'T PANIC, your
friendly Werkzeug powered traceback interpreter.
1 resposta

Olá Mateus, tudo bem?

O erro KeyError geralmente ocorre quando você tenta acessar um dicionário com uma chave que não existe. Neste caso, diz que a chave sentimento: negativo não está sendo encontrada no dicionário de personas.

Como não tenho acesso a seu código, deixo neste link o código do arquivo selecionar_persona.py para que você possa fazer as conferências.

Depois das alterações tente executar o código novamente. Caso o problema persista, peço que me envie seu projeto para testes. Fico à disposição.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.