langchain 0.0.4 → 0.0.6

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 (387) hide show
  1. package/README.md +33 -0
  2. package/agents.d.ts +1 -0
  3. package/agents.js +1 -0
  4. package/chains.d.ts +1 -0
  5. package/chains.js +1 -0
  6. package/dist/agents/agent.d.ts +96 -0
  7. package/dist/agents/agent.js +151 -0
  8. package/dist/agents/agent.js.map +1 -0
  9. package/dist/{esm/agents → agents}/executor.d.ts +5 -0
  10. package/dist/agents/executor.js +99 -0
  11. package/dist/agents/executor.js.map +1 -0
  12. package/dist/{cjs/agents → agents}/helpers.d.ts +0 -0
  13. package/dist/agents/helpers.js +21 -0
  14. package/dist/agents/helpers.js.map +1 -0
  15. package/dist/{cjs/agents → agents}/index.d.ts +1 -0
  16. package/dist/{cjs/agents → agents}/index.js +5 -1
  17. package/dist/agents/index.js.map +1 -0
  18. package/dist/agents/initialize.d.ts +4 -0
  19. package/dist/agents/initialize.js +19 -0
  20. package/dist/agents/initialize.js.map +1 -0
  21. package/dist/{cjs/agents → agents}/load.d.ts +0 -0
  22. package/dist/agents/load.js +19 -0
  23. package/dist/agents/load.js.map +1 -0
  24. package/dist/{esm/agents → agents}/mrkl/index.d.ts +18 -1
  25. package/dist/{cjs/agents → agents}/mrkl/index.js +26 -34
  26. package/dist/agents/mrkl/index.js.map +1 -0
  27. package/dist/{cjs/agents → agents}/mrkl/prompt.d.ts +0 -0
  28. package/dist/{cjs/agents → agents}/mrkl/prompt.js +0 -1
  29. package/dist/agents/mrkl/prompt.js.map +1 -0
  30. package/dist/{cjs/agents → agents}/tests/agent.test.d.ts +0 -0
  31. package/dist/agents/tests/agent.test.js +35 -0
  32. package/dist/agents/tests/agent.test.js.map +1 -0
  33. package/dist/{cjs/chains/tests/llm_chain.test.d.ts → agents/tests/calculator.test.d.ts} +0 -0
  34. package/dist/agents/tests/calculator.test.js +30 -0
  35. package/dist/agents/tests/calculator.test.js.map +1 -0
  36. package/dist/agents/tools/base.d.ts +6 -0
  37. package/dist/agents/tools/base.js +15 -0
  38. package/dist/agents/tools/base.js.map +1 -0
  39. package/dist/agents/tools/calculator.d.ts +6 -0
  40. package/dist/agents/tools/calculator.js +33 -0
  41. package/dist/agents/tools/calculator.js.map +1 -0
  42. package/dist/agents/tools/index.d.ts +3 -0
  43. package/dist/agents/tools/index.js +10 -0
  44. package/dist/agents/tools/index.js.map +1 -0
  45. package/dist/{cjs/agents → agents}/tools/llm-math.d.ts +0 -0
  46. package/dist/{cjs/agents → agents}/tools/llm-math.js +0 -0
  47. package/dist/{cjs/agents → agents}/tools/llm-math.js.map +1 -1
  48. package/dist/agents/tools/serpapi.d.ts +18 -0
  49. package/dist/agents/tools/serpapi.js +93 -0
  50. package/dist/agents/tools/serpapi.js.map +1 -0
  51. package/dist/{cjs/agents → agents}/types.d.ts +0 -0
  52. package/dist/{cjs/agents → agents}/types.js +0 -0
  53. package/dist/{cjs/agents → agents}/types.js.map +1 -1
  54. package/dist/{cjs/cache.d.ts → cache.d.ts} +0 -0
  55. package/dist/{cjs/cache.js → cache.js} +0 -0
  56. package/dist/cache.js.map +1 -0
  57. package/dist/chains/base.d.ts +42 -0
  58. package/dist/chains/base.js +67 -0
  59. package/dist/chains/base.js.map +1 -0
  60. package/dist/chains/chat_vector_db_chain.d.ts +41 -0
  61. package/dist/chains/chat_vector_db_chain.js +146 -0
  62. package/dist/chains/chat_vector_db_chain.js.map +1 -0
  63. package/dist/chains/combine_docs_chain.d.ts +35 -0
  64. package/dist/chains/combine_docs_chain.js +75 -0
  65. package/dist/chains/combine_docs_chain.js.map +1 -0
  66. package/dist/chains/conversation.d.ts +12 -0
  67. package/dist/chains/conversation.js +29 -0
  68. package/dist/chains/conversation.js.map +1 -0
  69. package/dist/chains/index.d.ts +7 -0
  70. package/dist/chains/index.js +19 -0
  71. package/dist/chains/index.js.map +1 -0
  72. package/dist/{cjs/chains → chains}/llm_chain.d.ts +36 -1
  73. package/dist/chains/llm_chain.js +115 -0
  74. package/dist/chains/llm_chain.js.map +1 -0
  75. package/dist/chains/load.d.ts +21 -0
  76. package/dist/chains/load.js +37 -0
  77. package/dist/chains/load.js.map +1 -0
  78. package/dist/chains/question_answering/load.d.ts +3 -0
  79. package/dist/chains/question_answering/load.js +13 -0
  80. package/dist/chains/question_answering/load.js.map +1 -0
  81. package/dist/chains/question_answering/stuff_prompts.d.ts +2 -0
  82. package/dist/chains/question_answering/stuff_prompts.js +10 -0
  83. package/dist/chains/question_answering/stuff_prompts.js.map +1 -0
  84. package/dist/{cjs/prompt → chains/question_answering}/tests/load.test.d.ts +0 -0
  85. package/dist/chains/question_answering/tests/load.test.js +18 -0
  86. package/dist/chains/question_answering/tests/load.test.js.map +1 -0
  87. package/dist/{cjs/llms/tests/openai.test.d.ts → chains/tests/chat_vector_db_qa_chain.test.d.ts} +0 -0
  88. package/dist/chains/tests/chat_vector_db_qa_chain.test.js +35 -0
  89. package/dist/chains/tests/chat_vector_db_qa_chain.test.js.map +1 -0
  90. package/dist/{cjs/prompt/tests/template.test.d.ts → chains/tests/combine_docs_chain.test.d.ts} +0 -0
  91. package/dist/chains/tests/combine_docs_chain.test.js +39 -0
  92. package/dist/chains/tests/combine_docs_chain.test.js.map +1 -0
  93. package/dist/{esm/chains → chains}/tests/llm_chain.test.d.ts +0 -0
  94. package/dist/chains/tests/llm_chain.test.js +29 -0
  95. package/dist/chains/tests/llm_chain.test.js.map +1 -0
  96. package/dist/{esm/agents/tests/agent.test.d.ts → chains/tests/vector_db_qa_chain.test.d.ts} +0 -0
  97. package/dist/chains/tests/vector_db_qa_chain.test.js +46 -0
  98. package/dist/chains/tests/vector_db_qa_chain.test.js.map +1 -0
  99. package/dist/chains/vector_db_qa.d.ts +36 -0
  100. package/dist/chains/vector_db_qa.js +85 -0
  101. package/dist/chains/vector_db_qa.js.map +1 -0
  102. package/dist/document.d.ts +13 -0
  103. package/dist/document.js +28 -0
  104. package/dist/document.js.map +1 -0
  105. package/dist/embeddings/base.d.ts +4 -0
  106. package/dist/embeddings/base.js +7 -0
  107. package/dist/embeddings/base.js.map +1 -0
  108. package/dist/embeddings/index.d.ts +1 -0
  109. package/dist/embeddings/index.js +6 -0
  110. package/dist/embeddings/index.js.map +1 -0
  111. package/dist/embeddings/openai.d.ts +20 -0
  112. package/dist/embeddings/openai.js +86 -0
  113. package/dist/embeddings/openai.js.map +1 -0
  114. package/dist/{esm/llms → embeddings}/tests/openai.test.d.ts +0 -0
  115. package/dist/embeddings/tests/openai.test.js +17 -0
  116. package/dist/embeddings/tests/openai.test.js.map +1 -0
  117. package/dist/{cjs/index.d.ts → index.d.ts} +1 -1
  118. package/dist/{cjs/index.js → index.js} +4 -4
  119. package/dist/index.js.map +1 -0
  120. package/dist/llms/base.d.ts +64 -0
  121. package/dist/llms/base.js +164 -0
  122. package/dist/llms/base.js.map +1 -0
  123. package/dist/llms/cohere.d.ts +24 -0
  124. package/dist/llms/cohere.js +55 -0
  125. package/dist/llms/cohere.js.map +1 -0
  126. package/dist/{esm/llms → llms}/index.d.ts +20 -0
  127. package/dist/{cjs/llms → llms}/index.js +3 -1
  128. package/dist/llms/index.js.map +1 -0
  129. package/dist/llms/load.d.ts +11 -0
  130. package/dist/llms/load.js +17 -0
  131. package/dist/llms/load.js.map +1 -0
  132. package/dist/llms/openai.d.ts +125 -0
  133. package/dist/{cjs/llms → llms}/openai.js +96 -58
  134. package/dist/llms/openai.js.map +1 -0
  135. package/dist/{esm/prompt/tests/load.test.d.ts → llms/tests/cohere.test.d.ts} +0 -0
  136. package/dist/llms/tests/cohere.test.js +10 -0
  137. package/dist/llms/tests/cohere.test.js.map +1 -0
  138. package/dist/{esm/prompt/tests/template.test.d.ts → llms/tests/openai.test.d.ts} +0 -0
  139. package/dist/llms/tests/openai.test.js +10 -0
  140. package/dist/llms/tests/openai.test.js.map +1 -0
  141. package/dist/memory/base.d.ts +7 -0
  142. package/dist/memory/base.js +7 -0
  143. package/dist/memory/base.js.map +1 -0
  144. package/dist/memory/buffer_memory.d.ts +15 -0
  145. package/dist/memory/buffer_memory.js +57 -0
  146. package/dist/memory/buffer_memory.js.map +1 -0
  147. package/dist/memory/index.d.ts +2 -0
  148. package/dist/memory/index.js +8 -0
  149. package/dist/memory/index.js.map +1 -0
  150. package/dist/memory/tests/buffer_memory.test.d.ts +1 -0
  151. package/dist/memory/tests/buffer_memory.test.js +17 -0
  152. package/dist/memory/tests/buffer_memory.test.js.map +1 -0
  153. package/dist/prompts/base.d.ts +58 -0
  154. package/dist/prompts/base.js +53 -0
  155. package/dist/prompts/base.js.map +1 -0
  156. package/dist/{esm/prompt → prompts}/few_shot.d.ts +36 -1
  157. package/dist/{cjs/prompt → prompts}/few_shot.js +27 -33
  158. package/dist/prompts/few_shot.js.map +1 -0
  159. package/dist/{cjs/prompt → prompts}/index.d.ts +1 -0
  160. package/dist/{cjs/prompt → prompts}/index.js +3 -1
  161. package/dist/prompts/index.js.map +1 -0
  162. package/dist/prompts/load.d.ts +19 -0
  163. package/dist/prompts/load.js +33 -0
  164. package/dist/prompts/load.js.map +1 -0
  165. package/dist/{cjs/prompt → prompts}/parser.d.ts +30 -0
  166. package/dist/{cjs/prompt → prompts}/parser.js +21 -0
  167. package/dist/prompts/parser.js.map +1 -0
  168. package/dist/prompts/prompt.d.ts +76 -0
  169. package/dist/{cjs/prompt → prompts}/prompt.js +38 -18
  170. package/dist/prompts/prompt.js.map +1 -0
  171. package/dist/{cjs/prompt → prompts}/template.d.ts +0 -0
  172. package/dist/{cjs/prompt → prompts}/template.js +0 -0
  173. package/dist/prompts/template.js.map +1 -0
  174. package/dist/prompts/tests/load.test.d.ts +1 -0
  175. package/dist/prompts/tests/load.test.js +21 -0
  176. package/dist/prompts/tests/load.test.js.map +1 -0
  177. package/dist/prompts/tests/template.test.d.ts +1 -0
  178. package/dist/{cjs/prompt → prompts}/tests/template.test.js +0 -0
  179. package/dist/prompts/tests/template.test.js.map +1 -0
  180. package/dist/text_splitter.d.ts +32 -0
  181. package/dist/text_splitter.js +167 -0
  182. package/dist/text_splitter.js.map +1 -0
  183. package/dist/util/hub.d.ts +2 -0
  184. package/dist/{cjs/util → util}/hub.js +5 -14
  185. package/dist/util/hub.js.map +1 -0
  186. package/dist/{esm/util → util}/index.d.ts +1 -0
  187. package/dist/{cjs/util → util}/index.js +13 -25
  188. package/dist/util/index.js.map +1 -0
  189. package/dist/vectorstores/base.d.ts +18 -0
  190. package/dist/vectorstores/base.js +38 -0
  191. package/dist/vectorstores/base.js.map +1 -0
  192. package/dist/vectorstores/hnswlib.d.ts +19 -0
  193. package/dist/vectorstores/hnswlib.js +129 -0
  194. package/dist/vectorstores/hnswlib.js.map +1 -0
  195. package/dist/vectorstores/index.d.ts +1 -0
  196. package/dist/vectorstores/index.js +6 -0
  197. package/dist/vectorstores/index.js.map +1 -0
  198. package/dist/vectorstores/tests/hnswlib.test.d.ts +1 -0
  199. package/dist/vectorstores/tests/hnswlib.test.js +44 -0
  200. package/dist/vectorstores/tests/hnswlib.test.js.map +1 -0
  201. package/document.d.ts +1 -0
  202. package/document.js +1 -0
  203. package/embeddings.d.ts +1 -0
  204. package/embeddings.js +1 -0
  205. package/llms.d.ts +1 -0
  206. package/llms.js +1 -0
  207. package/memory.d.ts +1 -0
  208. package/memory.js +1 -0
  209. package/package.json +53 -44
  210. package/prompts.d.ts +1 -0
  211. package/prompts.js +1 -0
  212. package/text_splitter.d.ts +1 -0
  213. package/text_splitter.js +1 -0
  214. package/tools.d.ts +1 -0
  215. package/tools.js +1 -0
  216. package/vectorstores.d.ts +1 -0
  217. package/vectorstores.js +1 -0
  218. package/dist/cjs/agents/agent.d.ts +0 -42
  219. package/dist/cjs/agents/agent.js +0 -129
  220. package/dist/cjs/agents/agent.js.map +0 -1
  221. package/dist/cjs/agents/executor.d.ts +0 -27
  222. package/dist/cjs/agents/executor.js +0 -105
  223. package/dist/cjs/agents/executor.js.map +0 -1
  224. package/dist/cjs/agents/helpers.js +0 -30
  225. package/dist/cjs/agents/helpers.js.map +0 -1
  226. package/dist/cjs/agents/index.js.map +0 -1
  227. package/dist/cjs/agents/load.js +0 -28
  228. package/dist/cjs/agents/load.js.map +0 -1
  229. package/dist/cjs/agents/mrkl/index.d.ts +0 -33
  230. package/dist/cjs/agents/mrkl/index.js.map +0 -1
  231. package/dist/cjs/agents/mrkl/prompt.js.map +0 -1
  232. package/dist/cjs/agents/tests/agent.test.js +0 -31
  233. package/dist/cjs/agents/tests/agent.test.js.map +0 -1
  234. package/dist/cjs/agents/tools/index.d.ts +0 -7
  235. package/dist/cjs/agents/tools/index.js +0 -6
  236. package/dist/cjs/agents/tools/index.js.map +0 -1
  237. package/dist/cjs/agents/tools/serpapi.d.ts +0 -3
  238. package/dist/cjs/agents/tools/serpapi.js +0 -50
  239. package/dist/cjs/agents/tools/serpapi.js.map +0 -1
  240. package/dist/cjs/cache.js.map +0 -1
  241. package/dist/cjs/chains/base.d.ts +0 -12
  242. package/dist/cjs/chains/base.js +0 -23
  243. package/dist/cjs/chains/base.js.map +0 -1
  244. package/dist/cjs/chains/index.d.ts +0 -3
  245. package/dist/cjs/chains/index.js +0 -10
  246. package/dist/cjs/chains/index.js.map +0 -1
  247. package/dist/cjs/chains/llm_chain.js +0 -83
  248. package/dist/cjs/chains/llm_chain.js.map +0 -1
  249. package/dist/cjs/chains/llm_math_chain.d.ts +0 -0
  250. package/dist/cjs/chains/llm_math_chain.js +0 -129
  251. package/dist/cjs/chains/llm_math_chain.js.map +0 -1
  252. package/dist/cjs/chains/load.d.ts +0 -2
  253. package/dist/cjs/chains/load.js +0 -29
  254. package/dist/cjs/chains/load.js.map +0 -1
  255. package/dist/cjs/chains/tests/llm_chain.test.js +0 -32
  256. package/dist/cjs/chains/tests/llm_chain.test.js.map +0 -1
  257. package/dist/cjs/index.js.map +0 -1
  258. package/dist/cjs/llms/base.d.ts +0 -23
  259. package/dist/cjs/llms/base.js +0 -159
  260. package/dist/cjs/llms/base.js.map +0 -1
  261. package/dist/cjs/llms/index.d.ts +0 -18
  262. package/dist/cjs/llms/index.js.map +0 -1
  263. package/dist/cjs/llms/load.d.ts +0 -3
  264. package/dist/cjs/llms/load.js +0 -9
  265. package/dist/cjs/llms/load.js.map +0 -1
  266. package/dist/cjs/llms/openai.d.ts +0 -63
  267. package/dist/cjs/llms/openai.js.map +0 -1
  268. package/dist/cjs/llms/tests/openai.test.js +0 -19
  269. package/dist/cjs/llms/tests/openai.test.js.map +0 -1
  270. package/dist/cjs/prompt/base.d.ts +0 -19
  271. package/dist/cjs/prompt/base.js +0 -54
  272. package/dist/cjs/prompt/base.js.map +0 -1
  273. package/dist/cjs/prompt/few_shot.d.ts +0 -47
  274. package/dist/cjs/prompt/few_shot.js.map +0 -1
  275. package/dist/cjs/prompt/index.js.map +0 -1
  276. package/dist/cjs/prompt/load.d.ts +0 -2
  277. package/dist/cjs/prompt/load.js +0 -25
  278. package/dist/cjs/prompt/load.js.map +0 -1
  279. package/dist/cjs/prompt/parser.js.map +0 -1
  280. package/dist/cjs/prompt/prompt.d.ts +0 -28
  281. package/dist/cjs/prompt/prompt.js.map +0 -1
  282. package/dist/cjs/prompt/template.js.map +0 -1
  283. package/dist/cjs/prompt/tests/load.test.js +0 -30
  284. package/dist/cjs/prompt/tests/load.test.js.map +0 -1
  285. package/dist/cjs/prompt/tests/template.test.js.map +0 -1
  286. package/dist/cjs/util/hub.d.ts +0 -1
  287. package/dist/cjs/util/hub.js.map +0 -1
  288. package/dist/cjs/util/index.d.ts +0 -12
  289. package/dist/cjs/util/index.js.map +0 -1
  290. package/dist/esm/agents/agent.d.ts +0 -42
  291. package/dist/esm/agents/agent.js +0 -124
  292. package/dist/esm/agents/agent.js.map +0 -1
  293. package/dist/esm/agents/executor.js +0 -101
  294. package/dist/esm/agents/executor.js.map +0 -1
  295. package/dist/esm/agents/helpers.d.ts +0 -3
  296. package/dist/esm/agents/helpers.js +0 -26
  297. package/dist/esm/agents/helpers.js.map +0 -1
  298. package/dist/esm/agents/index.d.ts +0 -6
  299. package/dist/esm/agents/index.js +0 -5
  300. package/dist/esm/agents/index.js.map +0 -1
  301. package/dist/esm/agents/load.d.ts +0 -6
  302. package/dist/esm/agents/load.js +0 -24
  303. package/dist/esm/agents/load.js.map +0 -1
  304. package/dist/esm/agents/mrkl/index.js +0 -106
  305. package/dist/esm/agents/mrkl/index.js.map +0 -1
  306. package/dist/esm/agents/mrkl/prompt.d.ts +0 -3
  307. package/dist/esm/agents/mrkl/prompt.js +0 -17
  308. package/dist/esm/agents/mrkl/prompt.js.map +0 -1
  309. package/dist/esm/agents/tests/agent.test.js +0 -29
  310. package/dist/esm/agents/tests/agent.test.js.map +0 -1
  311. package/dist/esm/agents/tools/index.d.ts +0 -7
  312. package/dist/esm/agents/tools/index.js +0 -2
  313. package/dist/esm/agents/tools/index.js.map +0 -1
  314. package/dist/esm/agents/tools/llm-math.d.ts +0 -0
  315. package/dist/esm/agents/tools/llm-math.js +0 -2
  316. package/dist/esm/agents/tools/llm-math.js.map +0 -1
  317. package/dist/esm/agents/tools/serpapi.d.ts +0 -3
  318. package/dist/esm/agents/tools/serpapi.js +0 -46
  319. package/dist/esm/agents/tools/serpapi.js.map +0 -1
  320. package/dist/esm/agents/types.d.ts +0 -25
  321. package/dist/esm/agents/types.js +0 -2
  322. package/dist/esm/agents/types.js.map +0 -1
  323. package/dist/esm/cache.d.ts +0 -11
  324. package/dist/esm/cache.js +0 -22
  325. package/dist/esm/cache.js.map +0 -1
  326. package/dist/esm/chains/base.d.ts +0 -12
  327. package/dist/esm/chains/base.js +0 -19
  328. package/dist/esm/chains/base.js.map +0 -1
  329. package/dist/esm/chains/index.d.ts +0 -3
  330. package/dist/esm/chains/index.js +0 -4
  331. package/dist/esm/chains/index.js.map +0 -1
  332. package/dist/esm/chains/llm_chain.d.ts +0 -30
  333. package/dist/esm/chains/llm_chain.js +0 -79
  334. package/dist/esm/chains/llm_chain.js.map +0 -1
  335. package/dist/esm/chains/llm_math_chain.d.ts +0 -0
  336. package/dist/esm/chains/llm_math_chain.js +0 -129
  337. package/dist/esm/chains/llm_math_chain.js.map +0 -1
  338. package/dist/esm/chains/load.d.ts +0 -2
  339. package/dist/esm/chains/load.js +0 -25
  340. package/dist/esm/chains/load.js.map +0 -1
  341. package/dist/esm/chains/tests/llm_chain.test.js +0 -30
  342. package/dist/esm/chains/tests/llm_chain.test.js.map +0 -1
  343. package/dist/esm/index.d.ts +0 -3
  344. package/dist/esm/index.js +0 -4
  345. package/dist/esm/index.js.map +0 -1
  346. package/dist/esm/llms/base.d.ts +0 -23
  347. package/dist/esm/llms/base.js +0 -154
  348. package/dist/esm/llms/base.js.map +0 -1
  349. package/dist/esm/llms/index.js +0 -4
  350. package/dist/esm/llms/index.js.map +0 -1
  351. package/dist/esm/llms/load.d.ts +0 -3
  352. package/dist/esm/llms/load.js +0 -5
  353. package/dist/esm/llms/load.js.map +0 -1
  354. package/dist/esm/llms/openai.d.ts +0 -63
  355. package/dist/esm/llms/openai.js +0 -198
  356. package/dist/esm/llms/openai.js.map +0 -1
  357. package/dist/esm/llms/tests/openai.test.js +0 -17
  358. package/dist/esm/llms/tests/openai.test.js.map +0 -1
  359. package/dist/esm/prompt/base.d.ts +0 -19
  360. package/dist/esm/prompt/base.js +0 -50
  361. package/dist/esm/prompt/base.js.map +0 -1
  362. package/dist/esm/prompt/few_shot.js +0 -139
  363. package/dist/esm/prompt/few_shot.js.map +0 -1
  364. package/dist/esm/prompt/index.d.ts +0 -3
  365. package/dist/esm/prompt/index.js +0 -4
  366. package/dist/esm/prompt/index.js.map +0 -1
  367. package/dist/esm/prompt/load.d.ts +0 -2
  368. package/dist/esm/prompt/load.js +0 -21
  369. package/dist/esm/prompt/load.js.map +0 -1
  370. package/dist/esm/prompt/parser.d.ts +0 -40
  371. package/dist/esm/prompt/parser.js +0 -86
  372. package/dist/esm/prompt/parser.js.map +0 -1
  373. package/dist/esm/prompt/prompt.d.ts +0 -28
  374. package/dist/esm/prompt/prompt.js +0 -87
  375. package/dist/esm/prompt/prompt.js.map +0 -1
  376. package/dist/esm/prompt/template.d.ts +0 -16
  377. package/dist/esm/prompt/template.js +0 -80
  378. package/dist/esm/prompt/template.js.map +0 -1
  379. package/dist/esm/prompt/tests/load.test.js +0 -25
  380. package/dist/esm/prompt/tests/load.test.js.map +0 -1
  381. package/dist/esm/prompt/tests/template.test.js +0 -25
  382. package/dist/esm/prompt/tests/template.test.js.map +0 -1
  383. package/dist/esm/util/hub.d.ts +0 -1
  384. package/dist/esm/util/hub.js +0 -43
  385. package/dist/esm/util/hub.js.map +0 -1
  386. package/dist/esm/util/index.js +0 -74
  387. package/dist/esm/util/index.js.map +0 -1
@@ -1,3 +1,4 @@
1
1
  export { BasePromptTemplate, BasePromptTemplateInput, SerializedBasePromptTemplate, InputValues, } from "./base";
2
2
  export { PromptTemplate, PromptTemplateInput, SerializedPromptTemplate, } from "./prompt";
3
3
  export { FewShotPromptTemplate, FewShotPromptTemplateInput, SerializedFewShotTemplate, } from "./few_shot";
4
+ export { loadPrompt } from "./load";
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FewShotPromptTemplate = exports.PromptTemplate = exports.BasePromptTemplate = void 0;
3
+ exports.loadPrompt = exports.FewShotPromptTemplate = exports.PromptTemplate = exports.BasePromptTemplate = void 0;
4
4
  var base_1 = require("./base");
5
5
  Object.defineProperty(exports, "BasePromptTemplate", { enumerable: true, get: function () { return base_1.BasePromptTemplate; } });
6
6
  var prompt_1 = require("./prompt");
7
7
  Object.defineProperty(exports, "PromptTemplate", { enumerable: true, get: function () { return prompt_1.PromptTemplate; } });
8
8
  var few_shot_1 = require("./few_shot");
9
9
  Object.defineProperty(exports, "FewShotPromptTemplate", { enumerable: true, get: function () { return few_shot_1.FewShotPromptTemplate; } });
10
+ var load_1 = require("./load");
11
+ Object.defineProperty(exports, "loadPrompt", { enumerable: true, get: function () { return load_1.loadPrompt; } });
10
12
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../prompts/index.ts"],"names":[],"mappings":";;;AAAA,+BAKgB;AAJd,0GAAA,kBAAkB,OAAA;AAKpB,mCAIkB;AAHhB,wGAAA,cAAc,OAAA;AAIhB,uCAIoB;AAHlB,iHAAA,qBAAqB,OAAA;AAIvB,+BAAoC;AAA3B,kGAAA,UAAU,OAAA"}
@@ -0,0 +1,19 @@
1
+ import { BasePromptTemplate } from ".";
2
+ /**
3
+ * Load a prompt from {@link https://github.com/hwchase17/langchain-hub | LangchainHub} or local filesystem.
4
+ *
5
+ * @example
6
+ * Loading from LangchainHub:
7
+ * ```ts
8
+ * import { loadPrompt } from "langchain/prompts";
9
+ * const prompt = await loadPrompt("lc://prompts/hello-world/prompt.yaml");
10
+ * ```
11
+ *
12
+ * @example
13
+ * Loading from local filesystem:
14
+ * ```ts
15
+ * import { loadPrompt } from "langchain/prompts";
16
+ * const prompt = await loadPrompt("/path/to/prompt.json");
17
+ * ```
18
+ */
19
+ export declare const loadPrompt: (uri: string) => Promise<BasePromptTemplate>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadPrompt = void 0;
4
+ const _1 = require(".");
5
+ const hub_1 = require("../util/hub");
6
+ const util_1 = require("../util");
7
+ const loadPromptFromFile = async (file) => _1.BasePromptTemplate.deserialize((0, util_1.parseFileConfig)(file));
8
+ /**
9
+ * Load a prompt from {@link https://github.com/hwchase17/langchain-hub | LangchainHub} or local filesystem.
10
+ *
11
+ * @example
12
+ * Loading from LangchainHub:
13
+ * ```ts
14
+ * import { loadPrompt } from "langchain/prompts";
15
+ * const prompt = await loadPrompt("lc://prompts/hello-world/prompt.yaml");
16
+ * ```
17
+ *
18
+ * @example
19
+ * Loading from local filesystem:
20
+ * ```ts
21
+ * import { loadPrompt } from "langchain/prompts";
22
+ * const prompt = await loadPrompt("/path/to/prompt.json");
23
+ * ```
24
+ */
25
+ const loadPrompt = async (uri) => {
26
+ const hubResult = await (0, hub_1.loadFromHub)(uri, loadPromptFromFile, "prompts", new Set(["py", "json", "yaml"]));
27
+ if (hubResult) {
28
+ return hubResult;
29
+ }
30
+ return loadPromptFromFile(uri);
31
+ };
32
+ exports.loadPrompt = loadPrompt;
33
+ //# sourceMappingURL=load.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../prompts/load.ts"],"names":[],"mappings":";;;AAAA,wBAAuC;AACvC,qCAA0C;AAC1C,kCAA0C;AAE1C,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE,CAChD,qBAAkB,CAAC,WAAW,CAAC,IAAA,sBAAe,EAAC,IAAI,CAAC,CAAC,CAAC;AAExD;;;;;;;;;;;;;;;;GAgBG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,GAAW,EAA+B,EAAE;IAC3E,MAAM,SAAS,GAAG,MAAM,IAAA,iBAAW,EACjC,GAAG,EACH,kBAAkB,EAClB,SAAS,EACT,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAChC,CAAC;IACF,IAAI,SAAS,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC,CAAC;AAZW,QAAA,UAAU,cAYrB"}
@@ -1,16 +1,42 @@
1
1
  export type SerializedOutputParser = SerializedRegexParser | SerializedCommaSeparatedListOutputParser;
2
+ /**
3
+ * Class to parse the output of an LLM call.
4
+ */
2
5
  export declare abstract class BaseOutputParser {
6
+ /**
7
+ * Parse the output of an LLM call.
8
+ *
9
+ * @param text - LLM output to parse.
10
+ * @returns Parsed output.
11
+ */
3
12
  abstract parse(text: string): string | string[] | Record<string, string>;
13
+ /**
14
+ * Return the string type key uniquely identifying this class of parser
15
+ */
4
16
  _type(): string;
17
+ /**
18
+ * Return a json-like object representing this output parser.
19
+ */
5
20
  abstract serialize(): SerializedOutputParser;
21
+ /**
22
+ * Load an output parser from a json-like object describing the parser.
23
+ */
6
24
  static deserialize(data: SerializedOutputParser): BaseOutputParser;
7
25
  }
26
+ /**
27
+ * Class to parse the output of an LLM call to a list.
28
+ * @augments BaseOutputParser
29
+ */
8
30
  export declare abstract class ListOutputParser extends BaseOutputParser {
9
31
  abstract parse(text: string): string[];
10
32
  }
11
33
  type SerializedCommaSeparatedListOutputParser = {
12
34
  _type: "comma_separated_list";
13
35
  };
36
+ /**
37
+ * Class to parse the output of an LLM call as a comma-separated list.
38
+ * @augments ListOutputParser
39
+ */
14
40
  export declare class CommaSeparatedListOutputParser extends ListOutputParser {
15
41
  parse(text: string): string[];
16
42
  serialize(): SerializedCommaSeparatedListOutputParser;
@@ -22,6 +48,10 @@ type SerializedRegexParser = {
22
48
  output_keys: string[];
23
49
  default_output_key?: string;
24
50
  };
51
+ /**
52
+ * Class to parse the output of an LLM call into a dictionary.
53
+ * @augments BaseOutputParser
54
+ */
25
55
  export declare class RegexParser extends BaseOutputParser {
26
56
  regex: string | RegExp;
27
57
  outputKeys: string[];
@@ -1,10 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RegexParser = exports.CommaSeparatedListOutputParser = exports.ListOutputParser = exports.BaseOutputParser = void 0;
4
+ /**
5
+ * Class to parse the output of an LLM call.
6
+ */
4
7
  class BaseOutputParser {
8
+ /**
9
+ * Return the string type key uniquely identifying this class of parser
10
+ */
5
11
  _type() {
6
12
  throw new Error("_type not implemented");
7
13
  }
14
+ /**
15
+ * Load an output parser from a json-like object describing the parser.
16
+ */
8
17
  static deserialize(data) {
9
18
  switch (data._type) {
10
19
  case "regex_parser":
@@ -16,9 +25,17 @@ class BaseOutputParser {
16
25
  }
17
26
  }
18
27
  exports.BaseOutputParser = BaseOutputParser;
28
+ /**
29
+ * Class to parse the output of an LLM call to a list.
30
+ * @augments BaseOutputParser
31
+ */
19
32
  class ListOutputParser extends BaseOutputParser {
20
33
  }
21
34
  exports.ListOutputParser = ListOutputParser;
35
+ /**
36
+ * Class to parse the output of an LLM call as a comma-separated list.
37
+ * @augments ListOutputParser
38
+ */
22
39
  class CommaSeparatedListOutputParser extends ListOutputParser {
23
40
  parse(text) {
24
41
  return text.trim().split(", ");
@@ -33,6 +50,10 @@ class CommaSeparatedListOutputParser extends ListOutputParser {
33
50
  }
34
51
  }
35
52
  exports.CommaSeparatedListOutputParser = CommaSeparatedListOutputParser;
53
+ /**
54
+ * Class to parse the output of an LLM call into a dictionary.
55
+ * @augments BaseOutputParser
56
+ */
36
57
  class RegexParser extends BaseOutputParser {
37
58
  constructor(regex, outputKeys, defaultOutputKey) {
38
59
  super();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../prompts/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { BasePromptTemplate, BasePromptTemplateInput, InputValues } from "./index";
2
+ import { TemplateFormat } from "./template";
3
+ import { SerializedOutputParser } from "./parser";
4
+ export type SerializedPromptTemplate = {
5
+ _type?: "prompt";
6
+ input_variables: string[];
7
+ output_parser?: SerializedOutputParser;
8
+ template?: string;
9
+ template_path?: string;
10
+ template_format?: TemplateFormat;
11
+ };
12
+ /**
13
+ * Inputs to create a {@link PromptTemplate}
14
+ * @augments BasePromptTemplateInput
15
+ */
16
+ export interface PromptTemplateInput extends BasePromptTemplateInput {
17
+ /**
18
+ * The propmt template
19
+ */
20
+ template: string;
21
+ /**
22
+ * The format of the prompt template. Options are 'f-string', 'jinja-2'
23
+ *
24
+ * @defaultValue 'f-string'
25
+ */
26
+ templateFormat?: TemplateFormat;
27
+ /**
28
+ * Whether or not to try validating the template on initialization
29
+ *
30
+ * @defaultValue `true`
31
+ */
32
+ validateTemplate?: boolean;
33
+ }
34
+ /**
35
+ * Schema to represent a basic prompt for an LLM.
36
+ * @augments BasePromptTemplate
37
+ * @augments PromptTemplateInput
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * import { PromptTemplate } from "langchain/prompts";
42
+ *
43
+ * const prompt = new PromptTemplate({
44
+ * inputVariables: ["foo"],
45
+ * template: "Say {foo}",
46
+ * });
47
+ * ```
48
+ */
49
+ export declare class PromptTemplate extends BasePromptTemplate implements PromptTemplateInput {
50
+ template: string;
51
+ templateFormat: TemplateFormat;
52
+ validateTemplate: boolean;
53
+ constructor(input: PromptTemplateInput);
54
+ _getPromptType(): "prompt";
55
+ format(values: InputValues): string;
56
+ /**
57
+ * Take examples in list format with prefix and suffix to create a prompt.
58
+ *
59
+ * Intendend to be used a a way to dynamically create a prompt from examples.
60
+ *
61
+ * @param examples - List of examples to use in the prompt.
62
+ * @param suffix - String to go after the list of examples. Should generally set up the user's input.
63
+ * @param inputVariables - A list of variable names the final prompt template will expect
64
+ * @param exampleSeparator - The separator to use in between examples
65
+ * @param prefix - String that should go before any examples. Generally includes examples.
66
+ *
67
+ * @returns The final prompt template generated.
68
+ */
69
+ static fromExamples(examples: string[], suffix: string, inputVariables: string[], exampleSeparator?: string, prefix?: string): PromptTemplate;
70
+ /**
71
+ * Load prompt template from a template f-string
72
+ */
73
+ static fromTemplate(template: string): PromptTemplate;
74
+ serialize(): SerializedPromptTemplate;
75
+ static deserialize(data: SerializedPromptTemplate): Promise<PromptTemplate>;
76
+ }
@@ -1,19 +1,25 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.PromptTemplate = void 0;
13
4
  const index_1 = require("./index");
14
5
  const template_1 = require("./template");
15
6
  const util_1 = require("../util");
16
7
  const parser_1 = require("./parser");
8
+ /**
9
+ * Schema to represent a basic prompt for an LLM.
10
+ * @augments BasePromptTemplate
11
+ * @augments PromptTemplateInput
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { PromptTemplate } from "langchain/prompts";
16
+ *
17
+ * const prompt = new PromptTemplate({
18
+ * inputVariables: ["foo"],
19
+ * template: "Say {foo}",
20
+ * });
21
+ * ```
22
+ */
17
23
  class PromptTemplate extends index_1.BasePromptTemplate {
18
24
  constructor(input) {
19
25
  super(input);
@@ -46,6 +52,19 @@ class PromptTemplate extends index_1.BasePromptTemplate {
46
52
  format(values) {
47
53
  return (0, template_1.renderTemplate)(this.template, this.templateFormat, values);
48
54
  }
55
+ /**
56
+ * Take examples in list format with prefix and suffix to create a prompt.
57
+ *
58
+ * Intendend to be used a a way to dynamically create a prompt from examples.
59
+ *
60
+ * @param examples - List of examples to use in the prompt.
61
+ * @param suffix - String to go after the list of examples. Should generally set up the user's input.
62
+ * @param inputVariables - A list of variable names the final prompt template will expect
63
+ * @param exampleSeparator - The separator to use in between examples
64
+ * @param prefix - String that should go before any examples. Generally includes examples.
65
+ *
66
+ * @returns The final prompt template generated.
67
+ */
49
68
  static fromExamples(examples, suffix, inputVariables, exampleSeparator = "\n\n", prefix = "") {
50
69
  const template = [prefix, ...examples, suffix].join(exampleSeparator);
51
70
  return new PromptTemplate({
@@ -53,6 +72,9 @@ class PromptTemplate extends index_1.BasePromptTemplate {
53
72
  template,
54
73
  });
55
74
  }
75
+ /**
76
+ * Load prompt template from a template f-string
77
+ */
56
78
  static fromTemplate(template) {
57
79
  const names = new Set();
58
80
  (0, template_1.parseFString)(template).forEach((node) => {
@@ -75,16 +97,14 @@ class PromptTemplate extends index_1.BasePromptTemplate {
75
97
  template_format: this.templateFormat,
76
98
  };
77
99
  }
78
- static deserialize(data) {
79
- return __awaiter(this, void 0, void 0, function* () {
80
- const res = new PromptTemplate({
81
- inputVariables: data.input_variables,
82
- outputParser: data.output_parser && parser_1.BaseOutputParser.deserialize(data.output_parser),
83
- template: (0, util_1.resolveTemplateFromFile)("template", data),
84
- templateFormat: data.template_format,
85
- });
86
- return res;
100
+ static async deserialize(data) {
101
+ const res = new PromptTemplate({
102
+ inputVariables: data.input_variables,
103
+ outputParser: data.output_parser && parser_1.BaseOutputParser.deserialize(data.output_parser),
104
+ template: (0, util_1.resolveTemplateFromFile)("template", data),
105
+ templateFormat: data.template_format,
87
106
  });
107
+ return res;
88
108
  }
89
109
  }
90
110
  exports.PromptTemplate = PromptTemplate;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../prompts/prompt.ts"],"names":[],"mappings":";;;AAAA,mCAIiB;AACjB,yCAKoB;AACpB,kCAAkD;AAClD,qCAAoE;AAoCpE;;;;;;;;;;;;;;GAcG;AACH,MAAa,cACX,SAAQ,0BAAkB;IAS1B,YAAY,KAA0B;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;QAPf;;;;;WAAiB;QAEjB;;;;mBAAiC,UAAU;WAAC;QAE5C;;;;mBAAmB,IAAI;WAAC;QAItB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAA,6BAAkB,EAChB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CACpB,CAAC;SACH;IACH,CAAC;IAED,cAAc;QACZ,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,MAAmB;QACxB,OAAO,IAAA,yBAAc,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,YAAY,CACjB,QAAkB,EAClB,MAAc,EACd,cAAwB,EACxB,gBAAgB,GAAG,MAAM,EACzB,MAAM,GAAG,EAAE;QAEX,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtE,OAAO,IAAI,cAAc,CAAC;YACxB,cAAc;YACd,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAgB;QAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC5B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,cAAc,CAAC;YACxB,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC;YAC1B,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,SAAS;;QACP,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE;YAC5B,eAAe,EAAE,IAAI,CAAC,cAAc;YACpC,aAAa,EAAE,MAAA,IAAI,CAAC,YAAY,0CAAE,SAAS,EAAE;YAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,cAAc;SACrC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,IAA8B;QAE9B,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC;YAC7B,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,YAAY,EACV,IAAI,CAAC,aAAa,IAAI,yBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;YACxE,QAAQ,EAAE,IAAA,8BAAuB,EAAC,UAAU,EAAE,IAAI,CAAC;YACnD,cAAc,EAAE,IAAI,CAAC,eAAe;SACrC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;CAGF;AAnGD,wCAmGC"}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../prompts/template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const globals_1 = require("@jest/globals");
7
+ const path_1 = __importDefault(require("path"));
8
+ const load_1 = require("../load");
9
+ const PROMPTS_DIR = path_1.default.join(__dirname, "prompts");
10
+ (0, globals_1.test)("Load Hello World Prompt", async () => {
11
+ const helloWorld = path_1.default.join(PROMPTS_DIR, "hello_world.yaml");
12
+ const prompt = await (0, load_1.loadPrompt)(helloWorld);
13
+ (0, globals_1.expect)(prompt._getPromptType()).toBe("prompt");
14
+ (0, globals_1.expect)(prompt.format({})).toBe("Say hello world.");
15
+ });
16
+ (0, globals_1.test)("Load hub prompt", async () => {
17
+ const prompt = await (0, load_1.loadPrompt)("lc@abb92d8://prompts/hello-world/prompt.yaml");
18
+ (0, globals_1.expect)(prompt._getPromptType()).toBe("prompt");
19
+ (0, globals_1.expect)(prompt.format({})).toBe("Say hello world.");
20
+ });
21
+ //# sourceMappingURL=load.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load.test.js","sourceRoot":"","sources":["../../../prompts/tests/load.test.ts"],"names":[],"mappings":";;;;;AAAA,2CAA6C;AAC7C,gDAAwB;AACxB,kCAAqC;AAErC,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEpD,IAAA,cAAI,EAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;IACzC,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAU,EAAC,UAAU,CAAC,CAAC;IAC5C,IAAA,gBAAM,EAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAA,gBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAA,cAAI,EAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IACjC,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAU,EAC7B,8CAA8C,CAC/C,CAAC;IACF,IAAA,gBAAM,EAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAA,gBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.test.js","sourceRoot":"","sources":["../../../prompts/tests/template.test.ts"],"names":[],"mappings":";;AAAA,2CAAuD;AACvD,0CAAiD;AAEjD,kBAAQ,CAAC,IAAI,CAAC;IACZ,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC;IAChC,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,YAAY,CAAC;IAC9C,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,cAAc,CAAC;IACpD,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC;IACpB,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC;IAClB,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC;CACjE,CAAC,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACnD,IAAA,cAAI,EAAC,wBAAwB,QAAQ,EAAE,EAAE,GAAG,EAAE;QAC5C,IAAA,gBAAM,EAAC,IAAA,6BAAkB,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kBAAQ,CAAC,IAAI,CAAC;IACZ,CAAC,GAAG,EAAE,EAAE,CAAC;IACT,CAAC,GAAG,EAAE,EAAE,CAAC;IACT,CAAC,MAAM,EAAE,EAAE,CAAC;IACZ,CAAC,MAAM,EAAE,EAAE,CAAC;CACb,CAAC,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;IAC7C,IAAA,cAAI,EAAC,yBAAyB,QAAQ,EAAE,EAAE,GAAG,EAAE;QAC7C,IAAA,gBAAM,EAAC,GAAG,EAAE,CAAC,IAAA,6BAAkB,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { Document } from "./document";
2
+ interface TextSplitterParams {
3
+ chunkSize: number;
4
+ chunkOverlap: number;
5
+ }
6
+ declare abstract class TextSplitter implements TextSplitterParams {
7
+ chunkSize: number;
8
+ chunkOverlap: number;
9
+ constructor(fields?: Partial<TextSplitterParams>);
10
+ abstract splitText(text: string): string[];
11
+ createDocuments(texts: string[], metadatas?: Record<string, any>[]): Document[];
12
+ splitDocuments(documents: Document[]): Document[];
13
+ private joinDocs;
14
+ mergeSplits(splits: string[], separator: string): string[];
15
+ }
16
+ export interface CharacterTextSplitterParams extends TextSplitterParams {
17
+ separator: string;
18
+ }
19
+ export declare class CharacterTextSplitter extends TextSplitter implements CharacterTextSplitterParams {
20
+ separator: string;
21
+ constructor(fields?: Partial<CharacterTextSplitterParams>);
22
+ splitText(text: string): string[];
23
+ }
24
+ export interface RecursiveCharacterTextSplitterParams extends TextSplitterParams {
25
+ separators: string[];
26
+ }
27
+ export declare class RecursiveCharacterTextSplitter extends TextSplitter implements RecursiveCharacterTextSplitterParams {
28
+ separators: string[];
29
+ constructor(fields?: Partial<RecursiveCharacterTextSplitterParams>);
30
+ splitText(text: string): string[];
31
+ }
32
+ export {};
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecursiveCharacterTextSplitter = exports.CharacterTextSplitter = void 0;
4
+ const document_1 = require("./document");
5
+ class TextSplitter {
6
+ constructor(fields) {
7
+ var _a, _b;
8
+ Object.defineProperty(this, "chunkSize", {
9
+ enumerable: true,
10
+ configurable: true,
11
+ writable: true,
12
+ value: 1000
13
+ });
14
+ Object.defineProperty(this, "chunkOverlap", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: 200
19
+ });
20
+ this.chunkSize = (_a = fields === null || fields === void 0 ? void 0 : fields.chunkSize) !== null && _a !== void 0 ? _a : this.chunkSize;
21
+ this.chunkOverlap = (_b = fields === null || fields === void 0 ? void 0 : fields.chunkOverlap) !== null && _b !== void 0 ? _b : this.chunkOverlap;
22
+ if (this.chunkOverlap >= this.chunkSize) {
23
+ throw new Error("Cannot have chunkOverlap >= chunkSize");
24
+ }
25
+ }
26
+ createDocuments(texts,
27
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
+ metadatas = []) {
29
+ const _metadatas = metadatas.length > 0 ? metadatas : new Array(texts.length).fill({});
30
+ const documents = new Array();
31
+ for (let i = 0; i < texts.length; i += 1) {
32
+ const text = texts[i];
33
+ for (const chunk of this.splitText(text)) {
34
+ documents.push(new document_1.Document({ pageContent: chunk, metadata: _metadatas[i] }));
35
+ }
36
+ }
37
+ return documents;
38
+ }
39
+ splitDocuments(documents) {
40
+ const texts = documents.map((doc) => doc.pageContent);
41
+ const metadatas = documents.map((doc) => doc.metadata);
42
+ return this.createDocuments(texts, metadatas);
43
+ }
44
+ joinDocs(docs, separator) {
45
+ const text = docs.join(separator).trim();
46
+ return text === "" ? null : text;
47
+ }
48
+ mergeSplits(splits, separator) {
49
+ const docs = [];
50
+ const currentDoc = [];
51
+ let total = 0;
52
+ for (const d of splits) {
53
+ const _len = d.length;
54
+ if (total + _len >= this.chunkSize) {
55
+ if (total > this.chunkSize) {
56
+ console.warn(`Created a chunk of size ${total}, +
57
+ which is longer than the specified ${this.chunkSize}`);
58
+ }
59
+ if (currentDoc.length > 0) {
60
+ const doc = this.joinDocs(currentDoc, separator);
61
+ if (doc !== null) {
62
+ docs.push(doc);
63
+ }
64
+ // Keep on popping if:
65
+ // - we have a larger chunk than in the chunk overlap
66
+ // - or if we still have any chunks and the length is long
67
+ while (total > this.chunkOverlap ||
68
+ (total + _len > this.chunkSize && total > 0)) {
69
+ total -= currentDoc[0].length;
70
+ currentDoc.shift();
71
+ }
72
+ }
73
+ }
74
+ currentDoc.push(d);
75
+ total += _len;
76
+ }
77
+ const doc = this.joinDocs(currentDoc, separator);
78
+ if (doc !== null) {
79
+ docs.push(doc);
80
+ }
81
+ return docs;
82
+ }
83
+ }
84
+ class CharacterTextSplitter extends TextSplitter {
85
+ constructor(fields) {
86
+ var _a;
87
+ super(fields);
88
+ Object.defineProperty(this, "separator", {
89
+ enumerable: true,
90
+ configurable: true,
91
+ writable: true,
92
+ value: "\n\n"
93
+ });
94
+ this.separator = (_a = fields === null || fields === void 0 ? void 0 : fields.separator) !== null && _a !== void 0 ? _a : this.separator;
95
+ }
96
+ splitText(text) {
97
+ // First we naively split the large input into a bunch of smaller ones.
98
+ let splits;
99
+ if (this.separator) {
100
+ splits = text.split(this.separator);
101
+ }
102
+ else {
103
+ splits = text.split("");
104
+ }
105
+ return this.mergeSplits(splits, this.separator);
106
+ }
107
+ }
108
+ exports.CharacterTextSplitter = CharacterTextSplitter;
109
+ class RecursiveCharacterTextSplitter extends TextSplitter {
110
+ constructor(fields) {
111
+ var _a;
112
+ super(fields);
113
+ Object.defineProperty(this, "separators", {
114
+ enumerable: true,
115
+ configurable: true,
116
+ writable: true,
117
+ value: ["\n\n", "\n", " ", ""]
118
+ });
119
+ this.separators = (_a = fields === null || fields === void 0 ? void 0 : fields.separators) !== null && _a !== void 0 ? _a : this.separators;
120
+ }
121
+ splitText(text) {
122
+ const finalChunks = [];
123
+ // Get appropriate separator to use
124
+ let separator = this.separators[this.separators.length - 1];
125
+ for (const s of this.separators) {
126
+ if (s === "") {
127
+ separator = s;
128
+ break;
129
+ }
130
+ if (text.includes(s)) {
131
+ separator = s;
132
+ break;
133
+ }
134
+ }
135
+ // Now that we have the separator, split the text
136
+ let splits;
137
+ if (separator) {
138
+ splits = text.split(separator);
139
+ }
140
+ else {
141
+ splits = text.split("");
142
+ }
143
+ // Now go merging things, recursively splitting longer texts.
144
+ let goodSplits = [];
145
+ for (const s of splits) {
146
+ if (s.length < this.chunkSize) {
147
+ goodSplits.push(s);
148
+ }
149
+ else {
150
+ if (goodSplits.length) {
151
+ const mergedText = this.mergeSplits(goodSplits, separator);
152
+ finalChunks.push(...mergedText);
153
+ goodSplits = [];
154
+ }
155
+ const otherInfo = this.splitText(s);
156
+ finalChunks.push(...otherInfo);
157
+ }
158
+ }
159
+ if (goodSplits.length) {
160
+ const mergedText = this.mergeSplits(goodSplits, separator);
161
+ finalChunks.push(...mergedText);
162
+ }
163
+ return finalChunks;
164
+ }
165
+ }
166
+ exports.RecursiveCharacterTextSplitter = RecursiveCharacterTextSplitter;
167
+ //# sourceMappingURL=text_splitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text_splitter.js","sourceRoot":"","sources":["../text_splitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export type LoadValues = Record<string, any>;
2
+ export declare const loadFromHub: <T>(uri: string, loader: (a: string, values: LoadValues) => T, validPrefix: string, validSuffixes: Set<string>, values?: LoadValues) => Promise<T | undefined>;