From 3c387bc12de8959b37af4d4def5be3d1c7e0ee2e Mon Sep 17 00:00:00 2001 From: ARKA1112 Date: Sun, 28 Jan 2024 06:16:48 +0530 Subject: [PATCH] docs: Error when importing packages from pydantic [docs] (#16564) URL : https://python.langchain.com/docs/use_cases/extraction Desc: While the following statement executes successfully, it throws an error which is described below when we use the imported packages ```py from pydantic import BaseModel, Field, validator ``` Code: ```python from langchain.output_parsers import PydanticOutputParser from langchain.prompts import ( PromptTemplate, ) from langchain_openai import OpenAI from pydantic import BaseModel, Field, validator # Define your desired data structure. class Joke(BaseModel): setup: str = Field(description="question to set up a joke") punchline: str = Field(description="answer to resolve the joke") # You can add custom validation logic easily with Pydantic. @validator("setup") def question_ends_with_question_mark(cls, field): if field[-1] != "?": raise ValueError("Badly formed question!") return field ``` Error: ```md PydanticUserError: The `field` and `config` parameters are not available in Pydantic V2, please use the `info` parameter instead. For further information visit https://errors.pydantic.dev/2.5/u/validator-field-config-info ``` Solution: Instead of doing: ```py from pydantic import BaseModel, Field, validator ``` We should do: ```py from langchain_core.pydantic_v1 import BaseModel, Field, validator ``` Thanks. --------- Co-authored-by: Bagatur --- docs/docs/use_cases/extraction.ipynb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/docs/use_cases/extraction.ipynb b/docs/docs/use_cases/extraction.ipynb index e36586edacc..167d8c47022 100644 --- a/docs/docs/use_cases/extraction.ipynb +++ b/docs/docs/use_cases/extraction.ipynb @@ -430,7 +430,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "64650362", "metadata": {}, "outputs": [ @@ -452,8 +452,8 @@ "from langchain.prompts import (\n", " PromptTemplate,\n", ")\n", + "from langchain_core.pydantic_v1 import BaseModel, Field, validator\n", "from langchain_openai import OpenAI\n", - "from pydantic import BaseModel, Field, validator\n", "\n", "\n", "class Person(BaseModel):\n", @@ -531,8 +531,8 @@ "from langchain.prompts import (\n", " PromptTemplate,\n", ")\n", + "from langchain_core.pydantic_v1 import BaseModel, Field, validator\n", "from langchain_openai import OpenAI\n", - "from pydantic import BaseModel, Field, validator\n", "\n", "\n", "# Define your desired data structure.\n",