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.
Files changed (43) hide show
  1. package/lib/factories/LiteralFactory.js +4 -0
  2. package/lib/factories/LiteralFactory.js.map +1 -1
  3. package/lib/factories/internal/metadata/iterate_metadata_function.js +1 -0
  4. package/lib/factories/internal/metadata/iterate_metadata_function.js.map +1 -1
  5. package/lib/index.mjs +18 -1
  6. package/lib/index.mjs.map +1 -1
  7. package/lib/llm.d.ts +121 -2
  8. package/lib/llm.js +7 -0
  9. package/lib/llm.js.map +1 -1
  10. package/lib/module.d.ts +2 -0
  11. package/lib/module.js +2 -0
  12. package/lib/module.js.map +1 -1
  13. package/lib/programmers/llm/LlmApplicationOfValidateProgrammer.d.ts +15 -0
  14. package/lib/programmers/llm/LlmApplicationOfValidateProgrammer.js +37 -0
  15. package/lib/programmers/llm/LlmApplicationOfValidateProgrammer.js.map +1 -0
  16. package/lib/schemas/llm/ILlmApplicationOfValidate.d.ts +52 -0
  17. package/lib/schemas/llm/ILlmApplicationOfValidate.js +7 -0
  18. package/lib/schemas/llm/ILlmApplicationOfValidate.js.map +1 -0
  19. package/lib/schemas/llm/ILlmFunctionOfValidate.d.ts +36 -0
  20. package/lib/schemas/llm/ILlmFunctionOfValidate.js +7 -0
  21. package/lib/schemas/llm/ILlmFunctionOfValidate.js.map +1 -0
  22. package/lib/schemas/metadata/MetadataParameter.d.ts +2 -0
  23. package/lib/schemas/metadata/MetadataParameter.js +1 -0
  24. package/lib/schemas/metadata/MetadataParameter.js.map +1 -1
  25. package/lib/transformers/CallExpressionTransformer.js +2 -0
  26. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  27. package/lib/transformers/features/llm/LlmApplicationOfValidateTransformer.d.ts +5 -0
  28. package/lib/transformers/features/llm/LlmApplicationOfValidateTransformer.js +94 -0
  29. package/lib/transformers/features/llm/LlmApplicationOfValidateTransformer.js.map +1 -0
  30. package/lib/transformers/features/llm/LlmApplicationTransformer.js +3 -3
  31. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/factories/LiteralFactory.ts +2 -0
  34. package/src/factories/internal/metadata/iterate_metadata_function.ts +1 -0
  35. package/src/llm.ts +141 -2
  36. package/src/module.ts +2 -0
  37. package/src/programmers/llm/LlmApplicationOfValidateProgrammer.ts +81 -0
  38. package/src/schemas/llm/ILlmApplicationOfValidate.ts +55 -0
  39. package/src/schemas/llm/ILlmFunctionOfValidate.ts +39 -0
  40. package/src/schemas/metadata/MetadataParameter.ts +4 -0
  41. package/src/transformers/CallExpressionTransformer.ts +2 -0
  42. package/src/transformers/features/llm/LlmApplicationOfValidateTransformer.ts +115 -0
  43. 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,5 @@
1
+ import ts from "typescript";
2
+ import { ITransformProps } from "../../ITransformProps";
3
+ export declare namespace LlmApplicationOfValidateTransformer {
4
+ const transform: (props: ITransformProps) => ts.Expression;
5
+ }
@@ -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":"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"}
@@ -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.schema",
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: "application",
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.application",
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,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,mDAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC;aACnD;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,mDAAwB,CAAC,KAAK,CAAC;YAC7B,KAAK;YACL,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,kBAAkB;YACxB,IAAI,EAAE,iBAAiB;YACvB,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,EA7FgB,yBAAyB,yCAAzB,yBAAyB,QA6FzC"}
1
+ {"version":3,"file":"LlmApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmApplicationTransformer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "7.0.2-dev.20241205",
3
+ "version": "7.1.0-dev.20241209",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -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);
@@ -58,6 +58,7 @@ export const iterate_metadata_function = (
58
58
  },
59
59
  intersected: false,
60
60
  }),
61
+ tsType: props.checker.getTypeOfSymbol(p),
61
62
  description: CommentFactory.description(p) ?? null,
62
63
  jsDocTags: p?.getJsDocTags() ?? [],
63
64
  }),
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 containig the target functions to be
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 containig the target functions to be
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,