@ax-llm/ax 9.0.19 → 9.0.20

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 (310) hide show
  1. package/package.json +33 -85
  2. package/CHANGELOG.md +0 -184
  3. package/LICENSE +0 -201
  4. package/README.md +0 -569
  5. package/build/module/docs/assets/icons.d.ts +0 -1
  6. package/build/module/docs/assets/icons.js +0 -19
  7. package/build/module/docs/assets/icons.js.map +0 -1
  8. package/build/module/docs/assets/main.d.ts +0 -1
  9. package/build/module/docs/assets/main.js +0 -629
  10. package/build/module/docs/assets/main.js.map +0 -1
  11. package/build/module/docs/assets/navigation.d.ts +0 -1
  12. package/build/module/docs/assets/navigation.js +0 -3
  13. package/build/module/docs/assets/navigation.js.map +0 -1
  14. package/build/module/docs/assets/search.d.ts +0 -1
  15. package/build/module/docs/assets/search.js +0 -3
  16. package/build/module/docs/assets/search.js.map +0 -1
  17. package/build/module/src/ai/anthropic/api.d.ts +0 -19
  18. package/build/module/src/ai/anthropic/api.js +0 -326
  19. package/build/module/src/ai/anthropic/api.js.map +0 -1
  20. package/build/module/src/ai/anthropic/index.d.ts +0 -2
  21. package/build/module/src/ai/anthropic/index.js +0 -3
  22. package/build/module/src/ai/anthropic/index.js.map +0 -1
  23. package/build/module/src/ai/anthropic/info.d.ts +0 -2
  24. package/build/module/src/ai/anthropic/info.js +0 -40
  25. package/build/module/src/ai/anthropic/info.js.map +0 -1
  26. package/build/module/src/ai/anthropic/types.d.ts +0 -171
  27. package/build/module/src/ai/anthropic/types.js +0 -10
  28. package/build/module/src/ai/anthropic/types.js.map +0 -1
  29. package/build/module/src/ai/azure-openai/api.d.ts +0 -19
  30. package/build/module/src/ai/azure-openai/api.js +0 -30
  31. package/build/module/src/ai/azure-openai/api.js.map +0 -1
  32. package/build/module/src/ai/azure-openai/index.d.ts +0 -1
  33. package/build/module/src/ai/azure-openai/index.js +0 -2
  34. package/build/module/src/ai/azure-openai/index.js.map +0 -1
  35. package/build/module/src/ai/balance.d.ts +0 -23
  36. package/build/module/src/ai/balance.js +0 -87
  37. package/build/module/src/ai/balance.js.map +0 -1
  38. package/build/module/src/ai/base.d.ts +0 -55
  39. package/build/module/src/ai/base.js +0 -343
  40. package/build/module/src/ai/base.js.map +0 -1
  41. package/build/module/src/ai/cohere/api.d.ts +0 -22
  42. package/build/module/src/ai/cohere/api.js +0 -264
  43. package/build/module/src/ai/cohere/api.js.map +0 -1
  44. package/build/module/src/ai/cohere/index.d.ts +0 -2
  45. package/build/module/src/ai/cohere/index.js +0 -3
  46. package/build/module/src/ai/cohere/index.js.map +0 -1
  47. package/build/module/src/ai/cohere/info.d.ts +0 -2
  48. package/build/module/src/ai/cohere/info.js +0 -52
  49. package/build/module/src/ai/cohere/info.js.map +0 -1
  50. package/build/module/src/ai/cohere/types.d.ts +0 -102
  51. package/build/module/src/ai/cohere/types.js +0 -23
  52. package/build/module/src/ai/cohere/types.js.map +0 -1
  53. package/build/module/src/ai/deepseek/api.d.ts +0 -16
  54. package/build/module/src/ai/deepseek/api.js +0 -32
  55. package/build/module/src/ai/deepseek/api.js.map +0 -1
  56. package/build/module/src/ai/deepseek/index.d.ts +0 -2
  57. package/build/module/src/ai/deepseek/index.js +0 -3
  58. package/build/module/src/ai/deepseek/index.js.map +0 -1
  59. package/build/module/src/ai/deepseek/info.d.ts +0 -2
  60. package/build/module/src/ai/deepseek/info.js +0 -16
  61. package/build/module/src/ai/deepseek/info.js.map +0 -1
  62. package/build/module/src/ai/deepseek/types.d.ts +0 -8
  63. package/build/module/src/ai/deepseek/types.js +0 -10
  64. package/build/module/src/ai/deepseek/types.js.map +0 -1
  65. package/build/module/src/ai/google-gemini/api.d.ts +0 -36
  66. package/build/module/src/ai/google-gemini/api.js +0 -299
  67. package/build/module/src/ai/google-gemini/api.js.map +0 -1
  68. package/build/module/src/ai/google-gemini/index.d.ts +0 -2
  69. package/build/module/src/ai/google-gemini/index.js +0 -3
  70. package/build/module/src/ai/google-gemini/index.js.map +0 -1
  71. package/build/module/src/ai/google-gemini/info.d.ts +0 -6
  72. package/build/module/src/ai/google-gemini/info.js +0 -29
  73. package/build/module/src/ai/google-gemini/info.js.map +0 -1
  74. package/build/module/src/ai/google-gemini/types.d.ts +0 -146
  75. package/build/module/src/ai/google-gemini/types.js +0 -27
  76. package/build/module/src/ai/google-gemini/types.js.map +0 -1
  77. package/build/module/src/ai/groq/api.d.ts +0 -18
  78. package/build/module/src/ai/groq/api.js +0 -52
  79. package/build/module/src/ai/groq/api.js.map +0 -1
  80. package/build/module/src/ai/groq/index.d.ts +0 -1
  81. package/build/module/src/ai/groq/index.js +0 -2
  82. package/build/module/src/ai/groq/index.js.map +0 -1
  83. package/build/module/src/ai/groq/types.d.ts +0 -6
  84. package/build/module/src/ai/groq/types.js +0 -8
  85. package/build/module/src/ai/groq/types.js.map +0 -1
  86. package/build/module/src/ai/huggingface/api.d.ts +0 -19
  87. package/build/module/src/ai/huggingface/api.js +0 -115
  88. package/build/module/src/ai/huggingface/api.js.map +0 -1
  89. package/build/module/src/ai/huggingface/index.d.ts +0 -2
  90. package/build/module/src/ai/huggingface/index.js +0 -3
  91. package/build/module/src/ai/huggingface/index.js.map +0 -1
  92. package/build/module/src/ai/huggingface/info.d.ts +0 -6
  93. package/build/module/src/ai/huggingface/info.js +0 -6
  94. package/build/module/src/ai/huggingface/info.js.map +0 -1
  95. package/build/module/src/ai/huggingface/types.d.ts +0 -34
  96. package/build/module/src/ai/huggingface/types.js +0 -5
  97. package/build/module/src/ai/huggingface/types.js.map +0 -1
  98. package/build/module/src/ai/index.d.ts +0 -16
  99. package/build/module/src/ai/index.js +0 -16
  100. package/build/module/src/ai/index.js.map +0 -1
  101. package/build/module/src/ai/mistral/api.d.ts +0 -16
  102. package/build/module/src/ai/mistral/api.js +0 -32
  103. package/build/module/src/ai/mistral/api.js.map +0 -1
  104. package/build/module/src/ai/mistral/index.d.ts +0 -2
  105. package/build/module/src/ai/mistral/index.js +0 -3
  106. package/build/module/src/ai/mistral/index.js.map +0 -1
  107. package/build/module/src/ai/mistral/info.d.ts +0 -2
  108. package/build/module/src/ai/mistral/info.js +0 -34
  109. package/build/module/src/ai/mistral/info.js.map +0 -1
  110. package/build/module/src/ai/mistral/types.d.ts +0 -10
  111. package/build/module/src/ai/mistral/types.js +0 -13
  112. package/build/module/src/ai/mistral/types.js.map +0 -1
  113. package/build/module/src/ai/ollama/api.d.ts +0 -22
  114. package/build/module/src/ai/ollama/api.js +0 -32
  115. package/build/module/src/ai/ollama/api.js.map +0 -1
  116. package/build/module/src/ai/ollama/index.d.ts +0 -1
  117. package/build/module/src/ai/ollama/index.js +0 -2
  118. package/build/module/src/ai/ollama/index.js.map +0 -1
  119. package/build/module/src/ai/openai/api.d.ts +0 -29
  120. package/build/module/src/ai/openai/api.js +0 -283
  121. package/build/module/src/ai/openai/api.js.map +0 -1
  122. package/build/module/src/ai/openai/index.d.ts +0 -2
  123. package/build/module/src/ai/openai/index.js +0 -3
  124. package/build/module/src/ai/openai/index.js.map +0 -1
  125. package/build/module/src/ai/openai/info.d.ts +0 -6
  126. package/build/module/src/ai/openai/info.js +0 -50
  127. package/build/module/src/ai/openai/info.js.map +0 -1
  128. package/build/module/src/ai/openai/types.d.ts +0 -165
  129. package/build/module/src/ai/openai/types.js +0 -18
  130. package/build/module/src/ai/openai/types.js.map +0 -1
  131. package/build/module/src/ai/together/api.d.ts +0 -15
  132. package/build/module/src/ai/together/api.js +0 -28
  133. package/build/module/src/ai/together/api.js.map +0 -1
  134. package/build/module/src/ai/together/index.d.ts +0 -1
  135. package/build/module/src/ai/together/index.js +0 -2
  136. package/build/module/src/ai/together/index.js.map +0 -1
  137. package/build/module/src/ai/together/info.d.ts +0 -2
  138. package/build/module/src/ai/together/info.js +0 -2
  139. package/build/module/src/ai/together/info.js.map +0 -1
  140. package/build/module/src/ai/types.d.ts +0 -159
  141. package/build/module/src/ai/types.js +0 -2
  142. package/build/module/src/ai/types.js.map +0 -1
  143. package/build/module/src/ai/util.d.ts +0 -12
  144. package/build/module/src/ai/util.js +0 -63
  145. package/build/module/src/ai/util.js.map +0 -1
  146. package/build/module/src/ai/wrap.d.ts +0 -47
  147. package/build/module/src/ai/wrap.js +0 -95
  148. package/build/module/src/ai/wrap.js.map +0 -1
  149. package/build/module/src/db/base.d.ts +0 -23
  150. package/build/module/src/db/base.js +0 -87
  151. package/build/module/src/db/base.js.map +0 -1
  152. package/build/module/src/db/cloudflare.d.ts +0 -21
  153. package/build/module/src/db/cloudflare.js +0 -98
  154. package/build/module/src/db/cloudflare.js.map +0 -1
  155. package/build/module/src/db/index.d.ts +0 -6
  156. package/build/module/src/db/index.js +0 -7
  157. package/build/module/src/db/index.js.map +0 -1
  158. package/build/module/src/db/memory.d.ts +0 -21
  159. package/build/module/src/db/memory.js +0 -99
  160. package/build/module/src/db/memory.js.map +0 -1
  161. package/build/module/src/db/pinecone.d.ts +0 -21
  162. package/build/module/src/db/pinecone.js +0 -71
  163. package/build/module/src/db/pinecone.js.map +0 -1
  164. package/build/module/src/db/types.d.ts +0 -35
  165. package/build/module/src/db/types.js +0 -3
  166. package/build/module/src/db/types.js.map +0 -1
  167. package/build/module/src/db/weaviate.d.ts +0 -21
  168. package/build/module/src/db/weaviate.js +0 -127
  169. package/build/module/src/db/weaviate.js.map +0 -1
  170. package/build/module/src/db/wrap.d.ts +0 -13
  171. package/build/module/src/db/wrap.js +0 -35
  172. package/build/module/src/db/wrap.js.map +0 -1
  173. package/build/module/src/docs/index.d.ts +0 -4
  174. package/build/module/src/docs/index.js +0 -5
  175. package/build/module/src/docs/index.js.map +0 -1
  176. package/build/module/src/docs/manager.d.ts +0 -45
  177. package/build/module/src/docs/manager.js +0 -159
  178. package/build/module/src/docs/manager.js.map +0 -1
  179. package/build/module/src/docs/reranker.d.ts +0 -7
  180. package/build/module/src/docs/reranker.js +0 -26
  181. package/build/module/src/docs/reranker.js.map +0 -1
  182. package/build/module/src/docs/rewriter.d.ts +0 -4
  183. package/build/module/src/docs/rewriter.js +0 -9
  184. package/build/module/src/docs/rewriter.js.map +0 -1
  185. package/build/module/src/docs/tika.d.ts +0 -18
  186. package/build/module/src/docs/tika.js +0 -46
  187. package/build/module/src/docs/tika.js.map +0 -1
  188. package/build/module/src/dsp/asserts.d.ts +0 -32
  189. package/build/module/src/dsp/asserts.js +0 -91
  190. package/build/module/src/dsp/asserts.js.map +0 -1
  191. package/build/module/src/dsp/eval.d.ts +0 -43
  192. package/build/module/src/dsp/eval.js +0 -125
  193. package/build/module/src/dsp/eval.js.map +0 -1
  194. package/build/module/src/dsp/evaluate.d.ts +0 -12
  195. package/build/module/src/dsp/evaluate.js +0 -32
  196. package/build/module/src/dsp/evaluate.js.map +0 -1
  197. package/build/module/src/dsp/extract.d.ts +0 -25
  198. package/build/module/src/dsp/extract.js +0 -153
  199. package/build/module/src/dsp/extract.js.map +0 -1
  200. package/build/module/src/dsp/generate.d.ts +0 -55
  201. package/build/module/src/dsp/generate.js +0 -314
  202. package/build/module/src/dsp/generate.js.map +0 -1
  203. package/build/module/src/dsp/generate.test.d.ts +0 -1
  204. package/build/module/src/dsp/generate.test.js +0 -41
  205. package/build/module/src/dsp/generate.test.js.map +0 -1
  206. package/build/module/src/dsp/index.d.ts +0 -15
  207. package/build/module/src/dsp/index.js +0 -11
  208. package/build/module/src/dsp/index.js.map +0 -1
  209. package/build/module/src/dsp/loader.d.ts +0 -30
  210. package/build/module/src/dsp/loader.js +0 -81
  211. package/build/module/src/dsp/loader.js.map +0 -1
  212. package/build/module/src/dsp/optimize.d.ts +0 -27
  213. package/build/module/src/dsp/optimize.js +0 -95
  214. package/build/module/src/dsp/optimize.js.map +0 -1
  215. package/build/module/src/dsp/parser.d.ts +0 -87
  216. package/build/module/src/dsp/parser.js +0 -1542
  217. package/build/module/src/dsp/parser.js.map +0 -1
  218. package/build/module/src/dsp/program.d.ts +0 -73
  219. package/build/module/src/dsp/program.js +0 -116
  220. package/build/module/src/dsp/program.js.map +0 -1
  221. package/build/module/src/dsp/prompt.d.ts +0 -48
  222. package/build/module/src/dsp/prompt.js +0 -260
  223. package/build/module/src/dsp/prompt.js.map +0 -1
  224. package/build/module/src/dsp/registry.d.ts +0 -6
  225. package/build/module/src/dsp/registry.js +0 -15
  226. package/build/module/src/dsp/registry.js.map +0 -1
  227. package/build/module/src/dsp/router.d.ts +0 -26
  228. package/build/module/src/dsp/router.js +0 -71
  229. package/build/module/src/dsp/router.js.map +0 -1
  230. package/build/module/src/dsp/sig.d.ts +0 -37
  231. package/build/module/src/dsp/sig.js +0 -194
  232. package/build/module/src/dsp/sig.js.map +0 -1
  233. package/build/module/src/dsp/sig.test.d.ts +0 -1
  234. package/build/module/src/dsp/sig.test.js +0 -28
  235. package/build/module/src/dsp/sig.test.js.map +0 -1
  236. package/build/module/src/dsp/stopwords.d.ts +0 -1
  237. package/build/module/src/dsp/stopwords.js +0 -1164
  238. package/build/module/src/dsp/stopwords.js.map +0 -1
  239. package/build/module/src/dsp/strutil.d.ts +0 -11
  240. package/build/module/src/dsp/strutil.js +0 -60
  241. package/build/module/src/dsp/strutil.js.map +0 -1
  242. package/build/module/src/dsp/util.d.ts +0 -5
  243. package/build/module/src/dsp/util.js +0 -76
  244. package/build/module/src/dsp/util.js.map +0 -1
  245. package/build/module/src/funcs/code.d.ts +0 -9
  246. package/build/module/src/funcs/code.js +0 -63
  247. package/build/module/src/funcs/code.js.map +0 -1
  248. package/build/module/src/funcs/embed.d.ts +0 -6
  249. package/build/module/src/funcs/embed.js +0 -29
  250. package/build/module/src/funcs/embed.js.map +0 -1
  251. package/build/module/src/funcs/functions.d.ts +0 -16
  252. package/build/module/src/funcs/functions.js +0 -55
  253. package/build/module/src/funcs/functions.js.map +0 -1
  254. package/build/module/src/funcs/index.d.ts +0 -3
  255. package/build/module/src/funcs/index.js +0 -4
  256. package/build/module/src/funcs/index.js.map +0 -1
  257. package/build/module/src/funcs/jsonschema.d.ts +0 -2
  258. package/build/module/src/funcs/jsonschema.js +0 -97
  259. package/build/module/src/funcs/jsonschema.js.map +0 -1
  260. package/build/module/src/index.d.ts +0 -9
  261. package/build/module/src/index.js.map +0 -1
  262. package/build/module/src/mem/index.d.ts +0 -2
  263. package/build/module/src/mem/index.js +0 -3
  264. package/build/module/src/mem/index.js.map +0 -1
  265. package/build/module/src/mem/memory.d.ts +0 -16
  266. package/build/module/src/mem/memory.js +0 -77
  267. package/build/module/src/mem/memory.js.map +0 -1
  268. package/build/module/src/mem/types.d.ts +0 -10
  269. package/build/module/src/mem/types.js +0 -2
  270. package/build/module/src/mem/types.js.map +0 -1
  271. package/build/module/src/prompts/agent.d.ts +0 -34
  272. package/build/module/src/prompts/agent.js +0 -108
  273. package/build/module/src/prompts/agent.js.map +0 -1
  274. package/build/module/src/prompts/cot.d.ts +0 -9
  275. package/build/module/src/prompts/cot.js +0 -17
  276. package/build/module/src/prompts/cot.js.map +0 -1
  277. package/build/module/src/prompts/index.d.ts +0 -4
  278. package/build/module/src/prompts/index.js +0 -5
  279. package/build/module/src/prompts/index.js.map +0 -1
  280. package/build/module/src/prompts/prompts.test.d.ts +0 -1
  281. package/build/module/src/prompts/prompts.test.js +0 -54
  282. package/build/module/src/prompts/prompts.test.js.map +0 -1
  283. package/build/module/src/prompts/rag.d.ts +0 -23
  284. package/build/module/src/prompts/rag.js +0 -30
  285. package/build/module/src/prompts/rag.js.map +0 -1
  286. package/build/module/src/prompts/react.d.ts +0 -8
  287. package/build/module/src/prompts/react.js +0 -22
  288. package/build/module/src/prompts/react.js.map +0 -1
  289. package/build/module/src/trace/index.d.ts +0 -171
  290. package/build/module/src/trace/index.js +0 -67
  291. package/build/module/src/trace/index.js.map +0 -1
  292. package/build/module/src/util/apicall.d.ts +0 -18
  293. package/build/module/src/util/apicall.js +0 -50
  294. package/build/module/src/util/apicall.js.map +0 -1
  295. package/build/module/src/util/log.d.ts +0 -14
  296. package/build/module/src/util/log.js +0 -31
  297. package/build/module/src/util/log.js.map +0 -1
  298. package/build/module/src/util/other.d.ts +0 -1
  299. package/build/module/src/util/other.js +0 -5
  300. package/build/module/src/util/other.js.map +0 -1
  301. package/build/module/src/util/rate-limit.d.ts +0 -24
  302. package/build/module/src/util/rate-limit.js +0 -49
  303. package/build/module/src/util/rate-limit.js.map +0 -1
  304. package/build/module/src/util/stream.d.ts +0 -9
  305. package/build/module/src/util/stream.js +0 -29
  306. package/build/module/src/util/stream.js.map +0 -1
  307. package/build/module/src/util/transform.d.ts +0 -7
  308. package/build/module/src/util/transform.js +0 -59
  309. package/build/module/src/util/transform.js.map +0 -1
  310. /package/{build/module/src/index.js → index.js} +0 -0
@@ -1,23 +0,0 @@
1
- import type { ReadableStream } from 'stream/web';
2
- import type { AxAIPromptConfig, AxAIService, AxAIServiceActionOptions, AxAIServiceOptions, AxChatRequest, AxChatResponse, AxEmbedRequest, AxEmbedResponse, AxModelConfig, AxModelInfo } from './types.js';
3
- export declare class AxBalancer implements AxAIService {
4
- private services;
5
- private currentServiceIndex;
6
- private currentService;
7
- constructor(services: readonly AxAIService[]);
8
- private getNextService;
9
- private reset;
10
- getName(): string;
11
- getModelInfo(): Readonly<AxModelInfo & {
12
- provider: string;
13
- }>;
14
- getEmbedModelInfo(): Readonly<AxModelInfo> | undefined;
15
- getModelConfig(): Readonly<AxModelConfig>;
16
- getFeatures(): {
17
- functions: boolean;
18
- streaming: boolean;
19
- };
20
- chat(req: Readonly<AxChatRequest>, options?: Readonly<AxAIPromptConfig & AxAIServiceActionOptions> | undefined): Promise<AxChatResponse | ReadableStream<AxChatResponse>>;
21
- embed(req: Readonly<AxEmbedRequest>, options?: Readonly<AxAIServiceActionOptions> | undefined): Promise<AxEmbedResponse>;
22
- setOptions(options: Readonly<AxAIServiceOptions>): void;
23
- }
@@ -1,87 +0,0 @@
1
- export class AxBalancer {
2
- services;
3
- currentServiceIndex = 0;
4
- currentService;
5
- constructor(services) {
6
- if (services.length === 0) {
7
- throw new Error('No AI services provided.');
8
- }
9
- this.services = [...services].sort((a, b) => {
10
- const aInfo = a.getModelInfo();
11
- const bInfo = b.getModelInfo();
12
- const aTotalCost = (aInfo.promptTokenCostPer1M || Infinity) +
13
- (aInfo.completionTokenCostPer1M || Infinity);
14
- const bTotalCost = (bInfo.promptTokenCostPer1M || Infinity) +
15
- (bInfo.completionTokenCostPer1M || Infinity);
16
- return aTotalCost - bTotalCost;
17
- });
18
- const cs = this.services[this.currentServiceIndex];
19
- if (cs === undefined) {
20
- throw new Error('Error initializing the AI services.'); // More specific error message
21
- }
22
- this.currentService = cs;
23
- }
24
- getNextService() {
25
- const cs = this.services[++this.currentServiceIndex];
26
- if (cs === undefined) {
27
- return false;
28
- }
29
- this.currentService = cs;
30
- return true;
31
- }
32
- reset() {
33
- this.currentServiceIndex = 0;
34
- const cs = this.services[this.currentServiceIndex];
35
- if (cs === undefined) {
36
- throw new Error('No AI services provided.');
37
- }
38
- this.currentService = cs;
39
- }
40
- getName() {
41
- return this.currentService.getName();
42
- }
43
- getModelInfo() {
44
- return this.currentService.getModelInfo();
45
- }
46
- getEmbedModelInfo() {
47
- return this.currentService.getEmbedModelInfo();
48
- }
49
- getModelConfig() {
50
- return this.currentService.getModelConfig();
51
- }
52
- getFeatures() {
53
- return this.currentService.getFeatures();
54
- }
55
- async chat(req, options) {
56
- this.reset();
57
- // eslint-disable-next-line no-constant-condition
58
- while (true) {
59
- try {
60
- return await this.currentService.chat(req, options);
61
- }
62
- catch (e) {
63
- if (!this.getNextService()) {
64
- throw e;
65
- }
66
- }
67
- }
68
- }
69
- async embed(req, options) {
70
- this.reset();
71
- // eslint-disable-next-line no-constant-condition
72
- while (true) {
73
- try {
74
- return await this.currentService.embed(req, options);
75
- }
76
- catch (e) {
77
- if (!this.getNextService()) {
78
- throw e;
79
- }
80
- }
81
- }
82
- }
83
- setOptions(options) {
84
- this.currentService.setOptions(options);
85
- }
86
- }
87
- //# sourceMappingURL=balance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../../src/ai/balance.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- import type { ReadableStream } from 'stream/web';
2
- import { type AxSpan } from '../trace/index.js';
3
- import { type API } from '../util/apicall.js';
4
- import type { AxAIPromptConfig, AxAIService, AxAIServiceActionOptions, AxAIServiceOptions, AxChatRequest, AxChatResponse, AxEmbedRequest, AxEmbedResponse, AxModelConfig, AxModelInfo, AxModelInfoWithProvider } from './types.js';
5
- export interface AxBaseAIArgs {
6
- name: string;
7
- apiURL: string;
8
- headers: Record<string, string>;
9
- modelInfo: Readonly<AxModelInfo[]>;
10
- models: Readonly<{
11
- model: string;
12
- embedModel?: string;
13
- }>;
14
- options?: Readonly<AxAIServiceOptions>;
15
- supportFor: {
16
- functions: boolean;
17
- streaming: boolean;
18
- };
19
- }
20
- export declare const axBaseAIDefaultConfig: () => AxModelConfig;
21
- export declare const axBaseAIDefaultCreativeConfig: () => AxModelConfig;
22
- export declare class AxBaseAI<TChatRequest, TEmbedRequest, TChatResponse, TChatResponseDelta, TEmbedResponse> implements AxAIService {
23
- generateChatReq?: (req: Readonly<AxChatRequest>, config: Readonly<AxAIPromptConfig>) => [API, TChatRequest];
24
- generateEmbedReq?: (req: Readonly<AxEmbedRequest>) => [API, TEmbedRequest];
25
- generateChatResp?: (resp: Readonly<TChatResponse>) => AxChatResponse;
26
- generateChatStreamResp?: (resp: Readonly<TChatResponseDelta>, state: object) => AxChatResponse;
27
- generateEmbedResp?: (resp: Readonly<TEmbedResponse>) => AxEmbedResponse;
28
- private debug;
29
- private rt?;
30
- private fetch?;
31
- private tracer?;
32
- private modelUsage?;
33
- private embedModelUsage?;
34
- protected apiURL: string;
35
- protected name: string;
36
- protected headers: Record<string, string>;
37
- protected modelInfo: AxModelInfo;
38
- protected embedModelInfo?: AxModelInfo;
39
- protected supportFor: AxBaseAIArgs['supportFor'];
40
- constructor({ name, apiURL, headers, modelInfo, models, options, supportFor }: Readonly<AxBaseAIArgs>);
41
- setName(name: string): void;
42
- setAPIURL(apiURL: string): void;
43
- setHeaders(headers: Record<string, string>): void;
44
- setOptions(options: Readonly<AxAIServiceOptions>): void;
45
- getModelInfo(): Readonly<AxModelInfoWithProvider>;
46
- getEmbedModelInfo(): AxModelInfoWithProvider | undefined;
47
- getName(): string;
48
- getFeatures(): AxBaseAIArgs['supportFor'];
49
- getModelConfig(): AxModelConfig;
50
- chat(_req: Readonly<AxChatRequest>, options?: Readonly<AxAIPromptConfig & AxAIServiceActionOptions>): Promise<AxChatResponse | ReadableStream<AxChatResponse>>;
51
- _chat(_req: Readonly<AxChatRequest>, options?: Readonly<AxAIPromptConfig & AxAIServiceActionOptions>, span?: AxSpan): Promise<AxChatResponse | ReadableStream<AxChatResponse>>;
52
- embed(req: Readonly<AxEmbedRequest>, options?: Readonly<AxAIServiceActionOptions>): Promise<AxEmbedResponse>;
53
- _embed(req: Readonly<AxEmbedRequest>, options?: Readonly<AxAIServiceActionOptions>, span?: AxSpan): Promise<AxEmbedResponse>;
54
- private buildHeaders;
55
- }
@@ -1,343 +0,0 @@
1
- import { axSpanAttributes, AxSpanKind } from '../trace/index.js';
2
- import { apiCall } from '../util/apicall.js';
3
- import { ColorLog } from '../util/log.js';
4
- import { RespTransformStream } from '../util/transform.js';
5
- const colorLog = new ColorLog();
6
- export const axBaseAIDefaultConfig = () => structuredClone({
7
- maxTokens: 2000,
8
- temperature: 0,
9
- topK: 40,
10
- frequencyPenalty: 0.2
11
- });
12
- export const axBaseAIDefaultCreativeConfig = () => structuredClone({
13
- maxTokens: 500,
14
- temperature: 0.4,
15
- topP: 0.7,
16
- frequencyPenalty: 0.2,
17
- presencePenalty: 0.2
18
- });
19
- export class AxBaseAI {
20
- generateChatReq;
21
- generateEmbedReq;
22
- generateChatResp;
23
- generateChatStreamResp;
24
- generateEmbedResp;
25
- debug = false;
26
- rt;
27
- fetch;
28
- tracer;
29
- modelUsage;
30
- embedModelUsage;
31
- apiURL;
32
- name;
33
- headers;
34
- modelInfo;
35
- embedModelInfo;
36
- supportFor;
37
- constructor({ name, apiURL, headers, modelInfo, models, options = {}, supportFor }) {
38
- this.name = name;
39
- this.apiURL = apiURL;
40
- this.headers = headers;
41
- this.supportFor = supportFor;
42
- this.tracer = options.tracer;
43
- if (models.model.length === 0) {
44
- throw new Error('No model defined');
45
- }
46
- const mname = models.model.replace(/-0\d+$|-\d{2,}$/, '');
47
- this.modelInfo = modelInfo.filter((v) => v.name === mname).at(0) ?? {
48
- name: models.model,
49
- currency: 'usd',
50
- promptTokenCostPer1M: 0,
51
- completionTokenCostPer1M: 0
52
- };
53
- this.embedModelInfo = modelInfo
54
- .filter((v) => v.name === models.embedModel)
55
- .at(0);
56
- this.setOptions(options);
57
- }
58
- setName(name) {
59
- this.name = name;
60
- }
61
- setAPIURL(apiURL) {
62
- this.apiURL = apiURL;
63
- }
64
- setHeaders(headers) {
65
- this.headers = headers;
66
- }
67
- setOptions(options) {
68
- if (options.debug) {
69
- this.debug = options.debug;
70
- }
71
- if (options.rateLimiter) {
72
- this.rt = options.rateLimiter;
73
- }
74
- if (options.fetch) {
75
- this.fetch = options.fetch;
76
- }
77
- if (options.tracer) {
78
- this.tracer = options.tracer;
79
- }
80
- }
81
- getModelInfo() {
82
- return { ...this.modelInfo, provider: this.name };
83
- }
84
- getEmbedModelInfo() {
85
- return this.embedModelInfo
86
- ? { ...this.embedModelInfo, provider: this.name }
87
- : undefined;
88
- }
89
- getName() {
90
- return this.name;
91
- }
92
- getFeatures() {
93
- return this.supportFor;
94
- }
95
- getModelConfig() {
96
- throw new Error('getModelConfig not implemented');
97
- }
98
- async chat(_req, options) {
99
- if (this.tracer) {
100
- const mc = this.getModelConfig();
101
- return await this.tracer?.startActiveSpan('Chat Request', {
102
- kind: AxSpanKind.SERVER,
103
- attributes: {
104
- [axSpanAttributes.LLM_SYSTEM]: this.name,
105
- [axSpanAttributes.LLM_REQUEST_MODEL]: this.modelInfo.name,
106
- [axSpanAttributes.LLM_REQUEST_MAX_TOKENS]: mc.maxTokens,
107
- [axSpanAttributes.LLM_REQUEST_TEMPERATURE]: mc.temperature,
108
- [axSpanAttributes.LLM_REQUEST_TOP_P]: mc.topP,
109
- [axSpanAttributes.LLM_REQUEST_TOP_K]: mc.topK,
110
- [axSpanAttributes.LLM_REQUEST_FREQUENCY_PENALTY]: mc.frequencyPenalty,
111
- [axSpanAttributes.LLM_REQUEST_PRESENCE_PENALTY]: mc.presencePenalty,
112
- [axSpanAttributes.LLM_REQUEST_STOP_SEQUENCES]: mc.stopSequences?.join(', '),
113
- [axSpanAttributes.LLM_REQUEST_LLM_IS_STREAMING]: mc.stream
114
- // [AxSpanAttributes.LLM_PROMPTS]: _req.chatPrompt
115
- // ?.map((v) => v.content)
116
- // .join('\n')
117
- }
118
- }, async (span) => {
119
- const res = await this._chat(_req, options, span);
120
- span.end();
121
- return res;
122
- });
123
- }
124
- return await this._chat(_req, options);
125
- }
126
- async _chat(_req, options, span) {
127
- if (!this.generateChatReq) {
128
- throw new Error('generateChatReq not implemented');
129
- }
130
- const reqFn = this.generateChatReq;
131
- const stream = options?.stream ?? _req.modelConfig?.stream;
132
- const functions = _req.functions && _req.functions.length > 0 ? _req.functions : undefined;
133
- const req = {
134
- ..._req,
135
- functions,
136
- modelConfig: { ..._req.modelConfig, stream }
137
- };
138
- const fn = async () => {
139
- const [apiConfig, reqValue] = reqFn(req, options);
140
- const res = await apiCall({
141
- name: apiConfig.name,
142
- url: this.apiURL,
143
- headers: this.buildHeaders(apiConfig.headers),
144
- stream,
145
- debug: this.debug,
146
- fetch: this.fetch,
147
- span
148
- }, reqValue);
149
- return res;
150
- };
151
- if (this.debug) {
152
- logChatRequest(req);
153
- }
154
- const rv = this.rt
155
- ? await this.rt(fn, { modelUsage: this.modelUsage })
156
- : await fn();
157
- if (stream) {
158
- if (!this.generateChatStreamResp) {
159
- throw new Error('generateChatResp not implemented');
160
- }
161
- const respFn = this.generateChatStreamResp;
162
- const wrappedRespFn = (state) => (resp) => {
163
- const res = respFn(resp, state);
164
- res.sessionId = options?.sessionId;
165
- if (res.modelUsage) {
166
- this.modelUsage = res.modelUsage;
167
- }
168
- if (span?.isRecording()) {
169
- setResponseAttr(res, span);
170
- }
171
- if (this.debug) {
172
- logStreamingResponse(res);
173
- }
174
- return res;
175
- };
176
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
177
- const doneCb = async (_values) => {
178
- if (this.debug) {
179
- process.stdout.write('\n');
180
- }
181
- };
182
- const st = rv.pipeThrough(new RespTransformStream(wrappedRespFn({}), doneCb));
183
- return st;
184
- }
185
- if (!this.generateChatResp) {
186
- throw new Error('generateChatResp not implemented');
187
- }
188
- const res = this.generateChatResp(rv);
189
- res.sessionId = options?.sessionId;
190
- if (res.modelUsage) {
191
- this.modelUsage = res.modelUsage;
192
- }
193
- if (span?.isRecording()) {
194
- setResponseAttr(res, span);
195
- }
196
- if (this.debug) {
197
- logResponse(res);
198
- }
199
- span?.end();
200
- return res;
201
- }
202
- async embed(req, options) {
203
- if (this.tracer) {
204
- return await this.tracer?.startActiveSpan('Embed Request', {
205
- kind: AxSpanKind.SERVER,
206
- attributes: {
207
- [axSpanAttributes.LLM_SYSTEM]: this.name,
208
- [axSpanAttributes.LLM_REQUEST_MODEL]: this.modelInfo.name
209
- }
210
- }, async (span) => {
211
- const res = await this._embed(req, options, span);
212
- span.end();
213
- return res;
214
- });
215
- }
216
- return this._embed(req, options);
217
- }
218
- async _embed(req, options, span) {
219
- if (!this.generateEmbedReq) {
220
- throw new Error('generateEmbedReq not implemented');
221
- }
222
- if (!this.generateEmbedResp) {
223
- throw new Error('generateEmbedResp not implemented');
224
- }
225
- const fn = async () => {
226
- const [apiConfig, reqValue] = this.generateEmbedReq(req);
227
- const res = await apiCall({
228
- name: apiConfig.name,
229
- url: this.apiURL,
230
- headers: this.buildHeaders(apiConfig.headers),
231
- debug: this.debug,
232
- fetch: this.fetch,
233
- span
234
- }, reqValue);
235
- return res;
236
- };
237
- const resValue = this.rt
238
- ? await this.rt(fn, { embedModelUsage: this.embedModelUsage })
239
- : await fn();
240
- const res = this.generateEmbedResp(resValue);
241
- res.sessionId = options?.sessionId;
242
- if (span?.isRecording()) {
243
- if (res.modelUsage) {
244
- this.embedModelUsage = res.modelUsage;
245
- span.setAttributes({
246
- [axSpanAttributes.LLM_USAGE_COMPLETION_TOKENS]: res.modelUsage.completionTokens ?? 0,
247
- [axSpanAttributes.LLM_USAGE_PROMPT_TOKENS]: res.modelUsage.promptTokens
248
- });
249
- }
250
- }
251
- span?.end();
252
- return res;
253
- }
254
- buildHeaders(headers = {}) {
255
- return { ...headers, ...this.headers };
256
- }
257
- }
258
- const logChatRequest = (req) => {
259
- const items = req.chatPrompt?.map((msg) => {
260
- switch (msg.role) {
261
- case 'function':
262
- return `Function Result: ${colorLog.whiteBright(msg.result)}`;
263
- case 'user': {
264
- if (typeof msg.content === 'string') {
265
- return `User: ${colorLog.whiteBright(msg.content)}`;
266
- }
267
- const items = msg.content.map((v) => {
268
- switch (v.type) {
269
- case 'text':
270
- return `(Text) ${colorLog.whiteBright(v.text)}`;
271
- case 'image':
272
- return `(Image, ${v.mimeType}) ${colorLog.whiteBright(v.image.substring(0, 10))}`;
273
- default:
274
- throw new Error('Invalid content type');
275
- }
276
- });
277
- return `User:\n${items.join('\n')}`;
278
- }
279
- case 'assistant': {
280
- if (msg.functionCalls) {
281
- const fns = msg.functionCalls?.map(({ function: fn }) => {
282
- const args = typeof fn.params !== 'string'
283
- ? JSON.stringify(fn.params, null, 2)
284
- : fn.params;
285
- return `${fn.name}(${args})`;
286
- });
287
- return `Functions:\n${colorLog.whiteBright(fns.join('\n'))}`;
288
- }
289
- return `Assistant:\n${colorLog.whiteBright(msg.content ?? '<empty>')}`;
290
- }
291
- default:
292
- throw new Error('Invalid role');
293
- }
294
- });
295
- if (items) {
296
- console.log('\n==========');
297
- console.log(items.join('\n'));
298
- }
299
- };
300
- const logResponse = (resp) => {
301
- for (const r of resp.results) {
302
- if (r.content) {
303
- console.log(colorLog.greenBright(r.content));
304
- }
305
- if (r.functionCalls) {
306
- for (const f of r.functionCalls) {
307
- const args = typeof f.function.params !== 'string'
308
- ? JSON.stringify(f.function.params, null, 2)
309
- : f.function.params;
310
- console.log(colorLog.yellow(`${f.function.name}(${args})`));
311
- }
312
- }
313
- }
314
- };
315
- const logStreamingResponse = (resp) => {
316
- if (!resp.results) {
317
- return;
318
- }
319
- for (const r of resp.results) {
320
- if (r.content) {
321
- process.stdout.write(colorLog.greenBright(r.content));
322
- }
323
- if (r.functionCalls) {
324
- for (const f of r.functionCalls) {
325
- if (f.function.name) {
326
- process.stdout.write(colorLog.blueBright(f.function.name));
327
- }
328
- if (f.function.params) {
329
- process.stdout.write(colorLog.yellow(f.function.params));
330
- }
331
- }
332
- }
333
- }
334
- };
335
- const setResponseAttr = (res, span) => {
336
- if (res.modelUsage) {
337
- span.setAttributes({
338
- [axSpanAttributes.LLM_USAGE_COMPLETION_TOKENS]: res.modelUsage.completionTokens ?? 0,
339
- [axSpanAttributes.LLM_USAGE_PROMPT_TOKENS]: res.modelUsage.promptTokens
340
- });
341
- }
342
- };
343
- //# sourceMappingURL=base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/ai/base.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import type { API } from '../../util/apicall.js';
2
- import { AxBaseAI } from '../base.js';
3
- import type { AxAIPromptConfig, AxAIServiceOptions, AxChatRequest, AxChatResponse, AxEmbedRequest, AxEmbedResponse, AxModelConfig } from '../types.js';
4
- import { type AxAICohereChatRequest, type AxAICohereChatResponse, type AxAICohereChatResponseDelta, type AxAICohereConfig, type AxAICohereEmbedRequest, type AxAICohereEmbedResponse } from './types.js';
5
- export declare const axAICohereDefaultConfig: () => AxAICohereConfig;
6
- export declare const axAICohereCreativeConfig: () => AxAICohereConfig;
7
- export interface AxAICohereArgs {
8
- name: 'cohere';
9
- apiKey: string;
10
- config?: Readonly<AxAICohereConfig>;
11
- options?: Readonly<AxAIServiceOptions>;
12
- }
13
- export declare class AxAICohere extends AxBaseAI<AxAICohereChatRequest, AxAICohereEmbedRequest, AxAICohereChatResponse, AxAICohereChatResponseDelta, AxAICohereEmbedResponse> {
14
- private config;
15
- constructor({ apiKey, config, options }: Readonly<Omit<AxAICohereArgs, 'name'>>);
16
- getModelConfig(): AxModelConfig;
17
- generateChatReq: (req: Readonly<AxChatRequest>, _config: Readonly<AxAIPromptConfig>) => [API, AxAICohereChatRequest];
18
- generateEmbedReq: (req: Readonly<AxEmbedRequest>) => [API, AxAICohereEmbedRequest];
19
- generateChatResp: (resp: Readonly<AxAICohereChatResponse>) => AxChatResponse;
20
- generateChatStreamResp: (resp: Readonly<AxAICohereChatResponseDelta>, state: object) => AxChatResponse;
21
- generateEmbedResp: (resp: Readonly<AxAICohereEmbedResponse>) => AxEmbedResponse;
22
- }