Не запускается ChatterBot python
Я хочу написать голосового помощника на python. Я хотел сделать так чтобы с ним можно было просто поболтать, как с Яндекс Алисой. Решил воспользоваться библиотекой ChatterBot и использовать датасет от Ubuntu (UbuntuCorpusTrainer). Для проверки скопировал скрипт из документации на github:
import logging
from chatterbot import ChatBot
from chatterbot.trainers import UbuntuCorpusTrainer
# Enable info level logging
logging.basicConfig(level=logging.INFO)
chatbot = ChatBot('Jarvis')
trainer = UbuntuCorpusTrainer(chatbot)
# Start by training our bot with the Ubuntu corpus data
trainer.train()
# Now let's get a response to a greeting
response = chatbot.get_response('Привет')
print(response)
Но есть проблема - он выводит ошибку:
Traceback (most recent call last):
File "/home/user/PycharmProjects/Jarvis/Chat-bot.py", line 23, in <module>
chatbot = ChatBot(speech_to_text.code_word[0])
File "/home/user/PycharmProjects/Jarvis/venv/lib/python3.10/site-packages/chatterbot/chatterbot.py", line 28, in __init__
self.storage = utils.initialize_class(storage_adapter, **kwargs)
File "/home/user/PycharmProjects/Jarvis/venv/lib/python3.10/site-packages/chatterbot/utils.py", line 33, in initialize_class
return Class(*args, **kwargs)
File "/home/user/PycharmProjects/Jarvis/venv/lib/python3.10/site-packages/chatterbot/storage/sql_storage.py", line 20, in __init__
super().__init__(**kwargs)
File "/home/user/PycharmProjects/Jarvis/venv/lib/python3.10/site-packages/chatterbot/storage/storage_adapter.py", line 22, in __init__
self.tagger = Tagger(language=kwargs.get(
File "/home/user/PycharmProjects/Jarvis/venv/lib/python3.10/site-packages/chatterbot/tagging.py", line 20, in __init__
import spacy
File "/home/user/PycharmProjects/Jarvis/venv/lib/python3.10/site-packages/spacy/__init__.py", line 14, in <module>
from . import pipeline # noqa: F401
File "/home/user/PycharmProjects/Jarvis/venv/lib/python3.10/site-packages/spacy/pipeline/__init__.py", line 1, in <module>
from .attributeruler import AttributeRuler
File "/home/user/PycharmProjects/Jarvis/venv/lib/python3.10/site-packages/spacy/pipeline/attributeruler.py", line 6, in <module>
from .pipe import Pipe
File "spacy/pipeline/pipe.pyx", line 1, in init spacy.pipeline.pipe
File "spacy/vocab.pyx", line 1, in init spacy.vocab
File "/home/user/PycharmProjects/Jarvis/venv/lib/python3.10/site-packages/spacy/tokens/__init__.py", line 1, in <module>
from .doc import Doc
File "spacy/tokens/doc.pyx", line 36, in init spacy.tokens.doc
File "/home/user/PycharmProjects/Jarvis/venv/lib/python3.10/site-packages/spacy/schemas.py", line 6, in <module>
from pydantic import StrictStr, StrictInt, StrictFloat, StrictBool, ConstrainedStr
ImportError: cannot import name 'ConstrainedStr' from 'pydantic' (/home/user/PycharmProjects/Jarvis/venv/lib/python3.10/site-packages/pydantic/__init__.py)
Process finished with exit code 1
Подскажите пожалуйста что нужно сделать или посоветуйте другой способ как можно сделать это.
Источник: Stack Overflow на русском