langchain-ai / langchain

šŸ¦œšŸ”— Build context-aware reasoning applications
https://python.langchain.com
MIT License
95.3k stars 15.46k forks source link

PydanticUserError for OpenAI LLMs #27706

Open Bala-Friedkin opened 3 weeks ago

Bala-Friedkin commented 3 weeks ago

Checked other resources

Example Code

llm = OpenAI( api_key=settings.openai_api_key, verbose=True, temperature=0, model_name="gpt-4", ) llm.invoke("....")

Error Message and Stack Trace (if applicable)

pydantic.errors.PydanticUserError: If you use @root_validator with pre=False (the default) you MUST specify skip_on_failure=True. Note that @root_validator is deprecated and should be replaced with @model_validator.

For further information visit https://errors.pydantic.dev/2.9/u/root-validator-pre-skip

Description

I am really unhappy with this library. Let me put it that way. Using this library is really questioning my potential as a developer! Whenever I start a new task with this library, I run into some import statement issues, some pydantic errors, and what not! One day, I need to import PromptTemplate from langchain.prompts, the next day I have to import it from langchain_core.prompts. The documentation is not at all helpful with these changes.

With that Rant, let me explain my issue, and eventually the bot will give the same answer to downgrade my pydantic version. But still I will try to explain

I am trying to use the invoke method in the OpenAI instance, and getting a PydanticUserError. The code and the error message is attached below.

System Info

alembic==1.13.3 amqp==5.2.0 annotated-types==0.7.0 anyio==4.6.0 astroid==3.3.5 billiard==4.2.1 black==24.10.0 boto3==1.35.37 botocore==1.35.37 celery==5.4.0 certifi==2024.8.30 cfgv==3.4.0 charset-normalizer==3.4.0 click==8.1.7 click-didyoumean==0.3.1 click-plugins==1.1.1 click-repl==0.3.0 colorama==0.4.6 dill==0.3.9 distlib==0.3.9 distro==1.9.0 dnspython==2.7.0 ecdsa==0.19.0 email_validator==2.2.0 fastapi==0.115.0 fastapi-cli==0.0.5 filelock==3.16.1 flake8==7.1.1 flower==2.0.1 greenlet==3.1.1 h11==0.14.0 httpcore==1.0.6 httptools==0.6.1 httpx==0.27.2 humanize==4.11.0 identify==2.6.1 idna==3.10 isort==5.13.2 Jinja2==3.1.4 jiter==0.6.1 jmespath==1.0.1 jose==1.0.0 jsonpatch==1.33 jsonpointer==3.0.0 kombu==5.4.2 langchain==0.0.27 langchain-core==0.3.13 langchain-openai==0.2.2 langsmith==0.1.137 Mako==1.3.5 markdown-it-py==3.0.0 MarkupSafe==3.0.1 mccabe==0.7.0 mdurl==0.1.2 mypy-extensions==1.0.0 nodeenv==1.9.1 numpy==2.1.2 openai==1.51.2 orjson==3.10.10 packaging==24.1 pandas==2.2.3 pathspec==0.12.1 pika==1.3.2 pipenv==2024.1.0 platformdirs==4.3.6 pre_commit==4.0.1 prometheus_client==0.21.0 prompt_toolkit==3.0.48 psycopg2==2.9.9 pyasn1==0.6.1 pycodestyle==2.12.1 pydantic==2.9.2 pydantic-settings==2.6.0 pydantic_core==2.23.4 pyflakes==3.2.0 Pygments==2.18.0 pylint==3.3.1 python-dateutil==2.9.0.post0 python-dotenv==1.0.1 python-jose==3.3.0 python-multipart==0.0.12 pytz==2024.2 PyYAML==6.0.2 regex==2024.9.11 requests==2.32.3 requests-toolbelt==1.0.0 rich==13.9.2 rsa==4.9 s3transfer==0.10.3 setuptools==75.1.0 shellingham==1.5.4 six==1.16.0 sniffio==1.3.1 SQLAlchemy==2.0.35 sqlmodel==0.0.22 starlette==0.38.6 tenacity==9.0.0 tiktoken==0.8.0 tomlkit==0.13.2 tornado==6.4.1 tqdm==4.66.5 typer==0.12.5 typing_extensions==4.12.2 tzdata==2024.2 urllib3==2.2.3 uvicorn==0.31.0 vine==5.1.0 virtualenv==20.27.0 watchfiles==0.24.0 wcwidth==0.2.13 websockets==13.1

bansky-cl commented 16 hours ago

I have the same problem as you, how did you solve it?