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-typia
works 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); // true
What'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 ImportProgrammer
composing import statements by transformation. by @samchon in #1313- Refactor
ImportTransformer
for generation mode. by @samchon in #1319 - Add test cases for
typia.http.parameter()
function. by @samchon in #1320 - Separate to
typia.json.application
andtypia.json.schemas
functions. by @samchon in #1322 - Prepare #1234: refactor metadata schema for
protobuf
sequencing. by @samchon in #1328 - Develop #1234:
Sequence<N>
tag and its validator onProtobufFactory
by @samchon in #1332 - New metadata
IProtobufProperty
andIProtobufSchema
by @samchon in #1333 - Close #1234: completed
Sequence<N>
implementation for Protocol Buffer. by @samchon in #1334 ImportProgrammer.IOptions
for 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
$importInternal
script 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
tgz
setup. 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
additionalProperties
in 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
IReadableURLSearchParams
in 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