启动main.py dev celery的没有google.ai的问题

bishe@bishe-VMware-Virtual-Platform:~/毕设代码/MaxKB-main (1)/MaxKB-main$ python3 main.py dev celery
Building prefix dict from the default dictionary …
DEBUG:jieba:Building prefix dict from the default dictionary …
Loading model from cache /tmp/jieba.cache
DEBUG:jieba:Loading model from cache /tmp/jieba.cache
Loading model cost 0.822 seconds.
DEBUG:jieba:Loading model cost 0.822 seconds.
Prefix dict has been built successfully.
DEBUG:jieba:Prefix dict has been built successfully.
Operations to perform:
Apply all migrations: application, contenttypes, dataset, django_apscheduler, django_celery_beat, embedding, function_lib, setting, users
Running migrations:
No migrations to apply.
Your models in app(s): ‘dataset’, ‘function_lib’ have changes that are not yet reflected in a migration, and so won’t be applied.
Run ‘manage.py makemigrations’ to make new migrations, and then re-run ‘manage.py migrate’ to apply them.
Traceback (most recent call last):
File “/home/bishe/.local/bin/celery”, line 8, in
sys.exit(main())
^^^^^^
File “/home/bishe/.local/lib/python3.11/site-packages/celery/main.py”, line 15, in main
sys.exit(_main())
^^^^^^^
File “/home/bishe/.local/lib/python3.11/site-packages/celery/bin/celery.py”, line 236, in main
return celery(auto_envvar_prefix=“CELERY”)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/click/core.py”, line 1157, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/click/core.py”, line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/click/core.py”, line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/click/core.py”, line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/click/core.py”, line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/click/decorators.py”, line 33, in new_func
return f(get_current_context(), *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/bishe/.local/lib/python3.11/site-packages/celery/bin/base.py”, line 135, in caller
return f(ctx, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^
File “/home/bishe/.local/lib/python3.11/site-packages/celery/bin/worker.py”, line 348, in worker
worker = app.Worker(
^^^^^^^^^^^
File “/home/bishe/.local/lib/python3.11/site-packages/celery/worker/worker.py”, line 93, in init
self.app.loader.init_worker()
File “/home/bishe/.local/lib/python3.11/site-packages/celery/loaders/base.py”, line 110, in init_worker
self.import_default_modules()
File “/home/bishe/.local/lib/python3.11/site-packages/celery/loaders/base.py”, line 104, in import_default_modules
raise response
File “/home/bishe/.local/lib/python3.11/site-packages/celery/utils/dispatch/signal.py”, line 276, in send
response = receiver(signal=self, sender=sender, **named)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/bishe/.local/lib/python3.11/site-packages/celery/fixups/django.py”, line 100, in on_import_modules
self.worker_fixup.validate_models()
File “/home/bishe/.local/lib/python3.11/site-packages/celery/fixups/django.py”, line 140, in validate_models
run_checks()
File “/home/bishe/.local/lib/python3.11/site-packages/django/core/checks/registry.py”, line 88, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/bishe/.local/lib/python3.11/site-packages/django/core/checks/urls.py”, line 16, in check_url_config
return check_resolver(resolver)
^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/bishe/.local/lib/python3.11/site-packages/django/core/checks/urls.py”, line 26, in check_resolver
return check_method()
^^^^^^^^^^^^^^
File “/home/bishe/.local/lib/python3.11/site-packages/django/urls/resolvers.py”, line 531, in check
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File “/home/bishe/.local/lib/python3.11/site-packages/django/utils/functional.py”, line 47, in get
res = instance.dict[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File “/home/bishe/.local/lib/python3.11/site-packages/django/urls/resolvers.py”, line 718, in url_patterns
patterns = getattr(self.urlconf_module, “urlpatterns”, self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File “/home/bishe/.local/lib/python3.11/site-packages/django/utils/functional.py”, line 47, in get
res = instance.dict[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File “/home/bishe/.local/lib/python3.11/site-packages/django/urls/resolvers.py”, line 711, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.11/importlib/init.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “”, line 1204, in _gcd_import
File “”, line 1176, in _find_and_load
File “”, line 1147, in _find_and_load_unlocked
File “”, line 690, in _load_unlocked
File “”, line 940, in exec_module
File “”, line 241, in _call_with_frames_removed
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/smartdoc/urls.py”, line 24, in
from application.urls import urlpatterns as application_urlpatterns
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/application/urls.py”, line 3, in
from . import views
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/application/views/init.py”, line 9, in
from .application_views import *
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/application/views/application_views.py”, line 18, in
from application.serializers.application_serializers import ApplicationSerializer
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/application/serializers/application_serializers.py”, line 27, in
from application.flow.workflow_manage import Flow
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/application/flow/workflow_manage.py”, line 23, in
from application.flow.step_node import get_node
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/application/flow/step_node/init.py”, line 9, in
from .ai_chat_step_node import *
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/application/flow/step_node/ai_chat_step_node/init.py”, line 9, in
from .impl import *
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/application/flow/step_node/ai_chat_step_node/impl/init.py”, line 9, in
from .base_chat_node import BaseChatNode
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/application/flow/step_node/ai_chat_step_node/impl/base_chat_node.py”, line 20, in
from setting.models_provider import get_model_credential
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/setting/models_provider/init.py”, line 13, in
from setting.models_provider.constants.model_provider_constants import ModelProvideConstants
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/setting/models_provider/constants/model_provider_constants.py”, line 16, in
from setting.models_provider.impl.gemini_model_provider.gemini_model_provider import GeminiModelProvider
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/setting/models_provider/impl/gemini_model_provider/gemini_model_provider.py”, line 15, in
from setting.models_provider.impl.gemini_model_provider.model.llm import GeminiChatModel
File “/home/bishe/毕设代码/MaxKB-main (1)/MaxKB-main/apps/setting/models_provider/impl/gemini_model_provider/model/llm.py”, line 11, in
from google.ai.generativelanguage_v1 import GenerateContentResponse
ModuleNotFoundError: No module named ‘google.ai’

需要在python中安装缺少的库。