@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,299 +0,0 @@
1
- import { AxBaseAI, axBaseAIDefaultConfig, axBaseAIDefaultCreativeConfig } from '../base.js';
2
- import { axModelInfoGoogleGemini } from './info.js';
3
- import { AxAIGoogleGeminiEmbedModel, AxAIGoogleGeminiModel, AxAIGoogleGeminiSafetyCategory, AxAIGoogleGeminiSafetyThreshold } from './types.js';
4
- const safetySettings = [
5
- {
6
- category: AxAIGoogleGeminiSafetyCategory.HarmCategoryHarassment,
7
- threshold: AxAIGoogleGeminiSafetyThreshold.BlockNone
8
- },
9
- {
10
- category: AxAIGoogleGeminiSafetyCategory.HarmCategoryHateSpeech,
11
- threshold: AxAIGoogleGeminiSafetyThreshold.BlockNone
12
- },
13
- {
14
- category: AxAIGoogleGeminiSafetyCategory.HarmCategorySexuallyExplicit,
15
- threshold: AxAIGoogleGeminiSafetyThreshold.BlockNone
16
- },
17
- {
18
- category: AxAIGoogleGeminiSafetyCategory.HarmCategoryDangerousContent,
19
- threshold: AxAIGoogleGeminiSafetyThreshold.BlockNone
20
- }
21
- ];
22
- /**
23
- * AxAIGoogleGemini: Default Model options for text generation
24
- * @export
25
- */
26
- export const axAIGoogleGeminiDefaultConfig = () => structuredClone({
27
- model: AxAIGoogleGeminiModel.Gemini15Pro,
28
- embedModel: AxAIGoogleGeminiEmbedModel.Embedding001,
29
- safetySettings,
30
- ...axBaseAIDefaultConfig()
31
- });
32
- export const axAIGoogleGeminiDefaultCreativeConfig = () => structuredClone({
33
- model: AxAIGoogleGeminiModel.Gemini15Flash,
34
- embedModel: AxAIGoogleGeminiEmbedModel.Embedding001,
35
- safetySettings,
36
- ...axBaseAIDefaultCreativeConfig()
37
- });
38
- /**
39
- * AxAIGoogleGemini: AI Service
40
- * @export
41
- */
42
- export class AxAIGoogleGemini extends AxBaseAI {
43
- options;
44
- config;
45
- apiKey;
46
- constructor({ apiKey, projectId, region, config, options }) {
47
- if (!apiKey || apiKey === '') {
48
- throw new Error('GoogleGemini AI API key not set');
49
- }
50
- let apiURL = 'https://generativelanguage.googleapis.com/v1beta';
51
- if (projectId && region) {
52
- apiURL = `POST https://${region}-aiplatform.googleapis.com/v1/projects/${projectId}/locations/{REGION}/publishers/google/`;
53
- }
54
- const _config = {
55
- ...axAIGoogleGeminiDefaultConfig(),
56
- ...config
57
- };
58
- super({
59
- name: 'GoogleGeminiAI',
60
- apiURL,
61
- headers: {},
62
- modelInfo: axModelInfoGoogleGemini,
63
- models: { model: _config.model, embedModel: _config.embedModel },
64
- options,
65
- supportFor: { functions: true, streaming: true }
66
- });
67
- this.options = options;
68
- this.config = _config;
69
- this.apiKey = apiKey;
70
- }
71
- getModelConfig() {
72
- const { config } = this;
73
- return {
74
- maxTokens: config.maxTokens,
75
- temperature: config.temperature,
76
- topP: config.topP,
77
- topK: config.topK
78
- };
79
- }
80
- generateChatReq = (req) => {
81
- const model = req.model ?? this.config.model;
82
- const stream = req.modelConfig?.stream ?? this.config.stream;
83
- if (!req.chatPrompt || req.chatPrompt.length === 0) {
84
- throw new Error('Chat prompt is empty');
85
- }
86
- const apiConfig = {
87
- name: stream
88
- ? `/models/${model}:streamGenerateContent?alt=sse&key=${this.apiKey}`
89
- : `/models/${model}:generateContent?key=${this.apiKey}`
90
- };
91
- const systemPrompts = req.chatPrompt
92
- .filter((p) => p.role === 'system')
93
- .map((p) => p.content);
94
- const systemInstruction = systemPrompts.length > 0
95
- ? {
96
- role: 'user',
97
- parts: [{ text: systemPrompts.join(' ') }]
98
- }
99
- : undefined;
100
- const contents = req.chatPrompt
101
- .filter((p) => p.role !== 'system')
102
- .map((msg, i) => {
103
- switch (msg.role) {
104
- case 'user': {
105
- const parts = Array.isArray(msg.content)
106
- ? msg.content.map((c, i) => {
107
- switch (c.type) {
108
- case 'text':
109
- return { text: c.text };
110
- case 'image':
111
- return {
112
- inlineData: { mimeType: c.mimeType, data: c.image }
113
- };
114
- default:
115
- throw new Error(`Chat prompt content type not supported (index: ${i})`);
116
- }
117
- })
118
- : [{ text: msg.content }];
119
- return {
120
- role: 'user',
121
- parts
122
- };
123
- }
124
- case 'assistant': {
125
- if ('content' in msg && typeof msg.content === 'string') {
126
- const parts = [{ text: msg.content }];
127
- return {
128
- role: 'model',
129
- parts
130
- };
131
- }
132
- let parts = [];
133
- if ('functionCalls' in msg) {
134
- parts =
135
- msg.functionCalls?.map((f) => {
136
- const args = typeof f.function.params === 'string'
137
- ? JSON.parse(f.function.params)
138
- : f.function.params;
139
- return {
140
- functionCall: {
141
- name: f.function.name,
142
- args: args
143
- }
144
- };
145
- }) ?? [];
146
- }
147
- return {
148
- role: 'model',
149
- parts
150
- };
151
- }
152
- case 'function': {
153
- if (!('functionId' in msg)) {
154
- throw new Error(`Chat prompt functionId is empty (index: ${i})`);
155
- }
156
- const parts = [
157
- {
158
- functionResponse: {
159
- name: msg.functionId,
160
- response: { result: msg.result }
161
- }
162
- }
163
- ];
164
- return {
165
- role: 'function',
166
- parts
167
- };
168
- }
169
- default:
170
- throw new Error('Invalid role');
171
- }
172
- });
173
- let tools = [];
174
- if (req.functions && req.functions.length > 0) {
175
- tools.push({ functionDeclarations: req.functions });
176
- }
177
- if (this.options?.codeExecution) {
178
- tools.push({ codeExecution: {} });
179
- }
180
- if (tools.length === 0) {
181
- tools = undefined;
182
- }
183
- // eslint-disable-next-line @typescript-eslint/naming-convention
184
- let tool_config;
185
- if (req.functionCall) {
186
- if (req.functionCall === 'none') {
187
- tool_config = { function_calling_config: { mode: 'NONE' } };
188
- }
189
- else if (req.functionCall === 'auto') {
190
- tool_config = { function_calling_config: { mode: 'AUTO' } };
191
- }
192
- else if (req.functionCall === 'required') {
193
- tool_config = {
194
- function_calling_config: { mode: 'ANY' }
195
- };
196
- }
197
- else {
198
- tool_config = {
199
- function_calling_config: {
200
- mode: 'ANY',
201
- allowed_function_names: [req.functionCall.function.name]
202
- }
203
- };
204
- }
205
- }
206
- const generationConfig = {
207
- maxOutputTokens: req.modelConfig?.maxTokens ?? this.config.maxTokens,
208
- temperature: req.modelConfig?.temperature ?? this.config.temperature,
209
- topP: req.modelConfig?.topP ?? this.config.topP,
210
- topK: req.modelConfig?.topK ?? this.config.topK,
211
- candidateCount: 1,
212
- stopSequences: req.modelConfig?.stopSequences ?? this.config.stopSequences
213
- };
214
- const safetySettings = this.config.safetySettings;
215
- const reqValue = {
216
- contents,
217
- tools,
218
- tool_config,
219
- systemInstruction,
220
- generationConfig,
221
- safetySettings
222
- };
223
- return [apiConfig, reqValue];
224
- };
225
- generateEmbedReq = (req) => {
226
- const model = req.embedModel ?? this.config.embedModel;
227
- if (!model) {
228
- throw new Error('Embed model not set');
229
- }
230
- if (!req.texts || req.texts.length === 0) {
231
- throw new Error('Embed texts is empty');
232
- }
233
- const apiConfig = {
234
- name: `/models/${model}:batchEmbedText?key=${this.apiKey}`
235
- };
236
- const reqValue = {
237
- requests: req.texts.map((text) => ({ model, text }))
238
- };
239
- return [apiConfig, reqValue];
240
- };
241
- generateChatResp = (resp) => {
242
- const results = resp.candidates?.map((candidate) => {
243
- const result = {};
244
- switch (candidate.finishReason) {
245
- case 'MAX_TOKENS':
246
- result.finishReason = 'length';
247
- break;
248
- case 'STOP':
249
- result.finishReason = 'stop';
250
- break;
251
- case 'SAFETY':
252
- throw new Error('Finish reason: SAFETY');
253
- case 'RECITATION':
254
- throw new Error('Finish reason: RECITATION');
255
- }
256
- for (const part of candidate.content.parts) {
257
- if ('text' in part) {
258
- result.content = part.text;
259
- continue;
260
- }
261
- if ('functionCall' in part) {
262
- result.functionCalls = [
263
- {
264
- id: part.functionCall.name,
265
- type: 'function',
266
- function: {
267
- name: part.functionCall.name,
268
- params: part.functionCall.args
269
- }
270
- }
271
- ];
272
- }
273
- }
274
- return result;
275
- });
276
- let modelUsage;
277
- if (resp.usageMetadata) {
278
- modelUsage = {
279
- totalTokens: resp.usageMetadata.totalTokenCount,
280
- promptTokens: resp.usageMetadata.promptTokenCount,
281
- completionTokens: resp.usageMetadata.candidatesTokenCount
282
- };
283
- }
284
- return {
285
- results,
286
- modelUsage
287
- };
288
- };
289
- generateChatStreamResp = (resp) => {
290
- return this.generateChatResp(resp);
291
- };
292
- generateEmbedResp = (resp) => {
293
- const embeddings = resp.embeddings.map((embedding) => embedding.value);
294
- return {
295
- embeddings
296
- };
297
- };
298
- }
299
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/ai/google-gemini/api.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './api.js';
2
- export * from './types.js';
@@ -1,3 +0,0 @@
1
- export * from './api.js';
2
- export * from './types.js';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ai/google-gemini/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { AxModelInfo } from '../types.js';
2
- /**
3
- * AxAIGoogleGemini: Model information
4
- * @export
5
- */
6
- export declare const axModelInfoGoogleGemini: AxModelInfo[];
@@ -1,29 +0,0 @@
1
- import { AxAIGoogleGeminiModel } from './types.js';
2
- /**
3
- * AxAIGoogleGemini: Model information
4
- * @export
5
- */
6
- export const axModelInfoGoogleGemini = [
7
- {
8
- name: AxAIGoogleGeminiModel.Gemini15Flash,
9
- currency: 'usd',
10
- characterIsToken: true,
11
- promptTokenCostPer1M: 0.35,
12
- completionTokenCostPer1M: 0.7
13
- },
14
- {
15
- name: AxAIGoogleGeminiModel.Gemini15Pro,
16
- currency: 'usd',
17
- characterIsToken: true,
18
- promptTokenCostPer1M: 3.5,
19
- completionTokenCostPer1M: 1.75
20
- },
21
- {
22
- name: AxAIGoogleGeminiModel.Gemini1Pro,
23
- currency: 'usd',
24
- characterIsToken: true,
25
- promptTokenCostPer1M: 0.5,
26
- completionTokenCostPer1M: 1.5
27
- }
28
- ];
29
- //# sourceMappingURL=info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../../../src/ai/google-gemini/info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkB;IACpD;QACE,IAAI,EAAE,qBAAqB,CAAC,aAAa;QACzC,QAAQ,EAAE,KAAK;QACf,gBAAgB,EAAE,IAAI;QACtB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,GAAG;KAC9B;IACD;QACE,IAAI,EAAE,qBAAqB,CAAC,WAAW;QACvC,QAAQ,EAAE,KAAK;QACf,gBAAgB,EAAE,IAAI;QACtB,oBAAoB,EAAE,GAAG;QACzB,wBAAwB,EAAE,IAAI;KAC/B;IACD;QACE,IAAI,EAAE,qBAAqB,CAAC,UAAU;QACtC,QAAQ,EAAE,KAAK;QACf,gBAAgB,EAAE,IAAI;QACtB,oBAAoB,EAAE,GAAG;QACzB,wBAAwB,EAAE,GAAG;KAC9B;CACF,CAAC"}
@@ -1,146 +0,0 @@
1
- import type { AxModelConfig } from '../types.js';
2
- export declare enum AxAIGoogleGeminiModel {
3
- Gemini1Pro = "gemini-1.0-pro",
4
- Gemini15Flash = "gemini-1.5-flash",
5
- Gemini15Pro = "gemini-1.5-pro",
6
- Gemma2 = "gemma-2-27b-it"
7
- }
8
- export declare enum AxAIGoogleGeminiEmbedModel {
9
- Embedding001 = "embedding-001"
10
- }
11
- export declare enum AxAIGoogleGeminiSafetyCategory {
12
- HarmCategoryHarassment = "HARM_CATEGORY_HARASSMENT",
13
- HarmCategoryHateSpeech = "HARM_CATEGORY_HATE_SPEECH",
14
- HarmCategorySexuallyExplicit = "HARM_CATEGORY_SEXUALLY_EXPLICIT",
15
- HarmCategoryDangerousContent = "HARM_CATEGORY_DANGEROUS_CONTENT"
16
- }
17
- export declare enum AxAIGoogleGeminiSafetyThreshold {
18
- BlockNone = "BLOCK_NONE",
19
- BlockOnlyHigh = "BLOCK_ONLY_HIGH",
20
- BlockMediumAndAbove = "BLOCK_MEDIUM_AND_ABOVE",
21
- BlockLowAndAbove = "BLOCK_LOW_AND_ABOVE",
22
- BlockDefault = "HARM_BLOCK_THRESHOLD_UNSPECIFIED"
23
- }
24
- export type AxAIGoogleGeminiContent = {
25
- role: 'user';
26
- parts: ({
27
- text: string;
28
- } | {
29
- inlineData: {
30
- mimeType: string;
31
- data: string;
32
- };
33
- } | {
34
- fileData: {
35
- mimeType: string;
36
- fileUri: string;
37
- };
38
- })[];
39
- } | {
40
- role: 'model';
41
- parts: {
42
- text: string;
43
- }[] | {
44
- functionCall: {
45
- name: string;
46
- args: object;
47
- };
48
- }[];
49
- } | {
50
- role: 'function';
51
- parts: {
52
- functionResponse: {
53
- name: string;
54
- response: object;
55
- };
56
- }[];
57
- };
58
- export type AxAIGoogleGeminiToolFunctionDeclaration = {
59
- name: string;
60
- description?: string;
61
- parameters?: object;
62
- };
63
- export type AxAIGoogleGeminiTool = {
64
- functionDeclarations?: AxAIGoogleGeminiToolFunctionDeclaration[];
65
- codeExecution?: object;
66
- };
67
- export type AxAIGoogleGeminiToolConfig = {
68
- function_calling_config: {
69
- mode: 'ANY' | 'NONE' | 'AUTO';
70
- allowed_function_names?: string[];
71
- };
72
- };
73
- export type AxAIGoogleGeminiGenerationConfig = {
74
- temperature?: number;
75
- topP?: number;
76
- topK?: number;
77
- candidateCount?: number;
78
- maxOutputTokens?: number;
79
- stopSequences?: readonly string[];
80
- };
81
- export type AxAIGoogleGeminiSafetySettings = {
82
- category: AxAIGoogleGeminiSafetyCategory;
83
- threshold: AxAIGoogleGeminiSafetyThreshold;
84
- }[];
85
- export type AxAIGoogleGeminiChatRequest = {
86
- contents: AxAIGoogleGeminiContent[];
87
- tools?: AxAIGoogleGeminiTool[];
88
- tool_config?: AxAIGoogleGeminiToolConfig;
89
- systemInstruction?: AxAIGoogleGeminiContent;
90
- generationConfig: AxAIGoogleGeminiGenerationConfig;
91
- safetySettings?: AxAIGoogleGeminiSafetySettings;
92
- };
93
- export type AxAIGoogleGeminiChatResponse = {
94
- candidates: {
95
- content: AxAIGoogleGeminiContent;
96
- finishReason: 'STOP' | 'MAX_TOKENS' | 'SAFETY' | 'RECITATION' | 'OTHER';
97
- citationMetadata: {
98
- citations: {
99
- startIndex: number;
100
- endIndex: number;
101
- uri: string;
102
- title: string;
103
- license: string;
104
- publicationDate: {
105
- year: number;
106
- month: number;
107
- day: number;
108
- };
109
- }[];
110
- };
111
- }[];
112
- usageMetadata: {
113
- promptTokenCount: number;
114
- candidatesTokenCount: number;
115
- totalTokenCount: number;
116
- };
117
- };
118
- export type AxAIGoogleGeminiChatResponseDelta = AxAIGoogleGeminiChatResponse;
119
- /**
120
- * AxAIGoogleGeminiConfig: Configuration options for Google Gemini API
121
- * @export
122
- */
123
- export type AxAIGoogleGeminiConfig = AxModelConfig & {
124
- model: AxAIGoogleGeminiModel | string;
125
- embedModel: AxAIGoogleGeminiEmbedModel;
126
- safetySettings?: AxAIGoogleGeminiSafetySettings;
127
- };
128
- /**
129
- * AxAIGoogleGeminiEmbedRequest: Structure for making an embedding request to the Google Gemini API.
130
- * @export
131
- */
132
- export type AxAIGoogleGeminiBatchEmbedRequest = {
133
- requests: {
134
- model: string;
135
- text: string;
136
- }[];
137
- };
138
- /**
139
- * AxAIGoogleGeminiEmbedResponse: Structure for handling responses from the Google Gemini API embedding requests.
140
- * @export
141
- */
142
- export type AxAIGoogleGeminiBatchEmbedResponse = {
143
- embeddings: {
144
- value: number[];
145
- }[];
146
- };
@@ -1,27 +0,0 @@
1
- export var AxAIGoogleGeminiModel;
2
- (function (AxAIGoogleGeminiModel) {
3
- AxAIGoogleGeminiModel["Gemini1Pro"] = "gemini-1.0-pro";
4
- AxAIGoogleGeminiModel["Gemini15Flash"] = "gemini-1.5-flash";
5
- AxAIGoogleGeminiModel["Gemini15Pro"] = "gemini-1.5-pro";
6
- AxAIGoogleGeminiModel["Gemma2"] = "gemma-2-27b-it";
7
- })(AxAIGoogleGeminiModel || (AxAIGoogleGeminiModel = {}));
8
- export var AxAIGoogleGeminiEmbedModel;
9
- (function (AxAIGoogleGeminiEmbedModel) {
10
- AxAIGoogleGeminiEmbedModel["Embedding001"] = "embedding-001";
11
- })(AxAIGoogleGeminiEmbedModel || (AxAIGoogleGeminiEmbedModel = {}));
12
- export var AxAIGoogleGeminiSafetyCategory;
13
- (function (AxAIGoogleGeminiSafetyCategory) {
14
- AxAIGoogleGeminiSafetyCategory["HarmCategoryHarassment"] = "HARM_CATEGORY_HARASSMENT";
15
- AxAIGoogleGeminiSafetyCategory["HarmCategoryHateSpeech"] = "HARM_CATEGORY_HATE_SPEECH";
16
- AxAIGoogleGeminiSafetyCategory["HarmCategorySexuallyExplicit"] = "HARM_CATEGORY_SEXUALLY_EXPLICIT";
17
- AxAIGoogleGeminiSafetyCategory["HarmCategoryDangerousContent"] = "HARM_CATEGORY_DANGEROUS_CONTENT";
18
- })(AxAIGoogleGeminiSafetyCategory || (AxAIGoogleGeminiSafetyCategory = {}));
19
- export var AxAIGoogleGeminiSafetyThreshold;
20
- (function (AxAIGoogleGeminiSafetyThreshold) {
21
- AxAIGoogleGeminiSafetyThreshold["BlockNone"] = "BLOCK_NONE";
22
- AxAIGoogleGeminiSafetyThreshold["BlockOnlyHigh"] = "BLOCK_ONLY_HIGH";
23
- AxAIGoogleGeminiSafetyThreshold["BlockMediumAndAbove"] = "BLOCK_MEDIUM_AND_ABOVE";
24
- AxAIGoogleGeminiSafetyThreshold["BlockLowAndAbove"] = "BLOCK_LOW_AND_ABOVE";
25
- AxAIGoogleGeminiSafetyThreshold["BlockDefault"] = "HARM_BLOCK_THRESHOLD_UNSPECIFIED";
26
- })(AxAIGoogleGeminiSafetyThreshold || (AxAIGoogleGeminiSafetyThreshold = {}));
27
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/ai/google-gemini/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,sDAA6B,CAAA;IAC7B,2DAAkC,CAAA;IAClC,uDAA8B,CAAA;IAC9B,kDAAyB,CAAA;AAC3B,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AAED,MAAM,CAAN,IAAY,0BAEX;AAFD,WAAY,0BAA0B;IACpC,4DAA8B,CAAA;AAChC,CAAC,EAFW,0BAA0B,KAA1B,0BAA0B,QAErC;AAED,MAAM,CAAN,IAAY,8BAKX;AALD,WAAY,8BAA8B;IACxC,qFAAmD,CAAA;IACnD,sFAAoD,CAAA;IACpD,kGAAgE,CAAA;IAChE,kGAAgE,CAAA;AAClE,CAAC,EALW,8BAA8B,KAA9B,8BAA8B,QAKzC;AAED,MAAM,CAAN,IAAY,+BAMX;AAND,WAAY,+BAA+B;IACzC,2DAAwB,CAAA;IACxB,oEAAiC,CAAA;IACjC,iFAA8C,CAAA;IAC9C,2EAAwC,CAAA;IACxC,oFAAiD,CAAA;AACnD,CAAC,EANW,+BAA+B,KAA/B,+BAA+B,QAM1C"}
@@ -1,18 +0,0 @@
1
- import { AxAIOpenAI } from '../openai/api.js';
2
- import type { AxAIOpenAIConfig } from '../openai/types.js';
3
- import type { AxAIServiceOptions } from '../types.js';
4
- type AxAIGroqAIConfig = AxAIOpenAIConfig;
5
- export interface AxAIGroqArgs {
6
- name: 'groq';
7
- apiKey: string;
8
- config?: Readonly<AxAIGroqAIConfig>;
9
- options?: Readonly<AxAIServiceOptions> & {
10
- tokensPerMinute?: number;
11
- };
12
- }
13
- export declare class AxAIGroq extends AxAIOpenAI {
14
- constructor({ apiKey, config, options }: Readonly<Omit<AxAIGroqArgs, 'groq'>>);
15
- setOptions: (options: Readonly<AxAIServiceOptions>) => void;
16
- private newRateLimiter;
17
- }
18
- export {};
@@ -1,52 +0,0 @@
1
- import { AxRateLimiterTokenUsage } from '../../util/rate-limit.js';
2
- import { axBaseAIDefaultConfig } from '../base.js';
3
- import { AxAIOpenAI } from '../openai/api.js';
4
- import { AxAIGroqModel } from './types.js';
5
- const axAIGroqDefaultConfig = () => structuredClone({
6
- model: AxAIGroqModel.Llama3_70B,
7
- ...axBaseAIDefaultConfig()
8
- });
9
- export class AxAIGroq extends AxAIOpenAI {
10
- constructor({ apiKey, config, options }) {
11
- if (!apiKey || apiKey === '') {
12
- throw new Error('Groq API key not set');
13
- }
14
- const _config = {
15
- ...axAIGroqDefaultConfig(),
16
- ...config
17
- };
18
- const _options = {
19
- ...options,
20
- streamingUsage: false
21
- };
22
- super({
23
- apiKey,
24
- config: _config,
25
- options: _options,
26
- apiURL: 'https://api.groq.com/openai/v1',
27
- modelInfo: []
28
- });
29
- super.setName('Groq');
30
- this.setOptions(_options);
31
- }
32
- setOptions = (options) => {
33
- const rateLimiter = this.newRateLimiter(options);
34
- super.setOptions({ ...options, rateLimiter });
35
- };
36
- newRateLimiter = (options) => {
37
- if (options?.rateLimiter) {
38
- return options.rateLimiter;
39
- }
40
- const tokensPerMin = options?.tokensPerMinute ?? 4800;
41
- const rt = new AxRateLimiterTokenUsage(tokensPerMin, tokensPerMin / 60, {
42
- debug: options?.debug
43
- });
44
- const rtFunc = async (func, info) => {
45
- const totalTokens = info.modelUsage?.totalTokens || 0;
46
- await rt.acquire(totalTokens);
47
- return await func();
48
- };
49
- return rtFunc;
50
- };
51
- }
52
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/ai/groq/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,MAAM,qBAAqB,GAAG,GAAqB,EAAE,CACnD,eAAe,CAAC;IACd,KAAK,EAAE,aAAa,CAAC,UAAU;IAC/B,GAAG,qBAAqB,EAAE;CAC3B,CAAC,CAAC;AASL,MAAM,OAAO,QAAS,SAAQ,UAAU;IACtC,YAAY,EACV,MAAM,EACN,MAAM,EACN,OAAO,EAC8B;QACrC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,OAAO,GAAG;YACd,GAAG,qBAAqB,EAAE;YAC1B,GAAG,MAAM;SACV,CAAC;QAEF,MAAM,QAAQ,GAAG;YACf,GAAG,OAAO;YACV,cAAc,EAAE,KAAK;SACtB,CAAC;QAEF,KAAK,CAAC;YACJ,MAAM;YACN,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,gCAAgC;YACxC,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;QAEH,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAEQ,UAAU,GAAG,CAAC,OAAqC,EAAE,EAAE;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACjD,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC;IAEM,cAAc,GAAG,CAAC,OAA0C,EAAE,EAAE;QACtE,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,WAAW,CAAC;QAC7B,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,EAAE,eAAe,IAAI,IAAI,CAAC;QACtD,MAAM,EAAE,GAAG,IAAI,uBAAuB,CAAC,YAAY,EAAE,YAAY,GAAG,EAAE,EAAE;YACtE,KAAK,EAAE,OAAO,EAAE,KAAK;SACtB,CAAC,CAAC;QAEH,MAAM,MAAM,GAA0B,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YACzD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,IAAI,CAAC,CAAC;YACtD,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC9B,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;CACH"}
@@ -1 +0,0 @@
1
- export * from './api.js';
@@ -1,2 +0,0 @@
1
- export * from './api.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ai/groq/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare enum AxAIGroqModel {
2
- Llama3_8B = "llama3-8b-8192",
3
- Llama3_70B = "llama3-70b-8192",
4
- Mixtral_8x7B = "mixtral-8x7b-32768",
5
- Gemma_7B = "gemma-7b-it"
6
- }
@@ -1,8 +0,0 @@
1
- export var AxAIGroqModel;
2
- (function (AxAIGroqModel) {
3
- AxAIGroqModel["Llama3_8B"] = "llama3-8b-8192";
4
- AxAIGroqModel["Llama3_70B"] = "llama3-70b-8192";
5
- AxAIGroqModel["Mixtral_8x7B"] = "mixtral-8x7b-32768";
6
- AxAIGroqModel["Gemma_7B"] = "gemma-7b-it";
7
- })(AxAIGroqModel || (AxAIGroqModel = {}));
8
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/ai/groq/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,6CAA4B,CAAA;IAC5B,+CAA8B,CAAA;IAC9B,oDAAmC,CAAA;IACnC,yCAAwB,CAAA;AAC1B,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB"}