langchain 0.0.4 → 0.0.5

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 (333) hide show
  1. package/dist/cjs/agents/agent.d.ts +54 -0
  2. package/dist/cjs/agents/agent.js +81 -59
  3. package/dist/cjs/agents/agent.js.map +1 -1
  4. package/dist/cjs/agents/executor.d.ts +5 -0
  5. package/dist/cjs/agents/executor.js +36 -42
  6. package/dist/cjs/agents/executor.js.map +1 -1
  7. package/dist/cjs/agents/helpers.js +4 -13
  8. package/dist/cjs/agents/helpers.js.map +1 -1
  9. package/dist/cjs/agents/index.d.ts +1 -0
  10. package/dist/cjs/agents/index.js +5 -1
  11. package/dist/cjs/agents/index.js.map +1 -1
  12. package/dist/cjs/agents/initialize.d.ts +4 -0
  13. package/dist/cjs/agents/initialize.js +21 -0
  14. package/dist/cjs/agents/initialize.js.map +1 -0
  15. package/dist/cjs/agents/load.js +6 -15
  16. package/dist/cjs/agents/load.js.map +1 -1
  17. package/dist/cjs/agents/mrkl/index.d.ts +17 -0
  18. package/dist/cjs/agents/mrkl/index.js +21 -29
  19. package/dist/cjs/agents/mrkl/index.js.map +1 -1
  20. package/dist/cjs/agents/mrkl/prompt.js +0 -1
  21. package/dist/cjs/agents/mrkl/prompt.js.map +1 -1
  22. package/dist/cjs/agents/tests/agent.test.js +19 -15
  23. package/dist/cjs/agents/tests/agent.test.js.map +1 -1
  24. package/dist/cjs/agents/tests/calculator.test.d.ts +1 -0
  25. package/dist/cjs/agents/tests/calculator.test.js +30 -0
  26. package/dist/cjs/agents/tests/calculator.test.js.map +1 -0
  27. package/dist/cjs/agents/tools/base.d.ts +6 -0
  28. package/dist/cjs/agents/tools/base.js +15 -0
  29. package/dist/cjs/agents/tools/base.js.map +1 -0
  30. package/dist/cjs/agents/tools/calculator.d.ts +6 -0
  31. package/dist/cjs/agents/tools/calculator.js +33 -0
  32. package/dist/cjs/agents/tools/calculator.js.map +1 -0
  33. package/dist/cjs/agents/tools/index.d.ts +2 -6
  34. package/dist/cjs/agents/tools/index.js +5 -1
  35. package/dist/cjs/agents/tools/index.js.map +1 -1
  36. package/dist/cjs/agents/tools/serpapi.d.ts +18 -3
  37. package/dist/cjs/agents/tools/serpapi.js +88 -45
  38. package/dist/cjs/agents/tools/serpapi.js.map +1 -1
  39. package/dist/cjs/chains/base.d.ts +34 -4
  40. package/dist/cjs/chains/base.js +41 -3
  41. package/dist/cjs/chains/base.js.map +1 -1
  42. package/dist/cjs/chains/chat_vector_db_chain.d.ts +41 -0
  43. package/dist/cjs/chains/chat_vector_db_chain.js +132 -0
  44. package/dist/cjs/chains/chat_vector_db_chain.js.map +1 -0
  45. package/dist/cjs/chains/combine_docs_chain.d.ts +35 -0
  46. package/dist/cjs/chains/combine_docs_chain.js +75 -0
  47. package/dist/cjs/chains/combine_docs_chain.js.map +1 -0
  48. package/dist/cjs/chains/conversation.d.ts +12 -0
  49. package/dist/cjs/chains/conversation.js +29 -0
  50. package/dist/cjs/chains/conversation.js.map +1 -0
  51. package/dist/cjs/chains/index.d.ts +5 -1
  52. package/dist/cjs/chains/index.js +10 -1
  53. package/dist/cjs/chains/index.js.map +1 -1
  54. package/dist/cjs/chains/llm_chain.d.ts +35 -0
  55. package/dist/cjs/chains/llm_chain.js +66 -34
  56. package/dist/cjs/chains/llm_chain.js.map +1 -1
  57. package/dist/cjs/chains/load.d.ts +20 -1
  58. package/dist/cjs/chains/load.js +25 -17
  59. package/dist/cjs/chains/load.js.map +1 -1
  60. package/dist/cjs/chains/question_answering/load.d.ts +3 -0
  61. package/dist/cjs/chains/question_answering/load.js +13 -0
  62. package/dist/cjs/chains/question_answering/load.js.map +1 -0
  63. package/dist/cjs/chains/question_answering/stuff_prompts.d.ts +2 -0
  64. package/dist/cjs/chains/question_answering/stuff_prompts.js +10 -0
  65. package/dist/cjs/chains/question_answering/stuff_prompts.js.map +1 -0
  66. package/dist/cjs/chains/question_answering/tests/load.test.d.ts +1 -0
  67. package/dist/cjs/chains/question_answering/tests/load.test.js +14 -0
  68. package/dist/cjs/chains/question_answering/tests/load.test.js.map +1 -0
  69. package/dist/cjs/chains/tests/chat_vector_db_qa_chain.test.d.ts +1 -0
  70. package/dist/cjs/chains/tests/chat_vector_db_qa_chain.test.js +35 -0
  71. package/dist/cjs/chains/tests/chat_vector_db_qa_chain.test.js.map +1 -0
  72. package/dist/cjs/chains/tests/combine_docs_chain.test.d.ts +1 -0
  73. package/dist/cjs/chains/tests/combine_docs_chain.test.js +28 -0
  74. package/dist/cjs/chains/tests/combine_docs_chain.test.js.map +1 -0
  75. package/dist/cjs/chains/tests/llm_chain.test.js +13 -16
  76. package/dist/cjs/chains/tests/llm_chain.test.js.map +1 -1
  77. package/dist/cjs/chains/tests/vector_db_qa_chain.test.d.ts +1 -0
  78. package/dist/cjs/chains/tests/vector_db_qa_chain.test.js +46 -0
  79. package/dist/cjs/chains/tests/vector_db_qa_chain.test.js.map +1 -0
  80. package/dist/cjs/chains/vector_db_qa.d.ts +36 -0
  81. package/dist/cjs/chains/vector_db_qa.js +85 -0
  82. package/dist/cjs/chains/vector_db_qa.js.map +1 -0
  83. package/dist/cjs/document.d.ts +13 -0
  84. package/dist/cjs/document.js +28 -0
  85. package/dist/cjs/document.js.map +1 -0
  86. package/dist/cjs/embeddings/base.d.ts +4 -0
  87. package/dist/cjs/embeddings/base.js +7 -0
  88. package/dist/cjs/embeddings/base.js.map +1 -0
  89. package/dist/cjs/embeddings/index.d.ts +1 -0
  90. package/dist/cjs/embeddings/index.js +6 -0
  91. package/dist/cjs/embeddings/index.js.map +1 -0
  92. package/dist/cjs/embeddings/openai.d.ts +20 -0
  93. package/dist/cjs/embeddings/openai.js +86 -0
  94. package/dist/cjs/embeddings/openai.js.map +1 -0
  95. package/dist/cjs/embeddings/tests/openai.test.d.ts +1 -0
  96. package/dist/cjs/embeddings/tests/openai.test.js +17 -0
  97. package/dist/cjs/embeddings/tests/openai.test.js.map +1 -0
  98. package/dist/cjs/llms/base.d.ts +41 -0
  99. package/dist/cjs/llms/base.js +97 -92
  100. package/dist/cjs/llms/base.js.map +1 -1
  101. package/dist/cjs/llms/index.d.ts +19 -0
  102. package/dist/cjs/llms/load.d.ts +10 -2
  103. package/dist/cjs/llms/load.js +12 -4
  104. package/dist/cjs/llms/load.js.map +1 -1
  105. package/dist/cjs/llms/openai.d.ts +69 -7
  106. package/dist/cjs/llms/openai.js +96 -58
  107. package/dist/cjs/llms/openai.js.map +1 -1
  108. package/dist/cjs/llms/tests/openai.test.js +3 -12
  109. package/dist/cjs/llms/tests/openai.test.js.map +1 -1
  110. package/dist/cjs/memory/base.d.ts +7 -0
  111. package/dist/cjs/memory/base.js +7 -0
  112. package/dist/cjs/memory/base.js.map +1 -0
  113. package/dist/cjs/memory/buffer_memory.d.ts +15 -0
  114. package/dist/cjs/memory/buffer_memory.js +57 -0
  115. package/dist/cjs/memory/buffer_memory.js.map +1 -0
  116. package/dist/cjs/memory/index.d.ts +2 -0
  117. package/dist/cjs/memory/index.js +8 -0
  118. package/dist/cjs/memory/index.js.map +1 -0
  119. package/dist/cjs/memory/tests/buffer_memory.test.d.ts +1 -0
  120. package/dist/cjs/memory/tests/buffer_memory.test.js +17 -0
  121. package/dist/cjs/memory/tests/buffer_memory.test.js.map +1 -0
  122. package/dist/cjs/prompt/base.d.ts +39 -0
  123. package/dist/cjs/prompt/base.js +24 -25
  124. package/dist/cjs/prompt/base.js.map +1 -1
  125. package/dist/cjs/prompt/few_shot.d.ts +36 -1
  126. package/dist/cjs/prompt/few_shot.js +27 -33
  127. package/dist/cjs/prompt/few_shot.js.map +1 -1
  128. package/dist/cjs/prompt/index.d.ts +1 -0
  129. package/dist/cjs/prompt/index.js +3 -1
  130. package/dist/cjs/prompt/index.js.map +1 -1
  131. package/dist/cjs/prompt/load.d.ts +17 -0
  132. package/dist/cjs/prompt/load.js +21 -13
  133. package/dist/cjs/prompt/load.js.map +1 -1
  134. package/dist/cjs/prompt/parser.d.ts +30 -0
  135. package/dist/cjs/prompt/parser.js +21 -0
  136. package/dist/cjs/prompt/parser.js.map +1 -1
  137. package/dist/cjs/prompt/prompt.d.ts +48 -0
  138. package/dist/cjs/prompt/prompt.js +38 -18
  139. package/dist/cjs/prompt/prompt.js.map +1 -1
  140. package/dist/cjs/prompt/template.js.map +1 -1
  141. package/dist/cjs/prompt/tests/load.test.js +6 -15
  142. package/dist/cjs/prompt/tests/load.test.js.map +1 -1
  143. package/dist/cjs/text_splitter.d.ts +32 -0
  144. package/dist/cjs/text_splitter.js +165 -0
  145. package/dist/cjs/text_splitter.js.map +1 -0
  146. package/dist/cjs/text_splitter.test.d.ts +1 -0
  147. package/dist/cjs/text_splitter.test.js +87 -0
  148. package/dist/cjs/text_splitter.test.js.map +1 -0
  149. package/dist/cjs/util/hub.d.ts +2 -1
  150. package/dist/cjs/util/hub.js +5 -14
  151. package/dist/cjs/util/hub.js.map +1 -1
  152. package/dist/cjs/util/index.d.ts +1 -0
  153. package/dist/cjs/util/index.js +13 -25
  154. package/dist/cjs/util/index.js.map +1 -1
  155. package/dist/cjs/vectorstores/base.d.ts +18 -0
  156. package/dist/cjs/vectorstores/base.js +38 -0
  157. package/dist/cjs/vectorstores/base.js.map +1 -0
  158. package/dist/cjs/vectorstores/hnswlib.d.ts +19 -0
  159. package/dist/cjs/vectorstores/hnswlib.js +126 -0
  160. package/dist/cjs/vectorstores/hnswlib.js.map +1 -0
  161. package/dist/cjs/vectorstores/index.d.ts +1 -0
  162. package/dist/cjs/vectorstores/index.js +6 -0
  163. package/dist/cjs/vectorstores/index.js.map +1 -0
  164. package/dist/cjs/vectorstores/tests/hnswlib.test.d.ts +1 -0
  165. package/dist/cjs/vectorstores/tests/hnswlib.test.js +44 -0
  166. package/dist/cjs/vectorstores/tests/hnswlib.test.js.map +1 -0
  167. package/dist/esm/agents/agent.d.ts +54 -0
  168. package/dist/esm/agents/agent.js +81 -59
  169. package/dist/esm/agents/agent.js.map +1 -1
  170. package/dist/esm/agents/executor.d.ts +5 -0
  171. package/dist/esm/agents/executor.js +36 -42
  172. package/dist/esm/agents/executor.js.map +1 -1
  173. package/dist/esm/agents/helpers.js +4 -13
  174. package/dist/esm/agents/helpers.js.map +1 -1
  175. package/dist/esm/agents/index.d.ts +1 -0
  176. package/dist/esm/agents/index.js +2 -0
  177. package/dist/esm/agents/index.js.map +1 -1
  178. package/dist/esm/agents/initialize.d.ts +4 -0
  179. package/dist/esm/agents/initialize.js +17 -0
  180. package/dist/esm/agents/initialize.js.map +1 -0
  181. package/dist/esm/agents/load.js +6 -15
  182. package/dist/esm/agents/load.js.map +1 -1
  183. package/dist/esm/agents/mrkl/index.d.ts +17 -0
  184. package/dist/esm/agents/mrkl/index.js +21 -29
  185. package/dist/esm/agents/mrkl/index.js.map +1 -1
  186. package/dist/esm/agents/mrkl/prompt.js +0 -1
  187. package/dist/esm/agents/mrkl/prompt.js.map +1 -1
  188. package/dist/esm/agents/tests/agent.test.js +19 -15
  189. package/dist/esm/agents/tests/agent.test.js.map +1 -1
  190. package/dist/esm/agents/tests/calculator.test.d.ts +1 -0
  191. package/dist/esm/agents/tests/calculator.test.js +28 -0
  192. package/dist/esm/agents/tests/calculator.test.js.map +1 -0
  193. package/dist/esm/agents/tools/base.d.ts +6 -0
  194. package/dist/esm/agents/tools/base.js +11 -0
  195. package/dist/esm/agents/tools/base.js.map +1 -0
  196. package/dist/esm/agents/tools/calculator.d.ts +6 -0
  197. package/dist/esm/agents/tools/calculator.js +29 -0
  198. package/dist/esm/agents/tools/calculator.js.map +1 -0
  199. package/dist/esm/agents/tools/index.d.ts +2 -6
  200. package/dist/esm/agents/tools/index.js +2 -0
  201. package/dist/esm/agents/tools/index.js.map +1 -1
  202. package/dist/esm/agents/tools/serpapi.d.ts +18 -3
  203. package/dist/esm/agents/tools/serpapi.js +88 -45
  204. package/dist/esm/agents/tools/serpapi.js.map +1 -1
  205. package/dist/esm/chains/base.d.ts +34 -4
  206. package/dist/esm/chains/base.js +42 -4
  207. package/dist/esm/chains/base.js.map +1 -1
  208. package/dist/esm/chains/chat_vector_db_chain.d.ts +41 -0
  209. package/dist/esm/chains/chat_vector_db_chain.js +128 -0
  210. package/dist/esm/chains/chat_vector_db_chain.js.map +1 -0
  211. package/dist/esm/chains/combine_docs_chain.d.ts +35 -0
  212. package/dist/esm/chains/combine_docs_chain.js +71 -0
  213. package/dist/esm/chains/combine_docs_chain.js.map +1 -0
  214. package/dist/esm/chains/conversation.d.ts +12 -0
  215. package/dist/esm/chains/conversation.js +25 -0
  216. package/dist/esm/chains/conversation.js.map +1 -0
  217. package/dist/esm/chains/index.d.ts +5 -1
  218. package/dist/esm/chains/index.js +5 -1
  219. package/dist/esm/chains/index.js.map +1 -1
  220. package/dist/esm/chains/llm_chain.d.ts +35 -0
  221. package/dist/esm/chains/llm_chain.js +65 -34
  222. package/dist/esm/chains/llm_chain.js.map +1 -1
  223. package/dist/esm/chains/load.d.ts +20 -1
  224. package/dist/esm/chains/load.js +25 -17
  225. package/dist/esm/chains/load.js.map +1 -1
  226. package/dist/esm/chains/question_answering/load.d.ts +3 -0
  227. package/dist/esm/chains/question_answering/load.js +9 -0
  228. package/dist/esm/chains/question_answering/load.js.map +1 -0
  229. package/dist/esm/chains/question_answering/stuff_prompts.d.ts +2 -0
  230. package/dist/esm/chains/question_answering/stuff_prompts.js +7 -0
  231. package/dist/esm/chains/question_answering/stuff_prompts.js.map +1 -0
  232. package/dist/esm/chains/question_answering/tests/load.test.d.ts +1 -0
  233. package/dist/esm/chains/question_answering/tests/load.test.js +12 -0
  234. package/dist/esm/chains/question_answering/tests/load.test.js.map +1 -0
  235. package/dist/esm/chains/tests/chat_vector_db_qa_chain.test.d.ts +1 -0
  236. package/dist/esm/chains/tests/chat_vector_db_qa_chain.test.js +33 -0
  237. package/dist/esm/chains/tests/chat_vector_db_qa_chain.test.js.map +1 -0
  238. package/dist/esm/chains/tests/combine_docs_chain.test.d.ts +1 -0
  239. package/dist/esm/chains/tests/combine_docs_chain.test.js +26 -0
  240. package/dist/esm/chains/tests/combine_docs_chain.test.js.map +1 -0
  241. package/dist/esm/chains/tests/llm_chain.test.js +14 -17
  242. package/dist/esm/chains/tests/llm_chain.test.js.map +1 -1
  243. package/dist/esm/chains/tests/vector_db_qa_chain.test.d.ts +1 -0
  244. package/dist/esm/chains/tests/vector_db_qa_chain.test.js +44 -0
  245. package/dist/esm/chains/tests/vector_db_qa_chain.test.js.map +1 -0
  246. package/dist/esm/chains/vector_db_qa.d.ts +36 -0
  247. package/dist/esm/chains/vector_db_qa.js +81 -0
  248. package/dist/esm/chains/vector_db_qa.js.map +1 -0
  249. package/dist/esm/document.d.ts +13 -0
  250. package/dist/esm/document.js +24 -0
  251. package/dist/esm/document.js.map +1 -0
  252. package/dist/esm/embeddings/base.d.ts +4 -0
  253. package/dist/esm/embeddings/base.js +3 -0
  254. package/dist/esm/embeddings/base.js.map +1 -0
  255. package/dist/esm/embeddings/index.d.ts +1 -0
  256. package/dist/esm/embeddings/index.js +2 -0
  257. package/dist/esm/embeddings/index.js.map +1 -0
  258. package/dist/esm/embeddings/openai.d.ts +20 -0
  259. package/dist/esm/embeddings/openai.js +82 -0
  260. package/dist/esm/embeddings/openai.js.map +1 -0
  261. package/dist/esm/embeddings/tests/openai.test.d.ts +1 -0
  262. package/dist/esm/embeddings/tests/openai.test.js +15 -0
  263. package/dist/esm/embeddings/tests/openai.test.js.map +1 -0
  264. package/dist/esm/llms/base.d.ts +41 -0
  265. package/dist/esm/llms/base.js +97 -92
  266. package/dist/esm/llms/base.js.map +1 -1
  267. package/dist/esm/llms/index.d.ts +19 -0
  268. package/dist/esm/llms/load.d.ts +10 -2
  269. package/dist/esm/llms/load.js +10 -2
  270. package/dist/esm/llms/load.js.map +1 -1
  271. package/dist/esm/llms/openai.d.ts +69 -7
  272. package/dist/esm/llms/openai.js +96 -58
  273. package/dist/esm/llms/openai.js.map +1 -1
  274. package/dist/esm/llms/tests/openai.test.js +3 -12
  275. package/dist/esm/llms/tests/openai.test.js.map +1 -1
  276. package/dist/esm/memory/base.d.ts +7 -0
  277. package/dist/esm/memory/base.js +3 -0
  278. package/dist/esm/memory/base.js.map +1 -0
  279. package/dist/esm/memory/buffer_memory.d.ts +15 -0
  280. package/dist/esm/memory/buffer_memory.js +53 -0
  281. package/dist/esm/memory/buffer_memory.js.map +1 -0
  282. package/dist/esm/memory/index.d.ts +2 -0
  283. package/dist/esm/memory/index.js +3 -0
  284. package/dist/esm/memory/index.js.map +1 -0
  285. package/dist/esm/memory/tests/buffer_memory.test.d.ts +1 -0
  286. package/dist/esm/memory/tests/buffer_memory.test.js +15 -0
  287. package/dist/esm/memory/tests/buffer_memory.test.js.map +1 -0
  288. package/dist/esm/prompt/base.d.ts +39 -0
  289. package/dist/esm/prompt/base.js +24 -25
  290. package/dist/esm/prompt/base.js.map +1 -1
  291. package/dist/esm/prompt/few_shot.d.ts +36 -1
  292. package/dist/esm/prompt/few_shot.js +27 -33
  293. package/dist/esm/prompt/few_shot.js.map +1 -1
  294. package/dist/esm/prompt/index.d.ts +1 -0
  295. package/dist/esm/prompt/index.js +1 -0
  296. package/dist/esm/prompt/index.js.map +1 -1
  297. package/dist/esm/prompt/load.d.ts +17 -0
  298. package/dist/esm/prompt/load.js +21 -13
  299. package/dist/esm/prompt/load.js.map +1 -1
  300. package/dist/esm/prompt/parser.d.ts +30 -0
  301. package/dist/esm/prompt/parser.js +21 -0
  302. package/dist/esm/prompt/parser.js.map +1 -1
  303. package/dist/esm/prompt/prompt.d.ts +48 -0
  304. package/dist/esm/prompt/prompt.js +38 -18
  305. package/dist/esm/prompt/prompt.js.map +1 -1
  306. package/dist/esm/prompt/template.js.map +1 -1
  307. package/dist/esm/prompt/tests/load.test.js +6 -15
  308. package/dist/esm/prompt/tests/load.test.js.map +1 -1
  309. package/dist/esm/text_splitter.d.ts +32 -0
  310. package/dist/esm/text_splitter.js +160 -0
  311. package/dist/esm/text_splitter.js.map +1 -0
  312. package/dist/esm/text_splitter.test.d.ts +1 -0
  313. package/dist/esm/text_splitter.test.js +85 -0
  314. package/dist/esm/text_splitter.test.js.map +1 -0
  315. package/dist/esm/util/hub.d.ts +2 -1
  316. package/dist/esm/util/hub.js +5 -14
  317. package/dist/esm/util/hub.js.map +1 -1
  318. package/dist/esm/util/index.d.ts +1 -0
  319. package/dist/esm/util/index.js +11 -24
  320. package/dist/esm/util/index.js.map +1 -1
  321. package/dist/esm/vectorstores/base.d.ts +18 -0
  322. package/dist/esm/vectorstores/base.js +33 -0
  323. package/dist/esm/vectorstores/base.js.map +1 -0
  324. package/dist/esm/vectorstores/hnswlib.d.ts +19 -0
  325. package/dist/esm/vectorstores/hnswlib.js +119 -0
  326. package/dist/esm/vectorstores/hnswlib.js.map +1 -0
  327. package/dist/esm/vectorstores/index.d.ts +1 -0
  328. package/dist/esm/vectorstores/index.js +2 -0
  329. package/dist/esm/vectorstores/index.js.map +1 -0
  330. package/dist/esm/vectorstores/tests/hnswlib.test.d.ts +1 -0
  331. package/dist/esm/vectorstores/tests/hnswlib.test.js +39 -0
  332. package/dist/esm/vectorstores/tests/hnswlib.test.js.map +1 -0
  333. package/package.json +65 -38
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HNSWLib = void 0;
4
+ var hnswlib_1 = require("./hnswlib");
5
+ Object.defineProperty(exports, "HNSWLib", { enumerable: true, get: function () { return hnswlib_1.HNSWLib; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../vectorstores/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,44 @@
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 promises_1 = __importDefault(require("fs/promises"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const os_1 = __importDefault(require("os"));
10
+ const hnswlib_1 = require("../hnswlib");
11
+ const embeddings_1 = require("../../embeddings");
12
+ (0, globals_1.test)("Test HNSWLib.fromTexts", async () => {
13
+ var _a;
14
+ const vectorStore = await hnswlib_1.HNSWLib.fromTexts(["Hello world", "Bye bye", "hello nice world"], [{ id: 2 }, { id: 1 }, { id: 3 }], new embeddings_1.OpenAIEmbeddings());
15
+ (0, globals_1.expect)((_a = vectorStore.index) === null || _a === void 0 ? void 0 : _a.getCurrentCount()).toBe(3);
16
+ const resultOne = await vectorStore.similaritySearch("hello world", 1);
17
+ const resultOneMetadatas = resultOne.map(({ metadata }) => (metadata));
18
+ (0, globals_1.expect)(resultOneMetadatas).toEqual([{ id: 2 }]);
19
+ const resultTwo = await vectorStore.similaritySearch("hello world", 3);
20
+ const resultTwoMetadatas = resultTwo.map(({ metadata }) => (metadata));
21
+ (0, globals_1.expect)(resultTwoMetadatas).toEqual([{ id: 2 }, { id: 3 }, { id: 1 }]);
22
+ });
23
+ (0, globals_1.test)("Test HNSWLib.load and HNSWLib.save", async () => {
24
+ var _a;
25
+ const vectorStore = await hnswlib_1.HNSWLib.fromTexts(["Hello world", "Bye bye", "hello nice world"], [{ id: 2 }, { id: 1 }, { id: 3 }], new embeddings_1.OpenAIEmbeddings());
26
+ (0, globals_1.expect)((_a = vectorStore.index) === null || _a === void 0 ? void 0 : _a.getCurrentCount()).toBe(3);
27
+ const resultOne = await vectorStore.similaritySearch("hello world", 1);
28
+ const resultOneMetadatas = resultOne.map(({ metadata }) => (metadata));
29
+ (0, globals_1.expect)(resultOneMetadatas).toEqual([{ id: 2 }]);
30
+ const resultTwo = await vectorStore.similaritySearch("hello world", 3);
31
+ const resultTwoMetadatas = resultTwo.map(({ metadata }) => (metadata));
32
+ (0, globals_1.expect)(resultTwoMetadatas).toEqual([{ id: 2 }, { id: 3 }, { id: 1 }]);
33
+ const tempDirectory = await promises_1.default.mkdtemp(path_1.default.join(os_1.default.tmpdir(), "lcjs-"));
34
+ console.log(tempDirectory);
35
+ await vectorStore.save(tempDirectory);
36
+ const loadedVectorStore = await hnswlib_1.HNSWLib.load(tempDirectory, new embeddings_1.OpenAIEmbeddings());
37
+ const resultThree = await loadedVectorStore.similaritySearch("hello world", 1);
38
+ const resultThreeMetadatas = resultThree.map(({ metadata }) => (metadata));
39
+ (0, globals_1.expect)(resultThreeMetadatas).toEqual([{ id: 2 }]);
40
+ const resultFour = await loadedVectorStore.similaritySearch("hello world", 3);
41
+ const resultFourMetadatas = resultFour.map(({ metadata }) => (metadata));
42
+ (0, globals_1.expect)(resultFourMetadatas).toEqual([{ id: 2 }, { id: 3 }, { id: 1 }]);
43
+ });
44
+ //# sourceMappingURL=hnswlib.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hnswlib.test.js","sourceRoot":"","sources":["../../../../vectorstores/tests/hnswlib.test.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,16 @@ import { BaseLLM } from "../llms";
4
4
  import { LLMChain } from "../chains/llm_chain";
5
5
  import { BasePromptTemplate } from "../prompt";
6
6
  export interface StaticAgent {
7
+ /**
8
+ * Create a prompt for this class
9
+ *
10
+ * @param tools - List of tools the agent will have access to, used to format the prompt.
11
+ * @param fields - Additional fields used to format the prompt.
12
+ *
13
+ * @returns A PromptTemplate assembled from the given tools and fields.
14
+ * */
7
15
  createPrompt(tools: Tool[], fields?: Record<string, any>): BasePromptTemplate;
16
+ /** Construct an agent from an LLM and a list of tools */
8
17
  fromLLMAndTools(llm: BaseLLM, tools: Tool[], args?: Record<string, any>): Agent;
9
18
  validateTools(_: Tool[]): void;
10
19
  }
@@ -14,26 +23,71 @@ export interface AgentInput {
14
23
  llmChain: LLMChain;
15
24
  allowedTools?: string[];
16
25
  }
26
+ /**
27
+ * Class responsible for calling a language model and deciding an action.
28
+ *
29
+ * @remarks This is driven by an LLMChain. The prompt in the LLMChain *must*
30
+ * include a variable called "agent_scratchpad" where the agent can put its
31
+ * intermediary work.
32
+ */
17
33
  export declare abstract class Agent {
18
34
  llmChain: LLMChain;
19
35
  allowedTools?: string[];
20
36
  returnValues: string[];
21
37
  constructor(input: AgentInput);
38
+ /**
39
+ * Extract tool and tool input from LLM output.
40
+ */
22
41
  abstract extractToolAndInput(input: string): {
23
42
  tool: string;
24
43
  input: string;
25
44
  } | null;
45
+ /**
46
+ * Prefix to append the observation with.
47
+ */
26
48
  abstract observationPrefix(): string;
49
+ /**
50
+ * Prefix to append the LLM call with.
51
+ */
27
52
  abstract llmPrefix(): string;
53
+ /**
54
+ * Return the string type key uniquely identifying this class of agent.
55
+ */
28
56
  abstract _agentType(): string;
57
+ /**
58
+ * Prepare the agent for a new call, if needed
59
+ */
29
60
  prepareForNewCall(): void;
61
+ /**
62
+ * Validate that appropriate tools are passed in
63
+ */
30
64
  static validateTools(_: Tool[]): void;
31
65
  _stop(): string[];
66
+ /**
67
+ * Name of tool to use to terminate the chain.
68
+ */
32
69
  finishToolName(): string;
70
+ /**
71
+ * Construct a scratchpad to let the agent continue its thought process
72
+ */
33
73
  private constructScratchPad;
34
74
  private _plan;
75
+ /**
76
+ * Decide what to do given some input.
77
+ *
78
+ * @param steps - Steps the LLM has taken so far, along with observations from each.
79
+ * @param inputs - User inputs.
80
+ *
81
+ * @returns Action specifying what tool to use.
82
+ */
35
83
  plan(steps: AgentStep[], inputs: ChainValues): Promise<AgentAction | AgentFinish>;
84
+ /**
85
+ * Return response when agent has been stopped due to max iterations
86
+ */
36
87
  returnStoppedResponse(earlyStoppingMethod: StoppingMethod, steps: AgentStep[], inputs: ChainValues): Promise<AgentFinish>;
88
+ /**
89
+ * Load an agent from a json-like object describing it.
90
+ */
37
91
  static deserialize(data: SerializedAgent & {
38
92
  llm?: BaseLLM;
39
93
  tools?: Tool[];
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { ZeroShotAgent, } from "./index";
11
2
  class ParseError extends Error {
12
3
  constructor(msg, output) {
@@ -21,6 +12,13 @@ class ParseError extends Error {
21
12
  }
22
13
  }
23
14
  export const staticImplements = (_) => { };
15
+ /**
16
+ * Class responsible for calling a language model and deciding an action.
17
+ *
18
+ * @remarks This is driven by an LLMChain. The prompt in the LLMChain *must*
19
+ * include a variable called "agent_scratchpad" where the agent can put its
20
+ * intermediary work.
21
+ */
24
22
  export class Agent {
25
23
  constructor(input) {
26
24
  Object.defineProperty(this, "llmChain", {
@@ -44,15 +42,27 @@ export class Agent {
44
42
  this.llmChain = input.llmChain;
45
43
  this.allowedTools = input.allowedTools;
46
44
  }
45
+ /**
46
+ * Prepare the agent for a new call, if needed
47
+ */
47
48
  prepareForNewCall() { }
49
+ /**
50
+ * Validate that appropriate tools are passed in
51
+ */
48
52
  // eslint-disable-next-line no-unused-vars
49
53
  static validateTools(_) { }
50
54
  _stop() {
51
55
  return [`\n${this.observationPrefix()}`];
52
56
  }
57
+ /**
58
+ * Name of tool to use to terminate the chain.
59
+ */
53
60
  finishToolName() {
54
61
  return "Final Answer";
55
62
  }
63
+ /**
64
+ * Construct a scratchpad to let the agent continue its thought process
65
+ */
56
66
  constructScratchPad(steps) {
57
67
  return steps.reduce((thoughts, { action, observation }) => thoughts +
58
68
  [
@@ -61,64 +71,76 @@ export class Agent {
61
71
  this.llmPrefix(),
62
72
  ].join("\n"), "");
63
73
  }
64
- _plan(steps, inputs, suffix) {
65
- return __awaiter(this, void 0, void 0, function* () {
66
- const thoughts = this.constructScratchPad(steps);
67
- const newInputs = Object.assign(Object.assign({}, inputs), { agent_scratchpad: suffix ? `${thoughts}${suffix}` : thoughts, stop: this._stop() });
68
- const output = yield this.llmChain.predict(newInputs);
69
- const parsed = this.extractToolAndInput(output);
70
- if (!parsed) {
71
- throw new ParseError(`Invalid output: ${output}`, output);
72
- }
73
- const action = {
74
- tool: parsed.tool,
75
- toolInput: parsed.input,
76
- log: output,
77
- };
78
- if (action.tool === this.finishToolName()) {
79
- return { returnValues: { output: action.toolInput }, log: action.log };
80
- }
81
- return action;
82
- });
74
+ async _plan(steps, inputs, suffix) {
75
+ const thoughts = this.constructScratchPad(steps);
76
+ const newInputs = {
77
+ ...inputs,
78
+ agent_scratchpad: suffix ? `${thoughts}${suffix}` : thoughts,
79
+ stop: this._stop(),
80
+ };
81
+ const output = await this.llmChain.predict(newInputs);
82
+ const parsed = this.extractToolAndInput(output);
83
+ if (!parsed) {
84
+ throw new ParseError(`Invalid output: ${output}`, output);
85
+ }
86
+ const action = {
87
+ tool: parsed.tool,
88
+ toolInput: parsed.input,
89
+ log: output,
90
+ };
91
+ if (action.tool === this.finishToolName()) {
92
+ return { returnValues: { output: action.toolInput }, log: action.log };
93
+ }
94
+ return action;
83
95
  }
96
+ /**
97
+ * Decide what to do given some input.
98
+ *
99
+ * @param steps - Steps the LLM has taken so far, along with observations from each.
100
+ * @param inputs - User inputs.
101
+ *
102
+ * @returns Action specifying what tool to use.
103
+ */
84
104
  plan(steps, inputs) {
85
105
  return this._plan(steps, inputs);
86
106
  }
87
- returnStoppedResponse(earlyStoppingMethod, steps, inputs) {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- if (earlyStoppingMethod === "force") {
90
- return {
91
- returnValues: { output: "Agent stopped due to max iterations." },
92
- log: "",
93
- };
94
- }
95
- if (earlyStoppingMethod === "generate") {
96
- try {
97
- const action = yield this._plan(steps, inputs, "\n\nI now need to return a final answer based on the previous steps:");
98
- if ("returnValues" in action) {
99
- return action;
100
- }
101
- return { returnValues: { output: action.log }, log: action.log };
107
+ /**
108
+ * Return response when agent has been stopped due to max iterations
109
+ */
110
+ async returnStoppedResponse(earlyStoppingMethod, steps, inputs) {
111
+ if (earlyStoppingMethod === "force") {
112
+ return {
113
+ returnValues: { output: "Agent stopped due to max iterations." },
114
+ log: "",
115
+ };
116
+ }
117
+ if (earlyStoppingMethod === "generate") {
118
+ try {
119
+ const action = await this._plan(steps, inputs, "\n\nI now need to return a final answer based on the previous steps:");
120
+ if ("returnValues" in action) {
121
+ return action;
102
122
  }
103
- catch (err) {
104
- if (!(err instanceof ParseError)) {
105
- throw err;
106
- }
107
- return { returnValues: { output: err.output }, log: err.output };
123
+ return { returnValues: { output: action.log }, log: action.log };
124
+ }
125
+ catch (err) {
126
+ if (!(err instanceof ParseError)) {
127
+ throw err;
108
128
  }
129
+ return { returnValues: { output: err.output }, log: err.output };
109
130
  }
110
- throw new Error(`Invalid stopping method: ${earlyStoppingMethod}`);
111
- });
131
+ }
132
+ throw new Error(`Invalid stopping method: ${earlyStoppingMethod}`);
112
133
  }
113
- static deserialize(data) {
114
- return __awaiter(this, void 0, void 0, function* () {
115
- switch (data._type) {
116
- case "zero-shot-react-description":
117
- return ZeroShotAgent.deserialize(data);
118
- default:
119
- throw new Error("Unknown agent type");
120
- }
121
- });
134
+ /**
135
+ * Load an agent from a json-like object describing it.
136
+ */
137
+ static async deserialize(data) {
138
+ switch (data._type) {
139
+ case "zero-shot-react-description":
140
+ return ZeroShotAgent.deserialize(data);
141
+ default:
142
+ throw new Error("Unknown agent type");
143
+ }
122
144
  }
123
145
  }
124
146
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../agents/agent.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EACL,aAAa,GAOd,MAAM,SAAS,CAAC;AAKjB,MAAM,UAAW,SAAQ,KAAK;IAG5B,YAAY,GAAW,EAAE,MAAc;QACrC,KAAK,CAAC,GAAG,CAAC,CAAC;QAHb;;;;;WAAe;QAIb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAgBD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAI,CAAI,EAAE,EAAE,GAAE,CAAC,CAAC;AAShD,MAAM,OAAgB,KAAK;IAOzB,YAAY,KAAiB;QAN7B;;;;;WAAmB;QAEnB;;;;mBAA0B,SAAS;WAAC;QAEpC;;;;mBAAe,CAAC,QAAQ,CAAC;WAAC;QAGxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACzC,CAAC;IAYD,iBAAiB,KAAU,CAAC;IAE5B,0CAA0C;IAC1C,MAAM,CAAC,aAAa,CAAC,CAAS,IAAS,CAAC;IAExC,KAAK;QACH,OAAO,CAAC,KAAK,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,cAAc;QACZ,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,mBAAmB,CAAC,KAAkB;QAC5C,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CACpC,QAAQ;YACR;gBACE,MAAM,CAAC,GAAG;gBACV,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,WAAW,EAAE;gBAC3C,IAAI,CAAC,SAAS,EAAE;aACjB,CAAC,IAAI,CAAC,IAAI,CAAC,EACd,EAAE,CACH,CAAC;IACJ,CAAC;IAEa,KAAK,CACjB,KAAkB,EAClB,MAAmB,EACnB,MAAe;;YAEf,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,SAAS,mCACV,MAAM,KACT,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAC5D,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,GACnB,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,UAAU,CAAC,mBAAmB,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;aAC3D;YACD,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,SAAS,EAAE,MAAM,CAAC,KAAK;gBACvB,GAAG,EAAE,MAAM;aACZ,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE,EAAE;gBACzC,OAAO,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;aACxE;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED,IAAI,CACF,KAAkB,EAClB,MAAmB;QAEnB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAEK,qBAAqB,CACzB,mBAAmC,EACnC,KAAkB,EAClB,MAAmB;;YAEnB,IAAI,mBAAmB,KAAK,OAAO,EAAE;gBACnC,OAAO;oBACL,YAAY,EAAE,EAAE,MAAM,EAAE,sCAAsC,EAAE;oBAChE,GAAG,EAAE,EAAE;iBACR,CAAC;aACH;YAED,IAAI,mBAAmB,KAAK,UAAU,EAAE;gBACtC,IAAI;oBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC7B,KAAK,EACL,MAAM,EACN,sEAAsE,CACvE,CAAC;oBACF,IAAI,cAAc,IAAI,MAAM,EAAE;wBAC5B,OAAO,MAAM,CAAC;qBACf;oBAED,OAAO,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;iBAClE;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAI,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE;wBAChC,MAAM,GAAG,CAAC;qBACX;oBACD,OAAO,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;iBAClE;aACF;YAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,mBAAmB,EAAE,CAAC,CAAC;QACrE,CAAC;KAAA;IAED,MAAM,CAAO,WAAW,CACtB,IAAyD;;YAEzD,QAAQ,IAAI,CAAC,KAAK,EAAE;gBAClB,KAAK,6BAA6B;oBAChC,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACzC;oBACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;aACzC;QACH,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../agents/agent.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,10 @@ type AgentExecutorInput = {
8
8
  maxIterations?: number;
9
9
  earlyStoppingMethod?: StoppingMethod;
10
10
  };
11
+ /**
12
+ * A chain managing an agent using tools.
13
+ * @augments BaseChain
14
+ */
11
15
  export declare class AgentExecutor extends BaseChain {
12
16
  agent: Agent;
13
17
  tools: Tool[];
@@ -15,6 +19,7 @@ export declare class AgentExecutor extends BaseChain {
15
19
  maxIterations?: number;
16
20
  earlyStoppingMethod: StoppingMethod;
17
21
  constructor(input: AgentExecutorInput);
22
+ /** Create from agent and a list of tools. */
18
23
  static fromAgentAndTools(fields: {
19
24
  agent: Agent;
20
25
  tools: Tool[];
@@ -1,13 +1,8 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { BaseChain } from "../chains";
2
+ /**
3
+ * A chain managing an agent using tools.
4
+ * @augments BaseChain
5
+ */
11
6
  export class AgentExecutor extends BaseChain {
12
7
  constructor(input) {
13
8
  var _a, _b, _c;
@@ -50,46 +45,45 @@ export class AgentExecutor extends BaseChain {
50
45
  this.earlyStoppingMethod =
51
46
  (_c = input.earlyStoppingMethod) !== null && _c !== void 0 ? _c : this.earlyStoppingMethod;
52
47
  }
48
+ /** Create from agent and a list of tools. */
53
49
  static fromAgentAndTools(fields) {
54
50
  return new AgentExecutor(fields);
55
51
  }
56
52
  shouldContinue(iterations) {
57
53
  return this.maxIterations === undefined || iterations < this.maxIterations;
58
54
  }
59
- _call(inputs) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- this.agent.prepareForNewCall();
62
- const toolsByName = Object.fromEntries(this.tools.map((t) => [t.name, t]));
63
- const steps = [];
64
- let iterations = 0;
65
- const getOutput = (finishStep) => {
66
- const { returnValues } = finishStep;
67
- if (this.returnIntermediateSteps) {
68
- return Object.assign(Object.assign({}, returnValues), { intermediateSteps: steps });
69
- }
70
- return returnValues;
71
- };
72
- while (this.shouldContinue(iterations)) {
73
- const action = yield this.agent.plan(steps, inputs);
74
- if ("returnValues" in action) {
75
- return getOutput(action);
76
- }
77
- const tool = toolsByName[action.tool];
78
- const observation = tool
79
- ? yield tool.call(action.toolInput)
80
- : `${action.tool} is not a valid tool, try another one.`;
81
- steps.push({ action, observation });
82
- if (tool === null || tool === void 0 ? void 0 : tool.returnDirect) {
83
- return getOutput({
84
- returnValues: { [this.agent.returnValues[0]]: observation },
85
- log: "",
86
- });
87
- }
88
- iterations += 1;
55
+ async _call(inputs) {
56
+ this.agent.prepareForNewCall();
57
+ const toolsByName = Object.fromEntries(this.tools.map((t) => [t.name.toLowerCase(), t]));
58
+ const steps = [];
59
+ let iterations = 0;
60
+ const getOutput = (finishStep) => {
61
+ const { returnValues } = finishStep;
62
+ if (this.returnIntermediateSteps) {
63
+ return { ...returnValues, intermediateSteps: steps };
89
64
  }
90
- const finish = yield this.agent.returnStoppedResponse(this.earlyStoppingMethod, steps, inputs);
91
- return getOutput(finish);
92
- });
65
+ return returnValues;
66
+ };
67
+ while (this.shouldContinue(iterations)) {
68
+ const action = await this.agent.plan(steps, inputs);
69
+ if ("returnValues" in action) {
70
+ return getOutput(action);
71
+ }
72
+ const tool = toolsByName[action.tool.toLowerCase()];
73
+ const observation = tool
74
+ ? await tool.call(action.toolInput)
75
+ : `${action.tool} is not a valid tool, try another one.`;
76
+ steps.push({ action, observation });
77
+ if (tool === null || tool === void 0 ? void 0 : tool.returnDirect) {
78
+ return getOutput({
79
+ returnValues: { [this.agent.returnValues[0]]: observation },
80
+ log: "",
81
+ });
82
+ }
83
+ iterations += 1;
84
+ }
85
+ const finish = await this.agent.returnStoppedResponse(this.earlyStoppingMethod, steps, inputs);
86
+ return getOutput(finish);
93
87
  }
94
88
  _chainType() {
95
89
  return "agent_executor";
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../agents/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../agents/executor.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,6 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { LLMChain } from "../chains";
11
2
  import { resolveConfigFromFile } from "../util";
12
- export const deserializeHelper = (llm, tools, data, fromLLMAndTools, fromConstructor) => __awaiter(void 0, void 0, void 0, function* () {
3
+ export const deserializeHelper = async (llm, tools, data, fromLLMAndTools, fromConstructor) => {
13
4
  if (data.load_from_llm_and_tools) {
14
5
  if (!llm) {
15
6
  throw new Error("Loading from llm and tools, llm must be provided.");
@@ -20,7 +11,7 @@ export const deserializeHelper = (llm, tools, data, fromLLMAndTools, fromConstru
20
11
  return fromLLMAndTools(llm, tools, data);
21
12
  }
22
13
  const serializedLLMChain = resolveConfigFromFile("llm_chain", data);
23
- const llmChain = yield LLMChain.deserialize(serializedLLMChain);
24
- return fromConstructor(Object.assign(Object.assign({}, data), { llmChain }));
25
- });
14
+ const llmChain = await LLMChain.deserialize(serializedLLMChain);
15
+ return fromConstructor({ ...data, llmChain });
16
+ };
26
17
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../agents/helpers.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAsB,QAAQ,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAM/B,GAAwB,EACxB,KAAyB,EACzB,IAA+B,EAC/B,eAA4D,EAC5D,eAA+B,EACnB,EAAE;IACd,IAAI,IAAI,CAAC,uBAAuB,EAAE;QAChC,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QAED,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QAED,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;KAC1C;IAED,MAAM,kBAAkB,GAAG,qBAAqB,CAG9C,WAAW,EAAE,IAAI,CAAC,CAAC;IACrB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAChE,OAAO,eAAe,iCAAM,IAAI,KAAE,QAAQ,IAAG,CAAC;AAChD,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../agents/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,QAAQ,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAMpC,GAAwB,EACxB,KAAyB,EACzB,IAA+B,EAC/B,eAA4D,EAC5D,eAA+B,EACnB,EAAE;IACd,IAAI,IAAI,CAAC,uBAAuB,EAAE;QAChC,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QAED,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QAED,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;KAC1C;IAED,MAAM,kBAAkB,GAAG,qBAAqB,CAG9C,WAAW,EAAE,IAAI,CAAC,CAAC;IACrB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAChE,OAAO,eAAe,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC"}
@@ -3,4 +3,5 @@ export { Agent, StaticAgent, staticImplements, AgentInput } from "./agent";
3
3
  export { AgentExecutor } from "./executor";
4
4
  export { ZeroShotAgent, SerializedZeroShotAgent } from "./mrkl";
5
5
  export { Tool } from "./tools";
6
+ export { initializeAgentExecutor } from "./initialize";
6
7
  export { loadAgent } from "./load";
@@ -1,5 +1,7 @@
1
1
  export { Agent, staticImplements } from "./agent";
2
2
  export { AgentExecutor } from "./executor";
3
3
  export { ZeroShotAgent } from "./mrkl";
4
+ export { Tool } from "./tools";
5
+ export { initializeAgentExecutor } from "./initialize";
4
6
  export { loadAgent } from "./load";
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../agents/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAe,gBAAgB,EAAc,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAA2B,MAAM,QAAQ,CAAC;AAGhE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../agents/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAe,gBAAgB,EAAc,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAA2B,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAC,uBAAuB,EAAC,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Tool } from "./tools";
2
+ import { BaseLLM } from "../llms";
3
+ import { AgentExecutor } from "./executor";
4
+ export declare const initializeAgentExecutor: (tools: Tool[], llm: BaseLLM, agentType?: string) => Promise<AgentExecutor>;
@@ -0,0 +1,17 @@
1
+ import { AgentExecutor } from "./executor";
2
+ import { ZeroShotAgent } from "./mrkl";
3
+ export const initializeAgentExecutor = async (tools, llm, agentType = "zero-shot-react-description") => {
4
+ switch (agentType) {
5
+ case "zero-shot-react-description":
6
+ const agent = ZeroShotAgent.fromLLMAndTools(llm, tools);
7
+ const executor = AgentExecutor.fromAgentAndTools({
8
+ agent,
9
+ tools,
10
+ returnIntermediateSteps: true,
11
+ });
12
+ return executor;
13
+ default:
14
+ throw new Error("Unknown agent type");
15
+ }
16
+ };
17
+ //# sourceMappingURL=initialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../agents/initialize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EACxC,KAAa,EACb,GAAY,EACZ,SAAS,GAAE,6BAA6B,EAChB,EAAE;IAC1B,QAAQ,SAAS,EAAE;QACf,KAAK,6BAA6B;YAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,aAAa,CAAC,iBAAiB,CAAC;gBAC7C,KAAK;gBACL,KAAK;gBACL,uBAAuB,EAAE,IAAI;aAC5B,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QACxB;YACI,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KAC7C;AACH,CAAC,CAAC"}
@@ -1,24 +1,15 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { Agent } from ".";
11
2
  import { loadFromHub } from "../util/hub";
12
3
  import { parseFileConfig } from "../util";
13
- const loadAgentFromFile = (file, llmAndTools) => __awaiter(void 0, void 0, void 0, function* () {
4
+ const loadAgentFromFile = async (file, llmAndTools) => {
14
5
  const serialized = parseFileConfig(file);
15
- return Agent.deserialize(Object.assign(Object.assign({}, serialized), llmAndTools));
16
- });
17
- export const loadAgent = (uri, llmAndTools) => __awaiter(void 0, void 0, void 0, function* () {
18
- const hubResult = yield loadFromHub(uri, (u) => loadAgentFromFile(u, llmAndTools), "agents", new Set(["json", "yaml"]));
6
+ return Agent.deserialize({ ...serialized, ...llmAndTools });
7
+ };
8
+ export const loadAgent = async (uri, llmAndTools) => {
9
+ const hubResult = await loadFromHub(uri, (u) => loadAgentFromFile(u, llmAndTools), "agents", new Set(["json", "yaml"]));
19
10
  if (hubResult) {
20
11
  return hubResult;
21
12
  }
22
13
  return loadAgentFromFile(uri, llmAndTools);
23
- });
14
+ };
24
15
  //# sourceMappingURL=load.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../../../agents/load.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAQ,MAAM,GAAG,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,iBAAiB,GAAG,CACxB,IAAY,EACZ,WAA+C,EAC/C,EAAE;IACF,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,WAAW,iCAAM,UAAU,GAAK,WAAW,EAAG,CAAC;AAC9D,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,GAAW,EACX,WAA+C,EAC/B,EAAE;IAClB,MAAM,SAAS,GAAG,MAAM,WAAW,CACjC,GAAG,EACH,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,EACxC,QAAQ,EACR,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC1B,CAAC;IACF,IAAI,SAAS,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../../agents/load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAQ,MAAM,GAAG,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,iBAAiB,GAAG,KAAK,EAC7B,IAAY,EACZ,WAA+C,EAC/C,EAAE;IACF,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,GAAW,EACX,WAA+C,EAC/B,EAAE;IAClB,MAAM,SAAS,GAAG,MAAM,WAAW,CACjC,GAAG,EACH,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,EACxC,QAAQ,EACR,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC1B,CAAC;IACF,IAAI,SAAS,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC,CAAC"}