typia 7.0.0-dev.20241127-4 → 7.0.0-dev.20241127-5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.mjs.map +1 -1
- package/lib/llm.d.ts +9 -3
- package/lib/llm.js.map +1 -1
- package/lib/programmers/llm/LlmApplicationProgrammer.d.ts +1 -0
- package/lib/programmers/llm/LlmApplicationProgrammer.js +1 -1
- package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
- package/lib/programmers/llm/LlmModelPredicator.d.ts +16 -0
- package/lib/programmers/llm/LlmModelPredicator.js +99 -0
- package/lib/programmers/llm/LlmModelPredicator.js.map +1 -0
- package/lib/programmers/llm/LlmParametersProgrammer.d.ts +1 -0
- package/lib/programmers/llm/LlmParametersProgrammer.js +1 -1
- package/lib/programmers/llm/LlmParametersProgrammer.js.map +1 -1
- package/lib/programmers/llm/LlmSchemaProgrammer.d.ts +1 -0
- package/lib/programmers/llm/LlmSchemaProgrammer.js +1 -1
- package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
- package/lib/transformers/features/llm/LlmApplicationTransformer.js +12 -32
- package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/llm/LlmParametersTransformer.js +12 -32
- package/lib/transformers/features/llm/LlmParametersTransformer.js.map +1 -1
- package/lib/transformers/features/llm/LlmSchemaTransformer.js +12 -32
- package/lib/transformers/features/llm/LlmSchemaTransformer.js.map +1 -1
- package/package.json +1 -1
- package/src/llm.ts +17 -2
- package/src/programmers/llm/LlmApplicationProgrammer.ts +6 -4
- package/src/programmers/llm/LlmModelPredicator.ts +127 -0
- package/src/programmers/llm/LlmParametersProgrammer.ts +5 -1
- package/src/programmers/llm/LlmSchemaProgrammer.ts +5 -1
- package/src/transformers/features/llm/LlmApplicationTransformer.ts +12 -46
- package/src/transformers/features/llm/LlmParametersTransformer.ts +12 -46
- package/src/transformers/features/llm/LlmSchemaTransformer.ts +12 -46
package/lib/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/functional.ts","../src/http.ts","../src/llm.ts","../src/json.ts","../src/misc.ts","../src/notations.ts","../src/protobuf.ts","../src/reflect.ts","../src/TypeGuardError.ts","../src/module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["halt","application"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/functional.ts","../src/http.ts","../src/llm.ts","../src/json.ts","../src/misc.ts","../src/notations.ts","../src/protobuf.ts","../src/reflect.ts","../src/TypeGuardError.ts","../src/module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["halt","application"],"mappings":"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"}
|
package/lib/llm.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
|
|
|
33
33
|
*
|
|
34
34
|
* @template App Target class or interface type collecting the functions to call
|
|
35
35
|
* @template Model LLM schema model
|
|
36
|
+
* @template Config Configuration of LLM schema composition
|
|
36
37
|
* @param options Options for the LLM application construction
|
|
37
38
|
* @returns Application of LLM function calling schemas
|
|
38
39
|
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
@@ -71,12 +72,13 @@ export declare function application(options?: Partial<Pick<ILlmApplication.IOpti
|
|
|
71
72
|
*
|
|
72
73
|
* @template App Target class or interface type collecting the functions to call
|
|
73
74
|
* @template Model LLM schema model
|
|
75
|
+
* @template Config Configuration of LLM schema composition
|
|
74
76
|
* @param options Options for the LLM application construction
|
|
75
77
|
* @returns Application of LLM function calling schemas
|
|
76
78
|
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
77
79
|
* @author Jeongho Nam - https://github.com/samchon
|
|
78
80
|
*/
|
|
79
|
-
export declare function application<App extends object, Model extends ILlmSchema.Model>(options?: Partial<Pick<ILlmApplication.IOptions<Model>, "separate">>): ILlmApplication<Model>;
|
|
81
|
+
export declare function application<App extends object, Model extends ILlmSchema.Model, Config extends Partial<ILlmSchema.ModelConfig[Model]> = {}>(options?: Partial<Pick<ILlmApplication.IOptions<Model>, "separate">>): ILlmApplication<Model>;
|
|
80
82
|
/**
|
|
81
83
|
* > You must configure the generic argument `Parameters`.
|
|
82
84
|
*
|
|
@@ -99,6 +101,7 @@ export declare function application<App extends object, Model extends ILlmSchema
|
|
|
99
101
|
*
|
|
100
102
|
* @template Parameters Target parameters type
|
|
101
103
|
* @template Model LLM schema model
|
|
104
|
+
* @template Config Configuration of LLM schema composition
|
|
102
105
|
* @returns LLM parameters schema
|
|
103
106
|
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
104
107
|
* @reference https://platform.openai.com/docs/guides/structured-outputs
|
|
@@ -124,11 +127,12 @@ export declare function parameters(): never;
|
|
|
124
127
|
*
|
|
125
128
|
* @template Parameters Target parameters type
|
|
126
129
|
* @template Model LLM schema model
|
|
130
|
+
* @template Config Configuration of LLM schema composition
|
|
127
131
|
* @returns LLM parameters schema
|
|
128
132
|
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
129
133
|
* @reference https://platform.openai.com/docs/guides/structured-outputs
|
|
130
134
|
*/
|
|
131
|
-
export declare function parameters<Parameters extends object, Model extends ILlmSchema.Model>(): ILlmSchema.ModelParameters[Model];
|
|
135
|
+
export declare function parameters<Parameters extends object, Model extends ILlmSchema.Model, Config extends Partial<ILlmSchema.ModelConfig[Model]> = {}>(): ILlmSchema.ModelParameters[Model];
|
|
132
136
|
/**
|
|
133
137
|
* > You must configure the generic argument `T`.
|
|
134
138
|
*
|
|
@@ -162,6 +166,7 @@ export declare function parameters<Parameters extends object, Model extends ILlm
|
|
|
162
166
|
*
|
|
163
167
|
* @template T Target type
|
|
164
168
|
* @template Model LLM schema model
|
|
169
|
+
* @template Config Configuration of LLM schema composition
|
|
165
170
|
* @returns LLM schema
|
|
166
171
|
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
167
172
|
* @reference https://platform.openai.com/docs/guides/structured-outputs
|
|
@@ -199,11 +204,12 @@ export declare function schema(): never;
|
|
|
199
204
|
*
|
|
200
205
|
* @template T Target type
|
|
201
206
|
* @template Model LLM schema model
|
|
207
|
+
* @template Config Configuration of LLM schema composition
|
|
202
208
|
* @param $defs Definitions of named schemas if the model is `chatgpt`
|
|
203
209
|
* @returns LLM schema
|
|
204
210
|
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
205
211
|
* @author Jeongho Nam - https://github.com/samchon
|
|
206
212
|
*/
|
|
207
|
-
export declare function schema<T, Model extends ILlmSchema.Model>(...$defs: Extract<ILlmSchema.ModelSchema[Model], {
|
|
213
|
+
export declare function schema<T, Model extends ILlmSchema.Model, Config extends Partial<ILlmSchema.ModelConfig[Model]> = {}>(...$defs: Extract<ILlmSchema.ModelSchema[Model], {
|
|
208
214
|
$ref: string;
|
|
209
215
|
}> extends never ? [] : [Record<string, ILlmSchema.ModelSchema[Model]>]): ILlmSchema.ModelSchema[Model];
|
package/lib/llm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":";;AA+FA,kCAEC;AAiED,gCAEC;AAgGD,wBAEC;AA1KD;;GAEG;AACH,SAAgB,WAAW;IACzB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AA8DD;;GAEG;AACH,SAAgB,UAAU;IACxB,IAAI,CAAC,YAAY,CAAC,CAAC;AACrB,CAAC;AA6FD;;GAEG;AACH,SAAgB,MAAM;IACpB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,IAAI,CAAC,IAAY;IACxB,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,2FAA2F,CACtH,CAAC;AACJ,CAAC"}
|
|
@@ -78,12 +78,12 @@ var LlmApplicationProgrammer;
|
|
|
78
78
|
});
|
|
79
79
|
return {
|
|
80
80
|
model: props.model,
|
|
81
|
+
options: Object.assign(Object.assign(Object.assign({}, LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(props.model)), props.config), { separate: null }),
|
|
81
82
|
functions: application.functions.map((func) => writeFunction({
|
|
82
83
|
model: props.model,
|
|
83
84
|
components: application.components,
|
|
84
85
|
function: func,
|
|
85
86
|
})),
|
|
86
|
-
options: Object.assign(Object.assign({}, LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(props.model)), { separate: null }),
|
|
87
87
|
};
|
|
88
88
|
};
|
|
89
89
|
const writeFunction = (props) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmApplicationProgrammer.ts"],"names":[],"mappings":";;;AACA,2FAAwF;AAUxF,iFAA8E;AAC9E,+DAA4D;AAE5D,IAAiB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"LlmApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmApplicationProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ILlmSchema } from "@samchon/openapi";
|
|
2
|
+
import ts from "typescript";
|
|
3
|
+
import { ITypiaContext } from "../../transformers/ITypiaContext";
|
|
4
|
+
export declare namespace LlmModelPredicator {
|
|
5
|
+
const getConfig: (props: {
|
|
6
|
+
context: ITypiaContext;
|
|
7
|
+
method: string;
|
|
8
|
+
model: ILlmSchema.Model;
|
|
9
|
+
node: ts.TypeNode | undefined;
|
|
10
|
+
}) => Partial<ILlmSchema.ModelConfig[ILlmSchema.Model]> | undefined;
|
|
11
|
+
const getModel: (props: {
|
|
12
|
+
checker: ts.TypeChecker;
|
|
13
|
+
method: string;
|
|
14
|
+
node: ts.TypeNode | undefined;
|
|
15
|
+
}) => ILlmSchema.Model;
|
|
16
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.LlmModelPredicator = void 0;
|
|
7
|
+
const LlmSchemaConverter_1 = require("@samchon/openapi/lib/converters/LlmSchemaConverter");
|
|
8
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
9
|
+
const MetadataCollection_1 = require("../../factories/MetadataCollection");
|
|
10
|
+
const MetadataFactory_1 = require("../../factories/MetadataFactory");
|
|
11
|
+
const TransformerError_1 = require("../../transformers/TransformerError");
|
|
12
|
+
var LlmModelPredicator;
|
|
13
|
+
(function (LlmModelPredicator) {
|
|
14
|
+
LlmModelPredicator.getConfig = (props) => {
|
|
15
|
+
if (props.node === undefined)
|
|
16
|
+
return undefined;
|
|
17
|
+
const type = props.context.checker.getTypeFromTypeNode(props.node);
|
|
18
|
+
const collection = new MetadataCollection_1.MetadataCollection();
|
|
19
|
+
const result = MetadataFactory_1.MetadataFactory.analyze({
|
|
20
|
+
checker: props.context.checker,
|
|
21
|
+
transformer: props.context.transformer,
|
|
22
|
+
options: {
|
|
23
|
+
escape: false,
|
|
24
|
+
constant: true,
|
|
25
|
+
absorb: false,
|
|
26
|
+
functional: false,
|
|
27
|
+
},
|
|
28
|
+
collection,
|
|
29
|
+
type,
|
|
30
|
+
});
|
|
31
|
+
if (result.success === false)
|
|
32
|
+
throw new TransformerError_1.TransformerError({
|
|
33
|
+
code: `typia.llm.${props.method}`,
|
|
34
|
+
message: `Failed to analyze generic argument "Config".`,
|
|
35
|
+
});
|
|
36
|
+
const meta = result.data;
|
|
37
|
+
if (meta.size() !== 1 ||
|
|
38
|
+
meta.objects.length !== 1 ||
|
|
39
|
+
meta.nullable === true ||
|
|
40
|
+
meta.isRequired() === false)
|
|
41
|
+
throw new TransformerError_1.TransformerError({
|
|
42
|
+
code: `typia.llm.${props.method}`,
|
|
43
|
+
message: `Invalid generic argument "Config". It must be a literal object type.`,
|
|
44
|
+
});
|
|
45
|
+
const obj = meta.objects[0];
|
|
46
|
+
if (obj.type.properties.some((p) => p.key.isSoleLiteral() === false))
|
|
47
|
+
throw new TransformerError_1.TransformerError({
|
|
48
|
+
code: `typia.llm.${props.method}`,
|
|
49
|
+
message: `Invalid generic argument "Config". It must be a literal object type. Do not allow dynamic properties.`,
|
|
50
|
+
});
|
|
51
|
+
else if (obj.type.properties.some((p) => p.value.size() !== 1 ||
|
|
52
|
+
p.value.constants.length !== 1 ||
|
|
53
|
+
p.value.nullable === true ||
|
|
54
|
+
p.value.isRequired() === false))
|
|
55
|
+
throw new TransformerError_1.TransformerError({
|
|
56
|
+
code: `typia.llm.${props.method}`,
|
|
57
|
+
message: `Invalid generic argument "Config". It must be a literal object type. Do not allow variable type.`,
|
|
58
|
+
});
|
|
59
|
+
const config = {};
|
|
60
|
+
for (const prop of obj.type.properties) {
|
|
61
|
+
const key = prop.key.getSoleLiteral();
|
|
62
|
+
const value = prop.value.constants[0].values[0].value;
|
|
63
|
+
if (typeof value === "bigint")
|
|
64
|
+
throw new TransformerError_1.TransformerError({
|
|
65
|
+
code: `typia.llm.${props.method}`,
|
|
66
|
+
message: `Invalid generic argument "Config". It must be a literal object type. Do not allow bigint.`,
|
|
67
|
+
});
|
|
68
|
+
config[key] = value;
|
|
69
|
+
}
|
|
70
|
+
return config;
|
|
71
|
+
};
|
|
72
|
+
LlmModelPredicator.getModel = (props) => {
|
|
73
|
+
if (props.node === undefined)
|
|
74
|
+
throw new TransformerError_1.TransformerError({
|
|
75
|
+
code: `typia.llm.${props.method}`,
|
|
76
|
+
message: `generic argument "Model" must be specified.`,
|
|
77
|
+
});
|
|
78
|
+
// CHECK LITERAL TYPE
|
|
79
|
+
const type = props.checker.getTypeFromTypeNode(props.node);
|
|
80
|
+
if (!type.isLiteral() &&
|
|
81
|
+
(type.getFlags() & typescript_1.default.TypeFlags.BooleanLiteral) === 0)
|
|
82
|
+
throw new TransformerError_1.TransformerError({
|
|
83
|
+
code: `typia.llm.${props.method}`,
|
|
84
|
+
message: `generic argument "Model" must be constant.`,
|
|
85
|
+
});
|
|
86
|
+
// GET VALUE AND VALIDATE IT
|
|
87
|
+
const value = type.isLiteral()
|
|
88
|
+
? type.value
|
|
89
|
+
: props.checker.typeToString(type);
|
|
90
|
+
if (typeof value !== "string" ||
|
|
91
|
+
LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(value) === undefined)
|
|
92
|
+
throw new TransformerError_1.TransformerError({
|
|
93
|
+
code: "typia.llm.schema",
|
|
94
|
+
message: `invalid value on generic argument "Model".`,
|
|
95
|
+
});
|
|
96
|
+
return value;
|
|
97
|
+
};
|
|
98
|
+
})(LlmModelPredicator || (exports.LlmModelPredicator = LlmModelPredicator = {}));
|
|
99
|
+
//# sourceMappingURL=LlmModelPredicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LlmModelPredicator.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmModelPredicator.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export declare namespace LlmParametersProgrammer {
|
|
|
5
5
|
const write: <Model extends ILlmSchema.Model>(props: {
|
|
6
6
|
model: Model;
|
|
7
7
|
metadata: Metadata;
|
|
8
|
+
config?: Partial<ILlmSchema.ModelConfig[Model]>;
|
|
8
9
|
}) => ILlmSchema.ModelParameters[Model];
|
|
9
10
|
const validate: (model: ILlmSchema.Model) => (metadata: Metadata, explore: MetadataFactory.IExplore) => string[];
|
|
10
11
|
}
|
|
@@ -25,7 +25,7 @@ var LlmParametersProgrammer;
|
|
|
25
25
|
throw new Error("Unreachable code. Failed to find the object schema.");
|
|
26
26
|
})();
|
|
27
27
|
const parameters = LlmSchemaConverter_1.LlmSchemaConverter.parameters(props.model)({
|
|
28
|
-
config: LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(props.model),
|
|
28
|
+
config: Object.assign(Object.assign({}, LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(props.model)), props.config),
|
|
29
29
|
components: collection.components,
|
|
30
30
|
schema,
|
|
31
31
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmParametersProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmParametersProgrammer.ts"],"names":[],"mappings":";;;AAAA,8CAA2E;AAC3E,2FAAwF;AAOxF,yEAAsE;AACtE,+DAA4D;AAE5D,IAAiB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"LlmParametersProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmParametersProgrammer.ts"],"names":[],"mappings":";;;AAAA,8CAA2E;AAC3E,2FAAwF;AAOxF,yEAAsE;AACtE,+DAA4D;AAE5D,IAAiB,uBAAuB,CAuDvC;AAvDD,WAAiB,uBAAuB;IACzB,6BAAK,GAAG,CAAiC,KAIrD,EAAqC,EAAE;QACtC,MAAM,UAAU,GACd,6CAAqB,CAAC,KAAK,CAAC;YAC1B,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC5B,CAAC,CAAC;QACL,MAAM,MAAM,GAAgC,CAAC,GAAG,EAAE;;YAChD,MAAM,MAAM,GAAwB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;YAC3D,IAAI,4BAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC;iBAClD,IAAI,4BAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,GACR,MAAA,UAAU,CAAC,UAAU,CAAC,OAAO,0CAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC;gBACjE,IAAI,IAAI,IAAI,4BAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC7D,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,UAAU,GACd,uCAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,EAAE,gCACH,uCAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,GAC7C,KAAK,CAAC,MAAM,CACT;YACR,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,MAAM;SACP,CAA6C,CAAC;QACjD,IAAI,UAAU,KAAK,IAAI;YACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEW,gCAAQ,GACnB,CAAC,KAAuB,EAAE,EAAE,CAC5B,CAAC,QAAkB,EAAE,OAAiC,EAAY,EAAE;QAClE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;iBAClD,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;iBACzD,CAAC;gBACJ,IAAI,QAAQ,CAAC,QAAQ;oBACnB,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;qBAC/D,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,KAAK;oBACtC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,yCAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACN,CAAC,EAvDgB,uBAAuB,uCAAvB,uBAAuB,QAuDvC"}
|
|
@@ -9,6 +9,7 @@ export declare namespace LlmSchemaProgrammer {
|
|
|
9
9
|
const write: <Model extends ILlmSchema.Model>(props: {
|
|
10
10
|
model: Model;
|
|
11
11
|
metadata: Metadata;
|
|
12
|
+
config?: Partial<ILlmSchema.ModelConfig[Model]>;
|
|
12
13
|
}) => IOutput<Model>;
|
|
13
14
|
const validate: (model: ILlmSchema.Model) => (metadata: Metadata) => string[];
|
|
14
15
|
}
|
|
@@ -18,7 +18,7 @@ var LlmSchemaProgrammer;
|
|
|
18
18
|
});
|
|
19
19
|
const $defs = {};
|
|
20
20
|
const schema = LlmSchemaConverter_1.LlmSchemaConverter.schema(props.model)({
|
|
21
|
-
config: LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(props.model),
|
|
21
|
+
config: Object.assign(Object.assign({}, LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(props.model)), props.config),
|
|
22
22
|
components: collection.components,
|
|
23
23
|
schema: collection.schemas[0],
|
|
24
24
|
$defs: $defs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmSchemaProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmSchemaProgrammer.ts"],"names":[],"mappings":";;;AACA,2FAAwF;AAKxF,kEAA+D;AAC/D,uEAAoE;AACpE,yEAAsE;AACtE,uEAAoE;AACpE,uEAAoE;AACpE,uEAAoE;AACpE,yEAAsE;AAEtE,IAAiB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"LlmSchemaProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmSchemaProgrammer.ts"],"names":[],"mappings":";;;AACA,2FAAwF;AAKxF,kEAA+D;AAC/D,uEAAoE;AACpE,yEAAsE;AACtE,uEAAoE;AACpE,uEAAoE;AACpE,uEAAoE;AACpE,yEAAsE;AAEtE,IAAiB,mBAAmB,CA8EnC;AA9ED,WAAiB,mBAAmB;IAOrB,yBAAK,GAAG,CAAiC,KAIrD,EAAkB,EAAE;QACnB,MAAM,UAAU,GACd,6CAAqB,CAAC,KAAK,CAAC;YAC1B,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC5B,CAAC,CAAC;QAEL,MAAM,KAAK,GAAkD,EAAE,CAAC;QAChE,MAAM,MAAM,GACV,uCAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,EAAE,gCACH,uCAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,GAC7C,KAAK,CAAC,MAAM,CACT;YACR,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAE;YAC9B,KAAK,EAAE,KAAY;SACpB,CAAyC,CAAC;QAC7C,IAAI,MAAM,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK;YACL,MAAM;SACP,CAAC;IACJ,CAAC,CAAC;IAEW,4BAAQ,GACnB,CAAC,KAAuB,EAAE,EAAE,CAC5B,CAAC,QAAkB,EAAY,EAAE;QAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IACE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;YACjD,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;YAEnD,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC1D,IACE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAC/D,CACF;YAED,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACzE,IACE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,KAAK,CAAC,CACtD;YACD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK,CAAC;YAEhE,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACtE,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM;YACtB,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACvD,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM;YACtB,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACvD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO;YACnC,IACE,mCAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK;gBAC9C,MAAM,CAAC,IAAI,KAAK,MAAM;gBACtB,MAAM,CAAC,IAAI,KAAK,MAAM;gBACtB,MAAM,CAAC,IAAI,KAAK,MAAM;gBAEtB,MAAM,CAAC,IAAI,CAAC,+BAA+B,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC;QACpE,IAAI,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACN,CAAC,EA9EgB,mBAAmB,mCAAnB,mBAAmB,QA8EnC;AAED,MAAM,IAAI,GAAG,CAAC,QAAkB,EAAU,EAAE,CAC1C,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,OAAO,CAAC,MAAM;IACvB,QAAQ,CAAC,OAAO,CAAC,MAAM;IACvB,QAAQ,CAAC,MAAM,CAAC,MAAM;IACtB,QAAQ,CAAC,MAAM,CAAC,MAAM;IACtB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,QAAQ,CAAC,OAAO;SACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC,CAAC,IAAI,KAAK,SAAS;QAClB,CAAC,CAAC,IAAA,yCAAmB,EAAC,CAAC,CAAC,CAAC,MAAM;QAC/B,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ;YACnB,CAAC,CAAC,IAAA,uCAAkB,EAAC,CAAC,CAAC,CAAC,MAAM;YAC9B,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACnB,CAAC,CAAC,IAAA,uCAAkB,EAAC,CAAC,CAAC,CAAC,MAAM;gBAC9B,CAAC,CAAC,IAAA,uCAAkB,EAAC,CAAC,CAAC,CAAC,MAAM,CACrC;SACA,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,MAAM,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CACjE,CAAC,MAAM;IACR,QAAQ,CAAC,SAAS,CAAC,MAAM;IACzB,QAAQ,CAAC,OAAO;SACb,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK;QACzD,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAC9D;SACA,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,IAAA,uCAAkB,EAAC;QACjB,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,CAAC;KACV,CAAC,CAAC,MAAM,CACZ;SACA,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.LlmApplicationTransformer = void 0;
|
|
7
|
-
const LlmSchemaConverter_1 = require("@samchon/openapi/lib/converters/LlmSchemaConverter");
|
|
8
7
|
const typescript_1 = __importDefault(require("typescript"));
|
|
9
8
|
const ExpressionFactory_1 = require("../../../factories/ExpressionFactory");
|
|
10
9
|
const LiteralFactory_1 = require("../../../factories/LiteralFactory");
|
|
@@ -12,6 +11,7 @@ const MetadataCollection_1 = require("../../../factories/MetadataCollection");
|
|
|
12
11
|
const MetadataFactory_1 = require("../../../factories/MetadataFactory");
|
|
13
12
|
const StatementFactory_1 = require("../../../factories/StatementFactory");
|
|
14
13
|
const LlmApplicationProgrammer_1 = require("../../../programmers/llm/LlmApplicationProgrammer");
|
|
14
|
+
const LlmModelPredicator_1 = require("../../../programmers/llm/LlmModelPredicator");
|
|
15
15
|
const TransformerError_1 = require("../../TransformerError");
|
|
16
16
|
var LlmApplicationTransformer;
|
|
17
17
|
(function (LlmApplicationTransformer) {
|
|
@@ -26,16 +26,12 @@ var LlmApplicationTransformer;
|
|
|
26
26
|
const top = props.expression.typeArguments[0];
|
|
27
27
|
if (typescript_1.default.isTypeNode(top) === false)
|
|
28
28
|
return props.expression;
|
|
29
|
-
// GET MODEL
|
|
30
|
-
const model = getTemplateArgument({
|
|
31
|
-
checker: props.context.checker,
|
|
32
|
-
name: "Model",
|
|
33
|
-
is: (value) => LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(value) !==
|
|
34
|
-
undefined,
|
|
35
|
-
cast: (value) => value,
|
|
36
|
-
default: () => "3.1",
|
|
37
|
-
})(props.expression.typeArguments[1]);
|
|
38
29
|
// GET TYPE
|
|
30
|
+
const model = LlmModelPredicator_1.LlmModelPredicator.getModel({
|
|
31
|
+
checker: props.context.checker,
|
|
32
|
+
method: "application",
|
|
33
|
+
node: props.expression.typeArguments[1],
|
|
34
|
+
});
|
|
39
35
|
const type = props.context.checker.getTypeFromTypeNode(top);
|
|
40
36
|
const collection = new MetadataCollection_1.MetadataCollection({
|
|
41
37
|
replace: MetadataCollection_1.MetadataCollection.replace,
|
|
@@ -62,6 +58,12 @@ var LlmApplicationTransformer;
|
|
|
62
58
|
const schema = LlmApplicationProgrammer_1.LlmApplicationProgrammer.write({
|
|
63
59
|
model,
|
|
64
60
|
metadata: result.data,
|
|
61
|
+
config: LlmModelPredicator_1.LlmModelPredicator.getConfig({
|
|
62
|
+
context: props.context,
|
|
63
|
+
method: "application",
|
|
64
|
+
model,
|
|
65
|
+
node: props.expression.typeArguments[2],
|
|
66
|
+
}),
|
|
65
67
|
});
|
|
66
68
|
const literal = typescript_1.default.factory.createAsExpression(LiteralFactory_1.LiteralFactory.write(schema), typescript_1.default.factory.createTypeReferenceNode(props.context.importer.instance({
|
|
67
69
|
name: "ILlmApplication",
|
|
@@ -87,27 +89,5 @@ var LlmApplicationTransformer;
|
|
|
87
89
|
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("app")),
|
|
88
90
|
], true));
|
|
89
91
|
};
|
|
90
|
-
const getTemplateArgument = (props) => (node) => {
|
|
91
|
-
if (!node)
|
|
92
|
-
return props.default();
|
|
93
|
-
// CHECK LITERAL TYPE
|
|
94
|
-
const type = props.checker.getTypeFromTypeNode(node);
|
|
95
|
-
if (!type.isLiteral() &&
|
|
96
|
-
(type.getFlags() & typescript_1.default.TypeFlags.BooleanLiteral) === 0)
|
|
97
|
-
throw new TransformerError_1.TransformerError({
|
|
98
|
-
code: "typia.llm.application",
|
|
99
|
-
message: `generic argument "${props.name}" must be constant.`,
|
|
100
|
-
});
|
|
101
|
-
// GET VALUE AND VALIDATE IT
|
|
102
|
-
const value = type.isLiteral()
|
|
103
|
-
? type.value
|
|
104
|
-
: props.checker.typeToString(type);
|
|
105
|
-
if (typeof value !== "string" || props.is(value) === false)
|
|
106
|
-
throw new TransformerError_1.TransformerError({
|
|
107
|
-
code: "typia.llm.application",
|
|
108
|
-
message: `invalid value on generic argument "${props.name}".`,
|
|
109
|
-
});
|
|
110
|
-
return props.cast(value);
|
|
111
|
-
};
|
|
112
92
|
})(LlmApplicationTransformer || (exports.LlmApplicationTransformer = LlmApplicationTransformer = {}));
|
|
113
93
|
//# sourceMappingURL=LlmApplicationTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmApplicationTransformer.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"LlmApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmApplicationTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.LlmParametersTransformer = void 0;
|
|
7
|
-
const LlmSchemaConverter_1 = require("@samchon/openapi/lib/converters/LlmSchemaConverter");
|
|
8
7
|
const typescript_1 = __importDefault(require("typescript"));
|
|
9
8
|
const LiteralFactory_1 = require("../../../factories/LiteralFactory");
|
|
10
9
|
const MetadataCollection_1 = require("../../../factories/MetadataCollection");
|
|
11
10
|
const MetadataFactory_1 = require("../../../factories/MetadataFactory");
|
|
11
|
+
const LlmModelPredicator_1 = require("../../../programmers/llm/LlmModelPredicator");
|
|
12
12
|
const LlmParametersProgrammer_1 = require("../../../programmers/llm/LlmParametersProgrammer");
|
|
13
13
|
const LlmSchemaProgrammer_1 = require("../../../programmers/llm/LlmSchemaProgrammer");
|
|
14
14
|
const TransformerError_1 = require("../../TransformerError");
|
|
@@ -25,16 +25,12 @@ var LlmParametersTransformer;
|
|
|
25
25
|
const top = props.expression.typeArguments[0];
|
|
26
26
|
if (typescript_1.default.isTypeNode(top) === false)
|
|
27
27
|
return props.expression;
|
|
28
|
-
// GET MODEL
|
|
29
|
-
const model = getTemplateArgument({
|
|
30
|
-
checker: props.context.checker,
|
|
31
|
-
name: "Model",
|
|
32
|
-
is: (value) => LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(value) !==
|
|
33
|
-
undefined,
|
|
34
|
-
cast: (value) => value,
|
|
35
|
-
default: () => "3.1",
|
|
36
|
-
})(props.expression.typeArguments[1]);
|
|
37
28
|
// GET TYPE
|
|
29
|
+
const model = LlmModelPredicator_1.LlmModelPredicator.getModel({
|
|
30
|
+
checker: props.context.checker,
|
|
31
|
+
method: "parameters",
|
|
32
|
+
node: props.expression.typeArguments[1],
|
|
33
|
+
});
|
|
38
34
|
const type = props.context.checker.getTypeFromTypeNode(top);
|
|
39
35
|
const collection = new MetadataCollection_1.MetadataCollection({
|
|
40
36
|
replace: MetadataCollection_1.MetadataCollection.replace,
|
|
@@ -60,6 +56,12 @@ var LlmParametersTransformer;
|
|
|
60
56
|
const out = LlmParametersProgrammer_1.LlmParametersProgrammer.write({
|
|
61
57
|
model,
|
|
62
58
|
metadata: result.data,
|
|
59
|
+
config: LlmModelPredicator_1.LlmModelPredicator.getConfig({
|
|
60
|
+
context: props.context,
|
|
61
|
+
method: "parameters",
|
|
62
|
+
model,
|
|
63
|
+
node: props.expression.typeArguments[2],
|
|
64
|
+
}),
|
|
63
65
|
});
|
|
64
66
|
return typescript_1.default.factory.createAsExpression(LiteralFactory_1.LiteralFactory.write(out), typescript_1.default.factory.createTypeReferenceNode(props.context.importer.instance({
|
|
65
67
|
name: "ILlmSchema",
|
|
@@ -70,27 +72,5 @@ var LlmParametersTransformer;
|
|
|
70
72
|
typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral(model)),
|
|
71
73
|
]));
|
|
72
74
|
};
|
|
73
|
-
const getTemplateArgument = (props) => (node) => {
|
|
74
|
-
if (!node)
|
|
75
|
-
return props.default();
|
|
76
|
-
// CHECK LITERAL TYPE
|
|
77
|
-
const type = props.checker.getTypeFromTypeNode(node);
|
|
78
|
-
if (!type.isLiteral() &&
|
|
79
|
-
(type.getFlags() & typescript_1.default.TypeFlags.BooleanLiteral) === 0)
|
|
80
|
-
throw new TransformerError_1.TransformerError({
|
|
81
|
-
code: "typia.llm.parameters",
|
|
82
|
-
message: `generic argument "${props.name}" must be constant.`,
|
|
83
|
-
});
|
|
84
|
-
// GET VALUE AND VALIDATE IT
|
|
85
|
-
const value = type.isLiteral()
|
|
86
|
-
? type.value
|
|
87
|
-
: props.checker.typeToString(type);
|
|
88
|
-
if (typeof value !== "string" || props.is(value) === false)
|
|
89
|
-
throw new TransformerError_1.TransformerError({
|
|
90
|
-
code: "typia.llm.parameters",
|
|
91
|
-
message: `invalid value on generic argument "${props.name}".`,
|
|
92
|
-
});
|
|
93
|
-
return props.cast(value);
|
|
94
|
-
};
|
|
95
75
|
})(LlmParametersTransformer || (exports.LlmParametersTransformer = LlmParametersTransformer = {}));
|
|
96
76
|
//# sourceMappingURL=LlmParametersTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmParametersTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmParametersTransformer.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"LlmParametersTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmParametersTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.LlmSchemaTransformer = void 0;
|
|
7
|
-
const LlmSchemaConverter_1 = require("@samchon/openapi/lib/converters/LlmSchemaConverter");
|
|
8
7
|
const typescript_1 = __importDefault(require("typescript"));
|
|
9
8
|
const IdentifierFactory_1 = require("../../../factories/IdentifierFactory");
|
|
10
9
|
const LiteralFactory_1 = require("../../../factories/LiteralFactory");
|
|
11
10
|
const MetadataCollection_1 = require("../../../factories/MetadataCollection");
|
|
12
11
|
const MetadataFactory_1 = require("../../../factories/MetadataFactory");
|
|
12
|
+
const LlmModelPredicator_1 = require("../../../programmers/llm/LlmModelPredicator");
|
|
13
13
|
const LlmSchemaProgrammer_1 = require("../../../programmers/llm/LlmSchemaProgrammer");
|
|
14
14
|
const TransformerError_1 = require("../../TransformerError");
|
|
15
15
|
var LlmSchemaTransformer;
|
|
@@ -25,16 +25,12 @@ var LlmSchemaTransformer;
|
|
|
25
25
|
const top = props.expression.typeArguments[0];
|
|
26
26
|
if (typescript_1.default.isTypeNode(top) === false)
|
|
27
27
|
return props.expression;
|
|
28
|
-
// GET MODEL
|
|
29
|
-
const model = getTemplateArgument({
|
|
30
|
-
checker: props.context.checker,
|
|
31
|
-
name: "Model",
|
|
32
|
-
is: (value) => LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(value) !==
|
|
33
|
-
undefined,
|
|
34
|
-
cast: (value) => value,
|
|
35
|
-
default: () => "3.1",
|
|
36
|
-
})(props.expression.typeArguments[1]);
|
|
37
28
|
// GET TYPE
|
|
29
|
+
const model = LlmModelPredicator_1.LlmModelPredicator.getModel({
|
|
30
|
+
checker: props.context.checker,
|
|
31
|
+
method: "schema",
|
|
32
|
+
node: props.expression.typeArguments[1],
|
|
33
|
+
});
|
|
38
34
|
const type = props.context.checker.getTypeFromTypeNode(top);
|
|
39
35
|
const collection = new MetadataCollection_1.MetadataCollection({
|
|
40
36
|
replace: MetadataCollection_1.MetadataCollection.replace,
|
|
@@ -60,6 +56,12 @@ var LlmSchemaTransformer;
|
|
|
60
56
|
const out = LlmSchemaProgrammer_1.LlmSchemaProgrammer.write({
|
|
61
57
|
model,
|
|
62
58
|
metadata: result.data,
|
|
59
|
+
config: LlmModelPredicator_1.LlmModelPredicator.getConfig({
|
|
60
|
+
context: props.context,
|
|
61
|
+
method: "schema",
|
|
62
|
+
model,
|
|
63
|
+
node: props.expression.typeArguments[2],
|
|
64
|
+
}),
|
|
63
65
|
});
|
|
64
66
|
const schemaTypeNode = typescript_1.default.factory.createTypeReferenceNode(props.context.importer.instance({
|
|
65
67
|
name: "ILlmSchema",
|
|
@@ -86,27 +88,5 @@ var LlmSchemaTransformer;
|
|
|
86
88
|
typescript_1.default.factory.createReturnStatement(literal),
|
|
87
89
|
], true)), undefined, [props.expression.arguments[0]]);
|
|
88
90
|
};
|
|
89
|
-
const getTemplateArgument = (props) => (node) => {
|
|
90
|
-
if (!node)
|
|
91
|
-
return props.default();
|
|
92
|
-
// CHECK LITERAL TYPE
|
|
93
|
-
const type = props.checker.getTypeFromTypeNode(node);
|
|
94
|
-
if (!type.isLiteral() &&
|
|
95
|
-
(type.getFlags() & typescript_1.default.TypeFlags.BooleanLiteral) === 0)
|
|
96
|
-
throw new TransformerError_1.TransformerError({
|
|
97
|
-
code: "typia.llm.schema",
|
|
98
|
-
message: `generic argument "${props.name}" must be constant.`,
|
|
99
|
-
});
|
|
100
|
-
// GET VALUE AND VALIDATE IT
|
|
101
|
-
const value = type.isLiteral()
|
|
102
|
-
? type.value
|
|
103
|
-
: props.checker.typeToString(type);
|
|
104
|
-
if (typeof value !== "string" || props.is(value) === false)
|
|
105
|
-
throw new TransformerError_1.TransformerError({
|
|
106
|
-
code: "typia.llm.schema",
|
|
107
|
-
message: `invalid value on generic argument "${props.name}".`,
|
|
108
|
-
});
|
|
109
|
-
return props.cast(value);
|
|
110
|
-
};
|
|
111
91
|
})(LlmSchemaTransformer || (exports.LlmSchemaTransformer = LlmSchemaTransformer = {}));
|
|
112
92
|
//# sourceMappingURL=LlmSchemaTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmSchemaTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmSchemaTransformer.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"LlmSchemaTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmSchemaTransformer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/llm.ts
CHANGED
|
@@ -34,6 +34,7 @@ import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
|
|
|
34
34
|
*
|
|
35
35
|
* @template App Target class or interface type collecting the functions to call
|
|
36
36
|
* @template Model LLM schema model
|
|
37
|
+
* @template Config Configuration of LLM schema composition
|
|
37
38
|
* @param options Options for the LLM application construction
|
|
38
39
|
* @returns Application of LLM function calling schemas
|
|
39
40
|
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
@@ -75,12 +76,17 @@ export function application(
|
|
|
75
76
|
*
|
|
76
77
|
* @template App Target class or interface type collecting the functions to call
|
|
77
78
|
* @template Model LLM schema model
|
|
79
|
+
* @template Config Configuration of LLM schema composition
|
|
78
80
|
* @param options Options for the LLM application construction
|
|
79
81
|
* @returns Application of LLM function calling schemas
|
|
80
82
|
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
81
83
|
* @author Jeongho Nam - https://github.com/samchon
|
|
82
84
|
*/
|
|
83
|
-
export function application<
|
|
85
|
+
export function application<
|
|
86
|
+
App extends object,
|
|
87
|
+
Model extends ILlmSchema.Model,
|
|
88
|
+
Config extends Partial<ILlmSchema.ModelConfig[Model]> = {},
|
|
89
|
+
>(
|
|
84
90
|
options?: Partial<Pick<ILlmApplication.IOptions<Model>, "separate">>,
|
|
85
91
|
): ILlmApplication<Model>;
|
|
86
92
|
|
|
@@ -113,6 +119,7 @@ export function application(): never {
|
|
|
113
119
|
*
|
|
114
120
|
* @template Parameters Target parameters type
|
|
115
121
|
* @template Model LLM schema model
|
|
122
|
+
* @template Config Configuration of LLM schema composition
|
|
116
123
|
* @returns LLM parameters schema
|
|
117
124
|
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
118
125
|
* @reference https://platform.openai.com/docs/guides/structured-outputs
|
|
@@ -139,6 +146,7 @@ export function parameters(): never;
|
|
|
139
146
|
*
|
|
140
147
|
* @template Parameters Target parameters type
|
|
141
148
|
* @template Model LLM schema model
|
|
149
|
+
* @template Config Configuration of LLM schema composition
|
|
142
150
|
* @returns LLM parameters schema
|
|
143
151
|
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
144
152
|
* @reference https://platform.openai.com/docs/guides/structured-outputs
|
|
@@ -146,6 +154,7 @@ export function parameters(): never;
|
|
|
146
154
|
export function parameters<
|
|
147
155
|
Parameters extends object,
|
|
148
156
|
Model extends ILlmSchema.Model,
|
|
157
|
+
Config extends Partial<ILlmSchema.ModelConfig[Model]> = {},
|
|
149
158
|
>(): ILlmSchema.ModelParameters[Model];
|
|
150
159
|
|
|
151
160
|
/**
|
|
@@ -188,6 +197,7 @@ export function parameters(): never {
|
|
|
188
197
|
*
|
|
189
198
|
* @template T Target type
|
|
190
199
|
* @template Model LLM schema model
|
|
200
|
+
* @template Config Configuration of LLM schema composition
|
|
191
201
|
* @returns LLM schema
|
|
192
202
|
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
193
203
|
* @reference https://platform.openai.com/docs/guides/structured-outputs
|
|
@@ -226,12 +236,17 @@ export function schema(): never;
|
|
|
226
236
|
*
|
|
227
237
|
* @template T Target type
|
|
228
238
|
* @template Model LLM schema model
|
|
239
|
+
* @template Config Configuration of LLM schema composition
|
|
229
240
|
* @param $defs Definitions of named schemas if the model is `chatgpt`
|
|
230
241
|
* @returns LLM schema
|
|
231
242
|
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
232
243
|
* @author Jeongho Nam - https://github.com/samchon
|
|
233
244
|
*/
|
|
234
|
-
export function schema<
|
|
245
|
+
export function schema<
|
|
246
|
+
T,
|
|
247
|
+
Model extends ILlmSchema.Model,
|
|
248
|
+
Config extends Partial<ILlmSchema.ModelConfig[Model]> = {},
|
|
249
|
+
>(
|
|
235
250
|
...$defs: Extract<
|
|
236
251
|
ILlmSchema.ModelSchema[Model],
|
|
237
252
|
{ $ref: string }
|
|
@@ -89,6 +89,7 @@ export namespace LlmApplicationProgrammer {
|
|
|
89
89
|
export const write = <Model extends ILlmSchema.Model>(props: {
|
|
90
90
|
model: Model;
|
|
91
91
|
metadata: Metadata;
|
|
92
|
+
config?: Partial<ILlmSchema.ModelConfig[Model]>;
|
|
92
93
|
}): ILlmApplication<Model> => {
|
|
93
94
|
const errors: string[] = validate(props.model)(props.metadata, {
|
|
94
95
|
top: true,
|
|
@@ -110,6 +111,11 @@ export namespace LlmApplicationProgrammer {
|
|
|
110
111
|
});
|
|
111
112
|
return {
|
|
112
113
|
model: props.model,
|
|
114
|
+
options: {
|
|
115
|
+
...LlmSchemaConverter.defaultConfig(props.model),
|
|
116
|
+
...props.config,
|
|
117
|
+
separate: null,
|
|
118
|
+
},
|
|
113
119
|
functions: application.functions.map((func) =>
|
|
114
120
|
writeFunction({
|
|
115
121
|
model: props.model,
|
|
@@ -117,10 +123,6 @@ export namespace LlmApplicationProgrammer {
|
|
|
117
123
|
function: func,
|
|
118
124
|
}),
|
|
119
125
|
),
|
|
120
|
-
options: {
|
|
121
|
-
...LlmSchemaConverter.defaultConfig(props.model),
|
|
122
|
-
separate: null,
|
|
123
|
-
},
|
|
124
126
|
};
|
|
125
127
|
};
|
|
126
128
|
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { ILlmSchema } from "@samchon/openapi";
|
|
2
|
+
import { LlmSchemaConverter } from "@samchon/openapi/lib/converters/LlmSchemaConverter";
|
|
3
|
+
import ts from "typescript";
|
|
4
|
+
|
|
5
|
+
import { MetadataCollection } from "../../factories/MetadataCollection";
|
|
6
|
+
import { MetadataFactory } from "../../factories/MetadataFactory";
|
|
7
|
+
|
|
8
|
+
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
9
|
+
import { MetadataObject } from "../../schemas/metadata/MetadataObject";
|
|
10
|
+
|
|
11
|
+
import { ITypiaContext } from "../../transformers/ITypiaContext";
|
|
12
|
+
import { TransformerError } from "../../transformers/TransformerError";
|
|
13
|
+
|
|
14
|
+
import { ValidationPipe } from "../../typings/ValidationPipe";
|
|
15
|
+
|
|
16
|
+
export namespace LlmModelPredicator {
|
|
17
|
+
export const getConfig = (props: {
|
|
18
|
+
context: ITypiaContext;
|
|
19
|
+
method: string;
|
|
20
|
+
model: ILlmSchema.Model;
|
|
21
|
+
node: ts.TypeNode | undefined;
|
|
22
|
+
}): Partial<ILlmSchema.ModelConfig[ILlmSchema.Model]> | undefined => {
|
|
23
|
+
if (props.node === undefined) return undefined;
|
|
24
|
+
const type: ts.Type = props.context.checker.getTypeFromTypeNode(props.node);
|
|
25
|
+
const collection: MetadataCollection = new MetadataCollection();
|
|
26
|
+
const result: ValidationPipe<Metadata, MetadataFactory.IError> =
|
|
27
|
+
MetadataFactory.analyze({
|
|
28
|
+
checker: props.context.checker,
|
|
29
|
+
transformer: props.context.transformer,
|
|
30
|
+
options: {
|
|
31
|
+
escape: false,
|
|
32
|
+
constant: true,
|
|
33
|
+
absorb: false,
|
|
34
|
+
functional: false,
|
|
35
|
+
},
|
|
36
|
+
collection,
|
|
37
|
+
type,
|
|
38
|
+
});
|
|
39
|
+
if (result.success === false)
|
|
40
|
+
throw new TransformerError({
|
|
41
|
+
code: `typia.llm.${props.method}`,
|
|
42
|
+
message: `Failed to analyze generic argument "Config".`,
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
const meta: Metadata = result.data;
|
|
46
|
+
if (
|
|
47
|
+
meta.size() !== 1 ||
|
|
48
|
+
meta.objects.length !== 1 ||
|
|
49
|
+
meta.nullable === true ||
|
|
50
|
+
meta.isRequired() === false
|
|
51
|
+
)
|
|
52
|
+
throw new TransformerError({
|
|
53
|
+
code: `typia.llm.${props.method}`,
|
|
54
|
+
message: `Invalid generic argument "Config". It must be a literal object type.`,
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
const obj: MetadataObject = meta.objects[0]!;
|
|
58
|
+
if (obj.type.properties.some((p) => p.key.isSoleLiteral() === false))
|
|
59
|
+
throw new TransformerError({
|
|
60
|
+
code: `typia.llm.${props.method}`,
|
|
61
|
+
message: `Invalid generic argument "Config". It must be a literal object type. Do not allow dynamic properties.`,
|
|
62
|
+
});
|
|
63
|
+
else if (
|
|
64
|
+
obj.type.properties.some(
|
|
65
|
+
(p) =>
|
|
66
|
+
p.value.size() !== 1 ||
|
|
67
|
+
p.value.constants.length !== 1 ||
|
|
68
|
+
p.value.nullable === true ||
|
|
69
|
+
p.value.isRequired() === false,
|
|
70
|
+
)
|
|
71
|
+
)
|
|
72
|
+
throw new TransformerError({
|
|
73
|
+
code: `typia.llm.${props.method}`,
|
|
74
|
+
message: `Invalid generic argument "Config". It must be a literal object type. Do not allow variable type.`,
|
|
75
|
+
});
|
|
76
|
+
const config: Partial<ILlmSchema.ModelConfig[ILlmSchema.Model]> = {};
|
|
77
|
+
for (const prop of obj.type.properties) {
|
|
78
|
+
const key: string = prop.key.getSoleLiteral()!;
|
|
79
|
+
const value: boolean | bigint | number | string =
|
|
80
|
+
prop.value.constants[0]!.values[0]!.value;
|
|
81
|
+
if (typeof value === "bigint")
|
|
82
|
+
throw new TransformerError({
|
|
83
|
+
code: `typia.llm.${props.method}`,
|
|
84
|
+
message: `Invalid generic argument "Config". It must be a literal object type. Do not allow bigint.`,
|
|
85
|
+
});
|
|
86
|
+
(config as any)[key] = value;
|
|
87
|
+
}
|
|
88
|
+
return config;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export const getModel = (props: {
|
|
92
|
+
checker: ts.TypeChecker;
|
|
93
|
+
method: string;
|
|
94
|
+
node: ts.TypeNode | undefined;
|
|
95
|
+
}): ILlmSchema.Model => {
|
|
96
|
+
if (props.node === undefined)
|
|
97
|
+
throw new TransformerError({
|
|
98
|
+
code: `typia.llm.${props.method}`,
|
|
99
|
+
message: `generic argument "Model" must be specified.`,
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
// CHECK LITERAL TYPE
|
|
103
|
+
const type: ts.Type = props.checker.getTypeFromTypeNode(props.node);
|
|
104
|
+
if (
|
|
105
|
+
!type.isLiteral() &&
|
|
106
|
+
(type.getFlags() & ts.TypeFlags.BooleanLiteral) === 0
|
|
107
|
+
)
|
|
108
|
+
throw new TransformerError({
|
|
109
|
+
code: `typia.llm.${props.method}`,
|
|
110
|
+
message: `generic argument "Model" must be constant.`,
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
// GET VALUE AND VALIDATE IT
|
|
114
|
+
const value = type.isLiteral()
|
|
115
|
+
? type.value
|
|
116
|
+
: props.checker.typeToString(type);
|
|
117
|
+
if (
|
|
118
|
+
typeof value !== "string" ||
|
|
119
|
+
LlmSchemaConverter.defaultConfig(value as "3.0") === undefined
|
|
120
|
+
)
|
|
121
|
+
throw new TransformerError({
|
|
122
|
+
code: "typia.llm.schema",
|
|
123
|
+
message: `invalid value on generic argument "Model".`,
|
|
124
|
+
});
|
|
125
|
+
return value as ILlmSchema.Model;
|
|
126
|
+
};
|
|
127
|
+
}
|
|
@@ -13,6 +13,7 @@ export namespace LlmParametersProgrammer {
|
|
|
13
13
|
export const write = <Model extends ILlmSchema.Model>(props: {
|
|
14
14
|
model: Model;
|
|
15
15
|
metadata: Metadata;
|
|
16
|
+
config?: Partial<ILlmSchema.ModelConfig[Model]>;
|
|
16
17
|
}): ILlmSchema.ModelParameters[Model] => {
|
|
17
18
|
const collection: IJsonSchemaCollection<"3.1"> =
|
|
18
19
|
JsonSchemasProgrammer.write({
|
|
@@ -32,7 +33,10 @@ export namespace LlmParametersProgrammer {
|
|
|
32
33
|
|
|
33
34
|
const parameters: ILlmSchema.ModelParameters[Model] | null =
|
|
34
35
|
LlmSchemaConverter.parameters(props.model)({
|
|
35
|
-
config:
|
|
36
|
+
config: {
|
|
37
|
+
...LlmSchemaConverter.defaultConfig(props.model),
|
|
38
|
+
...props.config,
|
|
39
|
+
} as any,
|
|
36
40
|
components: collection.components,
|
|
37
41
|
schema,
|
|
38
42
|
}) as ILlmSchema.ModelParameters[Model] | null;
|
|
@@ -22,6 +22,7 @@ export namespace LlmSchemaProgrammer {
|
|
|
22
22
|
export const write = <Model extends ILlmSchema.Model>(props: {
|
|
23
23
|
model: Model;
|
|
24
24
|
metadata: Metadata;
|
|
25
|
+
config?: Partial<ILlmSchema.ModelConfig[Model]>;
|
|
25
26
|
}): IOutput<Model> => {
|
|
26
27
|
const collection: IJsonSchemaCollection<"3.1"> =
|
|
27
28
|
JsonSchemasProgrammer.write({
|
|
@@ -32,7 +33,10 @@ export namespace LlmSchemaProgrammer {
|
|
|
32
33
|
const $defs: Record<string, ILlmSchema.ModelSchema[Model]> = {};
|
|
33
34
|
const schema: ILlmSchema.ModelSchema[Model] | null =
|
|
34
35
|
LlmSchemaConverter.schema(props.model)({
|
|
35
|
-
config:
|
|
36
|
+
config: {
|
|
37
|
+
...LlmSchemaConverter.defaultConfig(props.model),
|
|
38
|
+
...props.config,
|
|
39
|
+
} as any,
|
|
36
40
|
components: collection.components,
|
|
37
41
|
schema: collection.schemas[0]!,
|
|
38
42
|
$defs: $defs as any,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
|
|
2
|
-
import { LlmSchemaConverter } from "@samchon/openapi/lib/converters/LlmSchemaConverter";
|
|
3
2
|
import ts from "typescript";
|
|
4
3
|
|
|
5
4
|
import { ExpressionFactory } from "../../../factories/ExpressionFactory";
|
|
@@ -11,6 +10,7 @@ import { StatementFactory } from "../../../factories/StatementFactory";
|
|
|
11
10
|
import { Metadata } from "../../../schemas/metadata/Metadata";
|
|
12
11
|
|
|
13
12
|
import { LlmApplicationProgrammer } from "../../../programmers/llm/LlmApplicationProgrammer";
|
|
13
|
+
import { LlmModelPredicator } from "../../../programmers/llm/LlmModelPredicator";
|
|
14
14
|
|
|
15
15
|
import { ValidationPipe } from "../../../typings/ValidationPipe";
|
|
16
16
|
|
|
@@ -29,18 +29,12 @@ export namespace LlmApplicationTransformer {
|
|
|
29
29
|
const top: ts.Node = props.expression.typeArguments[0]!;
|
|
30
30
|
if (ts.isTypeNode(top) === false) return props.expression;
|
|
31
31
|
|
|
32
|
-
// GET MODEL
|
|
33
|
-
const model: ILlmSchema.Model = getTemplateArgument<ILlmSchema.Model>({
|
|
34
|
-
checker: props.context.checker,
|
|
35
|
-
name: "Model",
|
|
36
|
-
is: (value) =>
|
|
37
|
-
LlmSchemaConverter.defaultConfig(value as ILlmSchema.Model) !==
|
|
38
|
-
undefined,
|
|
39
|
-
cast: (value) => value as ILlmSchema.Model,
|
|
40
|
-
default: () => "3.1",
|
|
41
|
-
})(props.expression.typeArguments[1]);
|
|
42
|
-
|
|
43
32
|
// GET TYPE
|
|
33
|
+
const model: ILlmSchema.Model = LlmModelPredicator.getModel({
|
|
34
|
+
checker: props.context.checker,
|
|
35
|
+
method: "application",
|
|
36
|
+
node: props.expression.typeArguments[1],
|
|
37
|
+
});
|
|
44
38
|
const type: ts.Type = props.context.checker.getTypeFromTypeNode(top);
|
|
45
39
|
const collection: MetadataCollection = new MetadataCollection({
|
|
46
40
|
replace: MetadataCollection.replace,
|
|
@@ -70,6 +64,12 @@ export namespace LlmApplicationTransformer {
|
|
|
70
64
|
LlmApplicationProgrammer.write({
|
|
71
65
|
model,
|
|
72
66
|
metadata: result.data,
|
|
67
|
+
config: LlmModelPredicator.getConfig({
|
|
68
|
+
context: props.context,
|
|
69
|
+
method: "application",
|
|
70
|
+
model,
|
|
71
|
+
node: props.expression.typeArguments[2],
|
|
72
|
+
}),
|
|
73
73
|
});
|
|
74
74
|
const literal: ts.Expression = ts.factory.createAsExpression(
|
|
75
75
|
LiteralFactory.write(schema),
|
|
@@ -114,38 +114,4 @@ export namespace LlmApplicationTransformer {
|
|
|
114
114
|
),
|
|
115
115
|
);
|
|
116
116
|
};
|
|
117
|
-
|
|
118
|
-
const getTemplateArgument =
|
|
119
|
-
<Value>(props: {
|
|
120
|
-
checker: ts.TypeChecker;
|
|
121
|
-
name: string;
|
|
122
|
-
is: (value: string) => boolean;
|
|
123
|
-
cast: (value: string) => Value;
|
|
124
|
-
default: () => Value;
|
|
125
|
-
}) =>
|
|
126
|
-
(node: ts.TypeNode | undefined): Value => {
|
|
127
|
-
if (!node) return props.default();
|
|
128
|
-
|
|
129
|
-
// CHECK LITERAL TYPE
|
|
130
|
-
const type: ts.Type = props.checker.getTypeFromTypeNode(node);
|
|
131
|
-
if (
|
|
132
|
-
!type.isLiteral() &&
|
|
133
|
-
(type.getFlags() & ts.TypeFlags.BooleanLiteral) === 0
|
|
134
|
-
)
|
|
135
|
-
throw new TransformerError({
|
|
136
|
-
code: "typia.llm.application",
|
|
137
|
-
message: `generic argument "${props.name}" must be constant.`,
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
// GET VALUE AND VALIDATE IT
|
|
141
|
-
const value = type.isLiteral()
|
|
142
|
-
? type.value
|
|
143
|
-
: props.checker.typeToString(type);
|
|
144
|
-
if (typeof value !== "string" || props.is(value) === false)
|
|
145
|
-
throw new TransformerError({
|
|
146
|
-
code: "typia.llm.application",
|
|
147
|
-
message: `invalid value on generic argument "${props.name}".`,
|
|
148
|
-
});
|
|
149
|
-
return props.cast(value);
|
|
150
|
-
};
|
|
151
117
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ILlmSchema } from "@samchon/openapi";
|
|
2
|
-
import { LlmSchemaConverter } from "@samchon/openapi/lib/converters/LlmSchemaConverter";
|
|
3
2
|
import { ILlmFunction } from "@samchon/openapi/lib/structures/ILlmFunction";
|
|
4
3
|
import ts from "typescript";
|
|
5
4
|
|
|
@@ -9,6 +8,7 @@ import { MetadataFactory } from "../../../factories/MetadataFactory";
|
|
|
9
8
|
|
|
10
9
|
import { Metadata } from "../../../schemas/metadata/Metadata";
|
|
11
10
|
|
|
11
|
+
import { LlmModelPredicator } from "../../../programmers/llm/LlmModelPredicator";
|
|
12
12
|
import { LlmParametersProgrammer } from "../../../programmers/llm/LlmParametersProgrammer";
|
|
13
13
|
import { LlmSchemaProgrammer } from "../../../programmers/llm/LlmSchemaProgrammer";
|
|
14
14
|
|
|
@@ -31,18 +31,12 @@ export namespace LlmParametersTransformer {
|
|
|
31
31
|
const top: ts.Node = props.expression.typeArguments[0]!;
|
|
32
32
|
if (ts.isTypeNode(top) === false) return props.expression;
|
|
33
33
|
|
|
34
|
-
// GET MODEL
|
|
35
|
-
const model: ILlmSchema.Model = getTemplateArgument<ILlmSchema.Model>({
|
|
36
|
-
checker: props.context.checker,
|
|
37
|
-
name: "Model",
|
|
38
|
-
is: (value) =>
|
|
39
|
-
LlmSchemaConverter.defaultConfig(value as ILlmSchema.Model) !==
|
|
40
|
-
undefined,
|
|
41
|
-
cast: (value) => value as ILlmSchema.Model,
|
|
42
|
-
default: () => "3.1",
|
|
43
|
-
})(props.expression.typeArguments[1]);
|
|
44
|
-
|
|
45
34
|
// GET TYPE
|
|
35
|
+
const model: ILlmSchema.Model = LlmModelPredicator.getModel({
|
|
36
|
+
checker: props.context.checker,
|
|
37
|
+
method: "parameters",
|
|
38
|
+
node: props.expression.typeArguments[1],
|
|
39
|
+
});
|
|
46
40
|
const type: ts.Type = props.context.checker.getTypeFromTypeNode(top);
|
|
47
41
|
const collection: MetadataCollection = new MetadataCollection({
|
|
48
42
|
replace: MetadataCollection.replace,
|
|
@@ -70,6 +64,12 @@ export namespace LlmParametersTransformer {
|
|
|
70
64
|
const out: ILlmFunction<any>["parameters"] = LlmParametersProgrammer.write({
|
|
71
65
|
model,
|
|
72
66
|
metadata: result.data,
|
|
67
|
+
config: LlmModelPredicator.getConfig({
|
|
68
|
+
context: props.context,
|
|
69
|
+
method: "parameters",
|
|
70
|
+
model,
|
|
71
|
+
node: props.expression.typeArguments[2],
|
|
72
|
+
}),
|
|
73
73
|
});
|
|
74
74
|
return ts.factory.createAsExpression(
|
|
75
75
|
LiteralFactory.write(out),
|
|
@@ -88,38 +88,4 @@ export namespace LlmParametersTransformer {
|
|
|
88
88
|
),
|
|
89
89
|
);
|
|
90
90
|
};
|
|
91
|
-
|
|
92
|
-
const getTemplateArgument =
|
|
93
|
-
<Value>(props: {
|
|
94
|
-
checker: ts.TypeChecker;
|
|
95
|
-
name: string;
|
|
96
|
-
is: (value: string) => boolean;
|
|
97
|
-
cast: (value: string) => Value;
|
|
98
|
-
default: () => Value;
|
|
99
|
-
}) =>
|
|
100
|
-
(node: ts.TypeNode | undefined): Value => {
|
|
101
|
-
if (!node) return props.default();
|
|
102
|
-
|
|
103
|
-
// CHECK LITERAL TYPE
|
|
104
|
-
const type: ts.Type = props.checker.getTypeFromTypeNode(node);
|
|
105
|
-
if (
|
|
106
|
-
!type.isLiteral() &&
|
|
107
|
-
(type.getFlags() & ts.TypeFlags.BooleanLiteral) === 0
|
|
108
|
-
)
|
|
109
|
-
throw new TransformerError({
|
|
110
|
-
code: "typia.llm.parameters",
|
|
111
|
-
message: `generic argument "${props.name}" must be constant.`,
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
// GET VALUE AND VALIDATE IT
|
|
115
|
-
const value = type.isLiteral()
|
|
116
|
-
? type.value
|
|
117
|
-
: props.checker.typeToString(type);
|
|
118
|
-
if (typeof value !== "string" || props.is(value) === false)
|
|
119
|
-
throw new TransformerError({
|
|
120
|
-
code: "typia.llm.parameters",
|
|
121
|
-
message: `invalid value on generic argument "${props.name}".`,
|
|
122
|
-
});
|
|
123
|
-
return props.cast(value);
|
|
124
|
-
};
|
|
125
91
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ILlmSchema } from "@samchon/openapi";
|
|
2
|
-
import { LlmSchemaConverter } from "@samchon/openapi/lib/converters/LlmSchemaConverter";
|
|
3
2
|
import ts from "typescript";
|
|
4
3
|
|
|
5
4
|
import { IdentifierFactory } from "../../../factories/IdentifierFactory";
|
|
@@ -9,6 +8,7 @@ import { MetadataFactory } from "../../../factories/MetadataFactory";
|
|
|
9
8
|
|
|
10
9
|
import { Metadata } from "../../../schemas/metadata/Metadata";
|
|
11
10
|
|
|
11
|
+
import { LlmModelPredicator } from "../../../programmers/llm/LlmModelPredicator";
|
|
12
12
|
import { LlmSchemaProgrammer } from "../../../programmers/llm/LlmSchemaProgrammer";
|
|
13
13
|
|
|
14
14
|
import { ValidationPipe } from "../../../typings/ValidationPipe";
|
|
@@ -30,18 +30,12 @@ export namespace LlmSchemaTransformer {
|
|
|
30
30
|
const top: ts.Node = props.expression.typeArguments[0]!;
|
|
31
31
|
if (ts.isTypeNode(top) === false) return props.expression;
|
|
32
32
|
|
|
33
|
-
// GET MODEL
|
|
34
|
-
const model: ILlmSchema.Model = getTemplateArgument<ILlmSchema.Model>({
|
|
35
|
-
checker: props.context.checker,
|
|
36
|
-
name: "Model",
|
|
37
|
-
is: (value) =>
|
|
38
|
-
LlmSchemaConverter.defaultConfig(value as ILlmSchema.Model) !==
|
|
39
|
-
undefined,
|
|
40
|
-
cast: (value) => value as ILlmSchema.Model,
|
|
41
|
-
default: () => "3.1",
|
|
42
|
-
})(props.expression.typeArguments[1]);
|
|
43
|
-
|
|
44
33
|
// GET TYPE
|
|
34
|
+
const model: ILlmSchema.Model = LlmModelPredicator.getModel({
|
|
35
|
+
checker: props.context.checker,
|
|
36
|
+
method: "schema",
|
|
37
|
+
node: props.expression.typeArguments[1],
|
|
38
|
+
});
|
|
45
39
|
const type: ts.Type = props.context.checker.getTypeFromTypeNode(top);
|
|
46
40
|
const collection: MetadataCollection = new MetadataCollection({
|
|
47
41
|
replace: MetadataCollection.replace,
|
|
@@ -69,6 +63,12 @@ export namespace LlmSchemaTransformer {
|
|
|
69
63
|
const out: LlmSchemaProgrammer.IOutput<any> = LlmSchemaProgrammer.write({
|
|
70
64
|
model,
|
|
71
65
|
metadata: result.data,
|
|
66
|
+
config: LlmModelPredicator.getConfig({
|
|
67
|
+
context: props.context,
|
|
68
|
+
method: "schema",
|
|
69
|
+
model,
|
|
70
|
+
node: props.expression.typeArguments[2],
|
|
71
|
+
}),
|
|
72
72
|
});
|
|
73
73
|
const schemaTypeNode = ts.factory.createTypeReferenceNode(
|
|
74
74
|
props.context.importer.instance({
|
|
@@ -129,38 +129,4 @@ export namespace LlmSchemaTransformer {
|
|
|
129
129
|
[props.expression.arguments[0]!],
|
|
130
130
|
);
|
|
131
131
|
};
|
|
132
|
-
|
|
133
|
-
const getTemplateArgument =
|
|
134
|
-
<Value>(props: {
|
|
135
|
-
checker: ts.TypeChecker;
|
|
136
|
-
name: string;
|
|
137
|
-
is: (value: string) => boolean;
|
|
138
|
-
cast: (value: string) => Value;
|
|
139
|
-
default: () => Value;
|
|
140
|
-
}) =>
|
|
141
|
-
(node: ts.TypeNode | undefined): Value => {
|
|
142
|
-
if (!node) return props.default();
|
|
143
|
-
|
|
144
|
-
// CHECK LITERAL TYPE
|
|
145
|
-
const type: ts.Type = props.checker.getTypeFromTypeNode(node);
|
|
146
|
-
if (
|
|
147
|
-
!type.isLiteral() &&
|
|
148
|
-
(type.getFlags() & ts.TypeFlags.BooleanLiteral) === 0
|
|
149
|
-
)
|
|
150
|
-
throw new TransformerError({
|
|
151
|
-
code: "typia.llm.schema",
|
|
152
|
-
message: `generic argument "${props.name}" must be constant.`,
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
// GET VALUE AND VALIDATE IT
|
|
156
|
-
const value = type.isLiteral()
|
|
157
|
-
? type.value
|
|
158
|
-
: props.checker.typeToString(type);
|
|
159
|
-
if (typeof value !== "string" || props.is(value) === false)
|
|
160
|
-
throw new TransformerError({
|
|
161
|
-
code: "typia.llm.schema",
|
|
162
|
-
message: `invalid value on generic argument "${props.name}".`,
|
|
163
|
-
});
|
|
164
|
-
return props.cast(value);
|
|
165
|
-
};
|
|
166
132
|
}
|