Pydantic Output Parser
import os
from dotenv import load_dotenv
from pydantic import BaseModel
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_core.output_parsers import PydanticOutputParser
from langchain_core.prompts import PromptTemplate
load_dotenv()
api_key = os.getenv("GEMINI_API_KEY")
llm = ChatGoogleGenerativeAI(model="gemini-2.5-flash", api_key=api_key)
# Step 1: Define a Pydantic model
class PersonInfo(BaseModel):
name: str
age: int
country: str
# Step 2: Create a parser using the model
parser = PydanticOutputParser(pydantic_object=PersonInfo)
# Step 3: Prepare prompt
prompt = PromptTemplate(
template="Provide a JSON with name, age, and country for Elon Musk.",
input_variables=[]
)
# Step 4: Run LLM and parse output
response = llm.invoke(prompt.format())
parsed_output = parser.parse(response.content)
print(parsed_output)
print(parsed_output.name, parsed_output.age, parsed_output.country)Last updated