
PromptTemplate の利用
では、作成したプロンプトテンプレートを使って、惑星の情報を取得する部分を実装してい
きます。リスト 5.3.2 に、プロンプトテンプレートを使って惑星の情報を取得する処理の実装
を示します。
リスト5.3.2
from langchain_openai import ChatOpenAI
from langchain_core.prompts import PromptTemplate
from pydantic import BaseModel, Field
from typing import Literal
class CelestialBody(BaseModel):
name: str = Field(description="天体の名前(漢字表記)")
radius: float = Field(description="天体の半径(km)")
mass: float = Field(description="天体の質量(kg)")
type: Literal["恒星", "惑星", "衛星"] = Field(description="天体の種類")
llm = ChatOpenAI().with_structured_output(CelestialBody)
prompt_template = PromptTemplate.from_template("{planet}の情報を教えてください。") ...