v7.0.0
LLM Models Supporting
LLM schema generator functions have become suitable to LLM provider models.
import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
import typia from "typia";
const app: ILlmApplication<"chatgpt"> = typia.llm.application<MyApp, "chatgpt">();
const parameters: ILlmSchema.IParameters<"claude"> = typia.llm.parameters<MyParameters, "claude">();
const schema: ILlmSchema<"gemini"> = typia.llm.schema<MyType, "gemini">();IChatGptSchema: OpenAI ChatGPTIClaudeSchema: Anthropic ClaudeIGeminiSchema: Google GeminiILlamaSchema: Meta Llama
Optimized for Frontend Bundlers
Typia v7 compiler has been optimized for frontend bundlers.
From now on, internal functions would be dynamically imported like below.
cc @ryoppippi: please check
unplugin-typiaworks in the new major update.
import typia, { tags } from "typia";
import { v4 } from "uuid";
const matched: boolean = typia.is<IMember>({
id: v4(),
email: "samchon.github@gmai19l.com",
age: 30,
});
console.log(matched); // true
interface IMember {
id: string & tags.Format<"uuid">;
email: string & tags.Format<"email">;
age: number &
tags.Type<"uint32"> &
tags.ExclusiveMinimum<19> &
tags.Maximum<100>;
}import * as __typia_transform__isFormatUuid from "typia/lib/internal/_isFormatUuid.js";
import * as __typia_transform__isFormatEmail from "typia/lib/internal/_isFormatEmail.js";
import * as __typia_transform__isTypeUint32 from "typia/lib/internal/_isTypeUint32.js";
import typia from "typia";
import { v4 } from "uuid";
const matched = (() => {
const _io0 = (input) =>
"string" === typeof input.id &&
__typia_transform__isFormatUuid._isFormatUuid(input.id) &&
"string" === typeof input.email &&
__typia_transform__isFormatEmail._isFormatEmail(input.email) &&
"number" === typeof input.age &&
__typia_transform__isTypeUint32._isTypeUint32(input.age) &&
19 < input.age &&
input.age <= 100;
return (input) => "object" === typeof input && null !== input && _io0(input);
})()({
id: v4(),
email: "samchon.github@gmai19l.com",
age: 30,
});
console.log(matched); // trueWhat's Changed
- Change currying functions to keyworded. by @samchon in #1278
- Refactor debugging tool by @samchon in #1308
- Internal functions for
ImportProgrammer.internal(). by @samchon in #1311 ImportProgrammercomposing import statements by transformation. by @samchon in #1313- Refactor
ImportTransformerfor generation mode. by @samchon in #1319 - Add test cases for
typia.http.parameter()function. by @samchon in #1320 - Separate to
typia.json.applicationandtypia.json.schemasfunctions. by @samchon in #1322 - Prepare #1234: refactor metadata schema for
protobufsequencing. by @samchon in #1328 - Develop #1234:
Sequence<N>tag and its validator onProtobufFactoryby @samchon in #1332 - New metadata
IProtobufPropertyandIProtobufSchemaby @samchon in #1333 - Close #1234: completed
Sequence<N>implementation for Protocol Buffer. by @samchon in #1334 ImportProgrammer.IOptionsfor multiple transformers case. by @samchon in #1336- Every JSON and LLM schema starts from the OpenAPI v3.1 emended specif… by @samchon in #1338
- Close ryoppippi/unplugin-typia#335: change
$prefix to_for Svelte. by @samchon in #1339 - Allow LLM model specification by @samchon in #1350
- Enhance test programs for the LLM schemas. by @samchon in #1352
- Fix miss-downgraded OpenAPI v3.1 tuple type by @samchon in #1355
- docs: add file structure and convention by @sunrabbit123 in #1353
- Target to be ES2015 by @samchon in #1358
$importInternalscript in the type tag validator. by @samchon in #1359- Close #1062:
_isUniqueItems(), the deepinng comparison. by @samchon in #1360 - Adapt changed structure of
ILlmFunction<Parameters>. by @samchon in #1371 - Strict JSON/LLM schema of object type by @samchon in #1372
- New function
typia.llm.parameters(). by @samchon in #1374 - Support claude model in LLM function calling schema. by @samchon in #1378
- Fix #1357: use relative path instead of
tgzsetup. by @samchon in #1380 - Support Meta Llama schema by @samchon in #1383
- Remove
typia.json.application<App>()function. by @samchon in #1385 - Exact LLM schema types even in the generation mode. by @samchon in #1387
- Fix type tag bug in nested case like
Array<number & X & Y> & A & B. by @samchon in #1389 - LLM functions' provide config argument. by @samchon in #1390
- Only one object typed parameter in
typia.llm.application()function. by @samchon in #1391 - Allow
additionalPropertiesin Claude and Llama schemas. by @samchon in #1394 - Fix
typia.llm.application()bug of vulnerable nesting. by @samchon in #1395 - Fix type tag name in the MetadataCollection by @samchon in #1397
- Re-write website contents about LLM schema by @samchon in #1398
- Upgrade
@samchon/openapi, maybe the last update. by @samchon in #1399 - Update
@samchon/openapi, theTry<T, E>composer. by @samchon in #1400 - 1st completion of documentation by @samchon in #1401
- replace URLSearchParams to IReadableURLSearchParams by @miyaji255 in #1349
- Emend #1349: publish
IReadableURLSearchParamsin v7 major update. by @samchon in #1402 - Website compiled JS text renewal by @samchon in #1405
- Publish v7.0 by @samchon in #1396
Full Changelog: v6.12.2...v7.0.0