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.
ILlamaSchemais a type schema info of the Llama function calling.ILlamaSchemaseems 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,ILlamaSchemais 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,
ILlamaSchemadoes not follow the entire specification of the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the list of howILlmSchemaV3_1is 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
ILlamaSchematype with the ILlamaSchema.IConfig.referencefalseoption (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.