typia 7.0.2-dev.20241205 → 7.1.0-dev.20241209
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/factories/LiteralFactory.js +4 -0
- package/lib/factories/LiteralFactory.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_function.js +1 -0
- package/lib/factories/internal/metadata/iterate_metadata_function.js.map +1 -1
- package/lib/index.mjs +18 -1
- package/lib/index.mjs.map +1 -1
- package/lib/llm.d.ts +121 -2
- package/lib/llm.js +7 -0
- package/lib/llm.js.map +1 -1
- package/lib/module.d.ts +2 -0
- package/lib/module.js +2 -0
- package/lib/module.js.map +1 -1
- package/lib/programmers/llm/LlmApplicationOfValidateProgrammer.d.ts +15 -0
- package/lib/programmers/llm/LlmApplicationOfValidateProgrammer.js +37 -0
- package/lib/programmers/llm/LlmApplicationOfValidateProgrammer.js.map +1 -0
- package/lib/schemas/llm/ILlmApplicationOfValidate.d.ts +52 -0
- package/lib/schemas/llm/ILlmApplicationOfValidate.js +7 -0
- package/lib/schemas/llm/ILlmApplicationOfValidate.js.map +1 -0
- package/lib/schemas/llm/ILlmFunctionOfValidate.d.ts +36 -0
- package/lib/schemas/llm/ILlmFunctionOfValidate.js +7 -0
- package/lib/schemas/llm/ILlmFunctionOfValidate.js.map +1 -0
- package/lib/schemas/metadata/MetadataParameter.d.ts +2 -0
- package/lib/schemas/metadata/MetadataParameter.js +1 -0
- package/lib/schemas/metadata/MetadataParameter.js.map +1 -1
- package/lib/transformers/CallExpressionTransformer.js +2 -0
- package/lib/transformers/CallExpressionTransformer.js.map +1 -1
- package/lib/transformers/features/llm/LlmApplicationOfValidateTransformer.d.ts +5 -0
- package/lib/transformers/features/llm/LlmApplicationOfValidateTransformer.js +94 -0
- package/lib/transformers/features/llm/LlmApplicationOfValidateTransformer.js.map +1 -0
- package/lib/transformers/features/llm/LlmApplicationTransformer.js +3 -3
- package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
- package/package.json +1 -1
- package/src/factories/LiteralFactory.ts +2 -0
- package/src/factories/internal/metadata/iterate_metadata_function.ts +1 -0
- package/src/llm.ts +141 -2
- package/src/module.ts +2 -0
- package/src/programmers/llm/LlmApplicationOfValidateProgrammer.ts +81 -0
- package/src/schemas/llm/ILlmApplicationOfValidate.ts +55 -0
- package/src/schemas/llm/ILlmFunctionOfValidate.ts +39 -0
- package/src/schemas/metadata/MetadataParameter.ts +4 -0
- package/src/transformers/CallExpressionTransformer.ts +2 -0
- package/src/transformers/features/llm/LlmApplicationOfValidateTransformer.ts +115 -0
- package/src/transformers/features/llm/LlmApplicationTransformer.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
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.LlmApplicationOfValidateTransformer = void 0;
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const ExpressionFactory_1 = require("../../../factories/ExpressionFactory");
|
|
9
|
+
const LiteralFactory_1 = require("../../../factories/LiteralFactory");
|
|
10
|
+
const MetadataCollection_1 = require("../../../factories/MetadataCollection");
|
|
11
|
+
const MetadataFactory_1 = require("../../../factories/MetadataFactory");
|
|
12
|
+
const StatementFactory_1 = require("../../../factories/StatementFactory");
|
|
13
|
+
const LlmApplicationOfValidateProgrammer_1 = require("../../../programmers/llm/LlmApplicationOfValidateProgrammer");
|
|
14
|
+
const LlmModelPredicator_1 = require("../../../programmers/llm/LlmModelPredicator");
|
|
15
|
+
const TransformerError_1 = require("../../TransformerError");
|
|
16
|
+
var LlmApplicationOfValidateTransformer;
|
|
17
|
+
(function (LlmApplicationOfValidateTransformer) {
|
|
18
|
+
LlmApplicationOfValidateTransformer.transform = (props) => {
|
|
19
|
+
var _a, _b, _c;
|
|
20
|
+
// GET GENERIC ARGUMENT
|
|
21
|
+
if (!((_a = props.expression.typeArguments) === null || _a === void 0 ? void 0 : _a.length))
|
|
22
|
+
throw new TransformerError_1.TransformerError({
|
|
23
|
+
code: "typia.llm.schema",
|
|
24
|
+
message: "no generic argument.",
|
|
25
|
+
});
|
|
26
|
+
const top = props.expression.typeArguments[0];
|
|
27
|
+
if (typescript_1.default.isTypeNode(top) === false)
|
|
28
|
+
return props.expression;
|
|
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
|
+
});
|
|
35
|
+
const type = props.context.checker.getTypeFromTypeNode(top);
|
|
36
|
+
const collection = new MetadataCollection_1.MetadataCollection({
|
|
37
|
+
replace: MetadataCollection_1.MetadataCollection.replace,
|
|
38
|
+
});
|
|
39
|
+
const result = MetadataFactory_1.MetadataFactory.analyze({
|
|
40
|
+
checker: props.context.checker,
|
|
41
|
+
transformer: props.context.transformer,
|
|
42
|
+
options: {
|
|
43
|
+
escape: true,
|
|
44
|
+
constant: true,
|
|
45
|
+
absorb: false,
|
|
46
|
+
functional: true,
|
|
47
|
+
validate: LlmApplicationOfValidateProgrammer_1.LlmApplicationOfValidateProgrammer.validate(model),
|
|
48
|
+
},
|
|
49
|
+
collection,
|
|
50
|
+
type,
|
|
51
|
+
});
|
|
52
|
+
if (result.success === false)
|
|
53
|
+
throw TransformerError_1.TransformerError.from({
|
|
54
|
+
code: "typia.llm.application",
|
|
55
|
+
errors: result.errors,
|
|
56
|
+
});
|
|
57
|
+
// GENERATE LLM APPLICATION
|
|
58
|
+
const schema = LlmApplicationOfValidateProgrammer_1.LlmApplicationOfValidateProgrammer.write({
|
|
59
|
+
model,
|
|
60
|
+
context: props.context,
|
|
61
|
+
modulo: props.modulo,
|
|
62
|
+
metadata: result.data,
|
|
63
|
+
config: LlmModelPredicator_1.LlmModelPredicator.getConfig({
|
|
64
|
+
context: props.context,
|
|
65
|
+
method: "application",
|
|
66
|
+
model,
|
|
67
|
+
node: props.expression.typeArguments[2],
|
|
68
|
+
}),
|
|
69
|
+
});
|
|
70
|
+
const literal = typescript_1.default.factory.createAsExpression(LiteralFactory_1.LiteralFactory.write(schema), props.context.importer.type({
|
|
71
|
+
file: "typia",
|
|
72
|
+
name: "ILlmApplicationOfValidate",
|
|
73
|
+
arguments: [
|
|
74
|
+
typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral(model)),
|
|
75
|
+
],
|
|
76
|
+
}));
|
|
77
|
+
if (!((_b = props.expression.arguments) === null || _b === void 0 ? void 0 : _b[0]))
|
|
78
|
+
return literal;
|
|
79
|
+
return ExpressionFactory_1.ExpressionFactory.selfCall(typescript_1.default.factory.createBlock([
|
|
80
|
+
StatementFactory_1.StatementFactory.constant({
|
|
81
|
+
name: "app",
|
|
82
|
+
value: literal,
|
|
83
|
+
}),
|
|
84
|
+
typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(props.context.importer.internal("llmApplicationFinalize"), undefined, [
|
|
85
|
+
typescript_1.default.factory.createIdentifier("app"),
|
|
86
|
+
...(((_c = props.expression.arguments) === null || _c === void 0 ? void 0 : _c[0])
|
|
87
|
+
? [props.expression.arguments[0]]
|
|
88
|
+
: []),
|
|
89
|
+
])),
|
|
90
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("app")),
|
|
91
|
+
], true));
|
|
92
|
+
};
|
|
93
|
+
})(LlmApplicationOfValidateTransformer || (exports.LlmApplicationOfValidateTransformer = LlmApplicationOfValidateTransformer = {}));
|
|
94
|
+
//# sourceMappingURL=LlmApplicationOfValidateTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LlmApplicationOfValidateTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmApplicationOfValidateTransformer.ts"],"names":[],"mappings":";;;;;;AACA,4DAA4B;AAE5B,4EAAyE;AACzE,sEAAmE;AACnE,8EAA2E;AAC3E,wEAAqE;AACrE,0EAAuE;AAIvE,oHAAiH;AACjH,oFAAiF;AAKjF,6DAA0D;AAE1D,IAAiB,mCAAmC,CA+FnD;AA/FD,WAAiB,mCAAmC;IACrC,6CAAS,GAAG,CAAC,KAAsB,EAAiB,EAAE;;QACjE,uBAAuB;QACvB,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACzC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;QAEL,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QACxD,IAAI,oBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,UAAU,CAAC;QAE1D,WAAW;QACX,MAAM,KAAK,GAAqB,uCAAkB,CAAC,QAAQ,CAAC;YAC1D,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAC9B,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;SACxC,CAAC,CAAC;QACH,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACrE,MAAM,UAAU,GAAuB,IAAI,uCAAkB,CAAC;YAC5D,OAAO,EAAE,uCAAkB,CAAC,OAAO;SACpC,CAAC,CAAC;QACH,MAAM,MAAM,GACV,iCAAe,CAAC,OAAO,CAAC;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;YACtC,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,uEAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC;aAC7D;YACD,UAAU;YACV,IAAI;SACL,CAAC,CAAC;QACL,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC;gBAC1B,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QAEL,2BAA2B;QAC3B,MAAM,MAAM,GACV,uEAAkC,CAAC,KAAK,CAAC;YACvC,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,MAAM,CAAC,IAAI;YACrB,MAAM,EAAE,uCAAkB,CAAC,SAAS,CAAC;gBACnC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,aAAa;gBACrB,KAAK;gBACL,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;aACxC,CAAC;SACH,CAAC,CAAC;QACL,MAAM,OAAO,GAAkB,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAC1D,+BAAc,CAAC,KAAK,CAAC,MAAM,CAAC,EAC5B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,2BAA2B;YACjC,SAAS,EAAE;gBACT,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CACtC;aACF;SACF,CAAC,CACH,CAAC;QACF,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,SAAS,0CAAG,CAAC,CAAC,CAAA;YAAE,OAAO,OAAO,CAAC;QAErD,OAAO,qCAAiB,CAAC,QAAQ,CAC/B,oBAAE,CAAC,OAAO,CAAC,WAAW,CACpB;YACE,mCAAgB,CAAC,QAAQ,CAAC;gBACxB,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,OAAO;aACf,CAAC;YACF,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EACzD,SAAS,EACT;gBACE,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAClC,GAAG,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,SAAS,0CAAG,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACjC,CAAC,CAAC,EAAE,CAAC;aACR,CACF,CACF;YACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SACrE,EACD,IAAI,CACL,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,EA/FgB,mCAAmC,mDAAnC,mCAAmC,QA+FnD"}
|
|
@@ -20,7 +20,7 @@ var LlmApplicationTransformer;
|
|
|
20
20
|
// GET GENERIC ARGUMENT
|
|
21
21
|
if (!((_a = props.expression.typeArguments) === null || _a === void 0 ? void 0 : _a.length))
|
|
22
22
|
throw new TransformerError_1.TransformerError({
|
|
23
|
-
code: "typia.llm.
|
|
23
|
+
code: "typia.llm.application",
|
|
24
24
|
message: "no generic argument.",
|
|
25
25
|
});
|
|
26
26
|
const top = props.expression.typeArguments[0];
|
|
@@ -29,7 +29,7 @@ var LlmApplicationTransformer;
|
|
|
29
29
|
// GET TYPE
|
|
30
30
|
const model = LlmModelPredicator_1.LlmModelPredicator.getModel({
|
|
31
31
|
checker: props.context.checker,
|
|
32
|
-
method: "
|
|
32
|
+
method: "applicationOfValidate",
|
|
33
33
|
node: props.expression.typeArguments[1],
|
|
34
34
|
});
|
|
35
35
|
const type = props.context.checker.getTypeFromTypeNode(top);
|
|
@@ -51,7 +51,7 @@ var LlmApplicationTransformer;
|
|
|
51
51
|
});
|
|
52
52
|
if (result.success === false)
|
|
53
53
|
throw TransformerError_1.TransformerError.from({
|
|
54
|
-
code: "typia.llm.
|
|
54
|
+
code: "typia.llm.applicationOfValidate",
|
|
55
55
|
errors: result.errors,
|
|
56
56
|
});
|
|
57
57
|
// GENERATE LLM APPLICATION
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmApplicationTransformer.ts"],"names":[],"mappings":";;;;;;AACA,4DAA4B;AAE5B,4EAAyE;AACzE,sEAAmE;AACnE,8EAA2E;AAC3E,wEAAqE;AACrE,0EAAuE;AAIvE,gGAA6F;AAC7F,oFAAiF;AAKjF,6DAA0D;AAE1D,IAAiB,yBAAyB,CA6FzC;AA7FD,WAAiB,yBAAyB;IAC3B,mCAAS,GAAG,CAAC,KAAsB,EAAiB,EAAE;;QACjE,uBAAuB;QACvB,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACzC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"LlmApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmApplicationTransformer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -6,6 +6,8 @@ import { IdentifierFactory } from "./IdentifierFactory";
|
|
|
6
6
|
export namespace LiteralFactory {
|
|
7
7
|
export const write = (input: any): ts.Expression => {
|
|
8
8
|
if (input === null) return ts.factory.createNull();
|
|
9
|
+
else if (ts.isArrowFunction(input)) return input;
|
|
10
|
+
else if (ts.isCallExpression(input)) return input;
|
|
9
11
|
else if (ts.isIdentifier(input)) return input;
|
|
10
12
|
else if (input instanceof Array) return writeArray(input);
|
|
11
13
|
else if (typeof input === "object") return writeObject(input);
|
package/src/llm.ts
CHANGED
|
@@ -1,12 +1,151 @@
|
|
|
1
1
|
import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
|
|
2
2
|
|
|
3
|
+
import { ILlmApplicationOfValidate } from "./module";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* > You must configure the generic argument `App`.
|
|
7
|
+
*
|
|
8
|
+
* TypeScript functions to LLM function calling application with validators.
|
|
9
|
+
*
|
|
10
|
+
* Creates an application of LLM (Large Language Model) function calling application
|
|
11
|
+
* from a TypeScript class or interface type containing the target functions to be
|
|
12
|
+
* called by the LLM function calling feature.
|
|
13
|
+
*
|
|
14
|
+
* If you put the returned {@link ILlmApplicationOfValidate.functions} objects to the
|
|
15
|
+
* LLM provider like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically
|
|
16
|
+
* select the proper function and fill its arguments from the conversation
|
|
17
|
+
* (maybe chatting text) with user (human). This is the concept of the LLM function calling.
|
|
18
|
+
*
|
|
19
|
+
* Additionally, the LLM function calling sometimes take a mistake that composing wrong typed
|
|
20
|
+
* {@link ILlmFunctionOfValidate.parameters}. In that case, deliver return value of the
|
|
21
|
+
* {@link ILlmFunctionOfValidate.validate} function, then LLM provider will correct the
|
|
22
|
+
* parameters at the next conversation. The {@link ILlmFunctionOfValidate.validate} function
|
|
23
|
+
* is a validator function reporting the detailed information about the wrong typed parameters.
|
|
24
|
+
*
|
|
25
|
+
* By the way, there can be some parameters (or their nested properties) which must be
|
|
26
|
+
* composed by human, not by LLM. File uploading feature or some sensitive information
|
|
27
|
+
* like secrety key (password) are the examples. In that case, you can separate the
|
|
28
|
+
* function parameters to both LLM and human sides by configuring the
|
|
29
|
+
* {@link ILlmApplicationOfValidate.IOptions.separate} property. The separated parameters
|
|
30
|
+
* are assigned to the {@link ILlmFunctionOfValidate.separated} property.
|
|
31
|
+
*
|
|
32
|
+
* For reference, the actual function call execution is not by LLM, but by you.
|
|
33
|
+
* When the LLM selects the proper function and fills the arguments, you just call
|
|
34
|
+
* the function with the LLM prepared arguments. And then informs the return value to
|
|
35
|
+
* the LLM by system prompt. The LLM will continue the next conversation based on
|
|
36
|
+
* the return value.
|
|
37
|
+
*
|
|
38
|
+
* Additionally, if you've configured {@link ILlmApplicationOfValidate.IOptions.separate},
|
|
39
|
+
* so that the parameters are separated to human and LLM sides, you can merge these
|
|
40
|
+
* humand and LLM sides' parameters into one through {@link HttpLlm.mergeParameters}
|
|
41
|
+
* before the actual LLM function call execution.
|
|
42
|
+
*
|
|
43
|
+
* Here is the list of available `Model` types with their corresponding LLM schema.
|
|
44
|
+
* Reading the following list, and determine the `Model` type considering the
|
|
45
|
+
* characteristics of the target LLM provider.
|
|
46
|
+
*
|
|
47
|
+
* - LLM provider schemas
|
|
48
|
+
* - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
|
|
49
|
+
* - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
|
|
50
|
+
* - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
|
|
51
|
+
* - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
|
|
52
|
+
* - Midldle layer schemas
|
|
53
|
+
* - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
|
|
54
|
+
* - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
|
|
55
|
+
*
|
|
56
|
+
* @template App Target class or interface type collecting the functions to call
|
|
57
|
+
* @template Model LLM schema model
|
|
58
|
+
* @template Config Configuration of LLM schema composition
|
|
59
|
+
* @param options Options for the LLM application construction
|
|
60
|
+
* @returns Application of LLM function calling schemas
|
|
61
|
+
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
62
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
63
|
+
*/
|
|
64
|
+
export function applicationOfValidate(
|
|
65
|
+
options?: Partial<Pick<ILlmApplicationOfValidate.IOptions<any>, "separate">>,
|
|
66
|
+
): never;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* TypeScript functions to LLM function calling application with validators.
|
|
70
|
+
*
|
|
71
|
+
* Creates an application of LLM (Large Language Model) function calling application
|
|
72
|
+
* from a TypeScript class or interface type containing the target functions to be
|
|
73
|
+
* called by the LLM function calling feature.
|
|
74
|
+
*
|
|
75
|
+
* If you put the returned {@link ILlmApplicationOfValidate.functions} objects to the
|
|
76
|
+
* LLM provider like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically
|
|
77
|
+
* select the proper function and fill its arguments from the conversation
|
|
78
|
+
* (maybe chatting text) with user (human). This is the concept of the LLM function calling.
|
|
79
|
+
*
|
|
80
|
+
* Additionally, the LLM function calling sometimes take a mistake that composing wrong typed
|
|
81
|
+
* {@link ILlmFunctionOfValidate.parameters}. In that case, deliver return value of the
|
|
82
|
+
* {@link ILlmFunctionOfValidate.validate} function, then LLM provider will correct the
|
|
83
|
+
* parameters at the next conversation. The {@link ILlmFunctionOfValidate.validate} function
|
|
84
|
+
* is a validator function reporting the detailed information about the wrong typed parameters.
|
|
85
|
+
*
|
|
86
|
+
* By the way, there can be some parameters (or their nested properties) which must be
|
|
87
|
+
* composed by human, not by LLM. File uploading feature or some sensitive information
|
|
88
|
+
* like secrety key (password) are the examples. In that case, you can separate the
|
|
89
|
+
* function parameters to both LLM and human sides by configuring the
|
|
90
|
+
* {@link ILlmApplicationOfValidate.IOptions.separate} property. The separated parameters
|
|
91
|
+
* are assigned to the {@link ILlmFunctionOfValidate.separated} property.
|
|
92
|
+
*
|
|
93
|
+
* For reference, the actual function call execution is not by LLM, but by you.
|
|
94
|
+
* When the LLM selects the proper function and fills the arguments, you just call
|
|
95
|
+
* the function with the LLM prepared arguments. And then informs the return value to
|
|
96
|
+
* the LLM by system prompt. The LLM will continue the next conversation based on
|
|
97
|
+
* the return value.
|
|
98
|
+
*
|
|
99
|
+
* Additionally, if you've configured {@link ILlmApplicationOfValidate.IOptions.separate},
|
|
100
|
+
* so that the parameters are separated to human and LLM sides, you can merge these
|
|
101
|
+
* humand and LLM sides' parameters into one through {@link HttpLlm.mergeParameters}
|
|
102
|
+
* before the actual LLM function call execution.
|
|
103
|
+
*
|
|
104
|
+
* Here is the list of available `Model` types with their corresponding LLM schema.
|
|
105
|
+
* Reading the following list, and determine the `Model` type considering the
|
|
106
|
+
* characteristics of the target LLM provider.
|
|
107
|
+
*
|
|
108
|
+
* - LLM provider schemas
|
|
109
|
+
* - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
|
|
110
|
+
* - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
|
|
111
|
+
* - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
|
|
112
|
+
* - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
|
|
113
|
+
* - Midldle layer schemas
|
|
114
|
+
* - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
|
|
115
|
+
* - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
|
|
116
|
+
*
|
|
117
|
+
* @template App Target class or interface type collecting the functions to call
|
|
118
|
+
* @template Model LLM schema model
|
|
119
|
+
* @template Config Configuration of LLM schema composition
|
|
120
|
+
* @param options Options for the LLM application construction
|
|
121
|
+
* @returns Application of LLM function calling schemas
|
|
122
|
+
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
123
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
124
|
+
*/
|
|
125
|
+
export function applicationOfValidate<
|
|
126
|
+
App extends Record<string, any>,
|
|
127
|
+
Model extends ILlmSchema.Model,
|
|
128
|
+
Config extends Partial<ILlmSchema.ModelConfig[Model]> = {},
|
|
129
|
+
>(
|
|
130
|
+
options?: Partial<
|
|
131
|
+
Pick<ILlmApplicationOfValidate.IOptions<Model>, "separate">
|
|
132
|
+
>,
|
|
133
|
+
): ILlmApplicationOfValidate<Model>;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* @internal
|
|
137
|
+
*/
|
|
138
|
+
export function applicationOfValidate(): never {
|
|
139
|
+
halt("applicationOfValidate");
|
|
140
|
+
}
|
|
141
|
+
|
|
3
142
|
/**
|
|
4
143
|
* > You must configure the generic argument `App`.
|
|
5
144
|
*
|
|
6
145
|
* TypeScript functions to LLM function calling application.
|
|
7
146
|
*
|
|
8
147
|
* Creates an application of LLM (Large Language Model) function calling application
|
|
9
|
-
* from a TypeScript class or interface type
|
|
148
|
+
* from a TypeScript class or interface type containing the target functions to be
|
|
10
149
|
* called by the LLM function calling feature.
|
|
11
150
|
*
|
|
12
151
|
* If you put the returned {@link ILlmApplication.functions} objects to the LLM provider
|
|
@@ -61,7 +200,7 @@ export function application(
|
|
|
61
200
|
* TypeScript functions to LLM function calling application.
|
|
62
201
|
*
|
|
63
202
|
* Creates an application of LLM (Large Language Model) function calling application
|
|
64
|
-
* from a TypeScript class or interface type
|
|
203
|
+
* from a TypeScript class or interface type containing the target functions to be
|
|
65
204
|
* called by the LLM function calling feature.
|
|
66
205
|
*
|
|
67
206
|
* If you put the returned {@link ILlmApplication.functions} objects to the LLM provider
|
package/src/module.ts
CHANGED
|
@@ -17,6 +17,8 @@ export * as tags from "./tags";
|
|
|
17
17
|
export * from "./schemas/metadata/IJsDocTagInfo";
|
|
18
18
|
export * from "./schemas/json/IJsonApplication";
|
|
19
19
|
export * from "./schemas/json/IJsonSchemaCollection";
|
|
20
|
+
export * from "./schemas/llm/ILlmApplicationOfValidate";
|
|
21
|
+
export * from "./schemas/llm/ILlmFunctionOfValidate";
|
|
20
22
|
export * from "./AssertionGuard";
|
|
21
23
|
export * from "./IRandomGenerator";
|
|
22
24
|
export * from "./IValidation";
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
|
|
2
|
+
import ts from "typescript";
|
|
3
|
+
|
|
4
|
+
import { ILlmApplicationOfValidate } from "../../schemas/llm/ILlmApplicationOfValidate";
|
|
5
|
+
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
6
|
+
import { MetadataParameter } from "../../schemas/metadata/MetadataParameter";
|
|
7
|
+
|
|
8
|
+
import { ITypiaContext } from "../../transformers/ITypiaContext";
|
|
9
|
+
|
|
10
|
+
import { IValidation } from "../../IValidation";
|
|
11
|
+
import { ValidateProgrammer } from "../ValidateProgrammer";
|
|
12
|
+
import { LlmApplicationProgrammer } from "./LlmApplicationProgrammer";
|
|
13
|
+
|
|
14
|
+
export namespace LlmApplicationOfValidateProgrammer {
|
|
15
|
+
export const validate = (model: ILlmSchema.Model) =>
|
|
16
|
+
LlmApplicationProgrammer.validate(model);
|
|
17
|
+
|
|
18
|
+
export const write = <Model extends ILlmSchema.Model>(props: {
|
|
19
|
+
context: ITypiaContext;
|
|
20
|
+
modulo: ts.LeftHandSideExpression;
|
|
21
|
+
model: Model;
|
|
22
|
+
metadata: Metadata;
|
|
23
|
+
config?: Partial<ILlmSchema.ModelConfig[Model]>;
|
|
24
|
+
}): ILlmApplicationOfValidate<Model> => {
|
|
25
|
+
const app: ILlmApplication<Model> = LlmApplicationProgrammer.write(props);
|
|
26
|
+
const parameters: Record<string, MetadataParameter> = Object.fromEntries(
|
|
27
|
+
props.metadata.objects[0]!.type.properties.filter(
|
|
28
|
+
(p) =>
|
|
29
|
+
p.key.isSoleLiteral() &&
|
|
30
|
+
p.value.size() === 1 &&
|
|
31
|
+
p.value.nullable === false &&
|
|
32
|
+
p.value.isRequired() === true &&
|
|
33
|
+
p.value.functions.length === 1,
|
|
34
|
+
)
|
|
35
|
+
.filter(
|
|
36
|
+
(p) =>
|
|
37
|
+
p.jsDocTags.find(
|
|
38
|
+
(tag) => tag.name === "hidden" || tag.name === "internal",
|
|
39
|
+
) === undefined,
|
|
40
|
+
)
|
|
41
|
+
.map((p) => [
|
|
42
|
+
p.key.getSoleLiteral()!,
|
|
43
|
+
p.value.functions[0]!.parameters[0]!,
|
|
44
|
+
]),
|
|
45
|
+
);
|
|
46
|
+
return {
|
|
47
|
+
...app,
|
|
48
|
+
functions: app.functions.map((func) => ({
|
|
49
|
+
...func,
|
|
50
|
+
validate: writeValidadtor({
|
|
51
|
+
context: props.context,
|
|
52
|
+
modulo: props.modulo,
|
|
53
|
+
parameter: parameters[func.name]!,
|
|
54
|
+
}),
|
|
55
|
+
})),
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
const writeValidadtor = (props: {
|
|
60
|
+
context: ITypiaContext;
|
|
61
|
+
modulo: ts.LeftHandSideExpression;
|
|
62
|
+
parameter: MetadataParameter;
|
|
63
|
+
}): ((props: object) => IValidation<unknown>) => {
|
|
64
|
+
const type = props.parameter.tsType;
|
|
65
|
+
if (type === undefined)
|
|
66
|
+
// unreachable
|
|
67
|
+
throw new Error(
|
|
68
|
+
"Failed to write LLM application's function validator. You don't have to call `LlmApplicationOfValidator.write()` function by yourself, but only by the `typia.llm.applicationOfValidate()` function.",
|
|
69
|
+
);
|
|
70
|
+
return ValidateProgrammer.write({
|
|
71
|
+
...props,
|
|
72
|
+
type: props.parameter.tsType!,
|
|
73
|
+
config: {
|
|
74
|
+
equals: false,
|
|
75
|
+
},
|
|
76
|
+
name: undefined,
|
|
77
|
+
}) satisfies ts.CallExpression as any as (
|
|
78
|
+
props: object,
|
|
79
|
+
) => IValidation<unknown>;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
|
|
2
|
+
|
|
3
|
+
import { ILlmFunctionOfValidate } from "./ILlmFunctionOfValidate";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Application of LLM function calling with validators.
|
|
7
|
+
*
|
|
8
|
+
* `ILlmApplication` is a data structure representing a collection of
|
|
9
|
+
* {@link ILlmFunctionOfValidate LLM function calling schemas}, composed from a native
|
|
10
|
+
* TypeScript class (or interface) type by the `typia.llm.applicationOfValidate<App, Model>()`
|
|
11
|
+
* function.
|
|
12
|
+
*
|
|
13
|
+
* If you put the returned {@link ILlmApplicationOfValidate.functions} objects to the
|
|
14
|
+
* LLM provider like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically
|
|
15
|
+
* select the proper function and fill its arguments from the conversation
|
|
16
|
+
* (maybe chatting text) with user (human). This is the concept of the LLM function calling.
|
|
17
|
+
*
|
|
18
|
+
* Additionally, the LLM function calling sometimes take a mistake that composing wrong typed
|
|
19
|
+
* {@link ILlmFunctionOfValidate.parameters}. In that case, deliver return value of the
|
|
20
|
+
* {@link ILlmFunctionOfValidate.validate} function, then LLM provider will correct the
|
|
21
|
+
* parameters at the next conversation. The {@link ILlmFunctionOfValidate.validate} function
|
|
22
|
+
* is a validator function reporting the detailed information about the wrong typed parameters.
|
|
23
|
+
*
|
|
24
|
+
* By the way, there can be some parameters (or their nested properties) which must be
|
|
25
|
+
* composed by Human, not by LLM. File uploading feature or some sensitive information
|
|
26
|
+
* like secrety key (password) are the examples. In that case, you can separate the
|
|
27
|
+
* function parameters to both LLM and human sides by configuring the
|
|
28
|
+
* {@link ILlmApplication.IOptions.separate} property. The separated parameters are
|
|
29
|
+
* assigned to the {@link ILlmFunction.separated} property.
|
|
30
|
+
*
|
|
31
|
+
* For reference, when both LLM and Human filled parameter values to call, you can
|
|
32
|
+
* merge them by calling the {@link HttpLlm.mergeParameters} function. In other words,
|
|
33
|
+
* if you've configured the {@link ILlmApplication.IOptions.separate} property, you
|
|
34
|
+
* have to merge the separated parameters before the funtion call execution.
|
|
35
|
+
*
|
|
36
|
+
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
37
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
38
|
+
*/
|
|
39
|
+
export interface ILlmApplicationOfValidate<Model extends ILlmSchema.Model>
|
|
40
|
+
extends ILlmApplication<Model> {
|
|
41
|
+
/**
|
|
42
|
+
* List of function metadata.
|
|
43
|
+
*
|
|
44
|
+
* List of function metadata that can be used for the LLM function call.
|
|
45
|
+
*
|
|
46
|
+
* Also, every functions have their own parameters validator
|
|
47
|
+
* {@link ILlmFunctionOfValidate.validate}. If the LLM function calling composes wrong
|
|
48
|
+
* typed parameters, then deliver return value of it, then LLM will correct parameters
|
|
49
|
+
* at the next conversation.
|
|
50
|
+
*/
|
|
51
|
+
functions: ILlmFunctionOfValidate<Model>[];
|
|
52
|
+
}
|
|
53
|
+
export namespace ILlmApplicationOfValidate {
|
|
54
|
+
export import IOptions = ILlmApplication.IOptions;
|
|
55
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ILlmFunction, ILlmSchema } from "@samchon/openapi";
|
|
2
|
+
|
|
3
|
+
import { IValidation } from "../../IValidation";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* LLM function metadata with validator.
|
|
7
|
+
*
|
|
8
|
+
* `ILlmFunctionOfValidate` is an interface representing a function metadata,
|
|
9
|
+
* which has been used for the LLM (Language Large Model) function
|
|
10
|
+
* calling. Also, it's a function structure containing the function
|
|
11
|
+
* {@link name}, {@link parameters} and {@link output return type}.
|
|
12
|
+
*
|
|
13
|
+
* If you provide this `ILlmFunctionOfValidate` data to the LLM provider like "OpenAI",
|
|
14
|
+
* the "OpenAI" will compose a function arguments by analyzing conversations
|
|
15
|
+
* with the user. With the LLM composed arguments, you can execute the function
|
|
16
|
+
* and get the result.
|
|
17
|
+
*
|
|
18
|
+
* If the LLM function calling take s a mistake that composing wrong typed
|
|
19
|
+
* {@link parameters}, you can correct the parameters by delivering the return
|
|
20
|
+
* value of the {@link validate} function. The {@link validate} function is a
|
|
21
|
+
* validator function reporting the detailed information about the wrong typed
|
|
22
|
+
* {@link parameters}.
|
|
23
|
+
*
|
|
24
|
+
* By the way, do not ensure that LLM will always provide the correct arguments.
|
|
25
|
+
* The LLM of present age is not perfect, and sometimes takes a mistake that composing
|
|
26
|
+
* wrong typed {@link parameters}. In that case, you can correc the parameters by
|
|
27
|
+
* delivering the return value of the {@link validate} function. The {@link validate}
|
|
28
|
+
* function reports the detailed information about the wrong typed {@link parameters},
|
|
29
|
+
*
|
|
30
|
+
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
31
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
32
|
+
*/
|
|
33
|
+
export interface ILlmFunctionOfValidate<Model extends ILlmSchema.Model>
|
|
34
|
+
extends ILlmFunction<Model> {
|
|
35
|
+
validate(props: object): IValidation<unknown>;
|
|
36
|
+
}
|
|
37
|
+
export namespace ILlmFunctionOfValidate {
|
|
38
|
+
export import ISeparated = ILlmFunction.ISeparated;
|
|
39
|
+
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
|
|
1
3
|
import { ClassProperties } from "../../typings/ClassProperties";
|
|
2
4
|
|
|
3
5
|
import { IJsDocTagInfo } from "./IJsDocTagInfo";
|
|
@@ -10,12 +12,14 @@ export class MetadataParameter {
|
|
|
10
12
|
public type: Metadata;
|
|
11
13
|
public description: string | null;
|
|
12
14
|
public jsDocTags: IJsDocTagInfo[];
|
|
15
|
+
public tsType?: ts.Type;
|
|
13
16
|
|
|
14
17
|
private constructor(props: ClassProperties<MetadataParameter>) {
|
|
15
18
|
this.name = props.name;
|
|
16
19
|
this.type = props.type;
|
|
17
20
|
this.description = props.description;
|
|
18
21
|
this.jsDocTags = props.jsDocTags;
|
|
22
|
+
this.tsType = props.tsType;
|
|
19
23
|
}
|
|
20
24
|
|
|
21
25
|
/**
|
|
@@ -66,6 +66,7 @@ import { JsonSchemasTransformer } from "./features/json/JsonSchemasTransformer";
|
|
|
66
66
|
import { JsonStringifyTransformer } from "./features/json/JsonStringifyTransformer";
|
|
67
67
|
import { JsonValidateParseTransformer } from "./features/json/JsonValidateParseTransformer";
|
|
68
68
|
import { JsonValidateStringifyTransformer } from "./features/json/JsonValidateStringifyTransformer";
|
|
69
|
+
import { LlmApplicationOfValidateTransformer } from "./features/llm/LlmApplicationOfValidateTransformer";
|
|
69
70
|
import { LlmApplicationTransformer } from "./features/llm/LlmApplicationTransformer";
|
|
70
71
|
import { LlmParametersTransformer } from "./features/llm/LlmParametersTransformer";
|
|
71
72
|
import { LlmSchemaTransformer } from "./features/llm/LlmSchemaTransformer";
|
|
@@ -394,6 +395,7 @@ const FUNCTORS: Record<string, Record<string, () => Task>> = {
|
|
|
394
395
|
createValidateQuery: () => CreateHttpValidateQueryTransformer.transform,
|
|
395
396
|
},
|
|
396
397
|
llm: {
|
|
398
|
+
applicationOfValidate: () => LlmApplicationOfValidateTransformer.transform,
|
|
397
399
|
application: () => LlmApplicationTransformer.transform,
|
|
398
400
|
parameters: () => LlmParametersTransformer.transform,
|
|
399
401
|
schema: () => LlmSchemaTransformer.transform,
|