langchain 0.0.131 → 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 (804) 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 +25 -0
  5. package/dist/agents/chat/index.d.ts +32 -0
  6. package/dist/agents/chat/index.js +25 -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 +22 -0
  11. package/dist/agents/chat_convo/index.d.ts +31 -0
  12. package/dist/agents/chat_convo/index.js +22 -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 +6 -0
  17. package/dist/agents/executor.d.ts +11 -0
  18. package/dist/agents/executor.js +6 -0
  19. package/dist/agents/initialize.d.ts +5 -0
  20. package/dist/agents/mrkl/index.cjs +17 -0
  21. package/dist/agents/mrkl/index.d.ts +24 -0
  22. package/dist/agents/mrkl/index.js +17 -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 +43 -0
  27. package/dist/agents/openai/index.d.ts +39 -0
  28. package/dist/agents/openai/index.js +43 -0
  29. package/dist/agents/structured_chat/index.cjs +32 -0
  30. package/dist/agents/structured_chat/index.d.ts +40 -0
  31. package/dist/agents/structured_chat/index.js +32 -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 +11 -0
  75. package/dist/callbacks/base.d.ts +20 -0
  76. package/dist/callbacks/base.js +11 -0
  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.d.ts +4 -0
  90. package/dist/chains/api/api_chain.cjs +12 -0
  91. package/dist/chains/api/api_chain.d.ts +19 -0
  92. package/dist/chains/api/api_chain.js +12 -0
  93. package/dist/chains/base.cjs +6 -0
  94. package/dist/chains/base.d.ts +6 -0
  95. package/dist/chains/base.js +6 -0
  96. package/dist/chains/chat_vector_db_chain.cjs +8 -0
  97. package/dist/chains/chat_vector_db_chain.d.ts +11 -0
  98. package/dist/chains/chat_vector_db_chain.js +8 -0
  99. package/dist/chains/combine_docs_chain.d.ts +10 -0
  100. package/dist/chains/constitutional_ai/constitutional_chain.cjs +17 -0
  101. package/dist/chains/constitutional_ai/constitutional_chain.d.ts +20 -0
  102. package/dist/chains/constitutional_ai/constitutional_chain.js +17 -0
  103. package/dist/chains/constitutional_ai/constitutional_principle.cjs +4 -0
  104. package/dist/chains/constitutional_ai/constitutional_principle.d.ts +4 -0
  105. package/dist/chains/constitutional_ai/constitutional_principle.js +4 -0
  106. package/dist/chains/conversation.cjs +4 -0
  107. package/dist/chains/conversation.d.ts +4 -0
  108. package/dist/chains/conversation.js +4 -0
  109. package/dist/chains/conversational_retrieval_chain.cjs +21 -0
  110. package/dist/chains/conversational_retrieval_chain.d.ts +26 -1
  111. package/dist/chains/conversational_retrieval_chain.js +21 -0
  112. package/dist/chains/llm_chain.d.ts +3 -0
  113. package/dist/chains/openai_functions/extraction.cjs +21 -0
  114. package/dist/chains/openai_functions/extraction.d.ts +15 -0
  115. package/dist/chains/openai_functions/extraction.js +21 -0
  116. package/dist/chains/openai_functions/openapi.cjs +27 -0
  117. package/dist/chains/openai_functions/openapi.d.ts +3 -0
  118. package/dist/chains/openai_functions/openapi.js +27 -0
  119. package/dist/chains/openai_functions/structured_output.cjs +12 -0
  120. package/dist/chains/openai_functions/structured_output.d.ts +18 -0
  121. package/dist/chains/openai_functions/structured_output.js +12 -0
  122. package/dist/chains/openai_functions/tagging.cjs +24 -0
  123. package/dist/chains/openai_functions/tagging.d.ts +21 -0
  124. package/dist/chains/openai_functions/tagging.js +24 -0
  125. package/dist/chains/openai_moderation.cjs +5 -0
  126. package/dist/chains/openai_moderation.d.ts +8 -0
  127. package/dist/chains/openai_moderation.js +5 -0
  128. package/dist/chains/query_constructor/index.cjs +17 -0
  129. package/dist/chains/query_constructor/index.d.ts +20 -0
  130. package/dist/chains/query_constructor/index.js +17 -0
  131. package/dist/chains/query_constructor/ir.cjs +24 -0
  132. package/dist/chains/query_constructor/ir.d.ts +71 -0
  133. package/dist/chains/query_constructor/ir.js +24 -0
  134. package/dist/chains/query_constructor/parser.cjs +21 -0
  135. package/dist/chains/query_constructor/parser.d.ts +25 -0
  136. package/dist/chains/query_constructor/parser.js +21 -0
  137. package/dist/chains/question_answering/load.cjs +21 -0
  138. package/dist/chains/question_answering/load.d.ts +34 -0
  139. package/dist/chains/question_answering/load.js +21 -0
  140. package/dist/chains/retrieval_qa.cjs +12 -0
  141. package/dist/chains/retrieval_qa.d.ts +15 -0
  142. package/dist/chains/retrieval_qa.js +12 -0
  143. package/dist/chains/router/llm_router.cjs +16 -0
  144. package/dist/chains/router/llm_router.d.ts +24 -0
  145. package/dist/chains/router/llm_router.js +16 -0
  146. package/dist/chains/router/multi_prompt.cjs +19 -0
  147. package/dist/chains/router/multi_prompt.d.ts +19 -0
  148. package/dist/chains/router/multi_prompt.js +19 -0
  149. package/dist/chains/router/multi_retrieval_qa.cjs +22 -0
  150. package/dist/chains/router/multi_retrieval_qa.d.ts +27 -0
  151. package/dist/chains/router/multi_retrieval_qa.js +22 -0
  152. package/dist/chains/router/multi_route.cjs +10 -0
  153. package/dist/chains/router/multi_route.d.ts +25 -0
  154. package/dist/chains/router/multi_route.js +10 -0
  155. package/dist/chains/sequential_chain.d.ts +6 -0
  156. package/dist/chains/serde.d.ts +58 -0
  157. package/dist/chains/sql_db/sql_db_chain.cjs +13 -0
  158. package/dist/chains/sql_db/sql_db_chain.d.ts +18 -0
  159. package/dist/chains/sql_db/sql_db_chain.js +13 -0
  160. package/dist/chains/summarization/load.d.ts +4 -0
  161. package/dist/chains/transform.cjs +6 -0
  162. package/dist/chains/transform.d.ts +11 -0
  163. package/dist/chains/transform.js +6 -0
  164. package/dist/chains/vector_db_qa.cjs +15 -0
  165. package/dist/chains/vector_db_qa.d.ts +21 -0
  166. package/dist/chains/vector_db_qa.js +15 -0
  167. package/dist/chat_models/anthropic.cjs +24 -4
  168. package/dist/chat_models/anthropic.d.ts +14 -0
  169. package/dist/chat_models/anthropic.js +24 -4
  170. package/dist/chat_models/baiduwenxin.cjs +16 -0
  171. package/dist/chat_models/baiduwenxin.d.ts +18 -0
  172. package/dist/chat_models/baiduwenxin.js +16 -0
  173. package/dist/chat_models/base.cjs +61 -0
  174. package/dist/chat_models/base.d.ts +73 -0
  175. package/dist/chat_models/base.js +61 -0
  176. package/dist/chat_models/googlepalm.cjs +3 -0
  177. package/dist/chat_models/googlepalm.d.ts +6 -0
  178. package/dist/chat_models/googlepalm.js +3 -0
  179. package/dist/chat_models/googlevertexai.cjs +32 -0
  180. package/dist/chat_models/googlevertexai.d.ts +49 -0
  181. package/dist/chat_models/googlevertexai.js +32 -0
  182. package/dist/chat_models/ollama.cjs +11 -0
  183. package/dist/chat_models/ollama.d.ts +15 -0
  184. package/dist/chat_models/ollama.js +11 -0
  185. package/dist/document_loaders/base.cjs +10 -0
  186. package/dist/document_loaders/base.d.ts +17 -0
  187. package/dist/document_loaders/base.js +10 -0
  188. package/dist/document_loaders/fs/buffer.cjs +21 -0
  189. package/dist/document_loaders/fs/buffer.d.ts +28 -0
  190. package/dist/document_loaders/fs/buffer.js +21 -0
  191. package/dist/document_loaders/fs/csv.cjs +19 -0
  192. package/dist/document_loaders/fs/csv.d.ts +19 -0
  193. package/dist/document_loaders/fs/csv.js +19 -0
  194. package/dist/document_loaders/fs/directory.cjs +21 -0
  195. package/dist/document_loaders/fs/directory.d.ts +29 -0
  196. package/dist/document_loaders/fs/directory.js +21 -0
  197. package/dist/document_loaders/fs/docx.cjs +16 -0
  198. package/dist/document_loaders/fs/docx.d.ts +16 -0
  199. package/dist/document_loaders/fs/docx.js +16 -0
  200. package/dist/document_loaders/fs/epub.cjs +16 -0
  201. package/dist/document_loaders/fs/epub.d.ts +16 -0
  202. package/dist/document_loaders/fs/epub.js +16 -0
  203. package/dist/document_loaders/fs/json.cjs +40 -0
  204. package/dist/document_loaders/fs/json.d.ts +40 -0
  205. package/dist/document_loaders/fs/json.js +40 -0
  206. package/dist/document_loaders/fs/notion.cjs +6 -0
  207. package/dist/document_loaders/fs/notion.d.ts +6 -0
  208. package/dist/document_loaders/fs/notion.js +6 -0
  209. package/dist/document_loaders/fs/pdf.cjs +21 -0
  210. package/dist/document_loaders/fs/pdf.d.ts +21 -0
  211. package/dist/document_loaders/fs/pdf.js +21 -0
  212. package/dist/document_loaders/fs/srt.cjs +19 -0
  213. package/dist/document_loaders/fs/srt.d.ts +19 -0
  214. package/dist/document_loaders/fs/srt.js +19 -0
  215. package/dist/document_loaders/fs/text.cjs +34 -0
  216. package/dist/document_loaders/fs/text.d.ts +34 -0
  217. package/dist/document_loaders/fs/text.js +34 -0
  218. package/dist/document_loaders/fs/unstructured.cjs +14 -0
  219. package/dist/document_loaders/fs/unstructured.d.ts +26 -0
  220. package/dist/document_loaders/fs/unstructured.js +14 -0
  221. package/dist/document_loaders/web/apify_dataset.cjs +11 -0
  222. package/dist/document_loaders/web/apify_dataset.d.ts +15 -0
  223. package/dist/document_loaders/web/apify_dataset.js +11 -0
  224. package/dist/document_loaders/web/azure_blob_storage_container.cjs +13 -0
  225. package/dist/document_loaders/web/azure_blob_storage_container.d.ts +26 -0
  226. package/dist/document_loaders/web/azure_blob_storage_container.js +13 -0
  227. package/dist/document_loaders/web/azure_blob_storage_file.cjs +12 -0
  228. package/dist/document_loaders/web/azure_blob_storage_file.d.ts +21 -0
  229. package/dist/document_loaders/web/azure_blob_storage_file.js +12 -0
  230. package/dist/document_loaders/web/cheerio.cjs +21 -0
  231. package/dist/document_loaders/web/cheerio.d.ts +26 -0
  232. package/dist/document_loaders/web/cheerio.js +21 -0
  233. package/dist/document_loaders/web/college_confidential.cjs +11 -0
  234. package/dist/document_loaders/web/college_confidential.d.ts +11 -0
  235. package/dist/document_loaders/web/college_confidential.js +11 -0
  236. package/dist/document_loaders/web/confluence.cjs +23 -0
  237. package/dist/document_loaders/web/confluence.d.ts +33 -0
  238. package/dist/document_loaders/web/confluence.js +23 -0
  239. package/dist/document_loaders/web/figma.cjs +21 -0
  240. package/dist/document_loaders/web/figma.d.ts +32 -0
  241. package/dist/document_loaders/web/figma.js +21 -0
  242. package/dist/document_loaders/web/gitbook.cjs +33 -0
  243. package/dist/document_loaders/web/gitbook.d.ts +38 -0
  244. package/dist/document_loaders/web/gitbook.js +33 -0
  245. package/dist/document_loaders/web/github.cjs +50 -0
  246. package/dist/document_loaders/web/github.d.ts +53 -0
  247. package/dist/document_loaders/web/github.js +50 -0
  248. package/dist/document_loaders/web/hn.cjs +31 -0
  249. package/dist/document_loaders/web/hn.d.ts +31 -0
  250. package/dist/document_loaders/web/hn.js +31 -0
  251. package/dist/document_loaders/web/imsdb.cjs +14 -0
  252. package/dist/document_loaders/web/imsdb.d.ts +14 -0
  253. package/dist/document_loaders/web/imsdb.js +14 -0
  254. package/dist/document_loaders/web/notionapi.cjs +39 -0
  255. package/dist/document_loaders/web/notionapi.d.ts +43 -0
  256. package/dist/document_loaders/web/notionapi.js +39 -0
  257. package/dist/document_loaders/web/notiondb.cjs +19 -0
  258. package/dist/document_loaders/web/notiondb.d.ts +24 -0
  259. package/dist/document_loaders/web/notiondb.js +19 -0
  260. package/dist/document_loaders/web/playwright.cjs +22 -0
  261. package/dist/document_loaders/web/playwright.d.ts +27 -0
  262. package/dist/document_loaders/web/playwright.js +22 -0
  263. package/dist/document_loaders/web/puppeteer.cjs +20 -0
  264. package/dist/document_loaders/web/puppeteer.d.ts +25 -0
  265. package/dist/document_loaders/web/puppeteer.js +20 -0
  266. package/dist/document_loaders/web/s3.cjs +9 -0
  267. package/dist/document_loaders/web/s3.d.ts +21 -0
  268. package/dist/document_loaders/web/s3.js +9 -0
  269. package/dist/document_loaders/web/serpapi.cjs +4 -0
  270. package/dist/document_loaders/web/serpapi.d.ts +8 -0
  271. package/dist/document_loaders/web/serpapi.js +4 -0
  272. package/dist/document_loaders/web/sonix_audio.cjs +10 -0
  273. package/dist/document_loaders/web/sonix_audio.d.ts +10 -0
  274. package/dist/document_loaders/web/sonix_audio.js +10 -0
  275. package/dist/document_loaders/web/sort_xyz_blockchain.cjs +10 -0
  276. package/dist/document_loaders/web/sort_xyz_blockchain.d.ts +17 -0
  277. package/dist/document_loaders/web/sort_xyz_blockchain.js +10 -0
  278. package/dist/document_loaders/web/youtube.cjs +23 -0
  279. package/dist/document_loaders/web/youtube.d.ts +27 -0
  280. package/dist/document_loaders/web/youtube.js +23 -0
  281. package/dist/document_transformers/html_to_text.cjs +3 -0
  282. package/dist/document_transformers/html_to_text.d.ts +3 -0
  283. package/dist/document_transformers/html_to_text.js +3 -0
  284. package/dist/document_transformers/mozilla_readability.cjs +4 -0
  285. package/dist/document_transformers/mozilla_readability.d.ts +4 -0
  286. package/dist/document_transformers/mozilla_readability.js +4 -0
  287. package/dist/document_transformers/openai_functions.cjs +3 -0
  288. package/dist/document_transformers/openai_functions.d.ts +3 -0
  289. package/dist/document_transformers/openai_functions.js +3 -0
  290. package/dist/embeddings/base.cjs +4 -0
  291. package/dist/embeddings/base.d.ts +21 -0
  292. package/dist/embeddings/base.js +4 -0
  293. package/dist/embeddings/cache_backed.d.ts +4 -0
  294. package/dist/embeddings/cohere.d.ts +4 -0
  295. package/dist/embeddings/fake.cjs +33 -0
  296. package/dist/embeddings/fake.d.ts +37 -0
  297. package/dist/embeddings/fake.js +33 -0
  298. package/dist/embeddings/googlepalm.cjs +18 -0
  299. package/dist/embeddings/googlepalm.d.ts +22 -0
  300. package/dist/embeddings/googlepalm.js +18 -0
  301. package/dist/embeddings/googlevertexai.cjs +15 -0
  302. package/dist/embeddings/googlevertexai.d.ts +20 -0
  303. package/dist/embeddings/googlevertexai.js +15 -0
  304. package/dist/embeddings/hf.cjs +20 -0
  305. package/dist/embeddings/hf.d.ts +24 -0
  306. package/dist/embeddings/hf.js +20 -0
  307. package/dist/embeddings/openai.cjs +25 -0
  308. package/dist/embeddings/openai.d.ts +29 -0
  309. package/dist/embeddings/openai.js +25 -0
  310. package/dist/embeddings/tensorflow.cjs +27 -0
  311. package/dist/embeddings/tensorflow.d.ts +31 -0
  312. package/dist/embeddings/tensorflow.js +27 -0
  313. package/dist/experimental/autogpt/agent.cjs +21 -0
  314. package/dist/experimental/autogpt/agent.d.ts +24 -0
  315. package/dist/experimental/autogpt/agent.js +21 -0
  316. package/dist/experimental/autogpt/output_parser.cjs +24 -0
  317. package/dist/experimental/autogpt/output_parser.d.ts +24 -0
  318. package/dist/experimental/autogpt/output_parser.js +24 -0
  319. package/dist/experimental/autogpt/prompt.cjs +25 -0
  320. package/dist/experimental/autogpt/prompt.d.ts +28 -0
  321. package/dist/experimental/autogpt/prompt.js +25 -0
  322. package/dist/experimental/autogpt/prompt_generator.cjs +32 -0
  323. package/dist/experimental/autogpt/prompt_generator.d.ts +32 -0
  324. package/dist/experimental/autogpt/prompt_generator.js +32 -0
  325. package/dist/experimental/autogpt/schema.d.ts +11 -0
  326. package/dist/experimental/babyagi/agent.cjs +65 -0
  327. package/dist/experimental/babyagi/agent.d.ts +75 -0
  328. package/dist/experimental/babyagi/agent.js +65 -0
  329. package/dist/experimental/babyagi/task_creation.cjs +10 -0
  330. package/dist/experimental/babyagi/task_creation.d.ts +10 -0
  331. package/dist/experimental/babyagi/task_creation.js +10 -0
  332. package/dist/experimental/babyagi/task_execution.cjs +9 -0
  333. package/dist/experimental/babyagi/task_execution.d.ts +9 -0
  334. package/dist/experimental/babyagi/task_execution.js +9 -0
  335. package/dist/experimental/babyagi/task_prioritization.cjs +8 -0
  336. package/dist/experimental/babyagi/task_prioritization.d.ts +8 -0
  337. package/dist/experimental/babyagi/task_prioritization.js +8 -0
  338. package/dist/experimental/generative_agents/generative_agent.cjs +74 -0
  339. package/dist/experimental/generative_agents/generative_agent.d.ts +79 -0
  340. package/dist/experimental/generative_agents/generative_agent.js +74 -0
  341. package/dist/experimental/generative_agents/generative_agent_memory.cjs +113 -0
  342. package/dist/experimental/generative_agents/generative_agent_memory.d.ts +113 -0
  343. package/dist/experimental/generative_agents/generative_agent_memory.js +113 -0
  344. package/dist/experimental/multimodal_embeddings/googlevertexai.cjs +46 -0
  345. package/dist/experimental/multimodal_embeddings/googlevertexai.d.ts +58 -0
  346. package/dist/experimental/multimodal_embeddings/googlevertexai.js +46 -0
  347. package/dist/experimental/plan_and_execute/agent_executor.cjs +32 -0
  348. package/dist/experimental/plan_and_execute/agent_executor.d.ts +37 -0
  349. package/dist/experimental/plan_and_execute/agent_executor.js +32 -0
  350. package/dist/experimental/plan_and_execute/base.cjs +26 -0
  351. package/dist/experimental/plan_and_execute/base.d.ts +38 -0
  352. package/dist/experimental/plan_and_execute/base.js +26 -0
  353. package/dist/experimental/plan_and_execute/outputParser.cjs +18 -0
  354. package/dist/experimental/plan_and_execute/outputParser.d.ts +18 -0
  355. package/dist/experimental/plan_and_execute/outputParser.js +18 -0
  356. package/dist/llms/ai21.cjs +13 -0
  357. package/dist/llms/ai21.d.ts +19 -0
  358. package/dist/llms/ai21.js +13 -0
  359. package/dist/llms/aleph_alpha.cjs +10 -0
  360. package/dist/llms/aleph_alpha.d.ts +13 -0
  361. package/dist/llms/aleph_alpha.js +10 -0
  362. package/dist/llms/base.cjs +32 -0
  363. package/dist/llms/base.d.ts +32 -0
  364. package/dist/llms/base.js +32 -0
  365. package/dist/llms/bedrock.cjs +21 -0
  366. package/dist/llms/bedrock.d.ts +9 -0
  367. package/dist/llms/bedrock.js +21 -0
  368. package/dist/llms/cohere.cjs +4 -0
  369. package/dist/llms/cohere.d.ts +7 -0
  370. package/dist/llms/cohere.js +4 -0
  371. package/dist/llms/googlevertexai.cjs +23 -0
  372. package/dist/llms/googlevertexai.d.ts +38 -0
  373. package/dist/llms/googlevertexai.js +23 -0
  374. package/dist/llms/hf.cjs +4 -0
  375. package/dist/llms/hf.d.ts +8 -0
  376. package/dist/llms/hf.js +4 -0
  377. package/dist/llms/ollama.cjs +4 -0
  378. package/dist/llms/ollama.d.ts +4 -0
  379. package/dist/llms/ollama.js +4 -0
  380. package/dist/llms/openai-chat.cjs +17 -0
  381. package/dist/llms/openai-chat.d.ts +22 -0
  382. package/dist/llms/openai-chat.js +17 -0
  383. package/dist/llms/openai.cjs +6 -0
  384. package/dist/llms/openai.d.ts +6 -0
  385. package/dist/llms/openai.js +6 -0
  386. package/dist/llms/replicate.cjs +6 -0
  387. package/dist/llms/replicate.d.ts +11 -0
  388. package/dist/llms/replicate.js +6 -0
  389. package/dist/llms/sagemaker_endpoint.cjs +11 -0
  390. package/dist/llms/sagemaker_endpoint.d.ts +17 -0
  391. package/dist/llms/sagemaker_endpoint.js +11 -0
  392. package/dist/memory/base.cjs +11 -0
  393. package/dist/memory/base.d.ts +40 -0
  394. package/dist/memory/base.js +11 -0
  395. package/dist/memory/buffer_memory.cjs +19 -0
  396. package/dist/memory/buffer_memory.d.ts +22 -0
  397. package/dist/memory/buffer_memory.js +19 -0
  398. package/dist/memory/buffer_window_memory.cjs +15 -0
  399. package/dist/memory/buffer_window_memory.d.ts +18 -0
  400. package/dist/memory/buffer_window_memory.js +15 -0
  401. package/dist/memory/chat_memory.cjs +16 -0
  402. package/dist/memory/chat_memory.d.ts +19 -0
  403. package/dist/memory/chat_memory.js +16 -0
  404. package/dist/memory/combined_memory.cjs +28 -0
  405. package/dist/memory/combined_memory.d.ts +33 -0
  406. package/dist/memory/combined_memory.js +28 -0
  407. package/dist/memory/entity_memory.cjs +21 -0
  408. package/dist/memory/entity_memory.d.ts +24 -0
  409. package/dist/memory/entity_memory.js +21 -0
  410. package/dist/memory/motorhead_memory.cjs +25 -0
  411. package/dist/memory/motorhead_memory.d.ts +29 -0
  412. package/dist/memory/motorhead_memory.js +25 -0
  413. package/dist/memory/stores/entity/in_memory.cjs +29 -0
  414. package/dist/memory/stores/entity/in_memory.d.ts +29 -0
  415. package/dist/memory/stores/entity/in_memory.js +29 -0
  416. package/dist/memory/summary.cjs +31 -0
  417. package/dist/memory/summary.d.ts +39 -0
  418. package/dist/memory/summary.js +31 -0
  419. package/dist/memory/summary_buffer.cjs +33 -0
  420. package/dist/memory/summary_buffer.d.ts +37 -0
  421. package/dist/memory/summary_buffer.js +33 -0
  422. package/dist/memory/vector_store.cjs +22 -0
  423. package/dist/memory/vector_store.d.ts +26 -0
  424. package/dist/memory/vector_store.js +22 -0
  425. package/dist/memory/zep.cjs +22 -0
  426. package/dist/memory/zep.d.ts +27 -0
  427. package/dist/memory/zep.js +22 -0
  428. package/dist/output_parsers/combining.cjs +12 -0
  429. package/dist/output_parsers/combining.d.ts +18 -0
  430. package/dist/output_parsers/combining.js +12 -0
  431. package/dist/output_parsers/expression.cjs +12 -0
  432. package/dist/output_parsers/expression.d.ts +12 -0
  433. package/dist/output_parsers/expression.js +12 -0
  434. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs +18 -0
  435. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.d.ts +18 -0
  436. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js +18 -0
  437. package/dist/output_parsers/expression_type_handlers/base.cjs +68 -0
  438. package/dist/output_parsers/expression_type_handlers/base.d.ts +79 -0
  439. package/dist/output_parsers/expression_type_handlers/base.js +68 -0
  440. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs +18 -0
  441. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.d.ts +18 -0
  442. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js +18 -0
  443. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs +22 -0
  444. package/dist/output_parsers/expression_type_handlers/call_expression_handler.d.ts +22 -0
  445. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js +22 -0
  446. package/dist/output_parsers/expression_type_handlers/factory.cjs +20 -0
  447. package/dist/output_parsers/expression_type_handlers/factory.d.ts +20 -0
  448. package/dist/output_parsers/expression_type_handlers/factory.js +20 -0
  449. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +19 -0
  450. package/dist/output_parsers/expression_type_handlers/identifier_handler.d.ts +19 -0
  451. package/dist/output_parsers/expression_type_handlers/identifier_handler.js +19 -0
  452. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs +17 -0
  453. package/dist/output_parsers/expression_type_handlers/member_expression_handler.d.ts +17 -0
  454. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js +17 -0
  455. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs +16 -0
  456. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.d.ts +16 -0
  457. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js +16 -0
  458. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs +16 -0
  459. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.d.ts +16 -0
  460. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js +16 -0
  461. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs +17 -0
  462. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.d.ts +17 -0
  463. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js +17 -0
  464. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs +16 -0
  465. package/dist/output_parsers/expression_type_handlers/string_literal_handler.d.ts +16 -0
  466. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js +16 -0
  467. package/dist/output_parsers/expression_type_handlers/types.d.ts +50 -0
  468. package/dist/output_parsers/fix.cjs +25 -0
  469. package/dist/output_parsers/fix.d.ts +25 -0
  470. package/dist/output_parsers/fix.js +25 -0
  471. package/dist/output_parsers/list.cjs +24 -0
  472. package/dist/output_parsers/list.d.ts +24 -0
  473. package/dist/output_parsers/list.js +24 -0
  474. package/dist/output_parsers/noop.cjs +18 -0
  475. package/dist/output_parsers/noop.d.ts +18 -0
  476. package/dist/output_parsers/noop.js +18 -0
  477. package/dist/output_parsers/openai_functions.cjs +31 -0
  478. package/dist/output_parsers/openai_functions.d.ts +34 -0
  479. package/dist/output_parsers/openai_functions.js +31 -0
  480. package/dist/output_parsers/regex.cjs +12 -0
  481. package/dist/output_parsers/regex.d.ts +15 -0
  482. package/dist/output_parsers/regex.js +12 -0
  483. package/dist/output_parsers/router.cjs +15 -0
  484. package/dist/output_parsers/router.d.ts +19 -0
  485. package/dist/output_parsers/router.js +15 -0
  486. package/dist/output_parsers/structured.cjs +30 -0
  487. package/dist/output_parsers/structured.d.ts +36 -0
  488. package/dist/output_parsers/structured.js +30 -0
  489. package/dist/prompts/base.cjs +26 -0
  490. package/dist/prompts/base.d.ts +36 -0
  491. package/dist/prompts/base.js +26 -0
  492. package/dist/prompts/chat.cjs +48 -0
  493. package/dist/prompts/chat.d.ts +69 -0
  494. package/dist/prompts/chat.js +48 -0
  495. package/dist/prompts/few_shot.cjs +5 -0
  496. package/dist/prompts/few_shot.d.ts +5 -0
  497. package/dist/prompts/few_shot.js +5 -0
  498. package/dist/prompts/pipeline.cjs +26 -0
  499. package/dist/prompts/pipeline.d.ts +34 -0
  500. package/dist/prompts/pipeline.js +26 -0
  501. package/dist/prompts/prompt.cjs +10 -0
  502. package/dist/prompts/prompt.d.ts +10 -0
  503. package/dist/prompts/prompt.js +10 -0
  504. package/dist/prompts/selectors/LengthBasedExampleSelector.cjs +32 -0
  505. package/dist/prompts/selectors/LengthBasedExampleSelector.d.ts +33 -0
  506. package/dist/prompts/selectors/LengthBasedExampleSelector.js +32 -0
  507. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.cjs +31 -0
  508. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.d.ts +35 -0
  509. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.js +31 -0
  510. package/dist/prompts/selectors/conditional.cjs +30 -0
  511. package/dist/prompts/selectors/conditional.d.ts +37 -0
  512. package/dist/prompts/selectors/conditional.js +30 -0
  513. package/dist/prompts/serde.d.ts +24 -0
  514. package/dist/prompts/template.d.ts +17 -0
  515. package/dist/retrievers/amazon_kendra.cjs +62 -0
  516. package/dist/retrievers/amazon_kendra.d.ts +66 -0
  517. package/dist/retrievers/amazon_kendra.js +62 -0
  518. package/dist/retrievers/contextual_compression.cjs +5 -0
  519. package/dist/retrievers/contextual_compression.d.ts +10 -0
  520. package/dist/retrievers/contextual_compression.js +5 -0
  521. package/dist/retrievers/databerry.cjs +5 -0
  522. package/dist/retrievers/databerry.d.ts +9 -0
  523. package/dist/retrievers/databerry.js +5 -0
  524. package/dist/retrievers/document_compressors/chain_extract.cjs +18 -0
  525. package/dist/retrievers/document_compressors/chain_extract.d.ts +22 -0
  526. package/dist/retrievers/document_compressors/chain_extract.js +18 -0
  527. package/dist/retrievers/document_compressors/index.d.ts +9 -0
  528. package/dist/retrievers/hyde.cjs +9 -0
  529. package/dist/retrievers/hyde.d.ts +17 -0
  530. package/dist/retrievers/hyde.js +9 -0
  531. package/dist/retrievers/metal.cjs +7 -0
  532. package/dist/retrievers/metal.d.ts +12 -0
  533. package/dist/retrievers/metal.js +7 -0
  534. package/dist/retrievers/parent_document.cjs +17 -1
  535. package/dist/retrievers/parent_document.d.ts +15 -0
  536. package/dist/retrievers/parent_document.js +17 -1
  537. package/dist/retrievers/remote/base.cjs +4 -0
  538. package/dist/retrievers/remote/base.d.ts +28 -0
  539. package/dist/retrievers/remote/base.js +4 -0
  540. package/dist/retrievers/remote/chatgpt-plugin.cjs +17 -0
  541. package/dist/retrievers/remote/chatgpt-plugin.d.ts +21 -0
  542. package/dist/retrievers/remote/chatgpt-plugin.js +17 -0
  543. package/dist/retrievers/remote/remote-retriever.cjs +20 -0
  544. package/dist/retrievers/remote/remote-retriever.d.ts +20 -0
  545. package/dist/retrievers/remote/remote-retriever.js +20 -0
  546. package/dist/retrievers/self_query/base.cjs +28 -0
  547. package/dist/retrievers/self_query/base.d.ts +45 -0
  548. package/dist/retrievers/self_query/base.js +28 -0
  549. package/dist/retrievers/self_query/chroma.cjs +6 -0
  550. package/dist/retrievers/self_query/chroma.d.ts +6 -0
  551. package/dist/retrievers/self_query/chroma.js +6 -0
  552. package/dist/retrievers/self_query/functional.cjs +40 -0
  553. package/dist/retrievers/self_query/functional.d.ts +49 -0
  554. package/dist/retrievers/self_query/functional.js +40 -0
  555. package/dist/retrievers/self_query/index.cjs +14 -0
  556. package/dist/retrievers/self_query/index.d.ts +18 -0
  557. package/dist/retrievers/self_query/index.js +14 -0
  558. package/dist/retrievers/self_query/pinecone.cjs +7 -0
  559. package/dist/retrievers/self_query/pinecone.d.ts +7 -0
  560. package/dist/retrievers/self_query/pinecone.js +7 -0
  561. package/dist/retrievers/self_query/supabase.cjs +63 -0
  562. package/dist/retrievers/self_query/supabase.d.ts +67 -0
  563. package/dist/retrievers/self_query/supabase.js +63 -0
  564. package/dist/retrievers/self_query/supabase_utils.cjs +78 -0
  565. package/dist/retrievers/self_query/supabase_utils.d.ts +78 -0
  566. package/dist/retrievers/self_query/supabase_utils.js +78 -0
  567. package/dist/retrievers/self_query/utils.cjs +17 -0
  568. package/dist/retrievers/self_query/utils.d.ts +17 -0
  569. package/dist/retrievers/self_query/utils.js +17 -0
  570. package/dist/retrievers/self_query/weaviate.cjs +42 -0
  571. package/dist/retrievers/self_query/weaviate.d.ts +42 -0
  572. package/dist/retrievers/self_query/weaviate.js +42 -0
  573. package/dist/retrievers/supabase.cjs +30 -0
  574. package/dist/retrievers/supabase.d.ts +30 -0
  575. package/dist/retrievers/supabase.js +30 -0
  576. package/dist/retrievers/time_weighted.cjs +8 -0
  577. package/dist/retrievers/time_weighted.d.ts +12 -0
  578. package/dist/retrievers/time_weighted.js +8 -0
  579. package/dist/retrievers/vespa.cjs +18 -0
  580. package/dist/retrievers/vespa.d.ts +18 -0
  581. package/dist/retrievers/vespa.js +18 -0
  582. package/dist/retrievers/zep.cjs +4 -0
  583. package/dist/retrievers/zep.d.ts +8 -0
  584. package/dist/retrievers/zep.js +4 -0
  585. package/dist/schema/document.cjs +7 -0
  586. package/dist/schema/document.d.ts +7 -0
  587. package/dist/schema/document.js +7 -0
  588. package/dist/schema/index.cjs +70 -0
  589. package/dist/schema/index.d.ts +70 -0
  590. package/dist/schema/index.js +70 -0
  591. package/dist/schema/output_parser.cjs +43 -0
  592. package/dist/schema/output_parser.d.ts +51 -0
  593. package/dist/schema/output_parser.js +43 -0
  594. package/dist/schema/query_constructor.cjs +5 -0
  595. package/dist/schema/query_constructor.d.ts +5 -0
  596. package/dist/schema/query_constructor.js +5 -0
  597. package/dist/schema/retriever.cjs +18 -0
  598. package/dist/schema/retriever.d.ts +18 -0
  599. package/dist/schema/retriever.js +18 -0
  600. package/dist/schema/storage.d.ts +20 -0
  601. package/dist/storage/encoder_backed.cjs +27 -0
  602. package/dist/storage/encoder_backed.d.ts +27 -0
  603. package/dist/storage/encoder_backed.js +27 -0
  604. package/dist/storage/in_memory.cjs +25 -0
  605. package/dist/storage/in_memory.d.ts +25 -0
  606. package/dist/storage/in_memory.js +25 -0
  607. package/dist/storage/ioredis.cjs +25 -0
  608. package/dist/storage/ioredis.d.ts +25 -0
  609. package/dist/storage/ioredis.js +25 -0
  610. package/dist/stores/doc/gcs.cjs +28 -0
  611. package/dist/stores/doc/gcs.d.ts +33 -0
  612. package/dist/stores/doc/gcs.js +28 -0
  613. package/dist/stores/doc/in_memory.cjs +27 -0
  614. package/dist/stores/doc/in_memory.d.ts +27 -0
  615. package/dist/stores/doc/in_memory.js +27 -0
  616. package/dist/stores/file/in_memory.cjs +20 -0
  617. package/dist/stores/file/in_memory.d.ts +20 -0
  618. package/dist/stores/file/in_memory.js +20 -0
  619. package/dist/stores/file/node.cjs +15 -0
  620. package/dist/stores/file/node.d.ts +15 -0
  621. package/dist/stores/file/node.js +15 -0
  622. package/dist/stores/message/dynamodb.cjs +17 -0
  623. package/dist/stores/message/dynamodb.d.ts +23 -0
  624. package/dist/stores/message/dynamodb.js +17 -0
  625. package/dist/stores/message/firestore.cjs +19 -0
  626. package/dist/stores/message/firestore.d.ts +24 -0
  627. package/dist/stores/message/firestore.js +19 -0
  628. package/dist/stores/message/in_memory.cjs +19 -0
  629. package/dist/stores/message/in_memory.d.ts +19 -0
  630. package/dist/stores/message/in_memory.js +19 -0
  631. package/dist/stores/message/ioredis.cjs +17 -0
  632. package/dist/stores/message/ioredis.d.ts +22 -0
  633. package/dist/stores/message/ioredis.js +17 -0
  634. package/dist/stores/message/momento.cjs +18 -0
  635. package/dist/stores/message/momento.d.ts +18 -0
  636. package/dist/stores/message/momento.js +18 -0
  637. package/dist/stores/message/planetscale.cjs +26 -0
  638. package/dist/stores/message/planetscale.d.ts +30 -0
  639. package/dist/stores/message/planetscale.js +26 -0
  640. package/dist/stores/message/redis.cjs +24 -0
  641. package/dist/stores/message/redis.d.ts +27 -0
  642. package/dist/stores/message/redis.js +24 -0
  643. package/dist/stores/message/upstash_redis.cjs +17 -0
  644. package/dist/stores/message/upstash_redis.d.ts +21 -0
  645. package/dist/stores/message/upstash_redis.js +17 -0
  646. package/dist/stores/message/utils.cjs +21 -0
  647. package/dist/stores/message/utils.d.ts +21 -0
  648. package/dist/stores/message/utils.js +21 -0
  649. package/dist/stores/message/xata.cjs +25 -0
  650. package/dist/stores/message/xata.d.ts +29 -0
  651. package/dist/stores/message/xata.js +25 -0
  652. package/dist/tools/IFTTTWebhook.cjs +6 -0
  653. package/dist/tools/IFTTTWebhook.d.ts +6 -0
  654. package/dist/tools/IFTTTWebhook.js +6 -0
  655. package/dist/tools/aiplugin.cjs +12 -0
  656. package/dist/tools/aiplugin.d.ts +16 -0
  657. package/dist/tools/aiplugin.js +12 -0
  658. package/dist/tools/aws_lambda.cjs +9 -0
  659. package/dist/tools/aws_lambda.d.ts +7 -0
  660. package/dist/tools/aws_lambda.js +9 -0
  661. package/dist/tools/aws_sfn.cjs +19 -0
  662. package/dist/tools/aws_sfn.d.ts +19 -0
  663. package/dist/tools/aws_sfn.js +19 -0
  664. package/dist/tools/base.cjs +22 -0
  665. package/dist/tools/base.d.ts +25 -0
  666. package/dist/tools/base.js +22 -0
  667. package/dist/tools/bingserpapi.cjs +10 -0
  668. package/dist/tools/bingserpapi.d.ts +10 -0
  669. package/dist/tools/bingserpapi.js +10 -0
  670. package/dist/tools/brave_search.cjs +6 -0
  671. package/dist/tools/brave_search.d.ts +10 -0
  672. package/dist/tools/brave_search.js +6 -0
  673. package/dist/tools/calculator.cjs +4 -0
  674. package/dist/tools/calculator.d.ts +4 -0
  675. package/dist/tools/calculator.js +4 -0
  676. package/dist/tools/chain.cjs +6 -0
  677. package/dist/tools/chain.d.ts +11 -0
  678. package/dist/tools/chain.js +6 -0
  679. package/dist/tools/convert_to_openai.cjs +6 -0
  680. package/dist/tools/convert_to_openai.d.ts +6 -0
  681. package/dist/tools/convert_to_openai.js +6 -0
  682. package/dist/tools/dadjokeapi.cjs +6 -0
  683. package/dist/tools/dadjokeapi.d.ts +6 -0
  684. package/dist/tools/dadjokeapi.js +6 -0
  685. package/dist/tools/dataforseo_api_search.d.ts +9 -0
  686. package/dist/tools/dynamic.cjs +6 -0
  687. package/dist/tools/dynamic.d.ts +12 -0
  688. package/dist/tools/dynamic.js +6 -0
  689. package/dist/tools/fs.cjs +8 -0
  690. package/dist/tools/fs.d.ts +14 -0
  691. package/dist/tools/fs.js +8 -0
  692. package/dist/tools/google_custom_search.cjs +5 -0
  693. package/dist/tools/google_custom_search.d.ts +8 -0
  694. package/dist/tools/google_custom_search.js +5 -0
  695. package/dist/tools/json.cjs +22 -0
  696. package/dist/tools/json.d.ts +22 -0
  697. package/dist/tools/json.js +22 -0
  698. package/dist/tools/requests.cjs +11 -0
  699. package/dist/tools/requests.d.ts +15 -0
  700. package/dist/tools/requests.js +11 -0
  701. package/dist/tools/searxng_search.cjs +7 -0
  702. package/dist/tools/searxng_search.d.ts +10 -0
  703. package/dist/tools/searxng_search.js +7 -0
  704. package/dist/tools/serpapi.cjs +7 -0
  705. package/dist/tools/serpapi.d.ts +7 -0
  706. package/dist/tools/serpapi.js +7 -0
  707. package/dist/tools/serper.cjs +5 -0
  708. package/dist/tools/serper.d.ts +9 -0
  709. package/dist/tools/serper.js +5 -0
  710. package/dist/tools/sql.cjs +25 -0
  711. package/dist/tools/sql.d.ts +32 -0
  712. package/dist/tools/sql.js +25 -0
  713. package/dist/tools/vectorstore.cjs +11 -0
  714. package/dist/tools/vectorstore.d.ts +14 -0
  715. package/dist/tools/vectorstore.js +11 -0
  716. package/dist/tools/webbrowser.cjs +6 -0
  717. package/dist/tools/webbrowser.d.ts +12 -0
  718. package/dist/tools/webbrowser.js +6 -0
  719. package/dist/tools/wikipedia_query_run.cjs +16 -0
  720. package/dist/tools/wikipedia_query_run.d.ts +24 -0
  721. package/dist/tools/wikipedia_query_run.js +16 -0
  722. package/dist/tools/zapier.cjs +12 -0
  723. package/dist/tools/zapier.d.ts +12 -0
  724. package/dist/tools/zapier.js +12 -0
  725. package/dist/vectorstores/analyticdb.cjs +76 -0
  726. package/dist/vectorstores/analyticdb.d.ts +80 -0
  727. package/dist/vectorstores/analyticdb.js +76 -0
  728. package/dist/vectorstores/base.cjs +13 -0
  729. package/dist/vectorstores/base.d.ts +26 -0
  730. package/dist/vectorstores/base.js +13 -0
  731. package/dist/vectorstores/chroma.cjs +73 -0
  732. package/dist/vectorstores/chroma.d.ts +84 -0
  733. package/dist/vectorstores/chroma.js +73 -0
  734. package/dist/vectorstores/elasticsearch.cjs +73 -0
  735. package/dist/vectorstores/elasticsearch.d.ts +90 -0
  736. package/dist/vectorstores/elasticsearch.js +73 -0
  737. package/dist/vectorstores/faiss.cjs +65 -0
  738. package/dist/vectorstores/faiss.d.ts +69 -0
  739. package/dist/vectorstores/faiss.js +65 -0
  740. package/dist/vectorstores/hnswlib.cjs +71 -0
  741. package/dist/vectorstores/hnswlib.d.ts +80 -0
  742. package/dist/vectorstores/hnswlib.js +71 -0
  743. package/dist/vectorstores/lancedb.cjs +38 -0
  744. package/dist/vectorstores/lancedb.d.ts +42 -0
  745. package/dist/vectorstores/lancedb.js +38 -0
  746. package/dist/vectorstores/memory.cjs +56 -0
  747. package/dist/vectorstores/memory.d.ts +66 -0
  748. package/dist/vectorstores/memory.js +56 -0
  749. package/dist/vectorstores/milvus.cjs +91 -7
  750. package/dist/vectorstores/milvus.d.ts +80 -1
  751. package/dist/vectorstores/milvus.js +91 -7
  752. package/dist/vectorstores/mongo.cjs +45 -0
  753. package/dist/vectorstores/mongo.d.ts +49 -0
  754. package/dist/vectorstores/mongo.js +45 -0
  755. package/dist/vectorstores/mongodb_atlas.cjs +48 -0
  756. package/dist/vectorstores/mongodb_atlas.d.ts +59 -0
  757. package/dist/vectorstores/mongodb_atlas.js +48 -0
  758. package/dist/vectorstores/myscale.cjs +66 -0
  759. package/dist/vectorstores/myscale.d.ts +80 -0
  760. package/dist/vectorstores/myscale.js +66 -0
  761. package/dist/vectorstores/opensearch.cjs +60 -0
  762. package/dist/vectorstores/opensearch.d.ts +74 -0
  763. package/dist/vectorstores/opensearch.js +60 -0
  764. package/dist/vectorstores/pinecone.cjs +54 -0
  765. package/dist/vectorstores/pinecone.d.ts +58 -0
  766. package/dist/vectorstores/pinecone.js +54 -0
  767. package/dist/vectorstores/prisma.cjs +66 -0
  768. package/dist/vectorstores/prisma.d.ts +66 -0
  769. package/dist/vectorstores/prisma.js +66 -0
  770. package/dist/vectorstores/qdrant.cjs +60 -0
  771. package/dist/vectorstores/qdrant.d.ts +66 -0
  772. package/dist/vectorstores/qdrant.js +60 -0
  773. package/dist/vectorstores/redis.cjs +62 -0
  774. package/dist/vectorstores/redis.d.ts +88 -0
  775. package/dist/vectorstores/redis.js +62 -0
  776. package/dist/vectorstores/singlestore.cjs +46 -0
  777. package/dist/vectorstores/singlestore.d.ts +46 -0
  778. package/dist/vectorstores/singlestore.js +46 -0
  779. package/dist/vectorstores/supabase.cjs +50 -0
  780. package/dist/vectorstores/supabase.d.ts +53 -0
  781. package/dist/vectorstores/supabase.js +50 -0
  782. package/dist/vectorstores/tigris.cjs +49 -0
  783. package/dist/vectorstores/tigris.d.ts +53 -0
  784. package/dist/vectorstores/tigris.js +49 -0
  785. package/dist/vectorstores/typeorm.cjs +71 -0
  786. package/dist/vectorstores/typeorm.d.ts +76 -0
  787. package/dist/vectorstores/typeorm.js +71 -0
  788. package/dist/vectorstores/typesense.cjs +5 -0
  789. package/dist/vectorstores/typesense.d.ts +5 -0
  790. package/dist/vectorstores/typesense.js +5 -0
  791. package/dist/vectorstores/usearch.cjs +50 -0
  792. package/dist/vectorstores/usearch.d.ts +55 -0
  793. package/dist/vectorstores/usearch.js +50 -0
  794. package/dist/vectorstores/vectara.cjs +104 -0
  795. package/dist/vectorstores/vectara.d.ts +72 -0
  796. package/dist/vectorstores/vectara.js +104 -0
  797. package/dist/vectorstores/weaviate.cjs +61 -0
  798. package/dist/vectorstores/weaviate.d.ts +70 -0
  799. package/dist/vectorstores/weaviate.js +61 -0
  800. package/dist/vectorstores/xata.cjs +36 -0
  801. package/dist/vectorstores/xata.d.ts +43 -0
  802. package/dist/vectorstores/xata.js +36 -0
  803. package/dist/vectorstores/zep.d.ts +11 -0
  804. package/package.json +2 -2
@@ -1,7 +1,10 @@
1
- import { MilvusClient } from "@zilliz/milvus2-sdk-node";
1
+ import { MilvusClient, ClientConfig } from "@zilliz/milvus2-sdk-node";
2
2
  import { Embeddings } from "../embeddings/base.js";
3
3
  import { VectorStore } from "./base.js";
4
4
  import { Document } from "../document.js";
5
+ /**
6
+ * Interface for the arguments required by the Milvus class constructor.
7
+ */
5
8
  export interface MilvusLibArgs {
6
9
  collectionName?: string;
7
10
  primaryField?: string;
@@ -12,8 +15,17 @@ export interface MilvusLibArgs {
12
15
  username?: string;
13
16
  password?: string;
14
17
  textFieldMaxLength?: number;
18
+ clientConfig?: ClientConfig;
19
+ autoId?: boolean;
15
20
  }
21
+ /**
22
+ * Type representing the type of index used in the Milvus database.
23
+ */
16
24
  type IndexType = "IVF_FLAT" | "IVF_SQ8" | "IVF_PQ" | "HNSW" | "RHNSW_FLAT" | "RHNSW_SQ" | "RHNSW_PQ" | "IVF_HNSW" | "ANNOY";
25
+ /**
26
+ * Interface for the parameters required to create an index in the Milvus
27
+ * database.
28
+ */
17
29
  interface IndexParam {
18
30
  params: {
19
31
  nprobe?: number;
@@ -21,6 +33,10 @@ interface IndexParam {
21
33
  search_k?: number;
22
34
  };
23
35
  }
36
+ /**
37
+ * Class for interacting with a Milvus database. Extends the VectorStore
38
+ * class.
39
+ */
24
40
  export declare class Milvus extends VectorStore {
25
41
  get lc_secrets(): {
26
42
  [key: string]: string;
@@ -44,15 +60,78 @@ export declare class Milvus extends VectorStore {
44
60
  indexSearchParams: string;
45
61
  _vectorstoreType(): string;
46
62
  constructor(embeddings: Embeddings, args: MilvusLibArgs);
63
+ /**
64
+ * Adds documents to the Milvus database.
65
+ * @param documents Array of Document instances to be added to the database.
66
+ * @returns Promise resolving to void.
67
+ */
47
68
  addDocuments(documents: Document[]): Promise<void>;
69
+ /**
70
+ * Adds vectors to the Milvus database.
71
+ * @param vectors Array of vectors to be added to the database.
72
+ * @param documents Array of Document instances associated with the vectors.
73
+ * @returns Promise resolving to void.
74
+ */
48
75
  addVectors(vectors: number[][], documents: Document[]): Promise<void>;
76
+ /**
77
+ * Searches for vectors in the Milvus database that are similar to a given
78
+ * vector.
79
+ * @param query Vector to compare with the vectors in the database.
80
+ * @param k Number of similar vectors to return.
81
+ * @param filter Optional filter to apply to the search.
82
+ * @returns Promise resolving to an array of tuples, each containing a Document instance and a similarity score.
83
+ */
49
84
  similaritySearchVectorWithScore(query: number[], k: number, filter?: string): Promise<[Document, number][]>;
85
+ /**
86
+ * Ensures that a collection exists in the Milvus database.
87
+ * @param vectors Optional array of vectors to be used if a new collection needs to be created.
88
+ * @param documents Optional array of Document instances to be used if a new collection needs to be created.
89
+ * @returns Promise resolving to void.
90
+ */
50
91
  ensureCollection(vectors?: number[][], documents?: Document[]): Promise<void>;
92
+ /**
93
+ * Creates a collection in the Milvus database.
94
+ * @param vectors Array of vectors to be added to the new collection.
95
+ * @param documents Array of Document instances to be added to the new collection.
96
+ * @returns Promise resolving to void.
97
+ */
51
98
  createCollection(vectors: number[][], documents: Document[]): Promise<void>;
99
+ /**
100
+ * Retrieves the fields of a collection in the Milvus database.
101
+ * @returns Promise resolving to void.
102
+ */
52
103
  grabCollectionFields(): Promise<void>;
104
+ /**
105
+ * Creates a Milvus instance from a set of texts and their associated
106
+ * metadata.
107
+ * @param texts Array of texts to be added to the database.
108
+ * @param metadatas Array of metadata objects associated with the texts.
109
+ * @param embeddings Embeddings instance used to generate vector embeddings for the texts.
110
+ * @param dbConfig Optional configuration for the Milvus database.
111
+ * @returns Promise resolving to a new Milvus instance.
112
+ */
53
113
  static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, dbConfig?: MilvusLibArgs): Promise<Milvus>;
114
+ /**
115
+ * Creates a Milvus instance from a set of Document instances.
116
+ * @param docs Array of Document instances to be added to the database.
117
+ * @param embeddings Embeddings instance used to generate vector embeddings for the documents.
118
+ * @param dbConfig Optional configuration for the Milvus database.
119
+ * @returns Promise resolving to a new Milvus instance.
120
+ */
54
121
  static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig?: MilvusLibArgs): Promise<Milvus>;
122
+ /**
123
+ * Creates a Milvus instance from an existing collection in the Milvus
124
+ * database.
125
+ * @param embeddings Embeddings instance used to generate vector embeddings for the documents in the collection.
126
+ * @param dbConfig Configuration for the Milvus database.
127
+ * @returns Promise resolving to a new Milvus instance.
128
+ */
55
129
  static fromExistingCollection(embeddings: Embeddings, dbConfig: MilvusLibArgs): Promise<Milvus>;
130
+ /**
131
+ * Deletes data from the Milvus database.
132
+ * @param params Object containing a filter to apply to the deletion.
133
+ * @returns Promise resolving to void.
134
+ */
56
135
  delete(params: {
57
136
  filter: string;
58
137
  }): Promise<void>;
@@ -7,6 +7,10 @@ const MILVUS_PRIMARY_FIELD_NAME = "langchain_primaryid";
7
7
  const MILVUS_VECTOR_FIELD_NAME = "langchain_vector";
8
8
  const MILVUS_TEXT_FIELD_NAME = "langchain_text";
9
9
  const MILVUS_COLLECTION_NAME_PREFIX = "langchain_col";
10
+ /**
11
+ * Class for interacting with a Milvus database. Extends the VectorStore
12
+ * class.
13
+ */
10
14
  export class Milvus extends VectorStore {
11
15
  get lc_secrets() {
12
16
  return {
@@ -109,21 +113,41 @@ export class Milvus extends VectorStore {
109
113
  this.embeddings = embeddings;
110
114
  this.collectionName = args.collectionName ?? genCollectionName();
111
115
  this.textField = args.textField ?? MILVUS_TEXT_FIELD_NAME;
112
- this.autoId = true;
116
+ this.autoId = args.autoId ?? true;
113
117
  this.primaryField = args.primaryField ?? MILVUS_PRIMARY_FIELD_NAME;
114
118
  this.vectorField = args.vectorField ?? MILVUS_VECTOR_FIELD_NAME;
115
119
  this.textFieldMaxLength = args.textFieldMaxLength ?? 0;
116
120
  this.fields = [];
117
121
  const url = args.url ?? getEnvironmentVariable("MILVUS_URL");
118
- if (!url) {
122
+ const { address = "", username = "", password = "", ssl, } = args.clientConfig || {};
123
+ // combine args clientConfig and env variables
124
+ const clientConfig = {
125
+ ...(args.clientConfig || {}),
126
+ address: url || address,
127
+ username: args.username || username,
128
+ password: args.password || password,
129
+ ssl: args.ssl || ssl,
130
+ };
131
+ if (!clientConfig.address) {
119
132
  throw new Error("Milvus URL address is not provided.");
120
133
  }
121
- this.client = new MilvusClient(url, args.ssl, args.username, args.password);
134
+ this.client = new MilvusClient(clientConfig);
122
135
  }
136
+ /**
137
+ * Adds documents to the Milvus database.
138
+ * @param documents Array of Document instances to be added to the database.
139
+ * @returns Promise resolving to void.
140
+ */
123
141
  async addDocuments(documents) {
124
142
  const texts = documents.map(({ pageContent }) => pageContent);
125
143
  await this.addVectors(await this.embeddings.embedDocuments(texts), documents);
126
144
  }
145
+ /**
146
+ * Adds vectors to the Milvus database.
147
+ * @param vectors Array of vectors to be added to the database.
148
+ * @param documents Array of Document instances associated with the vectors.
149
+ * @returns Promise resolving to void.
150
+ */
127
151
  async addVectors(vectors, documents) {
128
152
  if (vectors.length === 0) {
129
153
  return;
@@ -178,6 +202,14 @@ export class Milvus extends VectorStore {
178
202
  }
179
203
  await this.client.flushSync({ collection_names: [this.collectionName] });
180
204
  }
205
+ /**
206
+ * Searches for vectors in the Milvus database that are similar to a given
207
+ * vector.
208
+ * @param query Vector to compare with the vectors in the database.
209
+ * @param k Number of similar vectors to return.
210
+ * @param filter Optional filter to apply to the search.
211
+ * @returns Promise resolving to an array of tuples, each containing a Document instance and a similarity score.
212
+ */
181
213
  async similaritySearchVectorWithScore(query, k, filter) {
182
214
  const hasColResp = await this.client.hasCollection({
183
215
  collection_name: this.collectionName,
@@ -240,6 +272,12 @@ export class Milvus extends VectorStore {
240
272
  // console.log("Search result: " + JSON.stringify(results, null, 2));
241
273
  return results;
242
274
  }
275
+ /**
276
+ * Ensures that a collection exists in the Milvus database.
277
+ * @param vectors Optional array of vectors to be used if a new collection needs to be created.
278
+ * @param documents Optional array of Document instances to be used if a new collection needs to be created.
279
+ * @returns Promise resolving to void.
280
+ */
243
281
  async ensureCollection(vectors, documents) {
244
282
  const hasColResp = await this.client.hasCollection({
245
283
  collection_name: this.collectionName,
@@ -257,9 +295,15 @@ export class Milvus extends VectorStore {
257
295
  await this.grabCollectionFields();
258
296
  }
259
297
  }
298
+ /**
299
+ * Creates a collection in the Milvus database.
300
+ * @param vectors Array of vectors to be added to the new collection.
301
+ * @param documents Array of Document instances to be added to the new collection.
302
+ * @returns Promise resolving to void.
303
+ */
260
304
  async createCollection(vectors, documents) {
261
305
  const fieldList = [];
262
- fieldList.push(...createFieldTypeForMetadata(documents));
306
+ fieldList.push(...createFieldTypeForMetadata(documents, this.primaryField));
263
307
  fieldList.push({
264
308
  name: this.primaryField,
265
309
  description: "Primary key",
@@ -302,6 +346,10 @@ export class Milvus extends VectorStore {
302
346
  extra_params: this.indexCreateParams,
303
347
  });
304
348
  }
349
+ /**
350
+ * Retrieves the fields of a collection in the Milvus database.
351
+ * @returns Promise resolving to void.
352
+ */
305
353
  async grabCollectionFields() {
306
354
  if (!this.collectionName) {
307
355
  throw new Error("Need collection name to grab collection fields");
@@ -326,7 +374,7 @@ export class Milvus extends VectorStore {
326
374
  if (field.is_primary_key) {
327
375
  this.primaryField = field.name;
328
376
  }
329
- const dtype = DataTypeMap[field.data_type.toLowerCase()];
377
+ const dtype = DataTypeMap[field.data_type];
330
378
  if (dtype === DataType.FloatVector || dtype === DataType.BinaryVector) {
331
379
  this.vectorField = field.name;
332
380
  }
@@ -335,6 +383,15 @@ export class Milvus extends VectorStore {
335
383
  }
336
384
  });
337
385
  }
386
+ /**
387
+ * Creates a Milvus instance from a set of texts and their associated
388
+ * metadata.
389
+ * @param texts Array of texts to be added to the database.
390
+ * @param metadatas Array of metadata objects associated with the texts.
391
+ * @param embeddings Embeddings instance used to generate vector embeddings for the texts.
392
+ * @param dbConfig Optional configuration for the Milvus database.
393
+ * @returns Promise resolving to a new Milvus instance.
394
+ */
338
395
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
339
396
  const docs = [];
340
397
  for (let i = 0; i < texts.length; i += 1) {
@@ -347,6 +404,13 @@ export class Milvus extends VectorStore {
347
404
  }
348
405
  return Milvus.fromDocuments(docs, embeddings, dbConfig);
349
406
  }
407
+ /**
408
+ * Creates a Milvus instance from a set of Document instances.
409
+ * @param docs Array of Document instances to be added to the database.
410
+ * @param embeddings Embeddings instance used to generate vector embeddings for the documents.
411
+ * @param dbConfig Optional configuration for the Milvus database.
412
+ * @returns Promise resolving to a new Milvus instance.
413
+ */
350
414
  static async fromDocuments(docs, embeddings, dbConfig) {
351
415
  const args = {
352
416
  collectionName: dbConfig?.collectionName || genCollectionName(),
@@ -357,16 +421,30 @@ export class Milvus extends VectorStore {
357
421
  textField: dbConfig?.textField,
358
422
  primaryField: dbConfig?.primaryField,
359
423
  vectorField: dbConfig?.vectorField,
424
+ clientConfig: dbConfig?.clientConfig,
425
+ autoId: dbConfig?.autoId,
360
426
  };
361
427
  const instance = new this(embeddings, args);
362
428
  await instance.addDocuments(docs);
363
429
  return instance;
364
430
  }
431
+ /**
432
+ * Creates a Milvus instance from an existing collection in the Milvus
433
+ * database.
434
+ * @param embeddings Embeddings instance used to generate vector embeddings for the documents in the collection.
435
+ * @param dbConfig Configuration for the Milvus database.
436
+ * @returns Promise resolving to a new Milvus instance.
437
+ */
365
438
  static async fromExistingCollection(embeddings, dbConfig) {
366
439
  const instance = new this(embeddings, dbConfig);
367
440
  await instance.ensureCollection();
368
441
  return instance;
369
442
  }
443
+ /**
444
+ * Deletes data from the Milvus database.
445
+ * @param params Object containing a filter to apply to the deletion.
446
+ * @returns Promise resolving to void.
447
+ */
370
448
  async delete(params) {
371
449
  const hasColResp = await this.client.hasCollection({
372
450
  collection_name: this.collectionName,
@@ -387,7 +465,7 @@ export class Milvus extends VectorStore {
387
465
  }
388
466
  }
389
467
  }
390
- function createFieldTypeForMetadata(documents) {
468
+ function createFieldTypeForMetadata(documents, primaryFieldName) {
391
469
  const sampleMetadata = documents[0].metadata;
392
470
  let textFieldMaxLength = 0;
393
471
  let jsonFieldMaxLength = 0;
@@ -415,7 +493,13 @@ function createFieldTypeForMetadata(documents) {
415
493
  const fields = [];
416
494
  for (const [key, value] of Object.entries(sampleMetadata)) {
417
495
  const type = typeof value;
418
- if (type === "string") {
496
+ if (key === primaryFieldName) {
497
+ /**
498
+ * skip primary field
499
+ * because we will create primary field in createCollection
500
+ * */
501
+ }
502
+ else if (type === "string") {
419
503
  fields.push({
420
504
  name: key,
421
505
  description: `Metadata String field`,
@@ -32,10 +32,25 @@ class MongoVectorStore extends base_js_1.VectorStore {
32
32
  this.client = args.client;
33
33
  this.indexName = args.indexName || "default";
34
34
  }
35
+ /**
36
+ * Method that adds documents to the MongoDB collection. It first converts
37
+ * the documents into vectors using the `embedDocuments` method of the
38
+ * `embeddings` instance, and then adds these vectors to the collection.
39
+ * @param documents Array of Document instances to be added to the MongoDB collection.
40
+ * @returns Promise that resolves when the documents have been added to the collection.
41
+ */
35
42
  async addDocuments(documents) {
36
43
  const texts = documents.map(({ pageContent }) => pageContent);
37
44
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
38
45
  }
46
+ /**
47
+ * Method that adds vectors to the MongoDB collection. It creates an array
48
+ * of items, each containing the content, embedding, and metadata of a
49
+ * document, and then inserts these items into the collection.
50
+ * @param vectors Array of vectors to be added to the MongoDB collection.
51
+ * @param documents Array of Document instances corresponding to the vectors.
52
+ * @returns Promise that resolves when the vectors have been added to the collection.
53
+ */
39
54
  async addVectors(vectors, documents) {
40
55
  const items = vectors.map((embedding, idx) => ({
41
56
  content: documents[idx].pageContent,
@@ -44,6 +59,16 @@ class MongoVectorStore extends base_js_1.VectorStore {
44
59
  }));
45
60
  await this.collection.insertMany(items);
46
61
  }
62
+ /**
63
+ * Method that performs a similarity search on vectors and returns the
64
+ * documents and their similarity scores. It constructs a MongoDB
65
+ * aggregation pipeline, applies any post-query pipeline steps if
66
+ * provided, and then executes the pipeline to retrieve the results.
67
+ * @param query Query vector for the similarity search.
68
+ * @param k Number of nearest neighbors to return.
69
+ * @param filter Optional filter for the query, which can include post-query pipeline steps.
70
+ * @returns Promise that resolves to an array of tuples, each containing a Document instance and its similarity score.
71
+ */
47
72
  async similaritySearchVectorWithScore(query, k, filter) {
48
73
  // Search has to be the first pipeline step (https://www.mongodb.com/docs/atlas/atlas-search/query-syntax/#behavior)
49
74
  // We hopefully this changes in the future
@@ -97,6 +122,17 @@ class MongoVectorStore extends base_js_1.VectorStore {
97
122
  }
98
123
  return ret;
99
124
  }
125
+ /**
126
+ * Static method that creates a `MongoVectorStore` instance from an array
127
+ * of texts. It creates Document instances from the texts and their
128
+ * corresponding metadata, and then calls the `fromDocuments` method to
129
+ * create the `MongoVectorStore` instance.
130
+ * @param texts Array of texts to be converted into Document instances.
131
+ * @param metadatas Array or single object of metadata corresponding to the texts.
132
+ * @param embeddings Embeddings instance used to convert the texts into vectors.
133
+ * @param dbConfig Configuration for the MongoDB database.
134
+ * @returns Promise that resolves to a new MongoVectorStore instance.
135
+ */
100
136
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
101
137
  const docs = [];
102
138
  for (let i = 0; i < texts.length; i += 1) {
@@ -109,6 +145,15 @@ class MongoVectorStore extends base_js_1.VectorStore {
109
145
  }
110
146
  return MongoVectorStore.fromDocuments(docs, embeddings, dbConfig);
111
147
  }
148
+ /**
149
+ * Static method that creates a `MongoVectorStore` instance from an array
150
+ * of Document instances. It creates a new `MongoVectorStore` instance,
151
+ * adds the documents to it, and then returns the instance.
152
+ * @param docs Array of Document instances to be added to the `MongoVectorStore`.
153
+ * @param embeddings Embeddings instance used to convert the documents into vectors.
154
+ * @param dbConfig Configuration for the MongoDB database.
155
+ * @returns Promise that resolves to a new MongoVectorStore instance.
156
+ */
112
157
  static async fromDocuments(docs, embeddings, dbConfig) {
113
158
  const instance = new this(embeddings, dbConfig);
114
159
  await instance.addDocuments(docs);
@@ -8,6 +8,10 @@ export type MongoLibArgs = {
8
8
  collection: Collection<MongoDocument>;
9
9
  indexName?: string;
10
10
  };
11
+ /**
12
+ * Type that defines an extension for MongoDB queries. It includes an
13
+ * optional array of post-query pipeline steps.
14
+ */
11
15
  export type MongoVectorStoreQueryExtension = {
12
16
  postQueryPipelineSteps?: MongoDocument[];
13
17
  };
@@ -19,9 +23,54 @@ export declare class MongoVectorStore extends VectorStore {
19
23
  indexName: string;
20
24
  _vectorstoreType(): string;
21
25
  constructor(embeddings: Embeddings, args: MongoLibArgs);
26
+ /**
27
+ * Method that adds documents to the MongoDB collection. It first converts
28
+ * the documents into vectors using the `embedDocuments` method of the
29
+ * `embeddings` instance, and then adds these vectors to the collection.
30
+ * @param documents Array of Document instances to be added to the MongoDB collection.
31
+ * @returns Promise that resolves when the documents have been added to the collection.
32
+ */
22
33
  addDocuments(documents: Document[]): Promise<void>;
34
+ /**
35
+ * Method that adds vectors to the MongoDB collection. It creates an array
36
+ * of items, each containing the content, embedding, and metadata of a
37
+ * document, and then inserts these items into the collection.
38
+ * @param vectors Array of vectors to be added to the MongoDB collection.
39
+ * @param documents Array of Document instances corresponding to the vectors.
40
+ * @returns Promise that resolves when the vectors have been added to the collection.
41
+ */
23
42
  addVectors(vectors: number[][], documents: Document[]): Promise<void>;
43
+ /**
44
+ * Method that performs a similarity search on vectors and returns the
45
+ * documents and their similarity scores. It constructs a MongoDB
46
+ * aggregation pipeline, applies any post-query pipeline steps if
47
+ * provided, and then executes the pipeline to retrieve the results.
48
+ * @param query Query vector for the similarity search.
49
+ * @param k Number of nearest neighbors to return.
50
+ * @param filter Optional filter for the query, which can include post-query pipeline steps.
51
+ * @returns Promise that resolves to an array of tuples, each containing a Document instance and its similarity score.
52
+ */
24
53
  similaritySearchVectorWithScore(query: number[], k: number, filter?: MongoVectorStoreQueryExtension): Promise<[Document, number][]>;
54
+ /**
55
+ * Static method that creates a `MongoVectorStore` instance from an array
56
+ * of texts. It creates Document instances from the texts and their
57
+ * corresponding metadata, and then calls the `fromDocuments` method to
58
+ * create the `MongoVectorStore` instance.
59
+ * @param texts Array of texts to be converted into Document instances.
60
+ * @param metadatas Array or single object of metadata corresponding to the texts.
61
+ * @param embeddings Embeddings instance used to convert the texts into vectors.
62
+ * @param dbConfig Configuration for the MongoDB database.
63
+ * @returns Promise that resolves to a new MongoVectorStore instance.
64
+ */
25
65
  static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, dbConfig: MongoLibArgs): Promise<MongoVectorStore>;
66
+ /**
67
+ * Static method that creates a `MongoVectorStore` instance from an array
68
+ * of Document instances. It creates a new `MongoVectorStore` instance,
69
+ * adds the documents to it, and then returns the instance.
70
+ * @param docs Array of Document instances to be added to the `MongoVectorStore`.
71
+ * @param embeddings Embeddings instance used to convert the documents into vectors.
72
+ * @param dbConfig Configuration for the MongoDB database.
73
+ * @returns Promise that resolves to a new MongoVectorStore instance.
74
+ */
26
75
  static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig: MongoLibArgs): Promise<MongoVectorStore>;
27
76
  }
@@ -29,10 +29,25 @@ export class MongoVectorStore extends VectorStore {
29
29
  this.client = args.client;
30
30
  this.indexName = args.indexName || "default";
31
31
  }
32
+ /**
33
+ * Method that adds documents to the MongoDB collection. It first converts
34
+ * the documents into vectors using the `embedDocuments` method of the
35
+ * `embeddings` instance, and then adds these vectors to the collection.
36
+ * @param documents Array of Document instances to be added to the MongoDB collection.
37
+ * @returns Promise that resolves when the documents have been added to the collection.
38
+ */
32
39
  async addDocuments(documents) {
33
40
  const texts = documents.map(({ pageContent }) => pageContent);
34
41
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
35
42
  }
43
+ /**
44
+ * Method that adds vectors to the MongoDB collection. It creates an array
45
+ * of items, each containing the content, embedding, and metadata of a
46
+ * document, and then inserts these items into the collection.
47
+ * @param vectors Array of vectors to be added to the MongoDB collection.
48
+ * @param documents Array of Document instances corresponding to the vectors.
49
+ * @returns Promise that resolves when the vectors have been added to the collection.
50
+ */
36
51
  async addVectors(vectors, documents) {
37
52
  const items = vectors.map((embedding, idx) => ({
38
53
  content: documents[idx].pageContent,
@@ -41,6 +56,16 @@ export class MongoVectorStore extends VectorStore {
41
56
  }));
42
57
  await this.collection.insertMany(items);
43
58
  }
59
+ /**
60
+ * Method that performs a similarity search on vectors and returns the
61
+ * documents and their similarity scores. It constructs a MongoDB
62
+ * aggregation pipeline, applies any post-query pipeline steps if
63
+ * provided, and then executes the pipeline to retrieve the results.
64
+ * @param query Query vector for the similarity search.
65
+ * @param k Number of nearest neighbors to return.
66
+ * @param filter Optional filter for the query, which can include post-query pipeline steps.
67
+ * @returns Promise that resolves to an array of tuples, each containing a Document instance and its similarity score.
68
+ */
44
69
  async similaritySearchVectorWithScore(query, k, filter) {
45
70
  // Search has to be the first pipeline step (https://www.mongodb.com/docs/atlas/atlas-search/query-syntax/#behavior)
46
71
  // We hopefully this changes in the future
@@ -94,6 +119,17 @@ export class MongoVectorStore extends VectorStore {
94
119
  }
95
120
  return ret;
96
121
  }
122
+ /**
123
+ * Static method that creates a `MongoVectorStore` instance from an array
124
+ * of texts. It creates Document instances from the texts and their
125
+ * corresponding metadata, and then calls the `fromDocuments` method to
126
+ * create the `MongoVectorStore` instance.
127
+ * @param texts Array of texts to be converted into Document instances.
128
+ * @param metadatas Array or single object of metadata corresponding to the texts.
129
+ * @param embeddings Embeddings instance used to convert the texts into vectors.
130
+ * @param dbConfig Configuration for the MongoDB database.
131
+ * @returns Promise that resolves to a new MongoVectorStore instance.
132
+ */
97
133
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
98
134
  const docs = [];
99
135
  for (let i = 0; i < texts.length; i += 1) {
@@ -106,6 +142,15 @@ export class MongoVectorStore extends VectorStore {
106
142
  }
107
143
  return MongoVectorStore.fromDocuments(docs, embeddings, dbConfig);
108
144
  }
145
+ /**
146
+ * Static method that creates a `MongoVectorStore` instance from an array
147
+ * of Document instances. It creates a new `MongoVectorStore` instance,
148
+ * adds the documents to it, and then returns the instance.
149
+ * @param docs Array of Document instances to be added to the `MongoVectorStore`.
150
+ * @param embeddings Embeddings instance used to convert the documents into vectors.
151
+ * @param dbConfig Configuration for the MongoDB database.
152
+ * @returns Promise that resolves to a new MongoVectorStore instance.
153
+ */
109
154
  static async fromDocuments(docs, embeddings, dbConfig) {
110
155
  const instance = new this(embeddings, dbConfig);
111
156
  await instance.addDocuments(docs);
@@ -4,6 +4,12 @@ exports.MongoDBAtlasVectorSearch = void 0;
4
4
  const base_js_1 = require("./base.cjs");
5
5
  const document_js_1 = require("../document.cjs");
6
6
  const math_js_1 = require("../util/math.cjs");
7
+ /**
8
+ * Class that is a wrapper around MongoDB Atlas Vector Search. It is used
9
+ * to store embeddings in MongoDB documents, create a vector search index,
10
+ * and perform K-Nearest Neighbors (KNN) search with an approximate
11
+ * nearest neighbor algorithm.
12
+ */
7
13
  class MongoDBAtlasVectorSearch extends base_js_1.VectorStore {
8
14
  _vectorstoreType() {
9
15
  return "mongodb_atlas";
@@ -39,6 +45,13 @@ class MongoDBAtlasVectorSearch extends base_js_1.VectorStore {
39
45
  this.textKey = args.textKey ?? "text";
40
46
  this.embeddingKey = args.embeddingKey ?? "embedding";
41
47
  }
48
+ /**
49
+ * Method to add vectors and their corresponding documents to the MongoDB
50
+ * collection.
51
+ * @param vectors Vectors to be added.
52
+ * @param documents Corresponding documents to be added.
53
+ * @returns Promise that resolves when the vectors and documents have been added.
54
+ */
42
55
  async addVectors(vectors, documents) {
43
56
  const docs = vectors.map((embedding, idx) => ({
44
57
  [this.textKey]: documents[idx].pageContent,
@@ -47,10 +60,26 @@ class MongoDBAtlasVectorSearch extends base_js_1.VectorStore {
47
60
  }));
48
61
  await this.collection.insertMany(docs);
49
62
  }
63
+ /**
64
+ * Method to add documents to the MongoDB collection. It first converts
65
+ * the documents to vectors using the embeddings and then calls the
66
+ * addVectors method.
67
+ * @param documents Documents to be added.
68
+ * @returns Promise that resolves when the documents have been added.
69
+ */
50
70
  async addDocuments(documents) {
51
71
  const texts = documents.map(({ pageContent }) => pageContent);
52
72
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
53
73
  }
74
+ /**
75
+ * Method that performs a similarity search on the vectors stored in the
76
+ * MongoDB collection. It returns a list of documents and their
77
+ * corresponding similarity scores.
78
+ * @param query Query vector for the similarity search.
79
+ * @param k Number of nearest neighbors to return.
80
+ * @param filter Optional filter to be applied.
81
+ * @returns Promise that resolves to a list of documents and their corresponding similarity scores.
82
+ */
54
83
  async similaritySearchVectorWithScore(query, k, filter) {
55
84
  const knnBeta = {
56
85
  vector: query,
@@ -141,6 +170,16 @@ class MongoDBAtlasVectorSearch extends base_js_1.VectorStore {
141
170
  return doc;
142
171
  });
143
172
  }
173
+ /**
174
+ * Static method to create an instance of MongoDBAtlasVectorSearch from a
175
+ * list of texts. It first converts the texts to vectors and then adds
176
+ * them to the MongoDB collection.
177
+ * @param texts List of texts to be converted to vectors.
178
+ * @param metadatas Metadata for the texts.
179
+ * @param embeddings Embeddings to be used for conversion.
180
+ * @param dbConfig Database configuration for MongoDB Atlas.
181
+ * @returns Promise that resolves to a new instance of MongoDBAtlasVectorSearch.
182
+ */
144
183
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
145
184
  const docs = [];
146
185
  for (let i = 0; i < texts.length; i += 1) {
@@ -153,6 +192,15 @@ class MongoDBAtlasVectorSearch extends base_js_1.VectorStore {
153
192
  }
154
193
  return MongoDBAtlasVectorSearch.fromDocuments(docs, embeddings, dbConfig);
155
194
  }
195
+ /**
196
+ * Static method to create an instance of MongoDBAtlasVectorSearch from a
197
+ * list of documents. It first converts the documents to vectors and then
198
+ * adds them to the MongoDB collection.
199
+ * @param docs List of documents to be converted to vectors.
200
+ * @param embeddings Embeddings to be used for conversion.
201
+ * @param dbConfig Database configuration for MongoDB Atlas.
202
+ * @returns Promise that resolves to a new instance of MongoDBAtlasVectorSearch.
203
+ */
156
204
  static async fromDocuments(docs, embeddings, dbConfig) {
157
205
  const instance = new this(embeddings, dbConfig);
158
206
  await instance.addDocuments(docs);