langchain 0.0.130 → 0.0.132

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 (831) hide show
  1. package/dist/agents/agent.cjs +23 -0
  2. package/dist/agents/agent.d.ts +28 -0
  3. package/dist/agents/agent.js +23 -0
  4. package/dist/agents/chat/index.cjs +28 -0
  5. package/dist/agents/chat/index.d.ts +33 -0
  6. package/dist/agents/chat/index.js +28 -0
  7. package/dist/agents/chat/outputParser.cjs +19 -0
  8. package/dist/agents/chat/outputParser.d.ts +19 -0
  9. package/dist/agents/chat/outputParser.js +19 -0
  10. package/dist/agents/chat_convo/index.cjs +25 -0
  11. package/dist/agents/chat_convo/index.d.ts +32 -0
  12. package/dist/agents/chat_convo/index.js +25 -0
  13. package/dist/agents/chat_convo/outputParser.cjs +42 -0
  14. package/dist/agents/chat_convo/outputParser.d.ts +42 -0
  15. package/dist/agents/chat_convo/outputParser.js +42 -0
  16. package/dist/agents/executor.cjs +9 -0
  17. package/dist/agents/executor.d.ts +12 -0
  18. package/dist/agents/executor.js +9 -0
  19. package/dist/agents/initialize.d.ts +5 -0
  20. package/dist/agents/mrkl/index.cjs +20 -0
  21. package/dist/agents/mrkl/index.d.ts +25 -0
  22. package/dist/agents/mrkl/index.js +20 -0
  23. package/dist/agents/mrkl/outputParser.cjs +15 -0
  24. package/dist/agents/mrkl/outputParser.d.ts +15 -0
  25. package/dist/agents/mrkl/outputParser.js +15 -0
  26. package/dist/agents/openai/index.cjs +46 -0
  27. package/dist/agents/openai/index.d.ts +40 -0
  28. package/dist/agents/openai/index.js +46 -0
  29. package/dist/agents/structured_chat/index.cjs +35 -0
  30. package/dist/agents/structured_chat/index.d.ts +41 -0
  31. package/dist/agents/structured_chat/index.js +35 -0
  32. package/dist/agents/structured_chat/outputParser.cjs +44 -0
  33. package/dist/agents/structured_chat/outputParser.d.ts +48 -0
  34. package/dist/agents/structured_chat/outputParser.js +44 -0
  35. package/dist/agents/toolkits/aws_sfn.cjs +5 -0
  36. package/dist/agents/toolkits/aws_sfn.d.ts +9 -0
  37. package/dist/agents/toolkits/aws_sfn.js +5 -0
  38. package/dist/agents/toolkits/base.cjs +5 -0
  39. package/dist/agents/toolkits/base.d.ts +5 -0
  40. package/dist/agents/toolkits/base.js +5 -0
  41. package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs +10 -0
  42. package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.ts +10 -0
  43. package/dist/agents/toolkits/conversational_retrieval/openai_functions.js +10 -0
  44. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs +17 -0
  45. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts +21 -0
  46. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.js +17 -0
  47. package/dist/agents/toolkits/json/json.cjs +15 -0
  48. package/dist/agents/toolkits/json/json.d.ts +15 -0
  49. package/dist/agents/toolkits/json/json.js +15 -0
  50. package/dist/agents/toolkits/openapi/openapi.cjs +21 -0
  51. package/dist/agents/toolkits/openapi/openapi.d.ts +21 -0
  52. package/dist/agents/toolkits/openapi/openapi.js +21 -0
  53. package/dist/agents/toolkits/sql/sql.cjs +4 -0
  54. package/dist/agents/toolkits/sql/sql.d.ts +8 -0
  55. package/dist/agents/toolkits/sql/sql.js +4 -0
  56. package/dist/agents/toolkits/vectorstore/vectorstore.cjs +10 -0
  57. package/dist/agents/toolkits/vectorstore/vectorstore.d.ts +14 -0
  58. package/dist/agents/toolkits/vectorstore/vectorstore.js +10 -0
  59. package/dist/agents/toolkits/zapier/zapier.cjs +12 -0
  60. package/dist/agents/toolkits/zapier/zapier.d.ts +12 -0
  61. package/dist/agents/toolkits/zapier/zapier.js +12 -0
  62. package/dist/agents/types.cjs +5 -0
  63. package/dist/agents/types.d.ts +28 -0
  64. package/dist/agents/types.js +5 -0
  65. package/dist/cache/index.cjs +21 -0
  66. package/dist/cache/index.d.ts +21 -0
  67. package/dist/cache/index.js +21 -0
  68. package/dist/cache/ioredis.cjs +16 -0
  69. package/dist/cache/ioredis.d.ts +16 -0
  70. package/dist/cache/ioredis.js +16 -0
  71. package/dist/cache/redis.cjs +21 -0
  72. package/dist/cache/redis.d.ts +25 -0
  73. package/dist/cache/redis.js +21 -0
  74. package/dist/callbacks/base.cjs +29 -0
  75. package/dist/callbacks/base.d.ts +35 -0
  76. package/dist/callbacks/base.js +30 -1
  77. package/dist/callbacks/handlers/console.cjs +87 -0
  78. package/dist/callbacks/handlers/console.d.ts +87 -0
  79. package/dist/callbacks/handlers/console.js +87 -0
  80. package/dist/callbacks/handlers/initialize.cjs +12 -0
  81. package/dist/callbacks/handlers/initialize.d.ts +12 -0
  82. package/dist/callbacks/handlers/initialize.js +12 -0
  83. package/dist/callbacks/manager.cjs +9 -0
  84. package/dist/callbacks/manager.d.ts +9 -0
  85. package/dist/callbacks/manager.js +9 -0
  86. package/dist/callbacks/promises.cjs +9 -0
  87. package/dist/callbacks/promises.d.ts +4 -0
  88. package/dist/callbacks/promises.js +9 -0
  89. package/dist/chains/analyze_documents_chain.cjs +3 -0
  90. package/dist/chains/analyze_documents_chain.d.ts +5 -0
  91. package/dist/chains/analyze_documents_chain.js +3 -0
  92. package/dist/chains/api/api_chain.cjs +12 -0
  93. package/dist/chains/api/api_chain.d.ts +19 -0
  94. package/dist/chains/api/api_chain.js +12 -0
  95. package/dist/chains/base.cjs +6 -0
  96. package/dist/chains/base.d.ts +6 -0
  97. package/dist/chains/base.js +6 -0
  98. package/dist/chains/chat_vector_db_chain.cjs +8 -0
  99. package/dist/chains/chat_vector_db_chain.d.ts +11 -0
  100. package/dist/chains/chat_vector_db_chain.js +8 -0
  101. package/dist/chains/combine_docs_chain.cjs +9 -0
  102. package/dist/chains/combine_docs_chain.d.ts +13 -0
  103. package/dist/chains/combine_docs_chain.js +9 -0
  104. package/dist/chains/constitutional_ai/constitutional_chain.cjs +20 -0
  105. package/dist/chains/constitutional_ai/constitutional_chain.d.ts +21 -0
  106. package/dist/chains/constitutional_ai/constitutional_chain.js +20 -0
  107. package/dist/chains/constitutional_ai/constitutional_principle.cjs +4 -0
  108. package/dist/chains/constitutional_ai/constitutional_principle.d.ts +4 -0
  109. package/dist/chains/constitutional_ai/constitutional_principle.js +4 -0
  110. package/dist/chains/conversation.cjs +7 -0
  111. package/dist/chains/conversation.d.ts +5 -0
  112. package/dist/chains/conversation.js +7 -0
  113. package/dist/chains/conversational_retrieval_chain.cjs +24 -0
  114. package/dist/chains/conversational_retrieval_chain.d.ts +27 -1
  115. package/dist/chains/conversational_retrieval_chain.js +24 -0
  116. package/dist/chains/llm_chain.cjs +3 -0
  117. package/dist/chains/llm_chain.d.ts +4 -0
  118. package/dist/chains/llm_chain.js +3 -0
  119. package/dist/chains/openai_functions/extraction.cjs +21 -0
  120. package/dist/chains/openai_functions/extraction.d.ts +15 -0
  121. package/dist/chains/openai_functions/extraction.js +21 -0
  122. package/dist/chains/openai_functions/openapi.cjs +30 -0
  123. package/dist/chains/openai_functions/openapi.d.ts +3 -0
  124. package/dist/chains/openai_functions/openapi.js +30 -0
  125. package/dist/chains/openai_functions/structured_output.cjs +12 -0
  126. package/dist/chains/openai_functions/structured_output.d.ts +18 -0
  127. package/dist/chains/openai_functions/structured_output.js +12 -0
  128. package/dist/chains/openai_functions/tagging.cjs +24 -0
  129. package/dist/chains/openai_functions/tagging.d.ts +21 -0
  130. package/dist/chains/openai_functions/tagging.js +24 -0
  131. package/dist/chains/openai_moderation.cjs +8 -0
  132. package/dist/chains/openai_moderation.d.ts +9 -0
  133. package/dist/chains/openai_moderation.js +8 -0
  134. package/dist/chains/query_constructor/index.cjs +17 -0
  135. package/dist/chains/query_constructor/index.d.ts +20 -0
  136. package/dist/chains/query_constructor/index.js +17 -0
  137. package/dist/chains/query_constructor/ir.cjs +24 -0
  138. package/dist/chains/query_constructor/ir.d.ts +71 -0
  139. package/dist/chains/query_constructor/ir.js +24 -0
  140. package/dist/chains/query_constructor/parser.cjs +21 -0
  141. package/dist/chains/query_constructor/parser.d.ts +25 -0
  142. package/dist/chains/query_constructor/parser.js +21 -0
  143. package/dist/chains/question_answering/load.cjs +21 -0
  144. package/dist/chains/question_answering/load.d.ts +34 -0
  145. package/dist/chains/question_answering/load.js +21 -0
  146. package/dist/chains/retrieval_qa.cjs +15 -0
  147. package/dist/chains/retrieval_qa.d.ts +16 -0
  148. package/dist/chains/retrieval_qa.js +15 -0
  149. package/dist/chains/router/llm_router.cjs +16 -0
  150. package/dist/chains/router/llm_router.d.ts +24 -0
  151. package/dist/chains/router/llm_router.js +16 -0
  152. package/dist/chains/router/multi_prompt.cjs +19 -0
  153. package/dist/chains/router/multi_prompt.d.ts +19 -0
  154. package/dist/chains/router/multi_prompt.js +19 -0
  155. package/dist/chains/router/multi_retrieval_qa.cjs +22 -0
  156. package/dist/chains/router/multi_retrieval_qa.d.ts +27 -0
  157. package/dist/chains/router/multi_retrieval_qa.js +22 -0
  158. package/dist/chains/router/multi_route.cjs +13 -0
  159. package/dist/chains/router/multi_route.d.ts +26 -0
  160. package/dist/chains/router/multi_route.js +13 -0
  161. package/dist/chains/sequential_chain.cjs +6 -0
  162. package/dist/chains/sequential_chain.d.ts +8 -0
  163. package/dist/chains/sequential_chain.js +6 -0
  164. package/dist/chains/serde.d.ts +58 -0
  165. package/dist/chains/sql_db/sql_db_chain.cjs +16 -0
  166. package/dist/chains/sql_db/sql_db_chain.d.ts +19 -0
  167. package/dist/chains/sql_db/sql_db_chain.js +16 -0
  168. package/dist/chains/summarization/load.d.ts +4 -0
  169. package/dist/chains/transform.cjs +9 -0
  170. package/dist/chains/transform.d.ts +12 -0
  171. package/dist/chains/transform.js +9 -0
  172. package/dist/chains/vector_db_qa.cjs +18 -0
  173. package/dist/chains/vector_db_qa.d.ts +22 -0
  174. package/dist/chains/vector_db_qa.js +18 -0
  175. package/dist/chat_models/anthropic.cjs +27 -4
  176. package/dist/chat_models/anthropic.d.ts +15 -0
  177. package/dist/chat_models/anthropic.js +27 -4
  178. package/dist/chat_models/baiduwenxin.cjs +19 -13
  179. package/dist/chat_models/baiduwenxin.d.ts +19 -3
  180. package/dist/chat_models/baiduwenxin.js +19 -13
  181. package/dist/chat_models/base.cjs +61 -0
  182. package/dist/chat_models/base.d.ts +73 -0
  183. package/dist/chat_models/base.js +61 -0
  184. package/dist/chat_models/googlepalm.cjs +12 -0
  185. package/dist/chat_models/googlepalm.d.ts +8 -0
  186. package/dist/chat_models/googlepalm.js +12 -0
  187. package/dist/chat_models/googlevertexai.cjs +41 -0
  188. package/dist/chat_models/googlevertexai.d.ts +51 -0
  189. package/dist/chat_models/googlevertexai.js +41 -0
  190. package/dist/chat_models/ollama.cjs +14 -0
  191. package/dist/chat_models/ollama.d.ts +16 -0
  192. package/dist/chat_models/ollama.js +14 -0
  193. package/dist/chat_models/openai.cjs +19 -5
  194. package/dist/chat_models/openai.d.ts +7 -5
  195. package/dist/chat_models/openai.js +19 -5
  196. package/dist/document_loaders/base.cjs +10 -0
  197. package/dist/document_loaders/base.d.ts +17 -0
  198. package/dist/document_loaders/base.js +10 -0
  199. package/dist/document_loaders/fs/buffer.cjs +21 -0
  200. package/dist/document_loaders/fs/buffer.d.ts +28 -0
  201. package/dist/document_loaders/fs/buffer.js +21 -0
  202. package/dist/document_loaders/fs/csv.cjs +19 -0
  203. package/dist/document_loaders/fs/csv.d.ts +19 -0
  204. package/dist/document_loaders/fs/csv.js +19 -0
  205. package/dist/document_loaders/fs/directory.cjs +21 -0
  206. package/dist/document_loaders/fs/directory.d.ts +29 -0
  207. package/dist/document_loaders/fs/directory.js +21 -0
  208. package/dist/document_loaders/fs/docx.cjs +16 -0
  209. package/dist/document_loaders/fs/docx.d.ts +16 -0
  210. package/dist/document_loaders/fs/docx.js +16 -0
  211. package/dist/document_loaders/fs/epub.cjs +16 -0
  212. package/dist/document_loaders/fs/epub.d.ts +16 -0
  213. package/dist/document_loaders/fs/epub.js +16 -0
  214. package/dist/document_loaders/fs/json.cjs +40 -0
  215. package/dist/document_loaders/fs/json.d.ts +40 -0
  216. package/dist/document_loaders/fs/json.js +40 -0
  217. package/dist/document_loaders/fs/notion.cjs +6 -0
  218. package/dist/document_loaders/fs/notion.d.ts +6 -0
  219. package/dist/document_loaders/fs/notion.js +6 -0
  220. package/dist/document_loaders/fs/pdf.cjs +21 -0
  221. package/dist/document_loaders/fs/pdf.d.ts +21 -0
  222. package/dist/document_loaders/fs/pdf.js +21 -0
  223. package/dist/document_loaders/fs/srt.cjs +19 -0
  224. package/dist/document_loaders/fs/srt.d.ts +19 -0
  225. package/dist/document_loaders/fs/srt.js +19 -0
  226. package/dist/document_loaders/fs/text.cjs +34 -0
  227. package/dist/document_loaders/fs/text.d.ts +34 -0
  228. package/dist/document_loaders/fs/text.js +34 -0
  229. package/dist/document_loaders/fs/unstructured.cjs +14 -0
  230. package/dist/document_loaders/fs/unstructured.d.ts +26 -0
  231. package/dist/document_loaders/fs/unstructured.js +14 -0
  232. package/dist/document_loaders/web/apify_dataset.cjs +11 -0
  233. package/dist/document_loaders/web/apify_dataset.d.ts +15 -0
  234. package/dist/document_loaders/web/apify_dataset.js +11 -0
  235. package/dist/document_loaders/web/azure_blob_storage_container.cjs +13 -0
  236. package/dist/document_loaders/web/azure_blob_storage_container.d.ts +26 -0
  237. package/dist/document_loaders/web/azure_blob_storage_container.js +13 -0
  238. package/dist/document_loaders/web/azure_blob_storage_file.cjs +12 -0
  239. package/dist/document_loaders/web/azure_blob_storage_file.d.ts +21 -0
  240. package/dist/document_loaders/web/azure_blob_storage_file.js +12 -0
  241. package/dist/document_loaders/web/cheerio.cjs +21 -0
  242. package/dist/document_loaders/web/cheerio.d.ts +26 -0
  243. package/dist/document_loaders/web/cheerio.js +21 -0
  244. package/dist/document_loaders/web/college_confidential.cjs +11 -0
  245. package/dist/document_loaders/web/college_confidential.d.ts +11 -0
  246. package/dist/document_loaders/web/college_confidential.js +11 -0
  247. package/dist/document_loaders/web/confluence.cjs +23 -0
  248. package/dist/document_loaders/web/confluence.d.ts +33 -0
  249. package/dist/document_loaders/web/confluence.js +23 -0
  250. package/dist/document_loaders/web/figma.cjs +21 -0
  251. package/dist/document_loaders/web/figma.d.ts +32 -0
  252. package/dist/document_loaders/web/figma.js +21 -0
  253. package/dist/document_loaders/web/gitbook.cjs +33 -0
  254. package/dist/document_loaders/web/gitbook.d.ts +38 -0
  255. package/dist/document_loaders/web/gitbook.js +33 -0
  256. package/dist/document_loaders/web/github.cjs +50 -0
  257. package/dist/document_loaders/web/github.d.ts +53 -0
  258. package/dist/document_loaders/web/github.js +50 -0
  259. package/dist/document_loaders/web/hn.cjs +31 -0
  260. package/dist/document_loaders/web/hn.d.ts +31 -0
  261. package/dist/document_loaders/web/hn.js +31 -0
  262. package/dist/document_loaders/web/imsdb.cjs +14 -0
  263. package/dist/document_loaders/web/imsdb.d.ts +14 -0
  264. package/dist/document_loaders/web/imsdb.js +14 -0
  265. package/dist/document_loaders/web/notionapi.cjs +39 -0
  266. package/dist/document_loaders/web/notionapi.d.ts +43 -0
  267. package/dist/document_loaders/web/notionapi.js +39 -0
  268. package/dist/document_loaders/web/notiondb.cjs +19 -0
  269. package/dist/document_loaders/web/notiondb.d.ts +24 -0
  270. package/dist/document_loaders/web/notiondb.js +19 -0
  271. package/dist/document_loaders/web/playwright.cjs +22 -0
  272. package/dist/document_loaders/web/playwright.d.ts +27 -0
  273. package/dist/document_loaders/web/playwright.js +22 -0
  274. package/dist/document_loaders/web/puppeteer.cjs +20 -0
  275. package/dist/document_loaders/web/puppeteer.d.ts +25 -0
  276. package/dist/document_loaders/web/puppeteer.js +20 -0
  277. package/dist/document_loaders/web/s3.cjs +9 -0
  278. package/dist/document_loaders/web/s3.d.ts +21 -0
  279. package/dist/document_loaders/web/s3.js +9 -0
  280. package/dist/document_loaders/web/serpapi.cjs +4 -0
  281. package/dist/document_loaders/web/serpapi.d.ts +8 -0
  282. package/dist/document_loaders/web/serpapi.js +4 -0
  283. package/dist/document_loaders/web/sonix_audio.cjs +10 -0
  284. package/dist/document_loaders/web/sonix_audio.d.ts +10 -0
  285. package/dist/document_loaders/web/sonix_audio.js +10 -0
  286. package/dist/document_loaders/web/sort_xyz_blockchain.cjs +10 -0
  287. package/dist/document_loaders/web/sort_xyz_blockchain.d.ts +17 -0
  288. package/dist/document_loaders/web/sort_xyz_blockchain.js +10 -0
  289. package/dist/document_loaders/web/youtube.cjs +23 -0
  290. package/dist/document_loaders/web/youtube.d.ts +27 -0
  291. package/dist/document_loaders/web/youtube.js +23 -0
  292. package/dist/document_transformers/html_to_text.cjs +6 -0
  293. package/dist/document_transformers/html_to_text.d.ts +4 -0
  294. package/dist/document_transformers/html_to_text.js +6 -0
  295. package/dist/document_transformers/mozilla_readability.cjs +7 -0
  296. package/dist/document_transformers/mozilla_readability.d.ts +5 -0
  297. package/dist/document_transformers/mozilla_readability.js +7 -0
  298. package/dist/document_transformers/openai_functions.cjs +6 -0
  299. package/dist/document_transformers/openai_functions.d.ts +4 -0
  300. package/dist/document_transformers/openai_functions.js +6 -0
  301. package/dist/embeddings/base.cjs +4 -0
  302. package/dist/embeddings/base.d.ts +21 -0
  303. package/dist/embeddings/base.js +4 -0
  304. package/dist/embeddings/cache_backed.d.ts +4 -0
  305. package/dist/embeddings/cohere.d.ts +4 -0
  306. package/dist/embeddings/fake.cjs +33 -0
  307. package/dist/embeddings/fake.d.ts +37 -0
  308. package/dist/embeddings/fake.js +33 -0
  309. package/dist/embeddings/googlepalm.cjs +18 -0
  310. package/dist/embeddings/googlepalm.d.ts +22 -0
  311. package/dist/embeddings/googlepalm.js +18 -0
  312. package/dist/embeddings/googlevertexai.cjs +15 -0
  313. package/dist/embeddings/googlevertexai.d.ts +20 -0
  314. package/dist/embeddings/googlevertexai.js +15 -0
  315. package/dist/embeddings/hf.cjs +20 -0
  316. package/dist/embeddings/hf.d.ts +24 -0
  317. package/dist/embeddings/hf.js +20 -0
  318. package/dist/embeddings/openai.cjs +25 -0
  319. package/dist/embeddings/openai.d.ts +29 -0
  320. package/dist/embeddings/openai.js +25 -0
  321. package/dist/embeddings/tensorflow.cjs +27 -0
  322. package/dist/embeddings/tensorflow.d.ts +31 -0
  323. package/dist/embeddings/tensorflow.js +27 -0
  324. package/dist/evaluation/qa/eval_chain.cjs +3 -0
  325. package/dist/evaluation/qa/eval_chain.d.ts +1 -0
  326. package/dist/evaluation/qa/eval_chain.js +3 -0
  327. package/dist/experimental/autogpt/agent.cjs +21 -0
  328. package/dist/experimental/autogpt/agent.d.ts +24 -0
  329. package/dist/experimental/autogpt/agent.js +21 -0
  330. package/dist/experimental/autogpt/output_parser.cjs +24 -0
  331. package/dist/experimental/autogpt/output_parser.d.ts +24 -0
  332. package/dist/experimental/autogpt/output_parser.js +24 -0
  333. package/dist/experimental/autogpt/prompt.cjs +25 -0
  334. package/dist/experimental/autogpt/prompt.d.ts +28 -0
  335. package/dist/experimental/autogpt/prompt.js +25 -0
  336. package/dist/experimental/autogpt/prompt_generator.cjs +32 -0
  337. package/dist/experimental/autogpt/prompt_generator.d.ts +32 -0
  338. package/dist/experimental/autogpt/prompt_generator.js +32 -0
  339. package/dist/experimental/autogpt/schema.d.ts +11 -0
  340. package/dist/experimental/babyagi/agent.cjs +68 -0
  341. package/dist/experimental/babyagi/agent.d.ts +76 -0
  342. package/dist/experimental/babyagi/agent.js +68 -0
  343. package/dist/experimental/babyagi/task_creation.cjs +13 -0
  344. package/dist/experimental/babyagi/task_creation.d.ts +11 -0
  345. package/dist/experimental/babyagi/task_creation.js +13 -0
  346. package/dist/experimental/babyagi/task_execution.cjs +12 -0
  347. package/dist/experimental/babyagi/task_execution.d.ts +10 -0
  348. package/dist/experimental/babyagi/task_execution.js +12 -0
  349. package/dist/experimental/babyagi/task_prioritization.cjs +11 -0
  350. package/dist/experimental/babyagi/task_prioritization.d.ts +9 -0
  351. package/dist/experimental/babyagi/task_prioritization.js +11 -0
  352. package/dist/experimental/generative_agents/generative_agent.cjs +77 -0
  353. package/dist/experimental/generative_agents/generative_agent.d.ts +80 -0
  354. package/dist/experimental/generative_agents/generative_agent.js +77 -0
  355. package/dist/experimental/generative_agents/generative_agent_memory.cjs +116 -0
  356. package/dist/experimental/generative_agents/generative_agent_memory.d.ts +114 -0
  357. package/dist/experimental/generative_agents/generative_agent_memory.js +116 -0
  358. package/dist/experimental/multimodal_embeddings/googlevertexai.cjs +46 -0
  359. package/dist/experimental/multimodal_embeddings/googlevertexai.d.ts +58 -0
  360. package/dist/experimental/multimodal_embeddings/googlevertexai.js +46 -0
  361. package/dist/experimental/plan_and_execute/agent_executor.cjs +35 -0
  362. package/dist/experimental/plan_and_execute/agent_executor.d.ts +38 -0
  363. package/dist/experimental/plan_and_execute/agent_executor.js +35 -0
  364. package/dist/experimental/plan_and_execute/base.cjs +26 -0
  365. package/dist/experimental/plan_and_execute/base.d.ts +38 -0
  366. package/dist/experimental/plan_and_execute/base.js +26 -0
  367. package/dist/experimental/plan_and_execute/outputParser.cjs +18 -0
  368. package/dist/experimental/plan_and_execute/outputParser.d.ts +18 -0
  369. package/dist/experimental/plan_and_execute/outputParser.js +18 -0
  370. package/dist/llms/ai21.cjs +13 -0
  371. package/dist/llms/ai21.d.ts +19 -0
  372. package/dist/llms/ai21.js +13 -0
  373. package/dist/llms/aleph_alpha.cjs +10 -0
  374. package/dist/llms/aleph_alpha.d.ts +13 -0
  375. package/dist/llms/aleph_alpha.js +10 -0
  376. package/dist/llms/base.cjs +32 -0
  377. package/dist/llms/base.d.ts +32 -0
  378. package/dist/llms/base.js +32 -0
  379. package/dist/llms/bedrock.cjs +21 -0
  380. package/dist/llms/bedrock.d.ts +9 -0
  381. package/dist/llms/bedrock.js +21 -0
  382. package/dist/llms/cohere.cjs +7 -0
  383. package/dist/llms/cohere.d.ts +8 -0
  384. package/dist/llms/cohere.js +7 -0
  385. package/dist/llms/googlevertexai.cjs +23 -0
  386. package/dist/llms/googlevertexai.d.ts +38 -0
  387. package/dist/llms/googlevertexai.js +23 -0
  388. package/dist/llms/hf.cjs +4 -0
  389. package/dist/llms/hf.d.ts +8 -0
  390. package/dist/llms/hf.js +4 -0
  391. package/dist/llms/ollama.cjs +7 -0
  392. package/dist/llms/ollama.d.ts +5 -0
  393. package/dist/llms/ollama.js +7 -0
  394. package/dist/llms/openai-chat.cjs +35 -4
  395. package/dist/llms/openai-chat.d.ts +28 -4
  396. package/dist/llms/openai-chat.js +35 -4
  397. package/dist/llms/openai.cjs +26 -6
  398. package/dist/llms/openai.d.ts +11 -3
  399. package/dist/llms/openai.js +26 -6
  400. package/dist/llms/replicate.cjs +9 -0
  401. package/dist/llms/replicate.d.ts +12 -0
  402. package/dist/llms/replicate.js +9 -0
  403. package/dist/llms/sagemaker_endpoint.cjs +11 -0
  404. package/dist/llms/sagemaker_endpoint.d.ts +17 -0
  405. package/dist/llms/sagemaker_endpoint.js +11 -0
  406. package/dist/load/index.cjs +7 -1
  407. package/dist/load/index.js +7 -1
  408. package/dist/load/serializable.cjs +42 -3
  409. package/dist/load/serializable.d.ts +16 -0
  410. package/dist/load/serializable.js +40 -2
  411. package/dist/memory/base.cjs +11 -0
  412. package/dist/memory/base.d.ts +40 -0
  413. package/dist/memory/base.js +11 -0
  414. package/dist/memory/buffer_memory.cjs +19 -0
  415. package/dist/memory/buffer_memory.d.ts +22 -0
  416. package/dist/memory/buffer_memory.js +19 -0
  417. package/dist/memory/buffer_window_memory.cjs +15 -0
  418. package/dist/memory/buffer_window_memory.d.ts +18 -0
  419. package/dist/memory/buffer_window_memory.js +15 -0
  420. package/dist/memory/chat_memory.cjs +16 -0
  421. package/dist/memory/chat_memory.d.ts +19 -0
  422. package/dist/memory/chat_memory.js +16 -0
  423. package/dist/memory/combined_memory.cjs +28 -0
  424. package/dist/memory/combined_memory.d.ts +33 -0
  425. package/dist/memory/combined_memory.js +28 -0
  426. package/dist/memory/entity_memory.cjs +21 -0
  427. package/dist/memory/entity_memory.d.ts +24 -0
  428. package/dist/memory/entity_memory.js +21 -0
  429. package/dist/memory/motorhead_memory.cjs +25 -0
  430. package/dist/memory/motorhead_memory.d.ts +29 -0
  431. package/dist/memory/motorhead_memory.js +25 -0
  432. package/dist/memory/stores/entity/in_memory.cjs +29 -0
  433. package/dist/memory/stores/entity/in_memory.d.ts +29 -0
  434. package/dist/memory/stores/entity/in_memory.js +29 -0
  435. package/dist/memory/summary.cjs +31 -0
  436. package/dist/memory/summary.d.ts +39 -0
  437. package/dist/memory/summary.js +31 -0
  438. package/dist/memory/summary_buffer.cjs +33 -0
  439. package/dist/memory/summary_buffer.d.ts +37 -0
  440. package/dist/memory/summary_buffer.js +33 -0
  441. package/dist/memory/vector_store.cjs +22 -0
  442. package/dist/memory/vector_store.d.ts +26 -0
  443. package/dist/memory/vector_store.js +22 -0
  444. package/dist/memory/zep.cjs +22 -0
  445. package/dist/memory/zep.d.ts +27 -0
  446. package/dist/memory/zep.js +22 -0
  447. package/dist/output_parsers/combining.cjs +15 -0
  448. package/dist/output_parsers/combining.d.ts +19 -0
  449. package/dist/output_parsers/combining.js +15 -0
  450. package/dist/output_parsers/expression.cjs +12 -0
  451. package/dist/output_parsers/expression.d.ts +12 -0
  452. package/dist/output_parsers/expression.js +12 -0
  453. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs +18 -0
  454. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.d.ts +18 -0
  455. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js +18 -0
  456. package/dist/output_parsers/expression_type_handlers/base.cjs +68 -0
  457. package/dist/output_parsers/expression_type_handlers/base.d.ts +79 -0
  458. package/dist/output_parsers/expression_type_handlers/base.js +68 -0
  459. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs +18 -0
  460. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.d.ts +18 -0
  461. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js +18 -0
  462. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs +22 -0
  463. package/dist/output_parsers/expression_type_handlers/call_expression_handler.d.ts +22 -0
  464. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js +22 -0
  465. package/dist/output_parsers/expression_type_handlers/factory.cjs +20 -0
  466. package/dist/output_parsers/expression_type_handlers/factory.d.ts +20 -0
  467. package/dist/output_parsers/expression_type_handlers/factory.js +20 -0
  468. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +19 -0
  469. package/dist/output_parsers/expression_type_handlers/identifier_handler.d.ts +19 -0
  470. package/dist/output_parsers/expression_type_handlers/identifier_handler.js +19 -0
  471. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs +17 -0
  472. package/dist/output_parsers/expression_type_handlers/member_expression_handler.d.ts +17 -0
  473. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js +17 -0
  474. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs +16 -0
  475. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.d.ts +16 -0
  476. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js +16 -0
  477. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs +16 -0
  478. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.d.ts +16 -0
  479. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js +16 -0
  480. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs +17 -0
  481. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.d.ts +17 -0
  482. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js +17 -0
  483. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs +16 -0
  484. package/dist/output_parsers/expression_type_handlers/string_literal_handler.d.ts +16 -0
  485. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js +16 -0
  486. package/dist/output_parsers/expression_type_handlers/types.d.ts +50 -0
  487. package/dist/output_parsers/fix.cjs +28 -0
  488. package/dist/output_parsers/fix.d.ts +26 -0
  489. package/dist/output_parsers/fix.js +28 -0
  490. package/dist/output_parsers/list.cjs +27 -0
  491. package/dist/output_parsers/list.d.ts +25 -0
  492. package/dist/output_parsers/list.js +27 -0
  493. package/dist/output_parsers/noop.cjs +21 -0
  494. package/dist/output_parsers/noop.d.ts +19 -0
  495. package/dist/output_parsers/noop.js +21 -0
  496. package/dist/output_parsers/openai_functions.cjs +40 -0
  497. package/dist/output_parsers/openai_functions.d.ts +37 -0
  498. package/dist/output_parsers/openai_functions.js +40 -0
  499. package/dist/output_parsers/regex.cjs +15 -0
  500. package/dist/output_parsers/regex.d.ts +16 -0
  501. package/dist/output_parsers/regex.js +15 -0
  502. package/dist/output_parsers/router.cjs +15 -0
  503. package/dist/output_parsers/router.d.ts +19 -0
  504. package/dist/output_parsers/router.js +15 -0
  505. package/dist/output_parsers/structured.cjs +36 -0
  506. package/dist/output_parsers/structured.d.ts +38 -0
  507. package/dist/output_parsers/structured.js +36 -0
  508. package/dist/prompts/base.cjs +26 -0
  509. package/dist/prompts/base.d.ts +36 -0
  510. package/dist/prompts/base.js +26 -0
  511. package/dist/prompts/chat.cjs +69 -0
  512. package/dist/prompts/chat.d.ts +76 -0
  513. package/dist/prompts/chat.js +69 -0
  514. package/dist/prompts/few_shot.cjs +5 -0
  515. package/dist/prompts/few_shot.d.ts +5 -0
  516. package/dist/prompts/few_shot.js +5 -0
  517. package/dist/prompts/pipeline.cjs +29 -0
  518. package/dist/prompts/pipeline.d.ts +35 -0
  519. package/dist/prompts/pipeline.js +29 -0
  520. package/dist/prompts/prompt.cjs +13 -0
  521. package/dist/prompts/prompt.d.ts +11 -0
  522. package/dist/prompts/prompt.js +13 -0
  523. package/dist/prompts/selectors/LengthBasedExampleSelector.cjs +32 -0
  524. package/dist/prompts/selectors/LengthBasedExampleSelector.d.ts +33 -0
  525. package/dist/prompts/selectors/LengthBasedExampleSelector.js +32 -0
  526. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.cjs +31 -0
  527. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.d.ts +35 -0
  528. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.js +31 -0
  529. package/dist/prompts/selectors/conditional.cjs +30 -0
  530. package/dist/prompts/selectors/conditional.d.ts +37 -0
  531. package/dist/prompts/selectors/conditional.js +30 -0
  532. package/dist/prompts/serde.d.ts +24 -0
  533. package/dist/prompts/template.d.ts +17 -0
  534. package/dist/retrievers/amazon_kendra.cjs +65 -0
  535. package/dist/retrievers/amazon_kendra.d.ts +67 -0
  536. package/dist/retrievers/amazon_kendra.js +65 -0
  537. package/dist/retrievers/contextual_compression.cjs +8 -0
  538. package/dist/retrievers/contextual_compression.d.ts +11 -0
  539. package/dist/retrievers/contextual_compression.js +8 -0
  540. package/dist/retrievers/databerry.cjs +8 -0
  541. package/dist/retrievers/databerry.d.ts +10 -0
  542. package/dist/retrievers/databerry.js +8 -0
  543. package/dist/retrievers/document_compressors/chain_extract.cjs +18 -0
  544. package/dist/retrievers/document_compressors/chain_extract.d.ts +22 -0
  545. package/dist/retrievers/document_compressors/chain_extract.js +18 -0
  546. package/dist/retrievers/document_compressors/index.d.ts +9 -0
  547. package/dist/retrievers/hyde.cjs +12 -0
  548. package/dist/retrievers/hyde.d.ts +18 -0
  549. package/dist/retrievers/hyde.js +12 -0
  550. package/dist/retrievers/metal.cjs +10 -0
  551. package/dist/retrievers/metal.d.ts +13 -0
  552. package/dist/retrievers/metal.js +10 -0
  553. package/dist/retrievers/parent_document.cjs +20 -1
  554. package/dist/retrievers/parent_document.d.ts +16 -0
  555. package/dist/retrievers/parent_document.js +20 -1
  556. package/dist/retrievers/remote/base.cjs +4 -0
  557. package/dist/retrievers/remote/base.d.ts +28 -0
  558. package/dist/retrievers/remote/base.js +4 -0
  559. package/dist/retrievers/remote/chatgpt-plugin.cjs +17 -0
  560. package/dist/retrievers/remote/chatgpt-plugin.d.ts +21 -0
  561. package/dist/retrievers/remote/chatgpt-plugin.js +17 -0
  562. package/dist/retrievers/remote/remote-retriever.cjs +20 -0
  563. package/dist/retrievers/remote/remote-retriever.d.ts +20 -0
  564. package/dist/retrievers/remote/remote-retriever.js +20 -0
  565. package/dist/retrievers/self_query/base.cjs +28 -0
  566. package/dist/retrievers/self_query/base.d.ts +45 -0
  567. package/dist/retrievers/self_query/base.js +28 -0
  568. package/dist/retrievers/self_query/chroma.cjs +6 -0
  569. package/dist/retrievers/self_query/chroma.d.ts +6 -0
  570. package/dist/retrievers/self_query/chroma.js +6 -0
  571. package/dist/retrievers/self_query/functional.cjs +40 -0
  572. package/dist/retrievers/self_query/functional.d.ts +49 -0
  573. package/dist/retrievers/self_query/functional.js +40 -0
  574. package/dist/retrievers/self_query/index.cjs +17 -0
  575. package/dist/retrievers/self_query/index.d.ts +19 -0
  576. package/dist/retrievers/self_query/index.js +17 -0
  577. package/dist/retrievers/self_query/pinecone.cjs +7 -0
  578. package/dist/retrievers/self_query/pinecone.d.ts +7 -0
  579. package/dist/retrievers/self_query/pinecone.js +7 -0
  580. package/dist/retrievers/self_query/supabase.cjs +91 -7
  581. package/dist/retrievers/self_query/supabase.d.ts +69 -2
  582. package/dist/retrievers/self_query/supabase.js +92 -8
  583. package/dist/retrievers/self_query/supabase_utils.cjs +255 -0
  584. package/dist/retrievers/self_query/supabase_utils.d.ts +102 -0
  585. package/dist/retrievers/self_query/supabase_utils.js +250 -0
  586. package/dist/retrievers/self_query/utils.cjs +36 -3
  587. package/dist/retrievers/self_query/utils.d.ts +20 -0
  588. package/dist/retrievers/self_query/utils.js +32 -2
  589. package/dist/retrievers/self_query/weaviate.cjs +45 -14
  590. package/dist/retrievers/self_query/weaviate.d.ts +42 -0
  591. package/dist/retrievers/self_query/weaviate.js +43 -12
  592. package/dist/retrievers/supabase.cjs +33 -0
  593. package/dist/retrievers/supabase.d.ts +31 -0
  594. package/dist/retrievers/supabase.js +33 -0
  595. package/dist/retrievers/time_weighted.cjs +11 -0
  596. package/dist/retrievers/time_weighted.d.ts +13 -0
  597. package/dist/retrievers/time_weighted.js +11 -0
  598. package/dist/retrievers/vespa.cjs +21 -0
  599. package/dist/retrievers/vespa.d.ts +19 -0
  600. package/dist/retrievers/vespa.js +21 -0
  601. package/dist/retrievers/zep.cjs +7 -0
  602. package/dist/retrievers/zep.d.ts +9 -0
  603. package/dist/retrievers/zep.js +7 -0
  604. package/dist/schema/document.cjs +7 -0
  605. package/dist/schema/document.d.ts +7 -0
  606. package/dist/schema/document.js +7 -0
  607. package/dist/schema/index.cjs +100 -0
  608. package/dist/schema/index.d.ts +80 -0
  609. package/dist/schema/index.js +100 -0
  610. package/dist/schema/output_parser.cjs +49 -0
  611. package/dist/schema/output_parser.d.ts +53 -0
  612. package/dist/schema/output_parser.js +49 -0
  613. package/dist/schema/query_constructor.cjs +5 -0
  614. package/dist/schema/query_constructor.d.ts +5 -0
  615. package/dist/schema/query_constructor.js +5 -0
  616. package/dist/schema/retriever.cjs +18 -0
  617. package/dist/schema/retriever.d.ts +18 -0
  618. package/dist/schema/retriever.js +18 -0
  619. package/dist/schema/runnable.cjs +25 -7
  620. package/dist/schema/runnable.d.ts +6 -0
  621. package/dist/schema/runnable.js +25 -7
  622. package/dist/schema/storage.d.ts +20 -0
  623. package/dist/storage/encoder_backed.cjs +27 -0
  624. package/dist/storage/encoder_backed.d.ts +27 -0
  625. package/dist/storage/encoder_backed.js +27 -0
  626. package/dist/storage/in_memory.cjs +25 -0
  627. package/dist/storage/in_memory.d.ts +25 -0
  628. package/dist/storage/in_memory.js +25 -0
  629. package/dist/storage/ioredis.cjs +25 -0
  630. package/dist/storage/ioredis.d.ts +25 -0
  631. package/dist/storage/ioredis.js +25 -0
  632. package/dist/stores/doc/gcs.cjs +28 -0
  633. package/dist/stores/doc/gcs.d.ts +33 -0
  634. package/dist/stores/doc/gcs.js +28 -0
  635. package/dist/stores/doc/in_memory.cjs +27 -0
  636. package/dist/stores/doc/in_memory.d.ts +27 -0
  637. package/dist/stores/doc/in_memory.js +27 -0
  638. package/dist/stores/file/in_memory.cjs +20 -0
  639. package/dist/stores/file/in_memory.d.ts +20 -0
  640. package/dist/stores/file/in_memory.js +20 -0
  641. package/dist/stores/file/node.cjs +15 -0
  642. package/dist/stores/file/node.d.ts +15 -0
  643. package/dist/stores/file/node.js +15 -0
  644. package/dist/stores/message/dynamodb.cjs +17 -0
  645. package/dist/stores/message/dynamodb.d.ts +23 -0
  646. package/dist/stores/message/dynamodb.js +17 -0
  647. package/dist/stores/message/firestore.cjs +19 -0
  648. package/dist/stores/message/firestore.d.ts +24 -0
  649. package/dist/stores/message/firestore.js +19 -0
  650. package/dist/stores/message/in_memory.cjs +19 -0
  651. package/dist/stores/message/in_memory.d.ts +19 -0
  652. package/dist/stores/message/in_memory.js +19 -0
  653. package/dist/stores/message/ioredis.cjs +17 -0
  654. package/dist/stores/message/ioredis.d.ts +22 -0
  655. package/dist/stores/message/ioredis.js +17 -0
  656. package/dist/stores/message/momento.cjs +18 -0
  657. package/dist/stores/message/momento.d.ts +18 -0
  658. package/dist/stores/message/momento.js +18 -0
  659. package/dist/stores/message/planetscale.cjs +26 -0
  660. package/dist/stores/message/planetscale.d.ts +30 -0
  661. package/dist/stores/message/planetscale.js +26 -0
  662. package/dist/stores/message/redis.cjs +24 -0
  663. package/dist/stores/message/redis.d.ts +27 -0
  664. package/dist/stores/message/redis.js +24 -0
  665. package/dist/stores/message/upstash_redis.cjs +17 -0
  666. package/dist/stores/message/upstash_redis.d.ts +21 -0
  667. package/dist/stores/message/upstash_redis.js +17 -0
  668. package/dist/stores/message/utils.cjs +21 -0
  669. package/dist/stores/message/utils.d.ts +21 -0
  670. package/dist/stores/message/utils.js +21 -0
  671. package/dist/stores/message/xata.cjs +25 -0
  672. package/dist/stores/message/xata.d.ts +29 -0
  673. package/dist/stores/message/xata.js +25 -0
  674. package/dist/text_splitter.cjs +9 -0
  675. package/dist/text_splitter.d.ts +3 -0
  676. package/dist/text_splitter.js +9 -0
  677. package/dist/tools/IFTTTWebhook.cjs +9 -0
  678. package/dist/tools/IFTTTWebhook.d.ts +7 -0
  679. package/dist/tools/IFTTTWebhook.js +9 -0
  680. package/dist/tools/aiplugin.cjs +15 -0
  681. package/dist/tools/aiplugin.d.ts +17 -0
  682. package/dist/tools/aiplugin.js +15 -0
  683. package/dist/tools/aws_lambda.cjs +9 -0
  684. package/dist/tools/aws_lambda.d.ts +7 -0
  685. package/dist/tools/aws_lambda.js +9 -0
  686. package/dist/tools/aws_sfn.cjs +28 -0
  687. package/dist/tools/aws_sfn.d.ts +22 -0
  688. package/dist/tools/aws_sfn.js +28 -0
  689. package/dist/tools/base.cjs +22 -0
  690. package/dist/tools/base.d.ts +25 -0
  691. package/dist/tools/base.js +22 -0
  692. package/dist/tools/bingserpapi.cjs +13 -0
  693. package/dist/tools/bingserpapi.d.ts +11 -0
  694. package/dist/tools/bingserpapi.js +13 -0
  695. package/dist/tools/brave_search.cjs +9 -0
  696. package/dist/tools/brave_search.d.ts +11 -0
  697. package/dist/tools/brave_search.js +9 -0
  698. package/dist/tools/calculator.cjs +7 -0
  699. package/dist/tools/calculator.d.ts +5 -0
  700. package/dist/tools/calculator.js +7 -0
  701. package/dist/tools/chain.cjs +9 -0
  702. package/dist/tools/chain.d.ts +12 -0
  703. package/dist/tools/chain.js +9 -0
  704. package/dist/tools/convert_to_openai.cjs +6 -0
  705. package/dist/tools/convert_to_openai.d.ts +6 -0
  706. package/dist/tools/convert_to_openai.js +6 -0
  707. package/dist/tools/dadjokeapi.cjs +9 -0
  708. package/dist/tools/dadjokeapi.d.ts +7 -0
  709. package/dist/tools/dadjokeapi.js +9 -0
  710. package/dist/tools/dataforseo_api_search.cjs +3 -0
  711. package/dist/tools/dataforseo_api_search.d.ts +10 -0
  712. package/dist/tools/dataforseo_api_search.js +3 -0
  713. package/dist/tools/dynamic.cjs +12 -0
  714. package/dist/tools/dynamic.d.ts +14 -0
  715. package/dist/tools/dynamic.js +12 -0
  716. package/dist/tools/fs.cjs +14 -0
  717. package/dist/tools/fs.d.ts +16 -0
  718. package/dist/tools/fs.js +14 -0
  719. package/dist/tools/google_custom_search.cjs +8 -0
  720. package/dist/tools/google_custom_search.d.ts +9 -0
  721. package/dist/tools/google_custom_search.js +8 -0
  722. package/dist/tools/json.cjs +29 -1
  723. package/dist/tools/json.d.ts +24 -0
  724. package/dist/tools/json.js +29 -1
  725. package/dist/tools/requests.cjs +19 -2
  726. package/dist/tools/requests.d.ts +17 -0
  727. package/dist/tools/requests.js +19 -2
  728. package/dist/tools/searxng_search.cjs +10 -0
  729. package/dist/tools/searxng_search.d.ts +11 -0
  730. package/dist/tools/searxng_search.js +10 -0
  731. package/dist/tools/serpapi.cjs +10 -0
  732. package/dist/tools/serpapi.d.ts +8 -0
  733. package/dist/tools/serpapi.js +10 -0
  734. package/dist/tools/serper.cjs +8 -0
  735. package/dist/tools/serper.d.ts +10 -0
  736. package/dist/tools/serper.js +8 -0
  737. package/dist/tools/sql.cjs +37 -0
  738. package/dist/tools/sql.d.ts +36 -0
  739. package/dist/tools/sql.js +37 -0
  740. package/dist/tools/vectorstore.cjs +14 -0
  741. package/dist/tools/vectorstore.d.ts +15 -0
  742. package/dist/tools/vectorstore.js +14 -0
  743. package/dist/tools/webbrowser.cjs +9 -0
  744. package/dist/tools/webbrowser.d.ts +13 -0
  745. package/dist/tools/webbrowser.js +9 -0
  746. package/dist/tools/wikipedia_query_run.cjs +19 -0
  747. package/dist/tools/wikipedia_query_run.d.ts +25 -0
  748. package/dist/tools/wikipedia_query_run.js +19 -0
  749. package/dist/tools/zapier.cjs +15 -0
  750. package/dist/tools/zapier.d.ts +13 -0
  751. package/dist/tools/zapier.js +15 -0
  752. package/dist/vectorstores/analyticdb.cjs +76 -0
  753. package/dist/vectorstores/analyticdb.d.ts +80 -0
  754. package/dist/vectorstores/analyticdb.js +76 -0
  755. package/dist/vectorstores/base.cjs +16 -0
  756. package/dist/vectorstores/base.d.ts +27 -0
  757. package/dist/vectorstores/base.js +16 -0
  758. package/dist/vectorstores/chroma.cjs +73 -0
  759. package/dist/vectorstores/chroma.d.ts +84 -0
  760. package/dist/vectorstores/chroma.js +73 -0
  761. package/dist/vectorstores/elasticsearch.cjs +74 -0
  762. package/dist/vectorstores/elasticsearch.d.ts +90 -0
  763. package/dist/vectorstores/elasticsearch.js +74 -0
  764. package/dist/vectorstores/faiss.cjs +65 -0
  765. package/dist/vectorstores/faiss.d.ts +69 -0
  766. package/dist/vectorstores/faiss.js +65 -0
  767. package/dist/vectorstores/hnswlib.cjs +71 -0
  768. package/dist/vectorstores/hnswlib.d.ts +80 -0
  769. package/dist/vectorstores/hnswlib.js +71 -0
  770. package/dist/vectorstores/lancedb.cjs +38 -0
  771. package/dist/vectorstores/lancedb.d.ts +42 -0
  772. package/dist/vectorstores/lancedb.js +38 -0
  773. package/dist/vectorstores/memory.cjs +56 -0
  774. package/dist/vectorstores/memory.d.ts +66 -0
  775. package/dist/vectorstores/memory.js +56 -0
  776. package/dist/vectorstores/milvus.cjs +91 -7
  777. package/dist/vectorstores/milvus.d.ts +80 -1
  778. package/dist/vectorstores/milvus.js +91 -7
  779. package/dist/vectorstores/mongo.cjs +45 -0
  780. package/dist/vectorstores/mongo.d.ts +49 -0
  781. package/dist/vectorstores/mongo.js +45 -0
  782. package/dist/vectorstores/mongodb_atlas.cjs +48 -0
  783. package/dist/vectorstores/mongodb_atlas.d.ts +59 -0
  784. package/dist/vectorstores/mongodb_atlas.js +48 -0
  785. package/dist/vectorstores/myscale.cjs +66 -0
  786. package/dist/vectorstores/myscale.d.ts +80 -0
  787. package/dist/vectorstores/myscale.js +66 -0
  788. package/dist/vectorstores/opensearch.cjs +60 -0
  789. package/dist/vectorstores/opensearch.d.ts +74 -0
  790. package/dist/vectorstores/opensearch.js +60 -0
  791. package/dist/vectorstores/pinecone.cjs +54 -0
  792. package/dist/vectorstores/pinecone.d.ts +58 -0
  793. package/dist/vectorstores/pinecone.js +54 -0
  794. package/dist/vectorstores/prisma.cjs +66 -0
  795. package/dist/vectorstores/prisma.d.ts +66 -0
  796. package/dist/vectorstores/prisma.js +66 -0
  797. package/dist/vectorstores/qdrant.cjs +60 -0
  798. package/dist/vectorstores/qdrant.d.ts +66 -0
  799. package/dist/vectorstores/qdrant.js +60 -0
  800. package/dist/vectorstores/redis.cjs +62 -0
  801. package/dist/vectorstores/redis.d.ts +88 -0
  802. package/dist/vectorstores/redis.js +62 -0
  803. package/dist/vectorstores/singlestore.cjs +46 -0
  804. package/dist/vectorstores/singlestore.d.ts +46 -0
  805. package/dist/vectorstores/singlestore.js +46 -0
  806. package/dist/vectorstores/supabase.cjs +50 -0
  807. package/dist/vectorstores/supabase.d.ts +54 -2
  808. package/dist/vectorstores/supabase.js +50 -0
  809. package/dist/vectorstores/tigris.cjs +49 -0
  810. package/dist/vectorstores/tigris.d.ts +53 -0
  811. package/dist/vectorstores/tigris.js +49 -0
  812. package/dist/vectorstores/typeorm.cjs +71 -0
  813. package/dist/vectorstores/typeorm.d.ts +76 -0
  814. package/dist/vectorstores/typeorm.js +71 -0
  815. package/dist/vectorstores/typesense.cjs +5 -0
  816. package/dist/vectorstores/typesense.d.ts +5 -0
  817. package/dist/vectorstores/typesense.js +5 -0
  818. package/dist/vectorstores/usearch.cjs +50 -0
  819. package/dist/vectorstores/usearch.d.ts +55 -0
  820. package/dist/vectorstores/usearch.js +50 -0
  821. package/dist/vectorstores/vectara.cjs +104 -0
  822. package/dist/vectorstores/vectara.d.ts +72 -0
  823. package/dist/vectorstores/vectara.js +104 -0
  824. package/dist/vectorstores/weaviate.cjs +61 -0
  825. package/dist/vectorstores/weaviate.d.ts +70 -0
  826. package/dist/vectorstores/weaviate.js +61 -0
  827. package/dist/vectorstores/xata.cjs +36 -0
  828. package/dist/vectorstores/xata.d.ts +43 -0
  829. package/dist/vectorstores/xata.js +36 -0
  830. package/dist/vectorstores/zep.d.ts +11 -0
  831. package/package.json +2 -2
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LanceDB = void 0;
4
4
  const base_js_1 = require("./base.cjs");
5
5
  const document_js_1 = require("../document.cjs");
6
+ /**
7
+ * A wrapper for an open-source database for vector-search with persistent
8
+ * storage. It simplifies retrieval, filtering, and management of
9
+ * embeddings.
10
+ */
6
11
  class LanceDB extends base_js_1.VectorStore {
7
12
  constructor(embeddings, args) {
8
13
  super(embeddings, args);
@@ -22,6 +27,11 @@ class LanceDB extends base_js_1.VectorStore {
22
27
  this.embeddings = embeddings;
23
28
  this.textKey = args.textKey || "text";
24
29
  }
30
+ /**
31
+ * Adds documents to the database.
32
+ * @param documents The documents to be added.
33
+ * @returns A Promise that resolves when the documents have been added.
34
+ */
25
35
  async addDocuments(documents) {
26
36
  const texts = documents.map(({ pageContent }) => pageContent);
27
37
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
@@ -29,6 +39,12 @@ class LanceDB extends base_js_1.VectorStore {
29
39
  _vectorstoreType() {
30
40
  return "lancedb";
31
41
  }
42
+ /**
43
+ * Adds vectors and their corresponding documents to the database.
44
+ * @param vectors The vectors to be added.
45
+ * @param documents The corresponding documents to be added.
46
+ * @returns A Promise that resolves when the vectors and documents have been added.
47
+ */
32
48
  async addVectors(vectors, documents) {
33
49
  if (vectors.length === 0) {
34
50
  return;
@@ -49,6 +65,13 @@ class LanceDB extends base_js_1.VectorStore {
49
65
  }
50
66
  await this.table.add(data);
51
67
  }
68
+ /**
69
+ * Performs a similarity search on the vectors in the database and returns
70
+ * the documents and their scores.
71
+ * @param query The query vector.
72
+ * @param k The number of results to return.
73
+ * @returns A Promise that resolves with an array of tuples, each containing a Document and its score.
74
+ */
52
75
  async similaritySearchVectorWithScore(query, k) {
53
76
  const results = await this.table.search(query).limit(k).execute();
54
77
  const docsAndScore = [];
@@ -69,6 +92,14 @@ class LanceDB extends base_js_1.VectorStore {
69
92
  });
70
93
  return docsAndScore;
71
94
  }
95
+ /**
96
+ * Creates a new instance of LanceDB from texts.
97
+ * @param texts The texts to be converted into documents.
98
+ * @param metadatas The metadata for the texts.
99
+ * @param embeddings The embeddings to be managed.
100
+ * @param dbConfig The configuration for the LanceDB instance.
101
+ * @returns A Promise that resolves with a new instance of LanceDB.
102
+ */
72
103
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
73
104
  const docs = [];
74
105
  for (let i = 0; i < texts.length; i += 1) {
@@ -81,6 +112,13 @@ class LanceDB extends base_js_1.VectorStore {
81
112
  }
82
113
  return LanceDB.fromDocuments(docs, embeddings, dbConfig);
83
114
  }
115
+ /**
116
+ * Creates a new instance of LanceDB from documents.
117
+ * @param docs The documents to be added to the database.
118
+ * @param embeddings The embeddings to be managed.
119
+ * @param dbConfig The configuration for the LanceDB instance.
120
+ * @returns A Promise that resolves with a new instance of LanceDB.
121
+ */
84
122
  static async fromDocuments(docs, embeddings, dbConfig) {
85
123
  const instance = new this(embeddings, dbConfig);
86
124
  await instance.addDocuments(docs);
@@ -2,18 +2,60 @@ import { Table } from "vectordb";
2
2
  import { VectorStore } from "./base.js";
3
3
  import { Embeddings } from "../embeddings/base.js";
4
4
  import { Document } from "../document.js";
5
+ /**
6
+ * Defines the arguments for the LanceDB class constructor. It includes a
7
+ * table and an optional textKey.
8
+ */
5
9
  export type LanceDBArgs = {
6
10
  table: Table;
7
11
  textKey?: string;
8
12
  };
13
+ /**
14
+ * A wrapper for an open-source database for vector-search with persistent
15
+ * storage. It simplifies retrieval, filtering, and management of
16
+ * embeddings.
17
+ */
9
18
  export declare class LanceDB extends VectorStore {
10
19
  private table;
11
20
  private textKey;
12
21
  constructor(embeddings: Embeddings, args: LanceDBArgs);
22
+ /**
23
+ * Adds documents to the database.
24
+ * @param documents The documents to be added.
25
+ * @returns A Promise that resolves when the documents have been added.
26
+ */
13
27
  addDocuments(documents: Document[]): Promise<void>;
14
28
  _vectorstoreType(): string;
29
+ /**
30
+ * Adds vectors and their corresponding documents to the database.
31
+ * @param vectors The vectors to be added.
32
+ * @param documents The corresponding documents to be added.
33
+ * @returns A Promise that resolves when the vectors and documents have been added.
34
+ */
15
35
  addVectors(vectors: number[][], documents: Document[]): Promise<void>;
36
+ /**
37
+ * Performs a similarity search on the vectors in the database and returns
38
+ * the documents and their scores.
39
+ * @param query The query vector.
40
+ * @param k The number of results to return.
41
+ * @returns A Promise that resolves with an array of tuples, each containing a Document and its score.
42
+ */
16
43
  similaritySearchVectorWithScore(query: number[], k: number): Promise<[Document, number][]>;
44
+ /**
45
+ * Creates a new instance of LanceDB from texts.
46
+ * @param texts The texts to be converted into documents.
47
+ * @param metadatas The metadata for the texts.
48
+ * @param embeddings The embeddings to be managed.
49
+ * @param dbConfig The configuration for the LanceDB instance.
50
+ * @returns A Promise that resolves with a new instance of LanceDB.
51
+ */
17
52
  static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, dbConfig: LanceDBArgs): Promise<LanceDB>;
53
+ /**
54
+ * Creates a new instance of LanceDB from documents.
55
+ * @param docs The documents to be added to the database.
56
+ * @param embeddings The embeddings to be managed.
57
+ * @param dbConfig The configuration for the LanceDB instance.
58
+ * @returns A Promise that resolves with a new instance of LanceDB.
59
+ */
18
60
  static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig: LanceDBArgs): Promise<LanceDB>;
19
61
  }
@@ -1,5 +1,10 @@
1
1
  import { VectorStore } from "./base.js";
2
2
  import { Document } from "../document.js";
3
+ /**
4
+ * A wrapper for an open-source database for vector-search with persistent
5
+ * storage. It simplifies retrieval, filtering, and management of
6
+ * embeddings.
7
+ */
3
8
  export class LanceDB extends VectorStore {
4
9
  constructor(embeddings, args) {
5
10
  super(embeddings, args);
@@ -19,6 +24,11 @@ export class LanceDB extends VectorStore {
19
24
  this.embeddings = embeddings;
20
25
  this.textKey = args.textKey || "text";
21
26
  }
27
+ /**
28
+ * Adds documents to the database.
29
+ * @param documents The documents to be added.
30
+ * @returns A Promise that resolves when the documents have been added.
31
+ */
22
32
  async addDocuments(documents) {
23
33
  const texts = documents.map(({ pageContent }) => pageContent);
24
34
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
@@ -26,6 +36,12 @@ export class LanceDB extends VectorStore {
26
36
  _vectorstoreType() {
27
37
  return "lancedb";
28
38
  }
39
+ /**
40
+ * Adds vectors and their corresponding documents to the database.
41
+ * @param vectors The vectors to be added.
42
+ * @param documents The corresponding documents to be added.
43
+ * @returns A Promise that resolves when the vectors and documents have been added.
44
+ */
29
45
  async addVectors(vectors, documents) {
30
46
  if (vectors.length === 0) {
31
47
  return;
@@ -46,6 +62,13 @@ export class LanceDB extends VectorStore {
46
62
  }
47
63
  await this.table.add(data);
48
64
  }
65
+ /**
66
+ * Performs a similarity search on the vectors in the database and returns
67
+ * the documents and their scores.
68
+ * @param query The query vector.
69
+ * @param k The number of results to return.
70
+ * @returns A Promise that resolves with an array of tuples, each containing a Document and its score.
71
+ */
49
72
  async similaritySearchVectorWithScore(query, k) {
50
73
  const results = await this.table.search(query).limit(k).execute();
51
74
  const docsAndScore = [];
@@ -66,6 +89,14 @@ export class LanceDB extends VectorStore {
66
89
  });
67
90
  return docsAndScore;
68
91
  }
92
+ /**
93
+ * Creates a new instance of LanceDB from texts.
94
+ * @param texts The texts to be converted into documents.
95
+ * @param metadatas The metadata for the texts.
96
+ * @param embeddings The embeddings to be managed.
97
+ * @param dbConfig The configuration for the LanceDB instance.
98
+ * @returns A Promise that resolves with a new instance of LanceDB.
99
+ */
69
100
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
70
101
  const docs = [];
71
102
  for (let i = 0; i < texts.length; i += 1) {
@@ -78,6 +109,13 @@ export class LanceDB extends VectorStore {
78
109
  }
79
110
  return LanceDB.fromDocuments(docs, embeddings, dbConfig);
80
111
  }
112
+ /**
113
+ * Creates a new instance of LanceDB from documents.
114
+ * @param docs The documents to be added to the database.
115
+ * @param embeddings The embeddings to be managed.
116
+ * @param dbConfig The configuration for the LanceDB instance.
117
+ * @returns A Promise that resolves with a new instance of LanceDB.
118
+ */
81
119
  static async fromDocuments(docs, embeddings, dbConfig) {
82
120
  const instance = new this(embeddings, dbConfig);
83
121
  await instance.addDocuments(docs);
@@ -4,6 +4,11 @@ exports.MemoryVectorStore = void 0;
4
4
  const ml_distance_1 = require("ml-distance");
5
5
  const base_js_1 = require("./base.cjs");
6
6
  const document_js_1 = require("../document.cjs");
7
+ /**
8
+ * Class that extends `VectorStore` to store vectors in memory. Provides
9
+ * methods for adding documents, performing similarity searches, and
10
+ * creating instances from texts, documents, or an existing index.
11
+ */
7
12
  class MemoryVectorStore extends base_js_1.VectorStore {
8
13
  _vectorstoreType() {
9
14
  return "memory";
@@ -24,10 +29,25 @@ class MemoryVectorStore extends base_js_1.VectorStore {
24
29
  });
25
30
  this.similarity = similarity ?? ml_distance_1.similarity.cosine;
26
31
  }
32
+ /**
33
+ * Method to add documents to the memory vector store. It extracts the
34
+ * text from each document, generates embeddings for them, and adds the
35
+ * resulting vectors to the store.
36
+ * @param documents Array of `Document` instances to be added to the store.
37
+ * @returns Promise that resolves when all documents have been added.
38
+ */
27
39
  async addDocuments(documents) {
28
40
  const texts = documents.map(({ pageContent }) => pageContent);
29
41
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
30
42
  }
43
+ /**
44
+ * Method to add vectors to the memory vector store. It creates
45
+ * `MemoryVector` instances for each vector and document pair and adds
46
+ * them to the store.
47
+ * @param vectors Array of vectors to be added to the store.
48
+ * @param documents Array of `Document` instances corresponding to the vectors.
49
+ * @returns Promise that resolves when all vectors have been added.
50
+ */
31
51
  async addVectors(vectors, documents) {
32
52
  const memoryVectors = vectors.map((embedding, idx) => ({
33
53
  content: documents[idx].pageContent,
@@ -36,6 +56,16 @@ class MemoryVectorStore extends base_js_1.VectorStore {
36
56
  }));
37
57
  this.memoryVectors = this.memoryVectors.concat(memoryVectors);
38
58
  }
59
+ /**
60
+ * Method to perform a similarity search in the memory vector store. It
61
+ * calculates the similarity between the query vector and each vector in
62
+ * the store, sorts the results by similarity, and returns the top `k`
63
+ * results along with their scores.
64
+ * @param query Query vector to compare against the vectors in the store.
65
+ * @param k Number of top results to return.
66
+ * @param filter Optional filter function to apply to the vectors before performing the search.
67
+ * @returns Promise that resolves with an array of tuples, each containing a `Document` and its similarity score.
68
+ */
39
69
  async similaritySearchVectorWithScore(query, k, filter) {
40
70
  const filterFunction = (memoryVector) => {
41
71
  if (!filter) {
@@ -64,6 +94,16 @@ class MemoryVectorStore extends base_js_1.VectorStore {
64
94
  ]);
65
95
  return result;
66
96
  }
97
+ /**
98
+ * Static method to create a `MemoryVectorStore` instance from an array of
99
+ * texts. It creates a `Document` for each text and metadata pair, and
100
+ * adds them to the store.
101
+ * @param texts Array of texts to be added to the store.
102
+ * @param metadatas Array or single object of metadata corresponding to the texts.
103
+ * @param embeddings `Embeddings` instance used to generate embeddings for the texts.
104
+ * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.
105
+ * @returns Promise that resolves with a new `MemoryVectorStore` instance.
106
+ */
67
107
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
68
108
  const docs = [];
69
109
  for (let i = 0; i < texts.length; i += 1) {
@@ -76,11 +116,27 @@ class MemoryVectorStore extends base_js_1.VectorStore {
76
116
  }
77
117
  return MemoryVectorStore.fromDocuments(docs, embeddings, dbConfig);
78
118
  }
119
+ /**
120
+ * Static method to create a `MemoryVectorStore` instance from an array of
121
+ * `Document` instances. It adds the documents to the store.
122
+ * @param docs Array of `Document` instances to be added to the store.
123
+ * @param embeddings `Embeddings` instance used to generate embeddings for the documents.
124
+ * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.
125
+ * @returns Promise that resolves with a new `MemoryVectorStore` instance.
126
+ */
79
127
  static async fromDocuments(docs, embeddings, dbConfig) {
80
128
  const instance = new this(embeddings, dbConfig);
81
129
  await instance.addDocuments(docs);
82
130
  return instance;
83
131
  }
132
+ /**
133
+ * Static method to create a `MemoryVectorStore` instance from an existing
134
+ * index. It creates a new `MemoryVectorStore` instance without adding any
135
+ * documents or vectors.
136
+ * @param embeddings `Embeddings` instance used to generate embeddings for the documents.
137
+ * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.
138
+ * @returns Promise that resolves with a new `MemoryVectorStore` instance.
139
+ */
84
140
  static async fromExistingIndex(embeddings, dbConfig) {
85
141
  const instance = new this(embeddings, dbConfig);
86
142
  return instance;
@@ -2,25 +2,91 @@ import { similarity as ml_distance_similarity } from "ml-distance";
2
2
  import { VectorStore } from "./base.js";
3
3
  import { Embeddings } from "../embeddings/base.js";
4
4
  import { Document } from "../document.js";
5
+ /**
6
+ * Interface representing a vector in memory. It includes the content
7
+ * (text), the corresponding embedding (vector), and any associated
8
+ * metadata.
9
+ */
5
10
  interface MemoryVector {
6
11
  content: string;
7
12
  embedding: number[];
8
13
  metadata: Record<string, any>;
9
14
  }
15
+ /**
16
+ * Interface for the arguments that can be passed to the
17
+ * `MemoryVectorStore` constructor. It includes an optional `similarity`
18
+ * function.
19
+ */
10
20
  export interface MemoryVectorStoreArgs {
11
21
  similarity?: typeof ml_distance_similarity.cosine;
12
22
  }
23
+ /**
24
+ * Class that extends `VectorStore` to store vectors in memory. Provides
25
+ * methods for adding documents, performing similarity searches, and
26
+ * creating instances from texts, documents, or an existing index.
27
+ */
13
28
  export declare class MemoryVectorStore extends VectorStore {
14
29
  FilterType: (doc: Document) => boolean;
15
30
  memoryVectors: MemoryVector[];
16
31
  similarity: typeof ml_distance_similarity.cosine;
17
32
  _vectorstoreType(): string;
18
33
  constructor(embeddings: Embeddings, { similarity, ...rest }?: MemoryVectorStoreArgs);
34
+ /**
35
+ * Method to add documents to the memory vector store. It extracts the
36
+ * text from each document, generates embeddings for them, and adds the
37
+ * resulting vectors to the store.
38
+ * @param documents Array of `Document` instances to be added to the store.
39
+ * @returns Promise that resolves when all documents have been added.
40
+ */
19
41
  addDocuments(documents: Document[]): Promise<void>;
42
+ /**
43
+ * Method to add vectors to the memory vector store. It creates
44
+ * `MemoryVector` instances for each vector and document pair and adds
45
+ * them to the store.
46
+ * @param vectors Array of vectors to be added to the store.
47
+ * @param documents Array of `Document` instances corresponding to the vectors.
48
+ * @returns Promise that resolves when all vectors have been added.
49
+ */
20
50
  addVectors(vectors: number[][], documents: Document[]): Promise<void>;
51
+ /**
52
+ * Method to perform a similarity search in the memory vector store. It
53
+ * calculates the similarity between the query vector and each vector in
54
+ * the store, sorts the results by similarity, and returns the top `k`
55
+ * results along with their scores.
56
+ * @param query Query vector to compare against the vectors in the store.
57
+ * @param k Number of top results to return.
58
+ * @param filter Optional filter function to apply to the vectors before performing the search.
59
+ * @returns Promise that resolves with an array of tuples, each containing a `Document` and its similarity score.
60
+ */
21
61
  similaritySearchVectorWithScore(query: number[], k: number, filter?: this["FilterType"]): Promise<[Document, number][]>;
62
+ /**
63
+ * Static method to create a `MemoryVectorStore` instance from an array of
64
+ * texts. It creates a `Document` for each text and metadata pair, and
65
+ * adds them to the store.
66
+ * @param texts Array of texts to be added to the store.
67
+ * @param metadatas Array or single object of metadata corresponding to the texts.
68
+ * @param embeddings `Embeddings` instance used to generate embeddings for the texts.
69
+ * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.
70
+ * @returns Promise that resolves with a new `MemoryVectorStore` instance.
71
+ */
22
72
  static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, dbConfig?: MemoryVectorStoreArgs): Promise<MemoryVectorStore>;
73
+ /**
74
+ * Static method to create a `MemoryVectorStore` instance from an array of
75
+ * `Document` instances. It adds the documents to the store.
76
+ * @param docs Array of `Document` instances to be added to the store.
77
+ * @param embeddings `Embeddings` instance used to generate embeddings for the documents.
78
+ * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.
79
+ * @returns Promise that resolves with a new `MemoryVectorStore` instance.
80
+ */
23
81
  static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig?: MemoryVectorStoreArgs): Promise<MemoryVectorStore>;
82
+ /**
83
+ * Static method to create a `MemoryVectorStore` instance from an existing
84
+ * index. It creates a new `MemoryVectorStore` instance without adding any
85
+ * documents or vectors.
86
+ * @param embeddings `Embeddings` instance used to generate embeddings for the documents.
87
+ * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.
88
+ * @returns Promise that resolves with a new `MemoryVectorStore` instance.
89
+ */
24
90
  static fromExistingIndex(embeddings: Embeddings, dbConfig?: MemoryVectorStoreArgs): Promise<MemoryVectorStore>;
25
91
  }
26
92
  export {};
@@ -1,6 +1,11 @@
1
1
  import { similarity as ml_distance_similarity } from "ml-distance";
2
2
  import { VectorStore } from "./base.js";
3
3
  import { Document } from "../document.js";
4
+ /**
5
+ * Class that extends `VectorStore` to store vectors in memory. Provides
6
+ * methods for adding documents, performing similarity searches, and
7
+ * creating instances from texts, documents, or an existing index.
8
+ */
4
9
  export class MemoryVectorStore extends VectorStore {
5
10
  _vectorstoreType() {
6
11
  return "memory";
@@ -21,10 +26,25 @@ export class MemoryVectorStore extends VectorStore {
21
26
  });
22
27
  this.similarity = similarity ?? ml_distance_similarity.cosine;
23
28
  }
29
+ /**
30
+ * Method to add documents to the memory vector store. It extracts the
31
+ * text from each document, generates embeddings for them, and adds the
32
+ * resulting vectors to the store.
33
+ * @param documents Array of `Document` instances to be added to the store.
34
+ * @returns Promise that resolves when all documents have been added.
35
+ */
24
36
  async addDocuments(documents) {
25
37
  const texts = documents.map(({ pageContent }) => pageContent);
26
38
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
27
39
  }
40
+ /**
41
+ * Method to add vectors to the memory vector store. It creates
42
+ * `MemoryVector` instances for each vector and document pair and adds
43
+ * them to the store.
44
+ * @param vectors Array of vectors to be added to the store.
45
+ * @param documents Array of `Document` instances corresponding to the vectors.
46
+ * @returns Promise that resolves when all vectors have been added.
47
+ */
28
48
  async addVectors(vectors, documents) {
29
49
  const memoryVectors = vectors.map((embedding, idx) => ({
30
50
  content: documents[idx].pageContent,
@@ -33,6 +53,16 @@ export class MemoryVectorStore extends VectorStore {
33
53
  }));
34
54
  this.memoryVectors = this.memoryVectors.concat(memoryVectors);
35
55
  }
56
+ /**
57
+ * Method to perform a similarity search in the memory vector store. It
58
+ * calculates the similarity between the query vector and each vector in
59
+ * the store, sorts the results by similarity, and returns the top `k`
60
+ * results along with their scores.
61
+ * @param query Query vector to compare against the vectors in the store.
62
+ * @param k Number of top results to return.
63
+ * @param filter Optional filter function to apply to the vectors before performing the search.
64
+ * @returns Promise that resolves with an array of tuples, each containing a `Document` and its similarity score.
65
+ */
36
66
  async similaritySearchVectorWithScore(query, k, filter) {
37
67
  const filterFunction = (memoryVector) => {
38
68
  if (!filter) {
@@ -61,6 +91,16 @@ export class MemoryVectorStore extends VectorStore {
61
91
  ]);
62
92
  return result;
63
93
  }
94
+ /**
95
+ * Static method to create a `MemoryVectorStore` instance from an array of
96
+ * texts. It creates a `Document` for each text and metadata pair, and
97
+ * adds them to the store.
98
+ * @param texts Array of texts to be added to the store.
99
+ * @param metadatas Array or single object of metadata corresponding to the texts.
100
+ * @param embeddings `Embeddings` instance used to generate embeddings for the texts.
101
+ * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.
102
+ * @returns Promise that resolves with a new `MemoryVectorStore` instance.
103
+ */
64
104
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
65
105
  const docs = [];
66
106
  for (let i = 0; i < texts.length; i += 1) {
@@ -73,11 +113,27 @@ export class MemoryVectorStore extends VectorStore {
73
113
  }
74
114
  return MemoryVectorStore.fromDocuments(docs, embeddings, dbConfig);
75
115
  }
116
+ /**
117
+ * Static method to create a `MemoryVectorStore` instance from an array of
118
+ * `Document` instances. It adds the documents to the store.
119
+ * @param docs Array of `Document` instances to be added to the store.
120
+ * @param embeddings `Embeddings` instance used to generate embeddings for the documents.
121
+ * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.
122
+ * @returns Promise that resolves with a new `MemoryVectorStore` instance.
123
+ */
76
124
  static async fromDocuments(docs, embeddings, dbConfig) {
77
125
  const instance = new this(embeddings, dbConfig);
78
126
  await instance.addDocuments(docs);
79
127
  return instance;
80
128
  }
129
+ /**
130
+ * Static method to create a `MemoryVectorStore` instance from an existing
131
+ * index. It creates a new `MemoryVectorStore` instance without adding any
132
+ * documents or vectors.
133
+ * @param embeddings `Embeddings` instance used to generate embeddings for the documents.
134
+ * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.
135
+ * @returns Promise that resolves with a new `MemoryVectorStore` instance.
136
+ */
81
137
  static async fromExistingIndex(embeddings, dbConfig) {
82
138
  const instance = new this(embeddings, dbConfig);
83
139
  return instance;