importing KeyBERT causes pydantic_core problems
- Dominant language
- Python
- Stars
- 4.2k
- Forks
- 385
- PR merge metrics
- No merged PRs in 30d
Description
Encountered an "ImportError: cannot import name 'validate_core_schema' from 'pydantic_core'" error when importing KeyBERT.
Using keybert 0.8.3 and pydantic-core v 2.6.3:
```
(llmEnv) C:\Users\rajah>conda list | find "pydantic"
pydantic 2.3.0 pypi_0 pypi
pydantic-core 2.6.3 pypi_0 pypi
(llmEnv) C:\Users\rajah>conda list | find "keybert"
keybert 0.8.3 pypi_0 pypi
```
Full trace:
```
(llmEnv) C:\Users\rajah>python
Python 3.9.7 (default, Sep 16 2021, 16:59:28) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from keybert import KeyBERT
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\keybert\__init__.py", line 2, in
from keybert._model import KeyBERT
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\keybert\_model.py", line 17, in
from keybert.llm._base import BaseLLM
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\keybert\llm\__init__.py", line 28, in
from keybert.llm._langchain import LangChain
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\keybert\llm\_langchain.py", line 3, in
from langchain.docstore.document import Document
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\langchain\__init__.py", line 6, in
from langchain.agents import MRKLChain, ReActChain, SelfAskWithSearchChain
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\langchain\agents\__init__.py", line 31, in
from langchain.agents.agent import (
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\langchain\agents\agent.py", line 23, in
from langchain.agents.agent_iterator import AgentExecutorIterator
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\langchain\agents\agent_iterator.py", line 21, in
from langchain.callbacks.manager import (
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\langchain\callbacks\__init__.py", line 23, in
from langchain.callbacks.manager import (
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\langchain\callbacks\manager.py", line 41, in
from langchain.callbacks.tracers import run_collector
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\langchain\callbacks\tracers\__init__.py", line 3, in
from langchain.callbacks.tracers.langchain import LangChainTracer
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\langchain\callbacks\tracers\langchain.py", line 12, in
from langsmith import Client
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\langsmith\__init__.py", line 10, in
from langsmith.client import Client
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\langsmith\client.py", line 39, in
from langsmith.evaluation import evaluator as ls_evaluator
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\langsmith\evaluation\__init__.py", line 4, in
from langsmith.evaluation.string_evaluator import StringEvaluator
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\langsmith\evaluation\string_evaluator.py", line 3, in
from pydantic import BaseModel
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\pydantic\__init__.py", line 372, in __getattr__
module = import_module(module_name, package=package)
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\pydantic\main.py", line 15, in
from ._internal import (
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\pydantic\_internal\_decorators.py", line 15, in
from ._core_utils import get_type_ref
File "C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\pydantic\_internal\_core_utils.py", line 15, in
from pydantic_core import validate_core_schema as _validate_core_schema
ImportError: cannot import name 'validate_core_schema' from 'pydantic_core' (C:\Users\rajah\anaconda3\envs\llmEnv\lib\site-packages\pydantic_core\__init__.py)
>>> exit()
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the failure with `from keybert import KeyBERT` using the reported Python, KeyBERT, pydantic, and pydantic-core versions. Trace the import path through `keybert/__init__.py`, `keybert/_model.py`, `keybert/llm/__init__.py`, and `keybert/llm/_langchain.py`, then verify that importing KeyBERT succeeds with the supported dependency combination.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100