@llumiverse/core 0.10.0 → 0.12.0

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 (75) hide show
  1. package/README.md +2 -7
  2. package/lib/cjs/CompletionStream.js +1 -7
  3. package/lib/cjs/CompletionStream.js.map +1 -1
  4. package/lib/cjs/Driver.js +16 -2
  5. package/lib/cjs/Driver.js.map +1 -1
  6. package/lib/cjs/formatters/claude.js +5 -7
  7. package/lib/cjs/formatters/claude.js.map +1 -1
  8. package/lib/cjs/formatters/commons.js +8 -0
  9. package/lib/cjs/formatters/commons.js.map +1 -0
  10. package/lib/cjs/formatters/generic.js +52 -20
  11. package/lib/cjs/formatters/generic.js.map +1 -1
  12. package/lib/cjs/formatters/index.js +18 -27
  13. package/lib/cjs/formatters/index.js.map +1 -1
  14. package/lib/cjs/formatters/llama2.js +3 -3
  15. package/lib/cjs/formatters/llama2.js.map +1 -1
  16. package/lib/cjs/formatters/openai.js +9 -4
  17. package/lib/cjs/formatters/openai.js.map +1 -1
  18. package/lib/cjs/index.js +0 -1
  19. package/lib/cjs/index.js.map +1 -1
  20. package/lib/cjs/types.js +2 -8
  21. package/lib/cjs/types.js.map +1 -1
  22. package/lib/esm/CompletionStream.js +1 -7
  23. package/lib/esm/CompletionStream.js.map +1 -1
  24. package/lib/esm/Driver.js +17 -3
  25. package/lib/esm/Driver.js.map +1 -1
  26. package/lib/esm/formatters/claude.js +3 -5
  27. package/lib/esm/formatters/claude.js.map +1 -1
  28. package/lib/esm/formatters/commons.js +4 -0
  29. package/lib/esm/formatters/commons.js.map +1 -0
  30. package/lib/esm/formatters/generic.js +50 -18
  31. package/lib/esm/formatters/generic.js.map +1 -1
  32. package/lib/esm/formatters/index.js +5 -26
  33. package/lib/esm/formatters/index.js.map +1 -1
  34. package/lib/esm/formatters/llama2.js +1 -1
  35. package/lib/esm/formatters/llama2.js.map +1 -1
  36. package/lib/esm/formatters/openai.js +7 -2
  37. package/lib/esm/formatters/openai.js.map +1 -1
  38. package/lib/esm/index.js +0 -1
  39. package/lib/esm/index.js.map +1 -1
  40. package/lib/esm/types.js +1 -7
  41. package/lib/esm/types.js.map +1 -1
  42. package/lib/types/CompletionStream.d.ts +1 -2
  43. package/lib/types/CompletionStream.d.ts.map +1 -1
  44. package/lib/types/Driver.d.ts +8 -2
  45. package/lib/types/Driver.d.ts.map +1 -1
  46. package/lib/types/formatters/claude.d.ts +1 -1
  47. package/lib/types/formatters/claude.d.ts.map +1 -1
  48. package/lib/types/formatters/commons.d.ts +3 -0
  49. package/lib/types/formatters/commons.d.ts.map +1 -0
  50. package/lib/types/formatters/generic.d.ts +9 -4
  51. package/lib/types/formatters/generic.d.ts.map +1 -1
  52. package/lib/types/formatters/index.d.ts +7 -3
  53. package/lib/types/formatters/index.d.ts.map +1 -1
  54. package/lib/types/formatters/llama2.d.ts +1 -1
  55. package/lib/types/formatters/llama2.d.ts.map +1 -1
  56. package/lib/types/formatters/openai.d.ts +10 -2
  57. package/lib/types/formatters/openai.d.ts.map +1 -1
  58. package/lib/types/index.d.ts +0 -1
  59. package/lib/types/index.d.ts.map +1 -1
  60. package/lib/types/json.d.ts +8 -8
  61. package/lib/types/json.d.ts.map +1 -1
  62. package/lib/types/types.d.ts +55 -14
  63. package/lib/types/types.d.ts.map +1 -1
  64. package/package.json +15 -5
  65. package/src/CompletionStream.ts +1 -8
  66. package/src/Driver.ts +17 -8
  67. package/src/formatters/claude.ts +3 -6
  68. package/src/formatters/commons.ts +5 -0
  69. package/src/formatters/generic.ts +59 -27
  70. package/src/formatters/index.ts +7 -30
  71. package/src/formatters/llama2.ts +1 -1
  72. package/src/formatters/openai.ts +14 -6
  73. package/src/index.ts +0 -1
  74. package/src/json.ts +7 -7
  75. package/src/types.ts +64 -13
@@ -1,23 +1,55 @@
1
- import { PromptRole } from "../index.js";
2
- export function genericColonSeparator(messages, schema, labels = { user: "User", assistant: "Assistant", system: "System" }) {
3
- const promptMessages = [];
4
- for (const m of messages) {
5
- if (m.role === PromptRole.user) {
6
- promptMessages.push(`${labels?.user}: ${m.content.trim()}`);
1
+ import { PromptRole } from "../types.js";
2
+ import { getJSONSafetyNotice } from "./commons.js";
3
+ export function createTextPromptFormatter(labels = {
4
+ user: "USER",
5
+ system: "CONTEXT",
6
+ assistant: "ASSISTANT",
7
+ safety: "IMPORTANT",
8
+ instruction: "INSTRUCTION"
9
+ }) {
10
+ return function genericTextPrompt(segments, schema) {
11
+ const isChat = segments.find(m => m.role === PromptRole.assistant);
12
+ const context = [];
13
+ const content = [];
14
+ const safety = [];
15
+ for (const segment of segments) {
16
+ switch (segment.role) {
17
+ case PromptRole.user:
18
+ if (isChat) {
19
+ content.push(`${labels.user}: ${segment.content}`);
20
+ }
21
+ else {
22
+ content.push(segment.content);
23
+ }
24
+ break;
25
+ case PromptRole.assistant:
26
+ content.push(`${labels.assistant}: ${segment.content}`);
27
+ break;
28
+ case PromptRole.system:
29
+ context.push(segment.content);
30
+ break;
31
+ case PromptRole.safety:
32
+ safety.push(segment.content);
33
+ break;
34
+ }
7
35
  }
8
- if (m.role === PromptRole.assistant) {
9
- promptMessages.push(`${labels.assistant}: ${m.content.trim()}`);
36
+ if (schema) {
37
+ safety.push(getJSONSafetyNotice(schema));
10
38
  }
11
- if (m.role === PromptRole.system) {
12
- promptMessages.push(`${labels.system}: ${m.content.trim()}`);
39
+ const out = [];
40
+ if (context.length > 0) {
41
+ out.push(`${labels.system}: ${context.join('\n')}`);
13
42
  }
14
- }
15
- if (schema) {
16
- promptMessages.push(`${labels.system}: You must answer using the following JSONSchema:
17
- ---
18
- ${JSON.stringify(schema)}
19
- ---`);
20
- }
21
- return promptMessages.join("\n\n");
43
+ if (content.length > 0) {
44
+ const prefix = context.length > 0 && !isChat ? `${labels.instruction}: ` : '';
45
+ out.push(prefix + content.join('\n'));
46
+ }
47
+ if (safety.length > 0) {
48
+ out.push(`${labels.safety}: ${safety.join('\n')}`);
49
+ }
50
+ return out.join('\n');
51
+ };
22
52
  }
53
+ const formatTextPrompt = createTextPromptFormatter();
54
+ export { formatTextPrompt };
23
55
  //# sourceMappingURL=generic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../src/formatters/generic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAExD,MAAM,UAAU,qBAAqB,CACjC,QAAyB,EACzB,MAAoB,EACpB,SAII,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;IAE9D,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7B,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YAClC,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/B,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACT,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM;;UAElC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACpB,CAAC,CAAC;IACV,CAAC;IAED,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../src/formatters/generic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAUnD,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACvD,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,WAAW;IACnB,WAAW,EAAE,aAAa;CAC7B;IACG,OAAO,SAAS,iBAAiB,CAAC,QAAyB,EAAE,MAAoB;QAC7E,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,UAAU,CAAC,IAAI;oBAChB,IAAI,MAAM,EAAE,CAAC;wBACT,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;oBACvD,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC;oBACD,MAAM;gBACV,KAAK,UAAU,CAAC,SAAS;oBACrB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;oBACxD,MAAM;gBACV,KAAK,UAAU,CAAC,MAAM;oBAClB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC9B,MAAM;gBACV,KAAK,UAAU,CAAC,MAAM;oBAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC7B,MAAM;YACd,CAAC;QACL,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAA;AACL,CAAC;AAED,MAAM,gBAAgB,GAAG,yBAAyB,EAAE,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,27 +1,6 @@
1
- import { genericColonSeparator } from "./generic.js";
2
- import { llama2 } from "./llama2.js";
3
- import { openAI } from "./openai.js";
4
- import { PromptFormats } from "../types.js";
5
- import { claudeMessages } from "./claude.js";
6
- export function inferFormatterFromModelName(modelName) {
7
- const name = modelName.toLowerCase();
8
- if (name.includes("llama")) {
9
- return PromptFormats.llama2;
10
- }
11
- else if (name.includes("gpt")) {
12
- return PromptFormats.openai;
13
- }
14
- else if (name.includes("claude")) {
15
- return PromptFormats.claude;
16
- }
17
- else {
18
- return PromptFormats.genericTextLLM;
19
- }
20
- }
21
- export const PromptFormatters = {
22
- openai: openAI,
23
- llama2: llama2,
24
- claude: claudeMessages,
25
- genericTextLLM: genericColonSeparator,
26
- };
1
+ export * from "./commons.js";
2
+ export * from "./generic.js";
3
+ export * from "./llama2.js";
4
+ export * from "./claude.js";
5
+ export * from "./openai.js";
27
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formatters/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACH,aAAa,EAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,UAAU,2BAA2B,CAAC,SAAiB;IACzD,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,aAAa,CAAC,MAAM,CAAC;IAChC,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,aAAa,CAAC,MAAM,CAAC;IAChC,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,aAAa,CAAC,MAAM,CAAC;IAChC,CAAC;SAAM,CAAC;QACJ,OAAO,aAAa,CAAC,cAAc,CAAC;IACxC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAGzB;IACA,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,cAAc;IACtB,cAAc,EAAE,qBAAqB;CACxC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formatters/index.ts"],"names":[],"mappings":"AAKA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { PromptRole } from "../index.js";
2
- export function llama2(messages, schema) {
2
+ export function formatLlama2Prompt(messages, schema) {
3
3
  const BOS = "<s>";
4
4
  const EOS = "</s>";
5
5
  const INST = "[INST]";
@@ -1 +1 @@
1
- {"version":3,"file":"llama2.js","sourceRoot":"","sources":["../../../src/formatters/llama2.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAExD,MAAM,UAAU,MAAM,CAAC,QAAyB,EAAE,MAAoB;IAClE,MAAM,GAAG,GAAG,KAAK,CAAC;IAClB,MAAM,GAAG,GAAG,MAAM,CAAC;IACnB,MAAM,IAAI,GAAG,QAAQ,CAAC;IACtB,MAAM,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,GAAG,GAAG,WAAW,CAAC;IACxB,MAAM,OAAO,GAAG,YAAY,CAAC;IAE7B,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAE/D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACX,4BAA4B,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CACjE,CAAC;YACN,CAAC;YACD,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YAClC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/B,cAAc,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/B,cAAc,CAAC,IAAI,CACf,GAAG,GAAG,mFAAmF,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,GAAG,CACzH,CAAC;QACN,CAAC;IACL,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACT,cAAc,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEzB,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAmB;IAChD,MAAM,kBAAkB,GAAG;;;EAG7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;;SAEf,CAAC;IAEN,OAAO,kBAAkB,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"llama2.js","sourceRoot":"","sources":["../../../src/formatters/llama2.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAExD,MAAM,UAAU,kBAAkB,CAAC,QAAyB,EAAE,MAAoB;IAC9E,MAAM,GAAG,GAAG,KAAK,CAAC;IAClB,MAAM,GAAG,GAAG,MAAM,CAAC;IACnB,MAAM,IAAI,GAAG,QAAQ,CAAC;IACtB,MAAM,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,GAAG,GAAG,WAAW,CAAC;IACxB,MAAM,OAAO,GAAG,YAAY,CAAC;IAE7B,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAE/D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACX,4BAA4B,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CACjE,CAAC;YACN,CAAC;YACD,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YAClC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/B,cAAc,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/B,cAAc,CAAC,IAAI,CACf,GAAG,GAAG,mFAAmF,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,GAAG,CACzH,CAAC;QACN,CAAC;IACL,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACT,cAAc,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEzB,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAmB;IAChD,MAAM,kBAAkB,GAAG;;;EAG7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;;SAEf,CAAC;IAEN,OAAO,kBAAkB,CAAC;AAC9B,CAAC"}
@@ -1,5 +1,10 @@
1
1
  import { PromptRole } from "../index.js";
2
- export function openAI(segments) {
2
+ /**
3
+ * OpenAI text only prompts
4
+ * @param segments
5
+ * @returns
6
+ */
7
+ export function formatOpenAILikePrompt(segments) {
3
8
  const system = [];
4
9
  const others = [];
5
10
  const safety = [];
@@ -8,7 +13,7 @@ export function openAI(segments) {
8
13
  system.push({ content: msg.content, role: "system" });
9
14
  }
10
15
  else if (msg.role === PromptRole.safety) {
11
- safety.push({ content: msg.content, role: "system" });
16
+ safety.push({ content: "IMPORTANT: " + msg.content, role: "system" });
12
17
  }
13
18
  else {
14
19
  others.push({ content: msg.content, role: "user" });
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/formatters/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,MAAM,UAAU,MAAM,CAAC,QAAyB;IAC5C,MAAM,MAAM,GAA6C,EAAE,CAAC;IAC5D,MAAM,MAAM,GAA6C,EAAE,CAAC;IAC5D,MAAM,MAAM,GAA6C,EAAE,CAAC;IAE5D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/formatters/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAyB;IAC5D,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
package/lib/esm/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from "./Driver.js";
2
- export * from "./formatters/index.js";
3
2
  export * from "./json.js";
4
3
  export * from "./types.js";
5
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
package/lib/esm/types.js CHANGED
@@ -36,13 +36,6 @@ export var ModelType;
36
36
  })(ModelType || (ModelType = {}));
37
37
  // ============== Built-in formats and drivers =====================
38
38
  //TODO
39
- export var PromptFormats;
40
- (function (PromptFormats) {
41
- PromptFormats["openai"] = "openai";
42
- PromptFormats["llama2"] = "llama2";
43
- PromptFormats["claude"] = "claude";
44
- PromptFormats["genericTextLLM"] = "genericTextLLM";
45
- })(PromptFormats || (PromptFormats = {}));
46
39
  export var BuiltinProviders;
47
40
  (function (BuiltinProviders) {
48
41
  BuiltinProviders["openai"] = "openai";
@@ -52,6 +45,7 @@ export var BuiltinProviders;
52
45
  BuiltinProviders["vertexai"] = "vertexai";
53
46
  BuiltinProviders["togetherai"] = "togetherai";
54
47
  BuiltinProviders["mistralai"] = "mistralai";
48
+ BuiltinProviders["groq"] = "groq";
55
49
  //virtual = 'virtual',
56
50
  //cohere = 'cohere',
57
51
  })(BuiltinProviders || (BuiltinProviders = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AA2FA,yCAAyC;AACzC,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,qCAAuB,CAAA;AAC3B,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AA8BD,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,4CAA2B,CAAA;IAC3B,oCAAmB,CAAA;AACvB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAiBD,MAAM,CAAN,IAAY,SAkBX;AAlBD,WAAY,SAAS;IACjB,sCAAyB,CAAA;IACzB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IACzB,mDAAsC,CAAA;IACtC,uCAA0B,CAAA;IAC1B,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,oCAAuB,CAAA;IACvB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,uCAA0B,CAAA;IAC1B,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,gCAAmB,CAAA;AACvB,CAAC,EAlBW,SAAS,KAAT,SAAS,QAkBpB;AAED,oEAAoE;AACpE,MAAM;AAEN,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACrB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;AACrC,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,CAAN,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IACxB,qCAAiB,CAAA;IACjB,qDAAiC,CAAA;IACjC,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,0BAA0B;IAC1B,oBAAoB;AACxB,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B;AAwBD,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,wCAAmB,CAAA;IACnB,4CAAuB,CAAA;IACvB,sCAAiB,CAAA;IACjB,4CAAuB,CAAA;AAC3B,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAmJA,yCAAyC;AACzC,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,qCAAuB,CAAA;AAC3B,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AA8BD,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,4CAA2B,CAAA;IAC3B,oCAAmB,CAAA;AACvB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAiBD,MAAM,CAAN,IAAY,SAkBX;AAlBD,WAAY,SAAS;IACjB,sCAAyB,CAAA;IACzB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IACzB,mDAAsC,CAAA;IACtC,uCAA0B,CAAA;IAC1B,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,oCAAuB,CAAA;IACvB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,uCAA0B,CAAA;IAC1B,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,gCAAmB,CAAA;AACvB,CAAC,EAlBW,SAAS,KAAT,SAAS,QAkBpB;AAED,oEAAoE;AACpE,MAAM;AAEN,MAAM,CAAN,IAAY,gBAWX;AAXD,WAAY,gBAAgB;IACxB,qCAAiB,CAAA;IACjB,qDAAiC,CAAA;IACjC,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,iCAAa,CAAA;IACb,0BAA0B;IAC1B,oBAAoB;AACxB,CAAC,EAXW,gBAAgB,KAAhB,gBAAgB,QAW3B;AAyBD,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,wCAAmB,CAAA;IACnB,4CAAuB,CAAA;IACvB,sCAAiB,CAAA;IACjB,4CAAuB,CAAA;AAC3B,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B"}
@@ -13,9 +13,8 @@ export declare class FallbackCompletionStream<PromptT = any> implements Completi
13
13
  driver: AbstractDriver<DriverOptions, PromptT>;
14
14
  options: ExecutionOptions;
15
15
  prompt: PromptT;
16
- chunks: string[];
17
16
  completion: ExecutionResponse<PromptT> | undefined;
18
17
  constructor(driver: AbstractDriver<DriverOptions, PromptT>, segments: PromptSegment[], options: ExecutionOptions);
19
- [Symbol.asyncIterator](): AsyncGenerator<any, void, unknown>;
18
+ [Symbol.asyncIterator](): AsyncGenerator<string, void, unknown>;
20
19
  }
21
20
  //# sourceMappingURL=CompletionStream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompletionStream.d.ts","sourceRoot":"","sources":["../../src/CompletionStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjH,qBAAa,uBAAuB,CAAC,OAAO,GAAG,GAAG,CAAE,YAAW,gBAAgB,CAAC,OAAO,CAAC;IAMjE,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC;IAEtD,OAAO,EAAE,gBAAgB;IANpC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAEhC,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,EAC7D,QAAQ,EAAE,aAAa,EAAE,EAClB,OAAO,EAAE,gBAAgB;IAM7B,CAAC,MAAM,CAAC,aAAa,CAAC;CAwChC;AAED,qBAAa,wBAAwB,CAAC,OAAO,GAAG,GAAG,CAAE,YAAW,gBAAgB,CAAC,OAAO,CAAC;IAMlE,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC;IAEtD,OAAO,EAAE,gBAAgB;IANpC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAEhC,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,EAC7D,QAAQ,EAAE,aAAa,EAAE,EAClB,OAAO,EAAE,gBAAgB;IAM7B,CAAC,MAAM,CAAC,aAAa,CAAC;CAiBhC"}
1
+ {"version":3,"file":"CompletionStream.d.ts","sourceRoot":"","sources":["../../src/CompletionStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjH,qBAAa,uBAAuB,CAAC,OAAO,GAAG,GAAG,CAAE,YAAW,gBAAgB,CAAC,OAAO,CAAC;IAMjE,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC;IAEtD,OAAO,EAAE,gBAAgB;IANpC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAEhC,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,EAC7D,QAAQ,EAAE,aAAa,EAAE,EAClB,OAAO,EAAE,gBAAgB;IAM7B,CAAC,MAAM,CAAC,aAAa,CAAC;CAwChC;AAED,qBAAa,wBAAwB,CAAC,OAAO,GAAG,GAAG,CAAE,YAAW,gBAAgB,CAAC,OAAO,CAAC;IAKlE,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC;IAEtD,OAAO,EAAE,gBAAgB;IALpC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAEhC,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,EAC7D,QAAQ,EAAE,aAAa,EAAE,EAClB,OAAO,EAAE,gBAAgB;IAK7B,CAAC,MAAM,CAAC,aAAa,CAAC;CAYhC"}
@@ -3,7 +3,7 @@
3
3
  * Base abstract class is then implemented by each environment
4
4
  * (eg: OpenAI, HuggingFace, etc.)
5
5
  */
6
- import { AIModel, Completion, CompletionStream, DataSource, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, ExecutionResponse, Logger, ModelSearchPayload, PromptFormats, PromptOptions, PromptSegment, TrainingJob, TrainingOptions, TrainingPromptOptions } from "./types.js";
6
+ import { AIModel, Completion, CompletionStream, DataSource, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, ExecutionResponse, Logger, ModelSearchPayload, PromptOptions, PromptSegment, TrainingJob, TrainingOptions, TrainingPromptOptions } from "./types.js";
7
7
  export declare function createLogger(logger: Logger | "console" | undefined): Logger;
8
8
  export interface Driver<PromptT = unknown> {
9
9
  /**
@@ -31,7 +31,6 @@ export declare abstract class AbstractDriver<OptionsT extends DriverOptions = Dr
31
31
  options: OptionsT;
32
32
  logger: Logger;
33
33
  abstract provider: string;
34
- abstract defaultFormat: PromptFormats;
35
34
  constructor(opts: OptionsT);
36
35
  createTrainingPrompt(options: TrainingPromptOptions): string;
37
36
  startTraining(_dataset: DataSource, _options: TrainingOptions): Promise<TrainingJob>;
@@ -41,6 +40,13 @@ export declare abstract class AbstractDriver<OptionsT extends DriverOptions = Dr
41
40
  execute(segments: PromptSegment[], options: ExecutionOptions): Promise<ExecutionResponse<PromptT>>;
42
41
  _execute(prompt: PromptT, options: ExecutionOptions): Promise<ExecutionResponse<PromptT>>;
43
42
  stream(segments: PromptSegment[], options: ExecutionOptions): Promise<CompletionStream<PromptT>>;
43
+ /**
44
+ * Override this method to provide a custom prompt formatter
45
+ * @param segments
46
+ * @param options
47
+ * @returns
48
+ */
49
+ protected formatPrompt(segments: PromptSegment[], opts: PromptOptions): PromptT;
44
50
  createPrompt(segments: PromptSegment[], opts: PromptOptions): PromptT;
45
51
  /**
46
52
  * Must be overrided if the implementation cannot stream.
@@ -1 +1 @@
1
- {"version":3,"file":"Driver.d.ts","sourceRoot":"","sources":["../../src/Driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Driver.d.ts","sourceRoot":"","sources":["../../src/Driver.ts"],"names":[],"mappings":"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"}
@@ -15,5 +15,5 @@ export interface ClaudeMessagesPrompt {
15
15
  /**
16
16
  * A formatter user by Bedrock to format prompts for claude related models
17
17
  */
18
- export declare function claudeMessages(segments: PromptSegment[], schema?: JSONSchema4): ClaudeMessagesPrompt;
18
+ export declare function formatClaudePrompt(segments: PromptSegment[], schema?: JSONSchema4): ClaudeMessagesPrompt;
19
19
  //# sourceMappingURL=claude.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/formatters/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QACL,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;CACN;AAED,MAAM,WAAW,oBAAoB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC5B;AAED;;GAEG;AAEH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,oBAAoB,CAqDpG"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/formatters/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAGxD,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QACL,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;CACN;AAED,MAAM,WAAW,oBAAoB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC5B;AAED;;GAEG;AAEH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,oBAAoB,CAiDxG"}
@@ -0,0 +1,3 @@
1
+ import { JSONSchema4 } from "json-schema";
2
+ export declare function getJSONSafetyNotice(schema: JSONSchema4): string;
3
+ //# sourceMappingURL=commons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commons.d.ts","sourceRoot":"","sources":["../../../src/formatters/commons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,UAEtD"}
@@ -1,8 +1,13 @@
1
1
  import { JSONSchema4 } from "json-schema";
2
- import { PromptSegment } from "../index.js";
3
- export declare function genericColonSeparator(messages: PromptSegment[], schema?: JSONSchema4, labels?: {
2
+ import { PromptSegment } from "../types.js";
3
+ interface Labels {
4
4
  user: string;
5
- assistant: string;
6
5
  system: string;
7
- }): string;
6
+ assistant: string;
7
+ safety: string;
8
+ instruction: string;
9
+ }
10
+ export declare function createTextPromptFormatter(labels?: Labels): (segments: PromptSegment[], schema?: JSONSchema4) => string;
11
+ declare const formatTextPrompt: (segments: PromptSegment[], schema?: JSONSchema4) => string;
12
+ export { formatTextPrompt };
8
13
  //# sourceMappingURL=generic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../src/formatters/generic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,aAAa,EAAE,EACzB,MAAM,CAAC,EAAE,WAAW,EACpB,MAAM,GAAE;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAC2C,UAuBjE"}
1
+ {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../src/formatters/generic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAGxD,UAAU,MAAM;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,GAAE,MAMjD,cAC+C,aAAa,EAAE,WAAW,WAAW,KAAG,MAAM,CA2C7F;AAED,QAAA,MAAM,gBAAgB,aA7C0B,aAAa,EAAE,WAAW,WAAW,KAAG,MA6CpC,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,5 +1,9 @@
1
1
  import { JSONSchema4 } from "json-schema";
2
- import { PromptFormats, PromptSegment } from "../types.js";
3
- export declare function inferFormatterFromModelName(modelName: string): PromptFormats;
4
- export declare const PromptFormatters: Record<PromptFormats, (messages: PromptSegment[], schema?: JSONSchema4) => any>;
2
+ import { PromptSegment } from "../types.js";
3
+ export type PromptFormatter<T = any> = (messages: PromptSegment[], schema?: JSONSchema4) => T;
4
+ export * from "./commons.js";
5
+ export * from "./generic.js";
6
+ export * from "./llama2.js";
7
+ export * from "./claude.js";
8
+ export * from "./openai.js";
5
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formatters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,EACH,aAAa,EACb,aAAa,EAChB,MAAM,aAAa,CAAC;AAGrB,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAW5E;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CACjC,aAAa,EACb,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,GAAG,CAM3D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formatters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,CAAC,CAAC;AAE9F,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { JSONSchema4 } from "json-schema";
2
2
  import { PromptSegment } from "../index.js";
3
- export declare function llama2(messages: PromptSegment[], schema?: JSONSchema4): string;
3
+ export declare function formatLlama2Prompt(messages: PromptSegment[], schema?: JSONSchema4): string;
4
4
  //# sourceMappingURL=llama2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"llama2.d.ts","sourceRoot":"","sources":["../../../src/formatters/llama2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,UA2CrE"}
1
+ {"version":3,"file":"llama2.d.ts","sourceRoot":"","sources":["../../../src/formatters/llama2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,UA2CjF"}
@@ -1,4 +1,12 @@
1
1
  import { PromptSegment } from "../types.js";
2
- import OpenAI from "openai";
3
- export declare function openAI(segments: PromptSegment[]): OpenAI.Chat.Completions.ChatCompletionMessageParam[];
2
+ export interface OpenAITextMessage {
3
+ content: string;
4
+ role: "system" | "user" | "assistant";
5
+ }
6
+ /**
7
+ * OpenAI text only prompts
8
+ * @param segments
9
+ * @returns
10
+ */
11
+ export declare function formatOpenAILikePrompt(segments: PromptSegment[]): OpenAITextMessage[];
4
12
  //# sourceMappingURL=openai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/formatters/openai.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,wBAAgB,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,wDAiB/C"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/formatters/openai.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;CACzC;AACD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,EAAE,uBAiB/D"}
@@ -1,5 +1,4 @@
1
1
  export * from "./Driver.js";
2
- export * from "./formatters/index.js";
3
2
  export * from "./json.js";
4
3
  export * from "./types.js";
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -1,11 +1,11 @@
1
- export declare function extractAndParseJSON(text: string): Json;
2
- export type JsonPrimative = string | number | boolean | null;
3
- export type JsonArray = Json[];
4
- export type JsonObject = {
5
- [key: string]: Json;
1
+ export declare function extractAndParseJSON(text: string): JSONValue;
2
+ export type JSONPrimitive = string | number | boolean | null;
3
+ export type JSONArray = JSONValue[];
4
+ export type JSONObject = {
5
+ [key: string]: JSONValue;
6
6
  };
7
- export type JsonComposite = JsonArray | JsonObject;
8
- export type Json = JsonPrimative | JsonComposite;
7
+ export type JSONComposite = JSONArray | JSONObject;
8
+ export type JSONValue = JSONPrimitive | JSONComposite;
9
9
  export declare class JsonParser {
10
10
  text: string;
11
11
  pos: number;
@@ -19,5 +19,5 @@ export declare class JsonParser {
19
19
  readValue(): any;
20
20
  static parse(text: string): any;
21
21
  }
22
- export declare function parseJSON(text: string): Json;
22
+ export declare function parseJSON(text: string): JSONValue;
23
23
  //# sourceMappingURL=json.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/json.ts"],"names":[],"mappings":"AAQA,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC;AAC/B,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AACjD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AACnD,MAAM,MAAM,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC;AAqBjD,qBAAa,UAAU;IAGA,IAAI,EAAE,MAAM;IAF/B,GAAG,EAAE,MAAM,CAAK;gBAEG,IAAI,EAAE,MAAM;IAE/B,IAAI,CAAC,CAAC,EAAE,MAAM;IAKd,kBAAkB;IAQlB,OAAO;IAwBP,UAAU;IAkCV,UAAU;IA+BV,SAAS;IAoBT,SAAS;IAWT,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM;CAQ5B;AAGD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAY5C"}
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/json.ts"],"names":[],"mappings":"AAQA,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAE3D;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AACpC,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AACnD,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC;AAqBtD,qBAAa,UAAU;IAGA,IAAI,EAAE,MAAM;IAF/B,GAAG,EAAE,MAAM,CAAK;gBAEG,IAAI,EAAE,MAAM;IAE/B,IAAI,CAAC,CAAC,EAAE,MAAM;IAKd,kBAAkB;IAQlB,OAAO;IAwBP,UAAU;IAkCV,UAAU;IA+BV,SAAS;IAoBT,SAAS;IAWT,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM;CAQ5B;AAGD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAYjD"}
@@ -1,7 +1,6 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  import { JSONSchema4 } from "json-schema";
3
- import { Readable } from "stream";
4
- import { JsonObject } from "./json.js";
2
+ import { JSONObject } from "./json.js";
3
+ import { PromptFormatter } from "./formatters/index.js";
5
4
  export interface EmbeddingsOptions {
6
5
  /**
7
6
  * The content to generate the embeddings for. Required.
@@ -43,11 +42,19 @@ export interface ResultValidationError {
43
42
  export interface Completion<ResultT = any> {
44
43
  result: ResultT;
45
44
  token_usage?: ExecutionTokenUsage;
45
+ /**
46
+ * The finish reason as reported by the model: stop | length or other model specific values
47
+ */
48
+ finish_reason?: "stop" | "length" | string;
46
49
  /**
47
50
  * Set only if a result validation error occured, otherwise if the result is valid the error field is undefined
48
51
  * This can only be set if the resultSchema is set and the reuslt could not be parsed as a json or if the result does not match the schema
49
52
  */
50
53
  error?: ResultValidationError;
54
+ /**
55
+ * The original response. Only included if the option include_original_response is set to true and the request is made using execute. Not supported when streaming.
56
+ */
57
+ original_response?: Record<string, any>;
51
58
  }
52
59
  export interface ExecutionResponse<PromptT = any> extends Completion {
53
60
  prompt: PromptT;
@@ -70,12 +77,51 @@ export interface DriverOptions {
70
77
  }
71
78
  export interface PromptOptions {
72
79
  model: string;
73
- format?: PromptFormats;
80
+ /**
81
+ * A custom formatter to use for format the final model prompt from the input prompt segments.
82
+ * If no one is specified the driver will choose a formatter compatible with the target model
83
+ */
84
+ format?: PromptFormatter;
74
85
  resultSchema?: JSONSchema4;
75
86
  }
76
87
  export interface ExecutionOptions extends PromptOptions {
77
88
  temperature?: number;
78
89
  max_tokens?: number;
90
+ stop_sequence?: string | string[];
91
+ /**
92
+ * restricts the selection of tokens to the “k” most likely options, based on their probabilities
93
+ * Lower values make the model more deterministic, more focused. Examples:
94
+ * - 10 - result will be highly controlled anc contextually relevant
95
+ * - 50 - result will be more creative but maintaining a balance between control and creativity
96
+ * - 100 - will lead to more creative and less predictable outputs
97
+ * It will be ignored on OpenAI since it does not support it
98
+ */
99
+ top_k?: number;
100
+ /**
101
+ * An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.
102
+ * Either use temperature or top_p, not both
103
+ */
104
+ top_p?: number;
105
+ /**
106
+ * Only supported for OpenAI. Look at OpenAI documentation for more detailsx
107
+ */
108
+ top_logprobs?: number;
109
+ /**
110
+ * Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
111
+ * Ignored for models which doesn;t support it
112
+ */
113
+ presence_penalty?: number;
114
+ /**
115
+ * Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.
116
+ * Ignored for models which doesn;t support it
117
+ */
118
+ frequency_penalty?: number;
119
+ /**
120
+ * If set to true the original response from the target LLM will be included in the response under the original_response field.
121
+ * This is useful for debugging and for some advanced use cases.
122
+ * It is ignored on streaming requests
123
+ */
124
+ include_original_response?: boolean;
79
125
  }
80
126
  export declare enum PromptRole {
81
127
  safety = "safety",
@@ -144,12 +190,6 @@ export declare enum ModelType {
144
190
  Other = "other",
145
191
  Unknown = "unknown"
146
192
  }
147
- export declare enum PromptFormats {
148
- openai = "openai",
149
- llama2 = "llama2",
150
- claude = "claude",
151
- genericTextLLM = "genericTextLLM"
152
- }
153
193
  export declare enum BuiltinProviders {
154
194
  openai = "openai",
155
195
  huggingface_ie = "huggingface_ie",
@@ -157,21 +197,22 @@ export declare enum BuiltinProviders {
157
197
  bedrock = "bedrock",
158
198
  vertexai = "vertexai",
159
199
  togetherai = "togetherai",
160
- mistralai = "mistralai"
200
+ mistralai = "mistralai",
201
+ groq = "groq"
161
202
  }
162
203
  export interface DataSource {
163
204
  name: string;
164
- getStream(): Readable;
205
+ getStream(): ReadableStream<Uint8Array | string>;
165
206
  getURL(): Promise<string>;
166
207
  }
167
208
  export interface TrainingOptions {
168
209
  name: string;
169
210
  model: string;
170
- params?: JsonObject;
211
+ params?: JSONObject;
171
212
  }
172
213
  export interface TrainingPromptOptions {
173
214
  segments: PromptSegment[];
174
- completion: string | JsonObject;
215
+ completion: string | JSONObject;
175
216
  model: string;
176
217
  schema?: JSONSchema4;
177
218
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}