A_Arnold
A_Arnold

Reputation: 4049

LangChain: ValueError: 'not' is not a valid parameter name

I am using 3.11.3 and langchain 0.0.166 on Windows. When I try and run

from langchain.document_loaders import UnstructuredPDFLoader

I get an error of

ValueError "'not' is not a valid parameter name"

It seems like FastAPI had this issue but it's not coming up in my stack trace and I don't think I have any dependencies on it.

Stack trace is:

Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1128, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\langchain\__init__.py", line 6, in <module>
    from langchain.agents import MRKLChain, ReActChain, SelfAskWithSearchChain
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\langchain\agents\__init__.py", line 2, in <module>
    from langchain.agents.agent import (
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\langchain\agents\agent.py", line 15, in <module>
    from langchain.agents.tools import InvalidTool
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\langchain\agents\tools.py", line 8, in <module>
    from langchain.tools.base import BaseTool, Tool, tool
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\langchain\tools\__init__.py", line 25, in <module>
    from langchain.tools.openapi.utils.api_models import APIOperation
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\langchain\tools\openapi\utils\api_models.py", line 6, in <module>
    from openapi_schema_pydantic import MediaType, Parameter, Reference, RequestBody, Schema
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\openapi_schema_pydantic\__init__.py", line 3, in <module>
    from .v3 import *
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\openapi_schema_pydantic\v3\__init__.py", line 1, in <module>
    from .v3_1_0 import *
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\openapi_schema_pydantic\v3\v3_1_0\__init__.py", line 9, in <module>
    from .open_api import OpenAPI
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\openapi_schema_pydantic\v3\v3_1_0\open_api.py", line 5, in <module>
    from .components import Components
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\openapi_schema_pydantic\v3\v3_1_0\components.py", line 7, in <module>
    from .header import Header
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\openapi_schema_pydantic\v3\v3_1_0\header.py", line 3, in <module>
    from .parameter import Parameter
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\openapi_schema_pydantic\v3\v3_1_0\parameter.py", line 6, in <module>
    from .media_type import MediaType
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\openapi_schema_pydantic\v3\v3_1_0\media_type.py", line 8, in <module>
    from .schema import Schema
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\openapi_schema_pydantic\v3\v3_1_0\schema.py", line 10, in <module>
    class Schema(BaseModel):
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\pydantic\main.py", line 292, in __new__
    cls.__signature__ = ClassAttribute('__signature__', generate_model_signature(cls.__init__, fields, config))
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\site-packages\pydantic\utils.py", line 258, in generate_model_signature
    merged_params[param_name] = Parameter(
                                ^^^^^^^^^^
  File "C:\Users\Student\Anaconda3\envs\RL\Lib\inspect.py", line 2722, in __init__
    raise ValueError('{!r} is not a valid parameter name'.format(name))
ValueError: 'not' is not a valid parameter name
python-BaseException

Upvotes: 3

Views: 4384

Answers (1)

b9s
b9s

Reputation: 557

Based on the FastAPI github issue, it looks like it's in the internals of Pydantic.
Langchain also has Pydantic in its requirements, and specifies ^1, so you could try updating pydanctic to the most recent version, 1.10.7, as it states that issue was fixed in 1.10.0a1

Upvotes: 1

Related Questions