langchain 0.0.5 → 0.0.7

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 (478) 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/{cjs/agents → agents}/agent.d.ts +1 -1
  7. package/dist/{cjs/agents → agents}/agent.js +0 -0
  8. package/dist/agents/agent.js.map +1 -0
  9. package/dist/{cjs/agents → agents}/executor.d.ts +0 -0
  10. package/dist/{cjs/agents → agents}/executor.js +0 -0
  11. package/dist/agents/executor.js.map +1 -0
  12. package/dist/{cjs/agents → agents}/helpers.d.ts +0 -0
  13. package/dist/{cjs/agents → agents}/helpers.js +0 -0
  14. package/dist/agents/helpers.js.map +1 -0
  15. package/dist/{cjs/agents → agents}/index.d.ts +0 -0
  16. package/dist/{cjs/agents → agents}/index.js +0 -0
  17. package/dist/agents/index.js.map +1 -0
  18. package/dist/{cjs/agents → agents}/initialize.d.ts +0 -0
  19. package/dist/{cjs/agents → agents}/initialize.js +2 -4
  20. package/dist/agents/initialize.js.map +1 -0
  21. package/dist/{cjs/agents → agents}/load.d.ts +0 -0
  22. package/dist/{cjs/agents → agents}/load.js +0 -0
  23. package/dist/agents/load.js.map +1 -0
  24. package/dist/{cjs/agents → agents}/mrkl/index.d.ts +1 -1
  25. package/dist/{cjs/agents → agents}/mrkl/index.js +5 -5
  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 -0
  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/{cjs/agents → agents}/tests/agent.test.js +0 -0
  32. package/dist/agents/tests/agent.test.js.map +1 -0
  33. package/dist/{cjs/agents → agents}/tests/calculator.test.d.ts +0 -0
  34. package/dist/{cjs/agents → agents}/tests/calculator.test.js +0 -0
  35. package/dist/agents/tests/calculator.test.js.map +1 -0
  36. package/dist/{cjs/agents → agents}/tools/base.d.ts +0 -0
  37. package/dist/{cjs/agents → agents}/tools/base.js +0 -0
  38. package/dist/agents/tools/base.js.map +1 -0
  39. package/dist/{cjs/agents → agents}/tools/calculator.d.ts +0 -0
  40. package/dist/{cjs/agents → agents}/tools/calculator.js +0 -0
  41. package/dist/agents/tools/calculator.js.map +1 -0
  42. package/dist/{cjs/agents → agents}/tools/index.d.ts +0 -0
  43. package/dist/{cjs/agents → agents}/tools/index.js +0 -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/{cjs/agents → agents}/tools/serpapi.d.ts +0 -0
  49. package/dist/{cjs/agents → agents}/tools/serpapi.js +0 -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/{cjs/chains → chains}/base.d.ts +0 -0
  58. package/dist/{cjs/chains → chains}/base.js +8 -2
  59. package/dist/chains/base.js.map +1 -0
  60. package/dist/{cjs/chains → chains}/chat_vector_db_chain.d.ts +0 -0
  61. package/dist/{cjs/chains → chains}/chat_vector_db_chain.js +21 -7
  62. package/dist/chains/chat_vector_db_chain.js.map +1 -0
  63. package/dist/{cjs/chains → chains}/combine_docs_chain.d.ts +0 -0
  64. package/dist/{cjs/chains → chains}/combine_docs_chain.js +0 -0
  65. package/dist/chains/combine_docs_chain.js.map +1 -0
  66. package/dist/{esm/chains → chains}/conversation.d.ts +1 -1
  67. package/dist/{cjs/chains → chains}/conversation.js +2 -2
  68. package/dist/chains/conversation.js.map +1 -0
  69. package/dist/{esm/chains → chains}/index.d.ts +1 -1
  70. package/dist/{cjs/chains → chains}/index.js +0 -0
  71. package/dist/chains/index.js.map +1 -0
  72. package/dist/{esm/chains → chains}/llm_chain.d.ts +1 -1
  73. package/dist/{cjs/chains → chains}/llm_chain.js +3 -3
  74. package/dist/chains/llm_chain.js.map +1 -0
  75. package/dist/{cjs/chains → chains}/load.d.ts +0 -0
  76. package/dist/{cjs/chains → chains}/load.js +0 -0
  77. package/dist/chains/load.js.map +1 -0
  78. package/dist/{cjs/chains → chains}/question_answering/load.d.ts +0 -0
  79. package/dist/{cjs/chains → chains}/question_answering/load.js +0 -0
  80. package/dist/chains/question_answering/load.js.map +1 -0
  81. package/dist/{cjs/chains → chains}/question_answering/stuff_prompts.d.ts +1 -1
  82. package/dist/{cjs/chains → chains}/question_answering/stuff_prompts.js +2 -2
  83. package/dist/chains/question_answering/stuff_prompts.js.map +1 -0
  84. package/dist/{cjs/chains → chains}/question_answering/tests/load.test.d.ts +0 -0
  85. package/dist/{cjs/chains → chains}/question_answering/tests/load.test.js +5 -1
  86. package/dist/chains/question_answering/tests/load.test.js.map +1 -0
  87. package/dist/{cjs/chains → chains}/tests/chat_vector_db_qa_chain.test.d.ts +0 -0
  88. package/dist/{cjs/chains → chains}/tests/chat_vector_db_qa_chain.test.js +2 -2
  89. package/dist/chains/tests/chat_vector_db_qa_chain.test.js.map +1 -0
  90. package/dist/{cjs/chains → chains}/tests/combine_docs_chain.test.d.ts +0 -0
  91. package/dist/{cjs/chains → chains}/tests/combine_docs_chain.test.js +16 -5
  92. package/dist/chains/tests/combine_docs_chain.test.js.map +1 -0
  93. package/dist/{cjs/chains → chains}/tests/llm_chain.test.d.ts +0 -0
  94. package/dist/{cjs/chains → chains}/tests/llm_chain.test.js +2 -2
  95. package/dist/chains/tests/llm_chain.test.js.map +1 -0
  96. package/dist/{cjs/chains → chains}/tests/vector_db_qa_chain.test.d.ts +0 -0
  97. package/dist/{cjs/chains → chains}/tests/vector_db_qa_chain.test.js +2 -2
  98. package/dist/chains/tests/vector_db_qa_chain.test.js.map +1 -0
  99. package/dist/{cjs/chains → chains}/vector_db_qa.d.ts +0 -0
  100. package/dist/{cjs/chains → chains}/vector_db_qa.js +0 -0
  101. package/dist/chains/vector_db_qa.js.map +1 -0
  102. package/dist/{cjs/document.d.ts → document.d.ts} +0 -0
  103. package/dist/{cjs/document.js → document.js} +0 -0
  104. package/dist/document.js.map +1 -0
  105. package/dist/{cjs/embeddings → embeddings}/base.d.ts +0 -0
  106. package/dist/{cjs/embeddings → embeddings}/base.js +0 -0
  107. package/dist/embeddings/base.js.map +1 -0
  108. package/dist/{cjs/embeddings → embeddings}/index.d.ts +0 -0
  109. package/dist/{cjs/embeddings → embeddings}/index.js +0 -0
  110. package/dist/embeddings/index.js.map +1 -0
  111. package/dist/{cjs/embeddings → embeddings}/openai.d.ts +0 -0
  112. package/dist/{cjs/embeddings → embeddings}/openai.js +1 -1
  113. package/dist/embeddings/openai.js.map +1 -0
  114. package/dist/{cjs/embeddings → embeddings}/tests/openai.test.d.ts +0 -0
  115. package/dist/{cjs/embeddings → embeddings}/tests/openai.test.js +0 -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/{cjs/llms → llms}/base.d.ts +0 -0
  121. package/dist/{cjs/llms → llms}/base.js +4 -3
  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/{cjs/llms → llms}/index.d.ts +5 -3
  127. package/dist/{cjs/llms → llms}/index.js +3 -1
  128. package/dist/llms/index.js.map +1 -0
  129. package/dist/{cjs/llms → llms}/load.d.ts +0 -0
  130. package/dist/{cjs/llms → llms}/load.js +0 -0
  131. package/dist/llms/load.js.map +1 -0
  132. package/dist/{esm/llms → llms}/openai.d.ts +5 -2
  133. package/dist/{cjs/llms → llms}/openai.js +49 -4
  134. package/dist/llms/openai.js.map +1 -0
  135. package/dist/{cjs/llms/tests/openai.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/embeddings → llms}/tests/openai.test.d.ts +0 -0
  139. package/dist/{cjs/llms → llms}/tests/openai.test.js +0 -0
  140. package/dist/llms/tests/openai.test.js.map +1 -0
  141. package/dist/{cjs/memory → memory}/base.d.ts +0 -0
  142. package/dist/{cjs/memory → memory}/base.js +0 -0
  143. package/dist/memory/base.js.map +1 -0
  144. package/dist/{cjs/memory → memory}/buffer_memory.d.ts +0 -0
  145. package/dist/{cjs/memory → memory}/buffer_memory.js +0 -0
  146. package/dist/memory/buffer_memory.js.map +1 -0
  147. package/dist/{cjs/memory → memory}/index.d.ts +0 -0
  148. package/dist/{cjs/memory → memory}/index.js +0 -0
  149. package/dist/memory/index.js.map +1 -0
  150. package/dist/{cjs/memory → memory}/tests/buffer_memory.test.d.ts +0 -0
  151. package/dist/{cjs/memory → memory}/tests/buffer_memory.test.js +0 -0
  152. package/dist/memory/tests/buffer_memory.test.js.map +1 -0
  153. package/dist/{cjs/prompt → prompts}/base.d.ts +0 -0
  154. package/dist/{cjs/prompt → prompts}/base.js +0 -0
  155. package/dist/prompts/base.js.map +1 -0
  156. package/dist/{cjs/prompt → prompts}/few_shot.d.ts +0 -0
  157. package/dist/{cjs/prompt → prompts}/few_shot.js +0 -0
  158. package/dist/prompts/few_shot.js.map +1 -0
  159. package/dist/{cjs/prompt → prompts}/index.d.ts +0 -0
  160. package/dist/{cjs/prompt → prompts}/index.js +0 -0
  161. package/dist/prompts/index.js.map +1 -0
  162. package/dist/{cjs/prompt → prompts}/load.d.ts +2 -2
  163. package/dist/{cjs/prompt → prompts}/load.js +2 -2
  164. package/dist/prompts/load.js.map +1 -0
  165. package/dist/{cjs/prompt → prompts}/parser.d.ts +0 -0
  166. package/dist/{cjs/prompt → prompts}/parser.js +0 -0
  167. package/dist/prompts/parser.js.map +1 -0
  168. package/dist/{cjs/prompt → prompts}/prompt.d.ts +1 -1
  169. package/dist/{cjs/prompt → prompts}/prompt.js +1 -1
  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/{cjs/prompt → prompts}/tests/load.test.d.ts +0 -0
  175. package/dist/{cjs/prompt → prompts}/tests/load.test.js +0 -0
  176. package/dist/prompts/tests/load.test.js.map +1 -0
  177. package/dist/{cjs/prompt → prompts}/tests/template.test.d.ts +0 -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/{cjs/text_splitter.d.ts → text_splitter.d.ts} +0 -0
  181. package/dist/{cjs/text_splitter.js → text_splitter.js} +3 -1
  182. package/dist/text_splitter.js.map +1 -0
  183. package/dist/{cjs/util → util}/hub.d.ts +0 -0
  184. package/dist/{cjs/util → util}/hub.js +0 -0
  185. package/dist/util/hub.js.map +1 -0
  186. package/dist/{cjs/util → util}/index.d.ts +0 -0
  187. package/dist/{cjs/util → util}/index.js +0 -0
  188. package/dist/util/index.js.map +1 -0
  189. package/dist/{esm/vectorstores → vectorstores}/base.d.ts +1 -1
  190. package/dist/{cjs/vectorstores → vectorstores}/base.js +1 -1
  191. package/dist/vectorstores/base.js.map +1 -0
  192. package/dist/{cjs/vectorstores → vectorstores}/hnswlib.d.ts +0 -0
  193. package/dist/{cjs/vectorstores → vectorstores}/hnswlib.js +6 -3
  194. package/dist/vectorstores/hnswlib.js.map +1 -0
  195. package/dist/{cjs/vectorstores → vectorstores}/index.d.ts +0 -0
  196. package/dist/{cjs/vectorstores → vectorstores}/index.js +0 -0
  197. package/dist/vectorstores/index.js.map +1 -0
  198. package/dist/{cjs/vectorstores → vectorstores}/tests/hnswlib.test.d.ts +0 -0
  199. package/dist/{cjs/vectorstores → vectorstores}/tests/hnswlib.test.js +6 -6
  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 +48 -65
  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.js.map +0 -1
  219. package/dist/cjs/agents/executor.js.map +0 -1
  220. package/dist/cjs/agents/helpers.js.map +0 -1
  221. package/dist/cjs/agents/index.js.map +0 -1
  222. package/dist/cjs/agents/initialize.js.map +0 -1
  223. package/dist/cjs/agents/load.js.map +0 -1
  224. package/dist/cjs/agents/mrkl/index.js.map +0 -1
  225. package/dist/cjs/agents/mrkl/prompt.js.map +0 -1
  226. package/dist/cjs/agents/tests/agent.test.js.map +0 -1
  227. package/dist/cjs/agents/tests/calculator.test.js.map +0 -1
  228. package/dist/cjs/agents/tools/base.js.map +0 -1
  229. package/dist/cjs/agents/tools/calculator.js.map +0 -1
  230. package/dist/cjs/agents/tools/index.js.map +0 -1
  231. package/dist/cjs/agents/tools/serpapi.js.map +0 -1
  232. package/dist/cjs/cache.js.map +0 -1
  233. package/dist/cjs/chains/base.js.map +0 -1
  234. package/dist/cjs/chains/chat_vector_db_chain.js.map +0 -1
  235. package/dist/cjs/chains/combine_docs_chain.js.map +0 -1
  236. package/dist/cjs/chains/conversation.d.ts +0 -12
  237. package/dist/cjs/chains/conversation.js.map +0 -1
  238. package/dist/cjs/chains/index.d.ts +0 -7
  239. package/dist/cjs/chains/index.js.map +0 -1
  240. package/dist/cjs/chains/llm_chain.d.ts +0 -65
  241. package/dist/cjs/chains/llm_chain.js.map +0 -1
  242. package/dist/cjs/chains/llm_math_chain.d.ts +0 -0
  243. package/dist/cjs/chains/llm_math_chain.js +0 -129
  244. package/dist/cjs/chains/llm_math_chain.js.map +0 -1
  245. package/dist/cjs/chains/load.js.map +0 -1
  246. package/dist/cjs/chains/question_answering/load.js.map +0 -1
  247. package/dist/cjs/chains/question_answering/stuff_prompts.js.map +0 -1
  248. package/dist/cjs/chains/question_answering/tests/load.test.js.map +0 -1
  249. package/dist/cjs/chains/tests/chat_vector_db_qa_chain.test.js.map +0 -1
  250. package/dist/cjs/chains/tests/combine_docs_chain.test.js.map +0 -1
  251. package/dist/cjs/chains/tests/llm_chain.test.js.map +0 -1
  252. package/dist/cjs/chains/tests/vector_db_qa_chain.test.js.map +0 -1
  253. package/dist/cjs/chains/vector_db_qa.js.map +0 -1
  254. package/dist/cjs/document.js.map +0 -1
  255. package/dist/cjs/embeddings/base.js.map +0 -1
  256. package/dist/cjs/embeddings/index.js.map +0 -1
  257. package/dist/cjs/embeddings/openai.js.map +0 -1
  258. package/dist/cjs/embeddings/tests/openai.test.js.map +0 -1
  259. package/dist/cjs/index.js.map +0 -1
  260. package/dist/cjs/llms/base.js.map +0 -1
  261. package/dist/cjs/llms/index.js.map +0 -1
  262. package/dist/cjs/llms/load.js.map +0 -1
  263. package/dist/cjs/llms/openai.d.ts +0 -125
  264. package/dist/cjs/llms/openai.js.map +0 -1
  265. package/dist/cjs/llms/tests/openai.test.js.map +0 -1
  266. package/dist/cjs/memory/base.js.map +0 -1
  267. package/dist/cjs/memory/buffer_memory.js.map +0 -1
  268. package/dist/cjs/memory/index.js.map +0 -1
  269. package/dist/cjs/memory/tests/buffer_memory.test.js.map +0 -1
  270. package/dist/cjs/prompt/base.js.map +0 -1
  271. package/dist/cjs/prompt/few_shot.js.map +0 -1
  272. package/dist/cjs/prompt/index.js.map +0 -1
  273. package/dist/cjs/prompt/load.js.map +0 -1
  274. package/dist/cjs/prompt/parser.js.map +0 -1
  275. package/dist/cjs/prompt/prompt.js.map +0 -1
  276. package/dist/cjs/prompt/template.js.map +0 -1
  277. package/dist/cjs/prompt/tests/load.test.js.map +0 -1
  278. package/dist/cjs/prompt/tests/template.test.js.map +0 -1
  279. package/dist/cjs/text_splitter.js.map +0 -1
  280. package/dist/cjs/text_splitter.test.d.ts +0 -1
  281. package/dist/cjs/text_splitter.test.js +0 -87
  282. package/dist/cjs/text_splitter.test.js.map +0 -1
  283. package/dist/cjs/util/hub.js.map +0 -1
  284. package/dist/cjs/util/index.js.map +0 -1
  285. package/dist/cjs/vectorstores/base.d.ts +0 -18
  286. package/dist/cjs/vectorstores/base.js.map +0 -1
  287. package/dist/cjs/vectorstores/hnswlib.js.map +0 -1
  288. package/dist/cjs/vectorstores/index.js.map +0 -1
  289. package/dist/cjs/vectorstores/tests/hnswlib.test.js.map +0 -1
  290. package/dist/esm/agents/agent.d.ts +0 -96
  291. package/dist/esm/agents/agent.js +0 -146
  292. package/dist/esm/agents/agent.js.map +0 -1
  293. package/dist/esm/agents/executor.d.ts +0 -32
  294. package/dist/esm/agents/executor.js +0 -95
  295. package/dist/esm/agents/executor.js.map +0 -1
  296. package/dist/esm/agents/helpers.d.ts +0 -3
  297. package/dist/esm/agents/helpers.js +0 -17
  298. package/dist/esm/agents/helpers.js.map +0 -1
  299. package/dist/esm/agents/index.d.ts +0 -7
  300. package/dist/esm/agents/index.js +0 -7
  301. package/dist/esm/agents/index.js.map +0 -1
  302. package/dist/esm/agents/initialize.d.ts +0 -4
  303. package/dist/esm/agents/initialize.js +0 -17
  304. package/dist/esm/agents/initialize.js.map +0 -1
  305. package/dist/esm/agents/load.d.ts +0 -6
  306. package/dist/esm/agents/load.js +0 -15
  307. package/dist/esm/agents/load.js.map +0 -1
  308. package/dist/esm/agents/mrkl/index.d.ts +0 -50
  309. package/dist/esm/agents/mrkl/index.js +0 -98
  310. package/dist/esm/agents/mrkl/index.js.map +0 -1
  311. package/dist/esm/agents/mrkl/prompt.d.ts +0 -3
  312. package/dist/esm/agents/mrkl/prompt.js +0 -16
  313. package/dist/esm/agents/mrkl/prompt.js.map +0 -1
  314. package/dist/esm/agents/tests/agent.test.d.ts +0 -1
  315. package/dist/esm/agents/tests/agent.test.js +0 -33
  316. package/dist/esm/agents/tests/agent.test.js.map +0 -1
  317. package/dist/esm/agents/tests/calculator.test.d.ts +0 -1
  318. package/dist/esm/agents/tests/calculator.test.js +0 -28
  319. package/dist/esm/agents/tests/calculator.test.js.map +0 -1
  320. package/dist/esm/agents/tools/base.d.ts +0 -6
  321. package/dist/esm/agents/tools/base.js +0 -11
  322. package/dist/esm/agents/tools/base.js.map +0 -1
  323. package/dist/esm/agents/tools/calculator.d.ts +0 -6
  324. package/dist/esm/agents/tools/calculator.js +0 -29
  325. package/dist/esm/agents/tools/calculator.js.map +0 -1
  326. package/dist/esm/agents/tools/index.d.ts +0 -3
  327. package/dist/esm/agents/tools/index.js +0 -4
  328. package/dist/esm/agents/tools/index.js.map +0 -1
  329. package/dist/esm/agents/tools/llm-math.d.ts +0 -0
  330. package/dist/esm/agents/tools/llm-math.js +0 -2
  331. package/dist/esm/agents/tools/llm-math.js.map +0 -1
  332. package/dist/esm/agents/tools/serpapi.d.ts +0 -18
  333. package/dist/esm/agents/tools/serpapi.js +0 -89
  334. package/dist/esm/agents/tools/serpapi.js.map +0 -1
  335. package/dist/esm/agents/types.d.ts +0 -25
  336. package/dist/esm/agents/types.js +0 -2
  337. package/dist/esm/agents/types.js.map +0 -1
  338. package/dist/esm/cache.d.ts +0 -11
  339. package/dist/esm/cache.js +0 -22
  340. package/dist/esm/cache.js.map +0 -1
  341. package/dist/esm/chains/base.d.ts +0 -42
  342. package/dist/esm/chains/base.js +0 -57
  343. package/dist/esm/chains/base.js.map +0 -1
  344. package/dist/esm/chains/chat_vector_db_chain.d.ts +0 -41
  345. package/dist/esm/chains/chat_vector_db_chain.js +0 -128
  346. package/dist/esm/chains/chat_vector_db_chain.js.map +0 -1
  347. package/dist/esm/chains/combine_docs_chain.d.ts +0 -35
  348. package/dist/esm/chains/combine_docs_chain.js +0 -71
  349. package/dist/esm/chains/combine_docs_chain.js.map +0 -1
  350. package/dist/esm/chains/conversation.js +0 -25
  351. package/dist/esm/chains/conversation.js.map +0 -1
  352. package/dist/esm/chains/index.js +0 -8
  353. package/dist/esm/chains/index.js.map +0 -1
  354. package/dist/esm/chains/llm_chain.js +0 -110
  355. package/dist/esm/chains/llm_chain.js.map +0 -1
  356. package/dist/esm/chains/llm_math_chain.d.ts +0 -0
  357. package/dist/esm/chains/llm_math_chain.js +0 -129
  358. package/dist/esm/chains/llm_math_chain.js.map +0 -1
  359. package/dist/esm/chains/load.d.ts +0 -21
  360. package/dist/esm/chains/load.js +0 -33
  361. package/dist/esm/chains/load.js.map +0 -1
  362. package/dist/esm/chains/question_answering/load.d.ts +0 -3
  363. package/dist/esm/chains/question_answering/load.js +0 -9
  364. package/dist/esm/chains/question_answering/load.js.map +0 -1
  365. package/dist/esm/chains/question_answering/stuff_prompts.d.ts +0 -2
  366. package/dist/esm/chains/question_answering/stuff_prompts.js +0 -7
  367. package/dist/esm/chains/question_answering/stuff_prompts.js.map +0 -1
  368. package/dist/esm/chains/question_answering/tests/load.test.d.ts +0 -1
  369. package/dist/esm/chains/question_answering/tests/load.test.js +0 -12
  370. package/dist/esm/chains/question_answering/tests/load.test.js.map +0 -1
  371. package/dist/esm/chains/tests/chat_vector_db_qa_chain.test.d.ts +0 -1
  372. package/dist/esm/chains/tests/chat_vector_db_qa_chain.test.js +0 -33
  373. package/dist/esm/chains/tests/chat_vector_db_qa_chain.test.js.map +0 -1
  374. package/dist/esm/chains/tests/combine_docs_chain.test.d.ts +0 -1
  375. package/dist/esm/chains/tests/combine_docs_chain.test.js +0 -26
  376. package/dist/esm/chains/tests/combine_docs_chain.test.js.map +0 -1
  377. package/dist/esm/chains/tests/llm_chain.test.d.ts +0 -1
  378. package/dist/esm/chains/tests/llm_chain.test.js +0 -27
  379. package/dist/esm/chains/tests/llm_chain.test.js.map +0 -1
  380. package/dist/esm/chains/tests/vector_db_qa_chain.test.d.ts +0 -1
  381. package/dist/esm/chains/tests/vector_db_qa_chain.test.js +0 -44
  382. package/dist/esm/chains/tests/vector_db_qa_chain.test.js.map +0 -1
  383. package/dist/esm/chains/vector_db_qa.d.ts +0 -36
  384. package/dist/esm/chains/vector_db_qa.js +0 -81
  385. package/dist/esm/chains/vector_db_qa.js.map +0 -1
  386. package/dist/esm/document.d.ts +0 -13
  387. package/dist/esm/document.js +0 -24
  388. package/dist/esm/document.js.map +0 -1
  389. package/dist/esm/embeddings/base.d.ts +0 -4
  390. package/dist/esm/embeddings/base.js +0 -3
  391. package/dist/esm/embeddings/base.js.map +0 -1
  392. package/dist/esm/embeddings/index.d.ts +0 -1
  393. package/dist/esm/embeddings/index.js +0 -2
  394. package/dist/esm/embeddings/index.js.map +0 -1
  395. package/dist/esm/embeddings/openai.d.ts +0 -20
  396. package/dist/esm/embeddings/openai.js +0 -82
  397. package/dist/esm/embeddings/openai.js.map +0 -1
  398. package/dist/esm/embeddings/tests/openai.test.js +0 -15
  399. package/dist/esm/embeddings/tests/openai.test.js.map +0 -1
  400. package/dist/esm/index.d.ts +0 -3
  401. package/dist/esm/index.js +0 -4
  402. package/dist/esm/index.js.map +0 -1
  403. package/dist/esm/llms/base.d.ts +0 -64
  404. package/dist/esm/llms/base.js +0 -159
  405. package/dist/esm/llms/base.js.map +0 -1
  406. package/dist/esm/llms/index.d.ts +0 -37
  407. package/dist/esm/llms/index.js +0 -4
  408. package/dist/esm/llms/index.js.map +0 -1
  409. package/dist/esm/llms/load.d.ts +0 -11
  410. package/dist/esm/llms/load.js +0 -13
  411. package/dist/esm/llms/load.js.map +0 -1
  412. package/dist/esm/llms/openai.js +0 -236
  413. package/dist/esm/llms/openai.js.map +0 -1
  414. package/dist/esm/llms/tests/openai.test.d.ts +0 -1
  415. package/dist/esm/llms/tests/openai.test.js +0 -8
  416. package/dist/esm/llms/tests/openai.test.js.map +0 -1
  417. package/dist/esm/memory/base.d.ts +0 -7
  418. package/dist/esm/memory/base.js +0 -3
  419. package/dist/esm/memory/base.js.map +0 -1
  420. package/dist/esm/memory/buffer_memory.d.ts +0 -15
  421. package/dist/esm/memory/buffer_memory.js +0 -53
  422. package/dist/esm/memory/buffer_memory.js.map +0 -1
  423. package/dist/esm/memory/index.d.ts +0 -2
  424. package/dist/esm/memory/index.js +0 -3
  425. package/dist/esm/memory/index.js.map +0 -1
  426. package/dist/esm/memory/tests/buffer_memory.test.d.ts +0 -1
  427. package/dist/esm/memory/tests/buffer_memory.test.js +0 -15
  428. package/dist/esm/memory/tests/buffer_memory.test.js.map +0 -1
  429. package/dist/esm/prompt/base.d.ts +0 -58
  430. package/dist/esm/prompt/base.js +0 -49
  431. package/dist/esm/prompt/base.js.map +0 -1
  432. package/dist/esm/prompt/few_shot.d.ts +0 -82
  433. package/dist/esm/prompt/few_shot.js +0 -133
  434. package/dist/esm/prompt/few_shot.js.map +0 -1
  435. package/dist/esm/prompt/index.d.ts +0 -4
  436. package/dist/esm/prompt/index.js +0 -5
  437. package/dist/esm/prompt/index.js.map +0 -1
  438. package/dist/esm/prompt/load.d.ts +0 -19
  439. package/dist/esm/prompt/load.js +0 -29
  440. package/dist/esm/prompt/load.js.map +0 -1
  441. package/dist/esm/prompt/parser.d.ts +0 -70
  442. package/dist/esm/prompt/parser.js +0 -107
  443. package/dist/esm/prompt/parser.js.map +0 -1
  444. package/dist/esm/prompt/prompt.d.ts +0 -76
  445. package/dist/esm/prompt/prompt.js +0 -107
  446. package/dist/esm/prompt/prompt.js.map +0 -1
  447. package/dist/esm/prompt/template.d.ts +0 -16
  448. package/dist/esm/prompt/template.js +0 -80
  449. package/dist/esm/prompt/template.js.map +0 -1
  450. package/dist/esm/prompt/tests/load.test.d.ts +0 -1
  451. package/dist/esm/prompt/tests/load.test.js +0 -16
  452. package/dist/esm/prompt/tests/load.test.js.map +0 -1
  453. package/dist/esm/prompt/tests/template.test.d.ts +0 -1
  454. package/dist/esm/prompt/tests/template.test.js +0 -25
  455. package/dist/esm/prompt/tests/template.test.js.map +0 -1
  456. package/dist/esm/text_splitter.d.ts +0 -32
  457. package/dist/esm/text_splitter.js +0 -160
  458. package/dist/esm/text_splitter.js.map +0 -1
  459. package/dist/esm/text_splitter.test.d.ts +0 -1
  460. package/dist/esm/text_splitter.test.js +0 -85
  461. package/dist/esm/text_splitter.test.js.map +0 -1
  462. package/dist/esm/util/hub.d.ts +0 -2
  463. package/dist/esm/util/hub.js +0 -34
  464. package/dist/esm/util/hub.js.map +0 -1
  465. package/dist/esm/util/index.d.ts +0 -13
  466. package/dist/esm/util/index.js +0 -61
  467. package/dist/esm/util/index.js.map +0 -1
  468. package/dist/esm/vectorstores/base.js +0 -33
  469. package/dist/esm/vectorstores/base.js.map +0 -1
  470. package/dist/esm/vectorstores/hnswlib.d.ts +0 -19
  471. package/dist/esm/vectorstores/hnswlib.js +0 -119
  472. package/dist/esm/vectorstores/hnswlib.js.map +0 -1
  473. package/dist/esm/vectorstores/index.d.ts +0 -1
  474. package/dist/esm/vectorstores/index.js +0 -2
  475. package/dist/esm/vectorstores/index.js.map +0 -1
  476. package/dist/esm/vectorstores/tests/hnswlib.test.d.ts +0 -1
  477. package/dist/esm/vectorstores/tests/hnswlib.test.js +0 -39
  478. package/dist/esm/vectorstores/tests/hnswlib.test.js.map +0 -1
@@ -1,76 +0,0 @@
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/prompt";
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,107 +0,0 @@
1
- import { BasePromptTemplate, } from "./index";
2
- import { checkValidTemplate, renderTemplate, parseFString, } from "./template";
3
- import { resolveTemplateFromFile } from "../util";
4
- import { BaseOutputParser } from "./parser";
5
- /**
6
- * Schema to represent a basic prompt for an LLM.
7
- * @augments BasePromptTemplate
8
- * @augments PromptTemplateInput
9
- *
10
- * @example
11
- * ```ts
12
- * import { PromptTemplate } from "@langchain/prompt";
13
- *
14
- * const prompt = new PromptTemplate({
15
- * inputVariables: ["foo"],
16
- * template: "Say {foo}",
17
- * });
18
- * ```
19
- */
20
- export class PromptTemplate extends BasePromptTemplate {
21
- constructor(input) {
22
- super(input);
23
- Object.defineProperty(this, "template", {
24
- enumerable: true,
25
- configurable: true,
26
- writable: true,
27
- value: void 0
28
- });
29
- Object.defineProperty(this, "templateFormat", {
30
- enumerable: true,
31
- configurable: true,
32
- writable: true,
33
- value: "f-string"
34
- });
35
- Object.defineProperty(this, "validateTemplate", {
36
- enumerable: true,
37
- configurable: true,
38
- writable: true,
39
- value: true
40
- });
41
- Object.assign(this, input);
42
- if (this.validateTemplate) {
43
- checkValidTemplate(this.template, this.templateFormat, this.inputVariables);
44
- }
45
- }
46
- _getPromptType() {
47
- return "prompt";
48
- }
49
- format(values) {
50
- return renderTemplate(this.template, this.templateFormat, values);
51
- }
52
- /**
53
- * Take examples in list format with prefix and suffix to create a prompt.
54
- *
55
- * Intendend to be used a a way to dynamically create a prompt from examples.
56
- *
57
- * @param examples - List of examples to use in the prompt.
58
- * @param suffix - String to go after the list of examples. Should generally set up the user's input.
59
- * @param inputVariables - A list of variable names the final prompt template will expect
60
- * @param exampleSeparator - The separator to use in between examples
61
- * @param prefix - String that should go before any examples. Generally includes examples.
62
- *
63
- * @returns The final prompt template generated.
64
- */
65
- static fromExamples(examples, suffix, inputVariables, exampleSeparator = "\n\n", prefix = "") {
66
- const template = [prefix, ...examples, suffix].join(exampleSeparator);
67
- return new PromptTemplate({
68
- inputVariables,
69
- template,
70
- });
71
- }
72
- /**
73
- * Load prompt template from a template f-string
74
- */
75
- static fromTemplate(template) {
76
- const names = new Set();
77
- parseFString(template).forEach((node) => {
78
- if (node.type === "variable") {
79
- names.add(node.name);
80
- }
81
- });
82
- return new PromptTemplate({
83
- inputVariables: [...names],
84
- template,
85
- });
86
- }
87
- serialize() {
88
- var _a;
89
- return {
90
- _type: this._getPromptType(),
91
- input_variables: this.inputVariables,
92
- output_parser: (_a = this.outputParser) === null || _a === void 0 ? void 0 : _a.serialize(),
93
- template: this.template,
94
- template_format: this.templateFormat,
95
- };
96
- }
97
- static async deserialize(data) {
98
- const res = new PromptTemplate({
99
- inputVariables: data.input_variables,
100
- outputParser: data.output_parser && BaseOutputParser.deserialize(data.output_parser),
101
- template: resolveTemplateFromFile("template", data),
102
- templateFormat: data.template_format,
103
- });
104
- return res;
105
- }
106
- }
107
- //# sourceMappingURL=prompt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../prompt/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAGnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAEL,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAA0B,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAoCpE;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,cACX,SAAQ,kBAAkB;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,kBAAkB,CAChB,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,cAAc,CAAC,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,YAAY,CAAC,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,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;YACxE,QAAQ,EAAE,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC;YACnD,cAAc,EAAE,IAAI,CAAC,eAAe;SACrC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;CAGF"}
@@ -1,16 +0,0 @@
1
- import { InputValues } from "./index";
2
- export type TemplateFormat = "f-string" | "jinja2";
3
- type ParsedFStringNode = {
4
- type: "literal";
5
- text: string;
6
- } | {
7
- type: "variable";
8
- name: string;
9
- };
10
- export declare const parseFString: (template: string) => ParsedFStringNode[];
11
- export declare const interpolateFString: (template: string, values: InputValues) => string;
12
- type Interpolator = (template: string, values: InputValues) => string;
13
- export declare const DEFAULT_FORMATTER_MAPPING: Record<TemplateFormat, Interpolator>;
14
- export declare const renderTemplate: (template: string, templateFormat: TemplateFormat, inputValues: InputValues) => string;
15
- export declare const checkValidTemplate: (template: string, templateFormat: TemplateFormat, inputVariables: string[]) => void;
16
- export {};
@@ -1,80 +0,0 @@
1
- export const parseFString = (template) => {
2
- // Core logic replicated from internals of pythons built in Formatter class.
3
- // https://github.com/python/cpython/blob/135ec7cefbaffd516b77362ad2b2ad1025af462e/Objects/stringlib/unicode_format.h#L700-L706
4
- const chars = template.split("");
5
- const nodes = [];
6
- const nextBracket = (bracket, start) => {
7
- for (let i = start; i < chars.length; i += 1) {
8
- if (bracket.includes(chars[i])) {
9
- return i;
10
- }
11
- }
12
- return -1;
13
- };
14
- let i = 0;
15
- while (i < chars.length) {
16
- if (chars[i] === "{" && i + 1 < chars.length && chars[i + 1] === "{") {
17
- nodes.push({ type: "literal", text: "{" });
18
- i += 2;
19
- }
20
- else if (chars[i] === "}" &&
21
- i + 1 < chars.length &&
22
- chars[i + 1] === "}") {
23
- nodes.push({ type: "literal", text: "}" });
24
- i += 2;
25
- }
26
- else if (chars[i] === "{") {
27
- const j = nextBracket("}", i);
28
- if (j < 0) {
29
- throw new Error("Unclosed '{' in template.");
30
- }
31
- nodes.push({
32
- type: "variable",
33
- name: chars.slice(i + 1, j).join(""),
34
- });
35
- i = j + 1;
36
- }
37
- else if (chars[i] === "}") {
38
- throw new Error("Single '}' in template.");
39
- }
40
- else {
41
- const next = nextBracket("{}", i);
42
- const text = (next < 0 ? chars.slice(i) : chars.slice(i, next)).join("");
43
- nodes.push({ type: "literal", text });
44
- i = next < 0 ? chars.length : next;
45
- }
46
- }
47
- return nodes;
48
- };
49
- export const interpolateFString = (template, values) => parseFString(template).reduce((res, node) => {
50
- if (node.type === "variable") {
51
- if (node.name in values) {
52
- return res + values[node.name];
53
- }
54
- throw new Error(`Missing value for input ${node.name}`);
55
- }
56
- return res + node.text;
57
- }, "");
58
- export const DEFAULT_FORMATTER_MAPPING = {
59
- "f-string": interpolateFString,
60
- jinja2: (_, __) => "",
61
- };
62
- export const renderTemplate = (template, templateFormat, inputValues) => DEFAULT_FORMATTER_MAPPING[templateFormat](template, inputValues);
63
- export const checkValidTemplate = (template, templateFormat, inputVariables) => {
64
- if (!(templateFormat in DEFAULT_FORMATTER_MAPPING)) {
65
- const validFormats = Object.keys(DEFAULT_FORMATTER_MAPPING);
66
- throw new Error(`Invalid template format. Got \`${templateFormat}\`;
67
- should be one of ${validFormats}`);
68
- }
69
- try {
70
- const dummyInputs = inputVariables.reduce((acc, v) => {
71
- acc[v] = "foo";
72
- return acc;
73
- }, {});
74
- renderTemplate(template, templateFormat, dummyInputs);
75
- }
76
- catch (_a) {
77
- throw new Error("Invalid prompt schema.");
78
- }
79
- };
80
- //# sourceMappingURL=template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../prompt/template.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,16 +0,0 @@
1
- import { expect, test } from "@jest/globals";
2
- import path from "path";
3
- import { loadPrompt } from "../load";
4
- const PROMPTS_DIR = path.join(__dirname, "prompts");
5
- test("Load Hello World Prompt", async () => {
6
- const helloWorld = path.join(PROMPTS_DIR, "hello_world.yaml");
7
- const prompt = await loadPrompt(helloWorld);
8
- expect(prompt._getPromptType()).toBe("prompt");
9
- expect(prompt.format({})).toBe("Say hello world.");
10
- });
11
- test("Load hub prompt", async () => {
12
- const prompt = await loadPrompt("lc@abb92d8://prompts/hello-world/prompt.yaml");
13
- expect(prompt._getPromptType()).toBe("prompt");
14
- expect(prompt.format({})).toBe("Say hello world.");
15
- });
16
- //# sourceMappingURL=load.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"load.test.js","sourceRoot":"","sources":["../../../../prompt/tests/load.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEpD,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IACjC,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,8CAA8C,CAC/C,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { expect, test, describe } from "@jest/globals";
2
- import { interpolateFString } from "../template";
3
- describe.each([
4
- ["{foo}", { foo: "bar" }, "bar"],
5
- ["pre{foo}post", { foo: "bar" }, "prebarpost"],
6
- ["{{pre{foo}post}}", { foo: "bar" }, "{prebarpost}"],
7
- ["text", {}, "text"],
8
- ["}}{{", {}, "}{"],
9
- ["{first}_{second}", { first: "foo", second: "bar" }, "foo_bar"],
10
- ])("Valid f-string", (template, variables, result) => {
11
- test(`Interpolation works: ${template}`, () => {
12
- expect(interpolateFString(template, variables)).toBe(result);
13
- });
14
- });
15
- describe.each([
16
- ["{", {}],
17
- ["}", {}],
18
- ["{foo", {}],
19
- ["foo}", {}],
20
- ])("Invalid f-string", (template, variables) => {
21
- test(`Interpolation throws: ${template}`, () => {
22
- expect(() => interpolateFString(template, variables)).toThrow();
23
- });
24
- });
25
- //# sourceMappingURL=template.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.test.js","sourceRoot":"","sources":["../../../../prompt/tests/template.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,QAAQ,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,IAAI,CAAC,wBAAwB,QAAQ,EAAE,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,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,IAAI,CAAC,yBAAyB,QAAQ,EAAE,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,32 +0,0 @@
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 {};
@@ -1,160 +0,0 @@
1
- import { Document } from "./document";
2
- class TextSplitter {
3
- constructor(fields) {
4
- var _a, _b;
5
- Object.defineProperty(this, "chunkSize", {
6
- enumerable: true,
7
- configurable: true,
8
- writable: true,
9
- value: 1000
10
- });
11
- Object.defineProperty(this, "chunkOverlap", {
12
- enumerable: true,
13
- configurable: true,
14
- writable: true,
15
- value: 200
16
- });
17
- this.chunkSize = (_a = fields === null || fields === void 0 ? void 0 : fields.chunkSize) !== null && _a !== void 0 ? _a : this.chunkSize;
18
- this.chunkOverlap = (_b = fields === null || fields === void 0 ? void 0 : fields.chunkOverlap) !== null && _b !== void 0 ? _b : this.chunkOverlap;
19
- if (this.chunkOverlap >= this.chunkSize) {
20
- throw new Error("Cannot have chunkOverlap >= chunkSize");
21
- }
22
- }
23
- createDocuments(texts, metadatas = []) {
24
- const _metadatas = metadatas.length > 0 ? metadatas : new Array(texts.length).fill({});
25
- const documents = new Array();
26
- for (let i = 0; i < texts.length; i += 1) {
27
- const text = texts[i];
28
- for (const chunk of this.splitText(text)) {
29
- documents.push(new Document({ pageContent: chunk, metadata: _metadatas[i] }));
30
- }
31
- }
32
- return documents;
33
- }
34
- splitDocuments(documents) {
35
- const texts = documents.map((doc) => doc.pageContent);
36
- const metadatas = documents.map((doc) => doc.metadata);
37
- return this.createDocuments(texts, metadatas);
38
- }
39
- joinDocs(docs, separator) {
40
- const text = docs.join(separator).trim();
41
- return text === "" ? null : text;
42
- }
43
- mergeSplits(splits, separator) {
44
- const docs = [];
45
- const currentDoc = [];
46
- let total = 0;
47
- for (const d of splits) {
48
- const _len = d.length;
49
- if (total + _len >= this.chunkSize) {
50
- if (total > this.chunkSize) {
51
- console.warn(`Created a chunk of size ${total}, +
52
- which is longer than the specified ${this.chunkSize}`);
53
- }
54
- if (currentDoc.length > 0) {
55
- const doc = this.joinDocs(currentDoc, separator);
56
- if (doc !== null) {
57
- docs.push(doc);
58
- }
59
- // Keep on popping if:
60
- // - we have a larger chunk than in the chunk overlap
61
- // - or if we still have any chunks and the length is long
62
- while (total > this.chunkOverlap ||
63
- (total + _len > this.chunkSize && total > 0)) {
64
- total -= currentDoc[0].length;
65
- currentDoc.shift();
66
- }
67
- }
68
- }
69
- currentDoc.push(d);
70
- total += _len;
71
- }
72
- const doc = this.joinDocs(currentDoc, separator);
73
- if (doc !== null) {
74
- docs.push(doc);
75
- }
76
- return docs;
77
- }
78
- }
79
- export class CharacterTextSplitter extends TextSplitter {
80
- constructor(fields) {
81
- var _a;
82
- super(fields);
83
- Object.defineProperty(this, "separator", {
84
- enumerable: true,
85
- configurable: true,
86
- writable: true,
87
- value: "\n\n"
88
- });
89
- this.separator = (_a = fields === null || fields === void 0 ? void 0 : fields.separator) !== null && _a !== void 0 ? _a : this.separator;
90
- }
91
- splitText(text) {
92
- // First we naively split the large input into a bunch of smaller ones.
93
- let splits;
94
- if (this.separator) {
95
- splits = text.split(this.separator);
96
- }
97
- else {
98
- splits = text.split("");
99
- }
100
- return this.mergeSplits(splits, this.separator);
101
- }
102
- }
103
- export class RecursiveCharacterTextSplitter extends TextSplitter {
104
- constructor(fields) {
105
- var _a;
106
- super(fields);
107
- Object.defineProperty(this, "separators", {
108
- enumerable: true,
109
- configurable: true,
110
- writable: true,
111
- value: ["\n\n", "\n", " ", ""]
112
- });
113
- this.separators = (_a = fields === null || fields === void 0 ? void 0 : fields.separators) !== null && _a !== void 0 ? _a : this.separators;
114
- }
115
- splitText(text) {
116
- const finalChunks = [];
117
- // Get appropriate separator to use
118
- let separator = this.separators[this.separators.length - 1];
119
- for (const s of this.separators) {
120
- if (s === "") {
121
- separator = s;
122
- break;
123
- }
124
- if (text.includes(s)) {
125
- separator = s;
126
- break;
127
- }
128
- }
129
- // Now that we have the separator, split the text
130
- let splits;
131
- if (separator) {
132
- splits = text.split(separator);
133
- }
134
- else {
135
- splits = text.split("");
136
- }
137
- // Now go merging things, recursively splitting longer texts.
138
- let goodSplits = [];
139
- for (const s of splits) {
140
- if (s.length < this.chunkSize) {
141
- goodSplits.push(s);
142
- }
143
- else {
144
- if (goodSplits.length) {
145
- const mergedText = this.mergeSplits(goodSplits, separator);
146
- finalChunks.push(...mergedText);
147
- goodSplits = [];
148
- }
149
- const otherInfo = this.splitText(s);
150
- finalChunks.push(...otherInfo);
151
- }
152
- }
153
- if (goodSplits.length) {
154
- const mergedText = this.mergeSplits(goodSplits, separator);
155
- finalChunks.push(...mergedText);
156
- }
157
- return finalChunks;
158
- }
159
- }
160
- //# sourceMappingURL=text_splitter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text_splitter.js","sourceRoot":"","sources":["../../text_splitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAStC,MAAe,YAAY;IAKzB,YAAY,MAAoC;;QAJhD;;;;mBAAY,IAAI;WAAC;QAEjB;;;;mBAAe,GAAG;WAAC;QAGjB,IAAI,CAAC,SAAS,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,mCAAI,IAAI,CAAC,SAAS,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,mCAAI,IAAI,CAAC,YAAY,CAAC;QAC9D,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE;YACvC,MAAM,IAAI,KAAK,CACb,uCAAuC,CACxC,CAAC;SACH;IACH,CAAC;IAID,eAAe,CACb,KAAe,EACf,YAAmC,EAAE;QAErC,MAAM,UAAU,GACd,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAI,KAAK,EAAY,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YACxC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACxC,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;aAC7E;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,cAAc,CAAC,SAAqB;QAClC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAEO,QAAQ,CAAC,IAAc,EAAE,SAAiB;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,WAAW,CAAC,MAAgB,EAAE,SAAiB;QAC7C,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;YACtB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;YACtB,IAAI,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClC,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;oBAC1B,OAAO,CAAC,IAAI,CACV,2BAA2B,KAAK;qCACP,IAAI,CAAC,SAAS,EAAE,CAC1C,CAAC;iBACH;gBACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBACjD,IAAI,GAAG,KAAK,IAAI,EAAE;wBAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBAChB;oBACD,sBAAsB;oBACtB,qDAAqD;oBACrD,0DAA0D;oBAC1D,OACE,KAAK,GAAG,IAAI,CAAC,YAAY;wBACzB,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC,EAC5C;wBACA,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC9B,UAAU,CAAC,KAAK,EAAE,CAAC;qBACpB;iBACF;aACF;YACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,KAAK,IAAI,IAAI,CAAC;SACf;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAMD,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IAGrD,YAAY,MAA6C;;QACvD,KAAK,CAAC,MAAM,CAAC,CAAC;QAHhB;;;;mBAAY,MAAM;WAAC;QAIjB,IAAI,CAAC,SAAS,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,mCAAI,IAAI,CAAC,SAAS,CAAC;IACvD,CAAC;IAEM,SAAS,CAAC,IAAY;QAC3B,uEAAuE;QACvE,IAAI,MAAgB,CAAC;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACrC;aAAM;YACL,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;CACF;AAMD,MAAM,OAAO,8BAA+B,SAAQ,YAAY;IAG9D,YAAY,MAAsD;;QAChE,KAAK,CAAC,MAAM,CAAC,CAAC;QAHhB;;;;mBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;WAAC;QAI7C,IAAI,CAAC,UAAU,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,mCAAI,IAAI,CAAC,UAAU,CAAC;IAC1D,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,mCAAmC;QACnC,IAAI,SAAS,GAAW,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;YAC/B,IAAI,CAAC,KAAK,EAAE,EAAE;gBACZ,SAAS,GAAG,CAAC,CAAC;gBACd,MAAM;aACP;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBACpB,SAAS,GAAG,CAAC,CAAC;gBACd,MAAM;aACP;SACF;QAED,iDAAiD;QACjD,IAAI,MAAgB,CAAC;QACrB,IAAI,SAAS,EAAE;YACb,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAChC;aAAM;YACL,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACzB;QAED,6DAA6D;QAC7D,IAAI,UAAU,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;gBAC7B,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpB;iBAAM;gBACL,IAAI,UAAU,CAAC,MAAM,EAAE;oBACrB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBAC3D,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;oBAChC,UAAU,GAAG,EAAE,CAAC;iBACjB;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACpC,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;aAChC;SACF;QACD,IAAI,UAAU,CAAC,MAAM,EAAE;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC3D,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;SACjC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;CACF"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,85 +0,0 @@
1
- import { test, expect } from "@jest/globals";
2
- import { Document } from './document';
3
- import { CharacterTextSplitter, RecursiveCharacterTextSplitter } from './text_splitter';
4
- test('Test splitting by character count.', () => {
5
- const text = 'foo bar baz 123';
6
- const splitter = new CharacterTextSplitter({ separator: ' ', chunkSize: 7, chunkOverlap: 3 });
7
- const output = splitter.splitText(text);
8
- const expectedOutput = ['foo bar', 'bar baz', 'baz 123'];
9
- expect(output).toEqual(expectedOutput);
10
- });
11
- test('Test splitting by character count doesn\'t create empty documents.', () => {
12
- const text = 'foo bar';
13
- const splitter = new CharacterTextSplitter({ separator: ' ', chunkSize: 2, chunkOverlap: 0 });
14
- const output = splitter.splitText(text);
15
- const expectedOutput = ['foo', 'bar'];
16
- expect(output).toEqual(expectedOutput);
17
- });
18
- test('Test splitting by character count on long words.', () => {
19
- const text = 'foo bar baz a a';
20
- const splitter = new CharacterTextSplitter({ separator: ' ', chunkSize: 3, chunkOverlap: 1 });
21
- const output = splitter.splitText(text);
22
- const expectedOutput = ['foo', 'bar', 'baz', 'a a'];
23
- expect(output).toEqual(expectedOutput);
24
- });
25
- test('Test splitting by character count when shorter words are first.', () => {
26
- const text = 'a a foo bar baz';
27
- const splitter = new CharacterTextSplitter({ separator: ' ', chunkSize: 3, chunkOverlap: 1 });
28
- const output = splitter.splitText(text);
29
- const expectedOutput = ['a a', 'foo', 'bar', 'baz'];
30
- expect(output).toEqual(expectedOutput);
31
- });
32
- test('Test splitting by characters when splits not found easily.', () => {
33
- const text = 'foo bar baz 123';
34
- const splitter = new CharacterTextSplitter({ separator: ' ', chunkSize: 1, chunkOverlap: 0 });
35
- const output = splitter.splitText(text);
36
- const expectedOutput = ['foo', 'bar', 'baz', '123'];
37
- expect(output).toEqual(expectedOutput);
38
- });
39
- test('Test invalid arguments.', () => {
40
- expect(() => {
41
- new CharacterTextSplitter({ chunkSize: 2, chunkOverlap: 4 });
42
- }).toThrow();
43
- });
44
- test('Test create documents method.', () => {
45
- const texts = ['foo bar', 'baz'];
46
- const splitter = new CharacterTextSplitter({ separator: ' ', chunkSize: 3, chunkOverlap: 0 });
47
- const docs = splitter.createDocuments(texts);
48
- const expectedDocs = [new Document({ pageContent: 'foo' }), new Document({ pageContent: 'bar' }), new Document({ pageContent: 'baz' }),];
49
- expect(docs).toEqual(expectedDocs);
50
- });
51
- test('Test create documents with metadata method.', () => {
52
- const texts = ['foo bar', 'baz'];
53
- const splitter = new CharacterTextSplitter({ separator: ' ', chunkSize: 3, chunkOverlap: 0 });
54
- const docs = splitter.createDocuments(texts, [{ source: '1' }, { source: '2' }]);
55
- const expectedDocs = [new Document({ pageContent: 'foo', metadata: { source: '1' } }), new Document({ pageContent: 'bar', metadata: { source: '1' } }), new Document({ pageContent: 'baz', metadata: { source: '2' } }),];
56
- expect(docs).toEqual(expectedDocs);
57
- });
58
- test('Test iterative text splitter.', () => {
59
- const text = `Hi.\n\nI'm Harrison.\n\nHow? Are? You?\nOkay then f f f f.
60
- This is a weird text to write, but gotta test the splittingggg some how.\n\n
61
- Bye!\n\n-H.`;
62
- const splitter = new RecursiveCharacterTextSplitter({ chunkSize: 10, chunkOverlap: 1 });
63
- const output = splitter.splitText(text);
64
- const expectedOutput = [
65
- "Hi.",
66
- "I'm",
67
- "Harrison.",
68
- "How? Are?",
69
- "You?",
70
- "Okay then f",
71
- "f f f f.",
72
- "This is a",
73
- "a weird",
74
- "text to",
75
- "write, but",
76
- "gotta test",
77
- "the",
78
- "splitting",
79
- "gggg",
80
- "some how.",
81
- "Bye!\n\n-H.",
82
- ];
83
- expect(output).toEqual(expectedOutput);
84
- });
85
- //# sourceMappingURL=text_splitter.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text_splitter.test.js","sourceRoot":"","sources":["../../text_splitter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAExF,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC9C,MAAM,IAAI,GAAG,iBAAiB,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;IAC9E,MAAM,IAAI,GAAG,UAAU,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAC5D,MAAM,IAAI,GAAG,iBAAiB,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;IAC3E,MAAM,IAAI,GAAG,iBAAiB,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;IACtE,MAAM,IAAI,GAAG,iBAAiB,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACnC,MAAM,CAAC,GAAG,EAAE;QACV,IAAI,qBAAqB,CAAC,EAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;IACzC,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,CAAK,IAAI,QAAQ,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAK,IAAI,QAAQ,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAK,IAAI,QAAQ,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAI,CAAC;IAClJ,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACvD,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,CAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAClF,MAAM,YAAY,GAAG,CAAK,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,EAAK,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,EAAK,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,EAAI,CAAC;IACtO,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;IACvC,MAAM,IAAI,GAAG;;YAEL,CAAC;IACT,MAAM,QAAQ,GAAG,IAAI,8BAA8B,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG;QACnB,KAAK;QACL,KAAK;QACL,WAAW;QACX,WAAW;QACX,MAAM;QACN,aAAa;QACb,UAAU;QACV,WAAW;QACX,SAAS;QACT,SAAS;QACT,YAAY;QACZ,YAAY;QACZ,KAAK;QACL,WAAW;QACX,MAAM;QACN,WAAW;QACX,aAAa;KAChB,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC"}