ILlamaSchema is a type schema info of the Llama function calling.
ILlamaSchema seems fully supporting the JSON schema definition of the OpenAPI v3.1
specification; OpenApiV3_1.IJsonSchema. By the way, as the
OpenApiV3_1.IJsonSchema has too much ambiguous and duplicated expressions,
ILlamaSchema is designed to be clear and simple for the Llama function calling,
by utilizng ILlmSchemaV3_1 which has been transformed from the
OpenApi.IJsonSchema for the convenience and clarity.
Therefore, ILlamaSchema does not follow the entire specification of
the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the
list of how ILlmSchemaV3_1 is different with the OpenAPI v3.1 JSON schema.
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 of the Llama.
ILlamaSchema
is a type schema info of the Llama function calling.ILlamaSchema
seems fully supporting the JSON schema definition of the OpenAPI v3.1 specification; OpenApiV3_1.IJsonSchema. By the way, as the OpenApiV3_1.IJsonSchema has too much ambiguous and duplicated expressions,ILlamaSchema
is designed to be clear and simple for the Llama function calling, by utilizng ILlmSchemaV3_1 which has been transformed from the OpenApi.IJsonSchema for the convenience and clarity.Therefore,
ILlamaSchema
does not follow the entire specification of the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the list of howILlmSchemaV3_1
is different with the OpenAPI v3.1 JSON schema.If compare with the OpenApi.IJsonSchema, the emended JSON schema specification,
For reference, if you've composed the
ILlamaSchema
type with the ILlamaSchema.IConfig.referencefalse
option (default isfalse
), only the recursive named types would be archived into the ILlamaSchema.IParameters.$defs, and the others would be escaped from the ILlamaSchema.IReference type.