GenerativeAI Gemini で genai.protos.Schema で制御
LangChain で普段 VertexAI 使っていて GenAI 側使おうとしたら全然機能足りてなくてウケた...
TypedDict に比べて description 書けるのがいいところ(参照されているはず)
code:schema.py
schema = genai.protos.Schema(
type=genai.protos.Type.OBJECT,
properties={
"score": genai.protos.Schema(
type=genai.protos.Type.STRING,
description="AIの出力の評価スコア(5,4,3,2,1 の5段階)"
),
"explanation": genai.protos.Schema(
type=genai.protos.Type.STRING,
description="評価スコアの説明",
),
},
)
model = genai.GenerativeModel(
"models/gemini-1.5-flash-002",
generation_config=genai.GenerationConfig(
temperature=0,
response_mime_type="application/json",
response_schema=EvalResult,
),
)