@ax-llm/ax 9.0.61 → 10.0.2

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 (115) hide show
  1. package/ai/base.js +2 -3
  2. package/ai/base.js.map +1 -1
  3. package/ai/types.d.ts +2 -0
  4. package/cjs/ai/base.js +2 -3
  5. package/cjs/ai/base.js.map +1 -1
  6. package/cjs/ai/types.d.ts +2 -0
  7. package/cjs/docs/manager.js +2 -2
  8. package/cjs/docs/manager.js.map +1 -1
  9. package/cjs/docs/reranker.d.ts +4 -4
  10. package/cjs/docs/reranker.js +5 -5
  11. package/cjs/docs/reranker.js.map +1 -1
  12. package/cjs/docs/rewriter.d.ts +3 -3
  13. package/cjs/docs/rewriter.js +3 -3
  14. package/cjs/docs/rewriter.js.map +1 -1
  15. package/cjs/dsp/evaluate.d.ts +4 -1
  16. package/cjs/dsp/evaluate.js +4 -2
  17. package/cjs/dsp/evaluate.js.map +1 -1
  18. package/cjs/dsp/functions.js +2 -1
  19. package/cjs/dsp/functions.js.map +1 -1
  20. package/cjs/dsp/generate.d.ts +8 -6
  21. package/cjs/dsp/generate.js +47 -42
  22. package/cjs/dsp/generate.js.map +1 -1
  23. package/cjs/dsp/index.d.ts +0 -1
  24. package/cjs/dsp/index.js +0 -1
  25. package/cjs/dsp/index.js.map +1 -1
  26. package/cjs/dsp/optimize.d.ts +4 -1
  27. package/cjs/dsp/optimize.js +4 -2
  28. package/cjs/dsp/optimize.js.map +1 -1
  29. package/cjs/dsp/program.d.ts +7 -4
  30. package/cjs/dsp/program.js +10 -3
  31. package/cjs/dsp/program.js.map +1 -1
  32. package/cjs/dsp/prompt.js +19 -8
  33. package/cjs/dsp/prompt.js.map +1 -1
  34. package/cjs/dsp/util.js +6 -3
  35. package/cjs/dsp/util.js.map +1 -1
  36. package/cjs/funcs/code.js +1 -1
  37. package/cjs/funcs/code.js.map +1 -1
  38. package/cjs/prompts/agent.d.ts +8 -4
  39. package/cjs/prompts/agent.js +23 -11
  40. package/cjs/prompts/agent.js.map +1 -1
  41. package/cjs/prompts/cot.d.ts +3 -4
  42. package/cjs/prompts/cot.js +3 -3
  43. package/cjs/prompts/cot.js.map +1 -1
  44. package/cjs/prompts/rag.d.ts +4 -4
  45. package/cjs/prompts/rag.js +6 -6
  46. package/cjs/prompts/rag.js.map +1 -1
  47. package/cjs/prompts/react.d.ts +2 -3
  48. package/cjs/prompts/react.js +2 -2
  49. package/cjs/prompts/react.js.map +1 -1
  50. package/cjs/util/apicall.js +2 -2
  51. package/cjs/util/apicall.js.map +1 -1
  52. package/cjs/util/sse.d.ts +12 -0
  53. package/cjs/util/sse.js +97 -0
  54. package/cjs/util/sse.js.map +1 -0
  55. package/cjs/util/transform.d.ts +0 -3
  56. package/cjs/util/transform.js +1 -32
  57. package/cjs/util/transform.js.map +1 -1
  58. package/docs/manager.js +2 -2
  59. package/docs/manager.js.map +1 -1
  60. package/docs/reranker.d.ts +4 -4
  61. package/docs/reranker.js +6 -6
  62. package/docs/reranker.js.map +1 -1
  63. package/docs/rewriter.d.ts +3 -3
  64. package/docs/rewriter.js +4 -4
  65. package/docs/rewriter.js.map +1 -1
  66. package/dsp/evaluate.d.ts +4 -1
  67. package/dsp/evaluate.js +4 -2
  68. package/dsp/evaluate.js.map +1 -1
  69. package/dsp/functions.js +2 -1
  70. package/dsp/functions.js.map +1 -1
  71. package/dsp/generate.d.ts +8 -6
  72. package/dsp/generate.js +44 -40
  73. package/dsp/generate.js.map +1 -1
  74. package/dsp/index.d.ts +0 -1
  75. package/dsp/index.js +0 -1
  76. package/dsp/index.js.map +1 -1
  77. package/dsp/optimize.d.ts +4 -1
  78. package/dsp/optimize.js +4 -2
  79. package/dsp/optimize.js.map +1 -1
  80. package/dsp/program.d.ts +7 -4
  81. package/dsp/program.js +10 -3
  82. package/dsp/program.js.map +1 -1
  83. package/dsp/prompt.js +19 -8
  84. package/dsp/prompt.js.map +1 -1
  85. package/dsp/util.js +6 -3
  86. package/dsp/util.js.map +1 -1
  87. package/funcs/code.js +1 -1
  88. package/funcs/code.js.map +1 -1
  89. package/package.json +1 -1
  90. package/prompts/agent.d.ts +8 -4
  91. package/prompts/agent.js +23 -11
  92. package/prompts/agent.js.map +1 -1
  93. package/prompts/cot.d.ts +3 -4
  94. package/prompts/cot.js +4 -4
  95. package/prompts/cot.js.map +1 -1
  96. package/prompts/rag.d.ts +4 -4
  97. package/prompts/rag.js +7 -7
  98. package/prompts/rag.js.map +1 -1
  99. package/prompts/react.d.ts +2 -3
  100. package/prompts/react.js +2 -2
  101. package/prompts/react.js.map +1 -1
  102. package/util/apicall.js +2 -2
  103. package/util/apicall.js.map +1 -1
  104. package/util/sse.d.ts +12 -0
  105. package/util/sse.js +93 -0
  106. package/util/sse.js.map +1 -0
  107. package/util/transform.d.ts +0 -3
  108. package/util/transform.js +0 -30
  109. package/util/transform.js.map +1 -1
  110. package/cjs/dsp/gen2.d.ts +0 -8
  111. package/cjs/dsp/gen2.js +0 -15
  112. package/cjs/dsp/gen2.js.map +0 -1
  113. package/dsp/gen2.d.ts +0 -8
  114. package/dsp/gen2.js +0 -11
  115. package/dsp/gen2.js.map +0 -1
package/docs/reranker.js CHANGED
@@ -1,12 +1,12 @@
1
- import { AxGenerate, axStringUtil } from '../dsp/index.js';
2
- export class AxDefaultResultReranker extends AxGenerate {
3
- constructor(ai, options) {
1
+ import { AxGen, axStringUtil } from '../dsp/index.js';
2
+ export class AxDefaultResultReranker extends AxGen {
3
+ constructor(options) {
4
4
  const signature = `"You are a re-ranker assistant tasked with evaluating a set of content items in relation to a specific question. Your role involves critically analyzing each content item to determine its relevance to the question and re-ranking them accordingly. This process includes assigning a relevance score from 0 to 10 to each content item based on how well it answers the question, its coverage of the topic, and the reliability of its information. This re-ranked list should start with the content item that is most relevant to the question and end with the least relevant. Output only the list."
5
5
  query: string, items: string[] -> rankedItems: string[] "list of id, 5-words Rationale, relevance score"`;
6
- super(ai, signature, options);
6
+ super(signature, options);
7
7
  }
8
- forward = async (input, options) => {
9
- const { rankedItems } = await super.forward(input, options);
8
+ forward = async (ai, input, options) => {
9
+ const { rankedItems } = await super.forward(ai, input, options);
10
10
  const sortedIndexes = rankedItems.map((item) => {
11
11
  const { id: index } = axStringUtil.extractIdAndText(item);
12
12
  return index;
@@ -1 +1 @@
1
- {"version":3,"file":"reranker.js","sourceRoot":"","sources":["../../docs/reranker.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAGV,YAAY,EACb,MAAM,iBAAiB,CAAC;AAIzB,MAAM,OAAO,uBAAwB,SAAQ,UAG5C;IACC,YAAY,EAAe,EAAE,OAAqC;QAChE,MAAM,SAAS,GAAG;6GACuF,CAAC;QAE1G,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAEe,OAAO,GAAG,KAAK,EAC7B,KAA6B,EAC7B,OAA2C,EACnB,EAAE;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE5D,MAAM,aAAa,GAAa,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvD,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,mEAAmE;QACnE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAChB,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,aAAa,KAAK,SAAS;gBAChC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5B,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAExD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IACtC,CAAC,CAAC;CACH"}
1
+ {"version":3,"file":"reranker.js","sourceRoot":"","sources":["../../docs/reranker.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EAGL,YAAY,EACb,MAAM,iBAAiB,CAAC;AAIzB,MAAM,OAAO,uBAAwB,SAAQ,KAG5C;IACC,YAAY,OAAgC;QAC1C,MAAM,SAAS,GAAG;6GACuF,CAAC;QAE1G,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAEe,OAAO,GAAG,KAAK,EAC7B,EAAyB,EACzB,KAA6B,EAC7B,OAA2C,EACnB,EAAE;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAEhE,MAAM,aAAa,GAAa,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvD,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,mEAAmE;QACnE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAChB,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,aAAa,KAAK,SAAS;gBAChC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5B,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAExD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IACtC,CAAC,CAAC;CACH"}
@@ -1,4 +1,4 @@
1
- import { type AxAIService, AxGenerate, type AxGenerateOptions, type AxRewriteIn, type AxRewriteOut } from '../index.js';
2
- export declare class AxDefaultQueryRewriter extends AxGenerate<AxRewriteIn, AxRewriteOut> {
3
- constructor(ai: AxAIService, options?: Readonly<AxGenerateOptions>);
1
+ import { AxGen, type AxGenOptions, type AxRewriteIn, type AxRewriteOut } from '../index.js';
2
+ export declare class AxDefaultQueryRewriter extends AxGen<AxRewriteIn, AxRewriteOut> {
3
+ constructor(options?: Readonly<AxGenOptions>);
4
4
  }
package/docs/rewriter.js CHANGED
@@ -1,9 +1,9 @@
1
- import { AxGenerate } from '../index.js';
2
- export class AxDefaultQueryRewriter extends AxGenerate {
3
- constructor(ai, options) {
1
+ import { AxGen } from '../index.js';
2
+ export class AxDefaultQueryRewriter extends AxGen {
3
+ constructor(options) {
4
4
  const signature = `"You are a query rewriter assistant tasked with rewriting a given query to improve its clarity, specificity, and relevance. Your role involves analyzing the query to identify any ambiguities, generalizations, or irrelevant information and then rephrasing it to make it more focused and precise. The rewritten query should be concise, easy to understand, and directly related to the original query. Output only the rewritten query."
5
5
  query: string -> rewrittenQuery: string`;
6
- super(ai, signature, options);
6
+ super(signature, options);
7
7
  }
8
8
  }
9
9
  //# sourceMappingURL=rewriter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rewriter.js","sourceRoot":"","sources":["../../docs/rewriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAIX,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,sBAAuB,SAAQ,UAG3C;IACC,YAAY,EAAe,EAAE,OAAqC;QAChE,MAAM,SAAS,GAAG;4CACsB,CAAC;QAEzC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"rewriter.js","sourceRoot":"","sources":["../../docs/rewriter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAIN,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,sBAAuB,SAAQ,KAAgC;IAC1E,YAAY,OAAgC;QAC1C,MAAM,SAAS,GAAG;4CACsB,CAAC;QAEzC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;CACF"}
package/dsp/evaluate.d.ts CHANGED
@@ -1,12 +1,15 @@
1
+ import type { AxAIService } from '../ai/types.js';
1
2
  import type { AxExample, AxMetricFn } from './optimize.js';
2
3
  import type { AxGenIn, AxGenOut, AxProgram } from './program.js';
3
4
  export type AxEvaluateArgs<IN extends AxGenIn, OUT extends AxGenOut> = {
5
+ ai: AxAIService;
4
6
  program: Readonly<AxProgram<IN, OUT>>;
5
7
  examples: Readonly<AxExample[]>;
6
8
  };
7
9
  export declare class AxTestPrompt<IN extends AxGenIn = AxGenIn, OUT extends AxGenOut = AxGenOut> {
10
+ private ai;
8
11
  private program;
9
12
  private examples;
10
- constructor({ program, examples }: Readonly<AxEvaluateArgs<IN, OUT>>);
13
+ constructor({ ai, program, examples }: Readonly<AxEvaluateArgs<IN, OUT>>);
11
14
  run(metricFn: AxMetricFn): Promise<void>;
12
15
  }
package/dsp/evaluate.js CHANGED
@@ -1,11 +1,13 @@
1
1
  import { updateProgressBar } from './util.js';
2
2
  export class AxTestPrompt {
3
+ ai;
3
4
  program;
4
5
  examples;
5
- constructor({ program, examples = [] }) {
6
+ constructor({ ai, program, examples = [] }) {
6
7
  if (examples.length == 0) {
7
8
  throw new Error('No examples found');
8
9
  }
10
+ this.ai = ai;
9
11
  this.program = program;
10
12
  this.examples = examples;
11
13
  }
@@ -18,7 +20,7 @@ export class AxTestPrompt {
18
20
  if (!ex) {
19
21
  throw new Error('Invalid example');
20
22
  }
21
- const res = await this.program.forward(ex);
23
+ const res = await this.program.forward(this.ai, ex);
22
24
  const success = metricFn({ prediction: res, example: ex });
23
25
  if (success) {
24
26
  successCount++;
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../dsp/evaluate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAO9C,MAAM,OAAO,YAAY;IAIf,OAAO,CAA+B;IACtC,QAAQ,CAAwB;IAExC,YAAY,EAAE,OAAO,EAAE,QAAQ,GAAG,EAAE,EAAqC;QACvE,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAAoB;QACnC,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAQ,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,EAAE,CAAC;YACjB,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YACrC,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,CAAC,GAAG,CACT,iBAAiB,EACjB,YAAY,EACZ,GAAG,EACH,KAAK,EACL,YAAY,EACZ,YAAY,GAAG,KAAK,EACpB,IAAI,CACL,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../dsp/evaluate.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAQ9C,MAAM,OAAO,YAAY;IAIf,EAAE,CAAc;IAChB,OAAO,CAA+B;IACtC,QAAQ,CAAwB;IAExC,YAAY,EACV,EAAE,EACF,OAAO,EACP,QAAQ,GAAG,EAAE,EACqB;QAClC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAAoB;QACnC,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAQ,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,EAAE,CAAC;YACjB,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YACrC,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,CAAC,GAAG,CACT,iBAAiB,EACjB,YAAY,EACZ,GAAG,EACH,KAAK,EACL,YAAY,EACZ,YAAY,GAAG,KAAK,EACpB,IAAI,CACL,CAAC;IACJ,CAAC;CACF"}
package/dsp/functions.js CHANGED
@@ -19,7 +19,8 @@ export class AxFunctionProcessor {
19
19
  const opt = options
20
20
  ? {
21
21
  sessionId: options.sessionId,
22
- traceId: options.traceId
22
+ traceId: options.traceId,
23
+ ai: options.ai
23
24
  }
24
25
  : undefined;
25
26
  if (!fnSpec.parameters) {
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../dsp/functions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAarD,MAAM,OAAO,mBAAmB;IACtB,QAAQ,CAAwB;IAExC,YAAY,QAA+B;QACzC,QAAQ;aACL,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;aAC3B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAW,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEO,eAAe,GAAG,KAAK,EAC7B,MAA4B,EAC5B,IAA0C,EAC1C,OAA4C,EACnB,EAAE;QAC3B,IAAI,IAAI,CAAC;QAET,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,OAAO;YACjB,CAAC,CAAC;gBACE,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,GAAG,GACP,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAE1E,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;aACrC,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GACP,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YACtB,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;YAC9B,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9B,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;SACrC,CAAC;IACJ,CAAC,CAAC;IAEK,OAAO,GAAG,KAAK,EACpB,IAA0C,EAC1C,OAA4C,EACnB,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAC7C,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;QAED,+BAA+B;QAC/B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC;CACH"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../dsp/functions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAarD,MAAM,OAAO,mBAAmB;IACtB,QAAQ,CAAwB;IAExC,YAAY,QAA+B;QACzC,QAAQ;aACL,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;aAC3B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAW,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEO,eAAe,GAAG,KAAK,EAC7B,MAA4B,EAC5B,IAA0C,EAC1C,OAA4C,EACnB,EAAE;QAC3B,IAAI,IAAI,CAAC;QAET,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,OAAO;YACjB,CAAC,CAAC;gBACE,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,EAAE,EAAE,OAAO,CAAC,EAAE;aACf;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,GAAG,GACP,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAE1E,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;aACrC,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GACP,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YACtB,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;YAC9B,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9B,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;SACrC,CAAC;IACJ,CAAC,CAAC;IAEK,OAAO,GAAG,KAAK,EACpB,IAA0C,EAC1C,OAA4C,EACnB,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAC7C,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;QAED,+BAA+B;QAC/B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC;CACH"}
package/dsp/generate.d.ts CHANGED
@@ -6,7 +6,7 @@ import { type AxChatResponseFunctionCall } from './functions.js';
6
6
  import { type AxGenIn, type AxGenOut, type AxProgramForwardOptions, AxProgramWithSignature } from './program.js';
7
7
  import { AxPromptTemplate } from './prompt.js';
8
8
  import { AxSignature } from './sig.js';
9
- export interface AxGenerateOptions {
9
+ export interface AxGenOptions {
10
10
  maxCompletions?: number;
11
11
  maxRetries?: number;
12
12
  maxSteps?: number;
@@ -15,6 +15,7 @@ export interface AxGenerateOptions {
15
15
  rateLimiter?: AxRateLimiterFunction;
16
16
  stream?: boolean;
17
17
  debug?: boolean;
18
+ description?: string;
18
19
  functions?: AxFunction[] | {
19
20
  toFunction: () => AxFunction;
20
21
  }[];
@@ -27,6 +28,8 @@ export type AxGenerateResult<OUT extends AxGenOut> = OUT & {
27
28
  functions?: AxChatResponseFunctionCall[];
28
29
  };
29
30
  export interface AxResponseHandlerArgs<T> {
31
+ ai: Readonly<AxAIService>;
32
+ sig: Readonly<AxSignature>;
30
33
  res: T;
31
34
  usageInfo: {
32
35
  ai: string;
@@ -36,8 +39,7 @@ export interface AxResponseHandlerArgs<T> {
36
39
  sessionId?: string;
37
40
  traceId?: string;
38
41
  }
39
- export declare class AxGenerate<IN extends AxGenIn = AxGenIn, OUT extends AxGenerateResult<AxGenOut> = AxGenerateResult<AxGenOut>> extends AxProgramWithSignature<IN, OUT> {
40
- private ai;
42
+ export declare class AxGen<IN extends AxGenIn = AxGenIn, OUT extends AxGenerateResult<AxGenOut> = AxGenerateResult<AxGenOut>> extends AxProgramWithSignature<IN, OUT> {
41
43
  private pt;
42
44
  private asserts;
43
45
  private streamingAsserts;
@@ -45,7 +47,7 @@ export declare class AxGenerate<IN extends AxGenIn = AxGenIn, OUT extends AxGene
45
47
  private functions?;
46
48
  private funcProc?;
47
49
  private functionList?;
48
- constructor(ai: AxAIService, signature: Readonly<AxSignature | string>, options?: Readonly<AxGenerateOptions>);
50
+ constructor(signature: Readonly<AxSignature | string>, options?: Readonly<AxGenOptions>);
49
51
  private updateSigForFunctions;
50
52
  addAssert: (fn: AxAssertion["fn"], message?: string, optional?: boolean) => void;
51
53
  addStreamingAssert: (fieldName: string, fn: AxStreamingAssertion["fn"], message?: string, optional?: boolean) => void;
@@ -54,6 +56,6 @@ export declare class AxGenerate<IN extends AxGenIn = AxGenIn, OUT extends AxGene
54
56
  private processSteamingResponse;
55
57
  private processResponse;
56
58
  private _forward;
57
- forward(values: IN, options?: Readonly<AxProgramForwardOptions>): Promise<OUT>;
58
- processFunctions: (functionCalls: readonly AxChatResponseFunctionCall[], mem: Readonly<AxMemory>, sessionId?: string, traceId?: string) => Promise<void>;
59
+ forward(ai: Readonly<AxAIService>, values: IN, options?: Readonly<AxProgramForwardOptions>): Promise<OUT>;
60
+ processFunctions: (ai: Readonly<AxAIService>, functionCalls: readonly AxChatResponseFunctionCall[], mem: Readonly<AxMemory>, sessionId?: string, traceId?: string) => Promise<void>;
59
61
  }
package/dsp/generate.js CHANGED
@@ -8,8 +8,7 @@ import { AxFunctionProcessor } from './functions.js';
8
8
  import { AxProgramWithSignature } from './program.js';
9
9
  import { AxPromptTemplate } from './prompt.js';
10
10
  import { AxSignature } from './sig.js';
11
- export class AxGenerate extends AxProgramWithSignature {
12
- ai;
11
+ export class AxGen extends AxProgramWithSignature {
13
12
  pt;
14
13
  asserts;
15
14
  streamingAsserts;
@@ -17,15 +16,14 @@ export class AxGenerate extends AxProgramWithSignature {
17
16
  functions;
18
17
  funcProc;
19
18
  functionList;
20
- constructor(ai, signature, options) {
21
- super(signature);
19
+ constructor(signature, options) {
20
+ super(signature, { description: options?.description });
22
21
  this.functions = options?.functions?.map((f) => {
23
22
  if ('toFunction' in f) {
24
23
  return f.toFunction();
25
24
  }
26
25
  return f;
27
26
  });
28
- this.ai = ai;
29
27
  this.options = options;
30
28
  this.pt = new (options?.promptTemplate ?? AxPromptTemplate)(this.signature);
31
29
  this.asserts = this.options?.asserts ?? [];
@@ -34,26 +32,27 @@ export class AxGenerate extends AxProgramWithSignature {
34
32
  this.usage = [];
35
33
  if (this.functions) {
36
34
  this.funcProc = new AxFunctionProcessor(this.functions);
37
- this.updateSigForFunctions();
38
35
  }
39
36
  }
40
- updateSigForFunctions = () => {
37
+ updateSigForFunctions = (ai) => {
41
38
  // AI supports function calling natively so
42
39
  // no need to add fields for function call
43
- if (this.ai.getFeatures().functions) {
40
+ if (ai.getFeatures().functions) {
44
41
  return;
45
42
  }
43
+ const sig = new AxSignature(this.signature);
46
44
  // These are the fields for the function call only needed when the underlying LLM API does not support function calling natively in the API.
47
- this.signature.addOutputField({
45
+ sig.addOutputField({
48
46
  name: 'functionName',
49
47
  description: 'Name of function to call',
50
48
  isOptional: true
51
49
  });
52
- this.signature.addOutputField({
50
+ sig.addOutputField({
53
51
  name: 'functionArguments',
54
52
  description: 'Arguments of function to call',
55
53
  isOptional: true
56
54
  });
55
+ return sig;
57
56
  };
58
57
  addAssert = (fn, message, optional) => {
59
58
  this.asserts.push({ fn, message, optional });
@@ -82,16 +81,16 @@ export class AxGenerate extends AxProgramWithSignature {
82
81
  functions,
83
82
  functionCall,
84
83
  modelConfig,
85
- ...(model ? { model } : {})
84
+ model
86
85
  }, {
87
- ...(sessionId ? { sessionId } : {}),
88
- ...(traceId ? { traceId } : {}),
89
- ...(rateLimiter ? { rateLimiter } : {}),
86
+ sessionId,
87
+ traceId,
88
+ rateLimiter,
90
89
  stream
91
90
  });
92
91
  return res;
93
92
  }
94
- async forwardCore({ mem, sessionId, traceId, ai, modelConfig, rateLimiter, stream = false }) {
93
+ async forwardCore({ sig, mem, sessionId, traceId, ai, modelConfig, model, rateLimiter, stream = false }) {
95
94
  const usageInfo = {
96
95
  ai: ai.getName(),
97
96
  model: ai.getModelInfo().name
@@ -103,10 +102,13 @@ export class AxGenerate extends AxProgramWithSignature {
103
102
  ai,
104
103
  stream,
105
104
  modelConfig,
105
+ model,
106
106
  rateLimiter
107
107
  });
108
108
  if (res instanceof ReadableStream) {
109
109
  return (await this.processSteamingResponse({
110
+ ai,
111
+ sig,
110
112
  res,
111
113
  usageInfo,
112
114
  mem,
@@ -115,6 +117,8 @@ export class AxGenerate extends AxProgramWithSignature {
115
117
  }));
116
118
  }
117
119
  return (await this.processResponse({
120
+ ai,
121
+ sig,
118
122
  res,
119
123
  usageInfo,
120
124
  mem,
@@ -122,7 +126,7 @@ export class AxGenerate extends AxProgramWithSignature {
122
126
  sessionId
123
127
  }));
124
128
  }
125
- async processSteamingResponse({ res, usageInfo, mem, sessionId, traceId }) {
129
+ async processSteamingResponse({ ai, sig, res, usageInfo, mem, sessionId, traceId }) {
126
130
  const functionCalls = [];
127
131
  const values = {};
128
132
  const xstate = { s: -1 };
@@ -136,7 +140,7 @@ export class AxGenerate extends AxProgramWithSignature {
136
140
  content += result.content;
137
141
  mem.updateResult({ name: result.name, content }, sessionId);
138
142
  assertStreamingAssertions(this.streamingAsserts, values, xstate, content);
139
- streamingExtractValues(this.signature, values, xstate, content);
143
+ streamingExtractValues(sig, values, xstate, content);
140
144
  assertAssertions(this.asserts, values);
141
145
  }
142
146
  if (result.functionCalls) {
@@ -148,15 +152,15 @@ export class AxGenerate extends AxProgramWithSignature {
148
152
  }
149
153
  }
150
154
  }
151
- const funcs = parseFunctions(this.ai, functionCalls, values);
155
+ const funcs = parseFunctions(ai, functionCalls, values);
152
156
  if (funcs) {
153
- await this.processFunctions(funcs, mem, sessionId, traceId);
157
+ await this.processFunctions(ai, funcs, mem, sessionId, traceId);
154
158
  }
155
159
  streamingExtractFinalValue(values, xstate, content);
156
160
  assertAssertions(this.asserts, values);
157
161
  return { ...values };
158
162
  }
159
- async processResponse({ res, usageInfo, mem, sessionId, traceId }) {
163
+ async processResponse({ ai, res, usageInfo, mem, sessionId, traceId }) {
160
164
  const values = {};
161
165
  for (const result of res.results ?? []) {
162
166
  if (res.modelUsage) {
@@ -168,9 +172,9 @@ export class AxGenerate extends AxProgramWithSignature {
168
172
  assertAssertions(this.asserts, values);
169
173
  }
170
174
  if (result.functionCalls) {
171
- const funcs = parseFunctions(this.ai, result.functionCalls, values);
175
+ const funcs = parseFunctions(ai, result.functionCalls, values);
172
176
  if (funcs) {
173
- await this.processFunctions(funcs, mem, sessionId, traceId);
177
+ await this.processFunctions(ai, funcs, mem, sessionId, traceId);
174
178
  }
175
179
  }
176
180
  if (result.finishReason === 'length') {
@@ -179,16 +183,15 @@ export class AxGenerate extends AxProgramWithSignature {
179
183
  }
180
184
  return { ...values };
181
185
  }
182
- async _forward(values, options, span) {
183
- const ai = options?.ai ?? this.ai;
186
+ async _forward(ai, sig, values, options, span) {
184
187
  const maxRetries = options?.maxRetries ?? this.options?.maxRetries ?? 5;
185
188
  const maxSteps = options?.maxSteps ?? this.options?.maxSteps ?? 10;
186
189
  const mem = options?.mem ?? this.options?.mem ?? new AxMemory();
187
190
  const canStream = ai.getFeatures().streaming;
188
191
  let err;
189
- if (this.sigHash !== this.signature.hash()) {
192
+ if (this.sigHash !== sig.hash()) {
190
193
  const promptTemplate = this.options?.promptTemplate ?? AxPromptTemplate;
191
- this.pt = new promptTemplate(this.signature);
194
+ this.pt = new promptTemplate(sig);
192
195
  }
193
196
  const prompt = this.pt.render(values, {
194
197
  examples: this.examples,
@@ -198,23 +201,23 @@ export class AxGenerate extends AxProgramWithSignature {
198
201
  multiStepLoop: for (let n = 0; n < maxSteps; n++) {
199
202
  for (let i = 0; i < maxRetries; i++) {
200
203
  try {
201
- const { sessionId, traceId, modelConfig, stream: doStream = true } = options ?? {};
202
- const stream = canStream && doStream;
203
204
  const output = await this.forwardCore({
204
205
  ai,
206
+ sig,
205
207
  mem,
206
- sessionId,
207
- traceId,
208
- modelConfig,
209
- stream,
208
+ sessionId: options?.sessionId,
209
+ traceId: options?.traceId,
210
+ modelConfig: options?.modelConfig,
211
+ model: options?.model,
212
+ stream: canStream && options?.stream,
210
213
  maxSteps: options?.maxSteps,
211
214
  rateLimiter: options?.rateLimiter
212
215
  });
213
- const lastMemItem = mem.getLast(sessionId);
216
+ const lastMemItem = mem.getLast(options?.sessionId);
214
217
  if (lastMemItem?.role === 'function') {
215
218
  continue multiStepLoop;
216
219
  }
217
- assertRequiredFields(this.signature, output);
220
+ assertRequiredFields(sig, output);
218
221
  this.trace = { ...output };
219
222
  return output;
220
223
  }
@@ -249,27 +252,28 @@ export class AxGenerate extends AxProgramWithSignature {
249
252
  }
250
253
  throw new Error('Could not complete task within maximum allowed steps');
251
254
  }
252
- async forward(values, options) {
255
+ async forward(ai, values, options) {
256
+ const sig = this.updateSigForFunctions(ai) ?? this.signature;
253
257
  const tracer = this.options?.tracer ?? options?.tracer;
254
258
  if (!tracer) {
255
- return await this._forward(values, options);
259
+ return await this._forward(ai, sig, values, options);
256
260
  }
257
261
  const attributes = {
258
- ['generate.signature']: this.signature.toString(),
262
+ ['generate.signature']: sig.toString(),
259
263
  ['generate.functions']: this.functionList ?? 'none'
260
264
  };
261
265
  return await tracer.startActiveSpan('Generate', {
262
266
  kind: AxSpanKind.SERVER,
263
267
  attributes
264
268
  }, async (span) => {
265
- const res = this._forward(values, options, span);
269
+ const res = this._forward(ai, sig, values, options, span);
266
270
  span.end();
267
271
  return res;
268
272
  });
269
273
  }
270
- processFunctions = async (functionCalls, mem, sessionId, traceId) => {
274
+ processFunctions = async (ai, functionCalls, mem, sessionId, traceId) => {
271
275
  // Map each function call to a promise that resolves to the function result or null
272
- const promises = functionCalls.map((func) => this.funcProc?.execute(func, { sessionId, traceId }).then((fres) => {
276
+ const promises = functionCalls.map((func) => this.funcProc?.execute(func, { sessionId, traceId, ai }).then((fres) => {
273
277
  if (fres?.id) {
274
278
  return {
275
279
  role: 'function',
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../dsp/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../dsp/generate.ts"],"names":[],"mappings":"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"}
package/dsp/index.d.ts CHANGED
@@ -8,7 +8,6 @@ export * from './loader.js';
8
8
  export * from './strutil.js';
9
9
  export * from './router.js';
10
10
  export * from './loader.js';
11
- export * from './gen2.js';
12
11
  export type { AxAssertion, AxStreamingAssertion } from './asserts.js';
13
12
  export type { AxPromptTemplate, AxFieldTemplateFn } from './prompt.js';
14
13
  export type { AxInstanceRegistry } from './registry.js';
package/dsp/index.js CHANGED
@@ -8,5 +8,4 @@ export * from './loader.js';
8
8
  export * from './strutil.js';
9
9
  export * from './router.js';
10
10
  export * from './loader.js';
11
- export * from './gen2.js';
12
11
  //# sourceMappingURL=index.js.map
package/dsp/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../dsp/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../dsp/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
package/dsp/optimize.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { AxAIService } from '../ai/types.js';
1
2
  import type { AxFieldValue, AxGenIn, AxGenOut, AxProgram, AxProgramDemos } from './program.js';
2
3
  export type AxExample = Record<string, AxFieldValue>;
3
4
  export type AxMetricFn = <T extends AxGenOut = AxGenOut>(arg0: Readonly<{
@@ -6,6 +7,7 @@ export type AxMetricFn = <T extends AxGenOut = AxGenOut>(arg0: Readonly<{
6
7
  }>) => boolean;
7
8
  export type AxMetricFnArgs = Parameters<AxMetricFn>[0];
8
9
  export type AxOptimizerArgs<IN extends AxGenIn, OUT extends AxGenOut> = {
10
+ ai: AxAIService;
9
11
  program: Readonly<AxProgram<IN, OUT>>;
10
12
  examples: Readonly<AxExample[]>;
11
13
  options?: {
@@ -15,13 +17,14 @@ export type AxOptimizerArgs<IN extends AxGenIn, OUT extends AxGenOut> = {
15
17
  };
16
18
  };
17
19
  export declare class AxBootstrapFewShot<IN extends AxGenIn = AxGenIn, OUT extends AxGenOut = AxGenOut> {
20
+ private ai;
18
21
  private program;
19
22
  private examples;
20
23
  private maxRounds;
21
24
  private maxDemos;
22
25
  private maxExamples;
23
26
  private traces;
24
- constructor({ program, examples, options }: Readonly<AxOptimizerArgs<IN, OUT>>);
27
+ constructor({ ai, program, examples, options }: Readonly<AxOptimizerArgs<IN, OUT>>);
25
28
  private compileRound;
26
29
  compile(metricFn: AxMetricFn, options?: Readonly<AxOptimizerArgs<IN, OUT>['options']>): Promise<AxProgramDemos[]>;
27
30
  }
package/dsp/optimize.js CHANGED
@@ -1,18 +1,20 @@
1
1
  import { updateProgressBar } from './util.js';
2
2
  export class AxBootstrapFewShot {
3
+ ai;
3
4
  program;
4
5
  examples;
5
6
  maxRounds;
6
7
  maxDemos;
7
8
  maxExamples;
8
9
  traces = [];
9
- constructor({ program, examples = [], options }) {
10
+ constructor({ ai, program, examples = [], options }) {
10
11
  if (examples.length == 0) {
11
12
  throw new Error('No examples found');
12
13
  }
13
14
  this.maxRounds = options?.maxRounds ?? 3;
14
15
  this.maxDemos = options?.maxDemos ?? 4;
15
16
  this.maxExamples = options?.maxExamples ?? 16;
17
+ this.ai = ai;
16
18
  this.program = program;
17
19
  this.examples = examples;
18
20
  }
@@ -31,7 +33,7 @@ export class AxBootstrapFewShot {
31
33
  }
32
34
  const exList = [...examples.slice(0, i), ...examples.slice(i + 1)];
33
35
  this.program.setExamples(exList);
34
- const res = await this.program.forward(ex, aiOpt);
36
+ const res = await this.program.forward(this.ai, ex, aiOpt);
35
37
  const success = metricFn({ prediction: res, example: ex });
36
38
  if (success) {
37
39
  this.traces = [...this.traces, ...this.program.getTraces()];
@@ -1 +1 @@
1
- {"version":3,"file":"optimize.js","sourceRoot":"","sources":["../../dsp/optimize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"optimize.js","sourceRoot":"","sources":["../../dsp/optimize.ts"],"names":[],"mappings":"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"}
package/dsp/program.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { AxAIService, AxChatResponse, AxModelConfig, AxRateLimiterFunction
2
2
  import type { AxAIMemory } from '../mem/types.js';
3
3
  import type { AxTracer } from '../trace/index.js';
4
4
  import { AxSignature } from './sig.js';
5
- export type AxFieldValue = string | string[] | number | boolean | object | {
5
+ export type AxFieldValue = string | string[] | number | boolean | object | null | {
6
6
  mimeType: string;
7
7
  data: string;
8
8
  } | {
@@ -50,6 +50,9 @@ export type AxProgramUsage = AxChatResponse['modelUsage'] & {
50
50
  ai: string;
51
51
  model: string;
52
52
  };
53
+ export interface AxProgramWithSignatureOptions {
54
+ description?: string;
55
+ }
53
56
  export declare class AxProgramWithSignature<IN extends AxGenIn, OUT extends AxGenOut> implements AxTunable, AxUsable {
54
57
  protected signature: AxSignature;
55
58
  protected sigHash: string;
@@ -59,10 +62,10 @@ export declare class AxProgramWithSignature<IN extends AxGenIn, OUT extends AxGe
59
62
  protected usage: AxProgramUsage[];
60
63
  private key;
61
64
  private children;
62
- constructor(signature: Readonly<AxSignature | string>);
65
+ constructor(signature: Readonly<AxSignature | string>, options?: Readonly<AxProgramWithSignatureOptions>);
63
66
  getSignature(): AxSignature;
64
67
  register(prog: Readonly<AxTunable & AxUsable>): void;
65
- forward(_arg0: IN, _options?: Readonly<AxProgramForwardOptions>): Promise<OUT>;
68
+ forward(_ai: Readonly<AxAIService>, _values: IN, _options?: Readonly<AxProgramForwardOptions>): Promise<OUT>;
66
69
  setId(id: string): void;
67
70
  setParentId(parentId: string): void;
68
71
  setExamples(examples: Readonly<AxProgramExamples>): void;
@@ -79,7 +82,7 @@ export declare class AxProgram<IN extends AxGenIn, OUT extends AxGenOut> impleme
79
82
  private children;
80
83
  constructor();
81
84
  register(prog: Readonly<AxTunable & AxUsable>): void;
82
- forward(_arg0: IN, _options?: Readonly<AxProgramForwardOptions>): Promise<OUT>;
85
+ forward(_ai: Readonly<AxAIService>, _values: IN, _options?: Readonly<AxProgramForwardOptions>): Promise<OUT>;
83
86
  setId(id: string): void;
84
87
  setParentId(parentId: string): void;
85
88
  setExamples(examples: Readonly<AxProgramExamples>): void;