IGeminiSchema is a type metadata for the LLM (Large Language Model)
function calling in the Geminimi.
IGeminiSchema basically follows the JSON schema definition of the
OpenAPI v3.0 specification; OpenApiV3.IJsonSchema. However,
IGeminiSchema cannot understand union and reference types, represented
by the oneOf and $ref properties. Also, as OpenAPI v3.0 specification
does not support the tuple type, IGeminiSchema does not support the
tuple type either.
If compare with OpenApi.IJsonSchema, the emended JSON schema type,
these are not supported in the Gemini schema. One thing interesting is,
the Gemini does not support the title property, so it would be revealed
in the IGeminiSchema.__IAttribute.description property instead.
Also, Gemini has banned below constraint properties. Instead, I'll will
fill the IGeminiSchema.__IAttribute.description property with
the comment text like "@format uuid".
Specified not only by the official documentation, but also by my
experiments. Therefore, its definitions can be inaccurate or be
changed in the future. If you find any wrong or outdated definitions,
please let me know by issue.
Type schema info for the Gemini function calling.
IGeminiSchema
is a type metadata for the LLM (Large Language Model) function calling in the Geminimi.IGeminiSchema
basically follows the JSON schema definition of the OpenAPI v3.0 specification; OpenApiV3.IJsonSchema. However,IGeminiSchema
cannot understand union and reference types, represented by theoneOf
and$ref
properties. Also, as OpenAPI v3.0 specification does not support the tuple type,IGeminiSchema
does not support the tuple type either.If compare with OpenApi.IJsonSchema, the emended JSON schema type, these are not supported in the Gemini schema. One thing interesting is, the Gemini does not support the
title
property, so it would be revealed in the IGeminiSchema.__IAttribute.description property instead.Also, Gemini has banned below constraint properties. Instead, I'll will fill the IGeminiSchema.__IAttribute.description property with the comment text like
"@format uuid"
.