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
@@ -2,6 +2,11 @@ import * as uuid from "uuid";
2
2
  import { SaveableVectorStore } from "./base.js";
3
3
  import { Document } from "../document.js";
4
4
  import { SynchronousInMemoryDocstore } from "../stores/doc/in_memory.js";
5
+ /**
6
+ * A class that wraps the FAISS (Facebook AI Similarity Search) vector
7
+ * database for efficient similarity search and clustering of dense
8
+ * vectors.
9
+ */
5
10
  export class FaissStore extends SaveableVectorStore {
6
11
  _vectorstoreType() {
7
12
  return "faiss";
@@ -44,6 +49,11 @@ export class FaissStore extends SaveableVectorStore {
44
49
  this.embeddings = embeddings;
45
50
  this.docstore = args?.docstore ?? new SynchronousInMemoryDocstore();
46
51
  }
52
+ /**
53
+ * Adds an array of Document objects to the store.
54
+ * @param documents An array of Document objects.
55
+ * @returns A Promise that resolves when the documents have been added.
56
+ */
47
57
  async addDocuments(documents) {
48
58
  const texts = documents.map(({ pageContent }) => pageContent);
49
59
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
@@ -57,6 +67,13 @@ export class FaissStore extends SaveableVectorStore {
57
67
  set index(index) {
58
68
  this._index = index;
59
69
  }
70
+ /**
71
+ * Adds an array of vectors and their corresponding Document objects to
72
+ * the store.
73
+ * @param vectors An array of vectors.
74
+ * @param documents An array of Document objects corresponding to the vectors.
75
+ * @returns A Promise that resolves with an array of document IDs when the vectors and documents have been added.
76
+ */
60
77
  async addVectors(vectors, documents) {
61
78
  if (vectors.length === 0) {
62
79
  return [];
@@ -85,6 +102,13 @@ export class FaissStore extends SaveableVectorStore {
85
102
  }
86
103
  return documentIds;
87
104
  }
105
+ /**
106
+ * Performs a similarity search in the vector store using a query vector
107
+ * and returns the top k results along with their scores.
108
+ * @param query A query vector.
109
+ * @param k The number of top results to return.
110
+ * @returns A Promise that resolves with an array of tuples, each containing a Document and its corresponding score.
111
+ */
88
112
  async similaritySearchVectorWithScore(query, k) {
89
113
  const d = this.index.getDimension();
90
114
  if (query.length !== d) {
@@ -102,6 +126,11 @@ export class FaissStore extends SaveableVectorStore {
102
126
  return [this.docstore.search(uuid), result.distances[index]];
103
127
  });
104
128
  }
129
+ /**
130
+ * Saves the current state of the FaissStore to a specified directory.
131
+ * @param directory The directory to save the state to.
132
+ * @returns A Promise that resolves when the state has been saved.
133
+ */
105
134
  async save(directory) {
106
135
  const fs = await import("node:fs/promises");
107
136
  const path = await import("node:path");
@@ -114,6 +143,11 @@ export class FaissStore extends SaveableVectorStore {
114
143
  ])),
115
144
  ]);
116
145
  }
146
+ /**
147
+ * Merges the current FaissStore with another FaissStore.
148
+ * @param targetIndex The FaissStore to merge with.
149
+ * @returns A Promise that resolves with an array of document IDs when the merge is complete.
150
+ */
117
151
  async mergeFrom(targetIndex) {
118
152
  const targetIndexDimensions = targetIndex.index.getDimension();
119
153
  if (!this._index) {
@@ -140,6 +174,12 @@ export class FaissStore extends SaveableVectorStore {
140
174
  this.index.mergeFrom(targetIndex.index);
141
175
  return documentIds;
142
176
  }
177
+ /**
178
+ * Loads a FaissStore from a specified directory.
179
+ * @param directory The directory to load the FaissStore from.
180
+ * @param embeddings An Embeddings object.
181
+ * @returns A Promise that resolves with a new FaissStore instance.
182
+ */
143
183
  static async load(directory, embeddings) {
144
184
  const fs = await import("node:fs/promises");
145
185
  const path = await import("node:path");
@@ -217,6 +257,15 @@ export class FaissStore extends SaveableVectorStore {
217
257
  mapping: store.mapping,
218
258
  });
219
259
  }
260
+ /**
261
+ * Creates a new FaissStore from an array of texts, their corresponding
262
+ * metadata, and an Embeddings object.
263
+ * @param texts An array of texts.
264
+ * @param metadatas An array of metadata corresponding to the texts, or a single metadata object to be used for all texts.
265
+ * @param embeddings An Embeddings object.
266
+ * @param dbConfig An optional configuration object for the document store.
267
+ * @returns A Promise that resolves with a new FaissStore instance.
268
+ */
220
269
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
221
270
  const docs = [];
222
271
  for (let i = 0; i < texts.length; i += 1) {
@@ -229,6 +278,14 @@ export class FaissStore extends SaveableVectorStore {
229
278
  }
230
279
  return this.fromDocuments(docs, embeddings, dbConfig);
231
280
  }
281
+ /**
282
+ * Creates a new FaissStore from an array of Document objects and an
283
+ * Embeddings object.
284
+ * @param docs An array of Document objects.
285
+ * @param embeddings An Embeddings object.
286
+ * @param dbConfig An optional configuration object for the document store.
287
+ * @returns A Promise that resolves with a new FaissStore instance.
288
+ */
232
289
  static async fromDocuments(docs, embeddings, dbConfig) {
233
290
  const args = {
234
291
  docstore: dbConfig?.docstore,
@@ -237,6 +294,14 @@ export class FaissStore extends SaveableVectorStore {
237
294
  await instance.addDocuments(docs);
238
295
  return instance;
239
296
  }
297
+ /**
298
+ * Creates a new FaissStore from an existing FaissStore and an Embeddings
299
+ * object.
300
+ * @param targetIndex An existing FaissStore.
301
+ * @param embeddings An Embeddings object.
302
+ * @param dbConfig An optional configuration object for the document store.
303
+ * @returns A Promise that resolves with a new FaissStore instance.
304
+ */
240
305
  static async fromIndex(targetIndex, embeddings, dbConfig) {
241
306
  const args = {
242
307
  docstore: dbConfig?.docstore,
@@ -4,6 +4,12 @@ exports.HNSWLib = void 0;
4
4
  const base_js_1 = require("./base.cjs");
5
5
  const document_js_1 = require("../document.cjs");
6
6
  const in_memory_js_1 = require("../stores/doc/in_memory.cjs");
7
+ /**
8
+ * Class that implements a vector store using Hierarchical Navigable Small
9
+ * World (HNSW) graphs. It extends the SaveableVectorStore class and
10
+ * provides methods for adding documents and vectors, performing
11
+ * similarity searches, and saving and loading the vector store.
12
+ */
7
13
  class HNSWLib extends base_js_1.SaveableVectorStore {
8
14
  _vectorstoreType() {
9
15
  return "hnswlib";
@@ -33,6 +39,13 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
33
39
  this.embeddings = embeddings;
34
40
  this.docstore = args?.docstore ?? new in_memory_js_1.SynchronousInMemoryDocstore();
35
41
  }
42
+ /**
43
+ * Method to add documents to the vector store. It first converts the
44
+ * documents to vectors using the embeddings, then adds the vectors to the
45
+ * vector store.
46
+ * @param documents The documents to be added to the vector store.
47
+ * @returns A Promise that resolves when the documents have been added.
48
+ */
36
49
  async addDocuments(documents) {
37
50
  const texts = documents.map(({ pageContent }) => pageContent);
38
51
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
@@ -67,6 +80,14 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
67
80
  set index(index) {
68
81
  this._index = index;
69
82
  }
83
+ /**
84
+ * Method to add vectors to the vector store. It first initializes the
85
+ * index if it hasn't been initialized yet, then adds the vectors to the
86
+ * index and the documents to the document store.
87
+ * @param vectors The vectors to be added to the vector store.
88
+ * @param documents The documents corresponding to the vectors.
89
+ * @returns A Promise that resolves when the vectors and documents have been added.
90
+ */
70
91
  async addVectors(vectors, documents) {
71
92
  if (vectors.length === 0) {
72
93
  return;
@@ -95,6 +116,16 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
95
116
  }
96
117
  this.docstore.add(toSave);
97
118
  }
119
+ /**
120
+ * Method to perform a similarity search in the vector store using a query
121
+ * vector. It returns the k most similar documents along with their
122
+ * similarity scores. An optional filter function can be provided to
123
+ * filter the documents.
124
+ * @param query The query vector.
125
+ * @param k The number of most similar documents to return.
126
+ * @param filter An optional filter function to filter the documents.
127
+ * @returns A Promise that resolves to an array of tuples, where each tuple contains a document and its similarity score.
128
+ */
98
129
  async similaritySearchVectorWithScore(query, k, filter) {
99
130
  if (this.args.numDimensions && !this._index) {
100
131
  await this.initIndex([[]]);
@@ -125,6 +156,13 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
125
156
  result.distances[resultIndex],
126
157
  ]);
127
158
  }
159
+ /**
160
+ * Method to delete the vector store from a directory. It deletes the
161
+ * hnswlib.index file, the docstore.json file, and the args.json file from
162
+ * the directory.
163
+ * @param params An object with a directory property that specifies the directory from which to delete the vector store.
164
+ * @returns A Promise that resolves when the vector store has been deleted.
165
+ */
128
166
  async delete(params) {
129
167
  const fs = await import("node:fs/promises");
130
168
  const path = await import("node:path");
@@ -144,6 +182,12 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
144
182
  await fs.rm(path.join(params.directory, "args.json"), { force: true }),
145
183
  ]);
146
184
  }
185
+ /**
186
+ * Method to save the vector store to a directory. It saves the HNSW
187
+ * index, the arguments, and the document store to the directory.
188
+ * @param directory The directory to which to save the vector store.
189
+ * @returns A Promise that resolves when the vector store has been saved.
190
+ */
147
191
  async save(directory) {
148
192
  const fs = await import("node:fs/promises");
149
193
  const path = await import("node:path");
@@ -154,6 +198,14 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
154
198
  await fs.writeFile(path.join(directory, "docstore.json"), JSON.stringify(Array.from(this.docstore._docs.entries()))),
155
199
  ]);
156
200
  }
201
+ /**
202
+ * Static method to load a vector store from a directory. It reads the
203
+ * HNSW index, the arguments, and the document store from the directory,
204
+ * then creates a new HNSWLib instance with these values.
205
+ * @param directory The directory from which to load the vector store.
206
+ * @param embeddings The embeddings to be used by the HNSWLib instance.
207
+ * @returns A Promise that resolves to a new HNSWLib instance.
208
+ */
157
209
  static async load(directory, embeddings) {
158
210
  const fs = await import("node:fs/promises");
159
211
  const path = await import("node:path");
@@ -169,6 +221,16 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
169
221
  args.index = index;
170
222
  return new HNSWLib(embeddings, args);
171
223
  }
224
+ /**
225
+ * Static method to create a new HNSWLib instance from texts and metadata.
226
+ * It creates a new Document instance for each text and metadata, then
227
+ * calls the fromDocuments method to create the HNSWLib instance.
228
+ * @param texts The texts to be used to create the documents.
229
+ * @param metadatas The metadata to be used to create the documents.
230
+ * @param embeddings The embeddings to be used by the HNSWLib instance.
231
+ * @param dbConfig An optional configuration object for the document store.
232
+ * @returns A Promise that resolves to a new HNSWLib instance.
233
+ */
172
234
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
173
235
  const docs = [];
174
236
  for (let i = 0; i < texts.length; i += 1) {
@@ -181,6 +243,15 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
181
243
  }
182
244
  return HNSWLib.fromDocuments(docs, embeddings, dbConfig);
183
245
  }
246
+ /**
247
+ * Static method to create a new HNSWLib instance from documents. It
248
+ * creates a new HNSWLib instance, adds the documents to it, then returns
249
+ * the instance.
250
+ * @param docs The documents to be added to the HNSWLib instance.
251
+ * @param embeddings The embeddings to be used by the HNSWLib instance.
252
+ * @param dbConfig An optional configuration object for the document store.
253
+ * @returns A Promise that resolves to a new HNSWLib instance.
254
+ */
184
255
  static async fromDocuments(docs, embeddings, dbConfig) {
185
256
  const args = {
186
257
  docstore: dbConfig?.docstore,
@@ -3,14 +3,29 @@ import { Embeddings } from "../embeddings/base.js";
3
3
  import { SaveableVectorStore } from "./base.js";
4
4
  import { Document } from "../document.js";
5
5
  import { SynchronousInMemoryDocstore } from "../stores/doc/in_memory.js";
6
+ /**
7
+ * Interface for the base configuration of HNSWLib. It includes the space
8
+ * name and the number of dimensions.
9
+ */
6
10
  export interface HNSWLibBase {
7
11
  space: SpaceName;
8
12
  numDimensions?: number;
9
13
  }
14
+ /**
15
+ * Interface for the arguments that can be passed to the HNSWLib
16
+ * constructor. It extends HNSWLibBase and includes properties for the
17
+ * document store and HNSW index.
18
+ */
10
19
  export interface HNSWLibArgs extends HNSWLibBase {
11
20
  docstore?: SynchronousInMemoryDocstore;
12
21
  index?: HierarchicalNSWT;
13
22
  }
23
+ /**
24
+ * Class that implements a vector store using Hierarchical Navigable Small
25
+ * World (HNSW) graphs. It extends the SaveableVectorStore class and
26
+ * provides methods for adding documents and vectors, performing
27
+ * similarity searches, and saving and loading the vector store.
28
+ */
14
29
  export declare class HNSWLib extends SaveableVectorStore {
15
30
  FilterType: (doc: Document) => boolean;
16
31
  _index?: HierarchicalNSWT;
@@ -18,21 +33,86 @@ export declare class HNSWLib extends SaveableVectorStore {
18
33
  args: HNSWLibBase;
19
34
  _vectorstoreType(): string;
20
35
  constructor(embeddings: Embeddings, args: HNSWLibArgs);
36
+ /**
37
+ * Method to add documents to the vector store. It first converts the
38
+ * documents to vectors using the embeddings, then adds the vectors to the
39
+ * vector store.
40
+ * @param documents The documents to be added to the vector store.
41
+ * @returns A Promise that resolves when the documents have been added.
42
+ */
21
43
  addDocuments(documents: Document[]): Promise<void>;
22
44
  private static getHierarchicalNSW;
23
45
  private initIndex;
24
46
  get index(): HierarchicalNSWT;
25
47
  private set index(value);
48
+ /**
49
+ * Method to add vectors to the vector store. It first initializes the
50
+ * index if it hasn't been initialized yet, then adds the vectors to the
51
+ * index and the documents to the document store.
52
+ * @param vectors The vectors to be added to the vector store.
53
+ * @param documents The documents corresponding to the vectors.
54
+ * @returns A Promise that resolves when the vectors and documents have been added.
55
+ */
26
56
  addVectors(vectors: number[][], documents: Document[]): Promise<void>;
57
+ /**
58
+ * Method to perform a similarity search in the vector store using a query
59
+ * vector. It returns the k most similar documents along with their
60
+ * similarity scores. An optional filter function can be provided to
61
+ * filter the documents.
62
+ * @param query The query vector.
63
+ * @param k The number of most similar documents to return.
64
+ * @param filter An optional filter function to filter the documents.
65
+ * @returns A Promise that resolves to an array of tuples, where each tuple contains a document and its similarity score.
66
+ */
27
67
  similaritySearchVectorWithScore(query: number[], k: number, filter?: this["FilterType"]): Promise<[Document<Record<string, any>>, number][]>;
68
+ /**
69
+ * Method to delete the vector store from a directory. It deletes the
70
+ * hnswlib.index file, the docstore.json file, and the args.json file from
71
+ * the directory.
72
+ * @param params An object with a directory property that specifies the directory from which to delete the vector store.
73
+ * @returns A Promise that resolves when the vector store has been deleted.
74
+ */
28
75
  delete(params: {
29
76
  directory: string;
30
77
  }): Promise<void>;
78
+ /**
79
+ * Method to save the vector store to a directory. It saves the HNSW
80
+ * index, the arguments, and the document store to the directory.
81
+ * @param directory The directory to which to save the vector store.
82
+ * @returns A Promise that resolves when the vector store has been saved.
83
+ */
31
84
  save(directory: string): Promise<void>;
85
+ /**
86
+ * Static method to load a vector store from a directory. It reads the
87
+ * HNSW index, the arguments, and the document store from the directory,
88
+ * then creates a new HNSWLib instance with these values.
89
+ * @param directory The directory from which to load the vector store.
90
+ * @param embeddings The embeddings to be used by the HNSWLib instance.
91
+ * @returns A Promise that resolves to a new HNSWLib instance.
92
+ */
32
93
  static load(directory: string, embeddings: Embeddings): Promise<HNSWLib>;
94
+ /**
95
+ * Static method to create a new HNSWLib instance from texts and metadata.
96
+ * It creates a new Document instance for each text and metadata, then
97
+ * calls the fromDocuments method to create the HNSWLib instance.
98
+ * @param texts The texts to be used to create the documents.
99
+ * @param metadatas The metadata to be used to create the documents.
100
+ * @param embeddings The embeddings to be used by the HNSWLib instance.
101
+ * @param dbConfig An optional configuration object for the document store.
102
+ * @returns A Promise that resolves to a new HNSWLib instance.
103
+ */
33
104
  static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, dbConfig?: {
34
105
  docstore?: SynchronousInMemoryDocstore;
35
106
  }): Promise<HNSWLib>;
107
+ /**
108
+ * Static method to create a new HNSWLib instance from documents. It
109
+ * creates a new HNSWLib instance, adds the documents to it, then returns
110
+ * the instance.
111
+ * @param docs The documents to be added to the HNSWLib instance.
112
+ * @param embeddings The embeddings to be used by the HNSWLib instance.
113
+ * @param dbConfig An optional configuration object for the document store.
114
+ * @returns A Promise that resolves to a new HNSWLib instance.
115
+ */
36
116
  static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig?: {
37
117
  docstore?: SynchronousInMemoryDocstore;
38
118
  }): Promise<HNSWLib>;
@@ -1,6 +1,12 @@
1
1
  import { SaveableVectorStore } from "./base.js";
2
2
  import { Document } from "../document.js";
3
3
  import { SynchronousInMemoryDocstore } from "../stores/doc/in_memory.js";
4
+ /**
5
+ * Class that implements a vector store using Hierarchical Navigable Small
6
+ * World (HNSW) graphs. It extends the SaveableVectorStore class and
7
+ * provides methods for adding documents and vectors, performing
8
+ * similarity searches, and saving and loading the vector store.
9
+ */
4
10
  export class HNSWLib extends SaveableVectorStore {
5
11
  _vectorstoreType() {
6
12
  return "hnswlib";
@@ -30,6 +36,13 @@ export class HNSWLib extends SaveableVectorStore {
30
36
  this.embeddings = embeddings;
31
37
  this.docstore = args?.docstore ?? new SynchronousInMemoryDocstore();
32
38
  }
39
+ /**
40
+ * Method to add documents to the vector store. It first converts the
41
+ * documents to vectors using the embeddings, then adds the vectors to the
42
+ * vector store.
43
+ * @param documents The documents to be added to the vector store.
44
+ * @returns A Promise that resolves when the documents have been added.
45
+ */
33
46
  async addDocuments(documents) {
34
47
  const texts = documents.map(({ pageContent }) => pageContent);
35
48
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
@@ -64,6 +77,14 @@ export class HNSWLib extends SaveableVectorStore {
64
77
  set index(index) {
65
78
  this._index = index;
66
79
  }
80
+ /**
81
+ * Method to add vectors to the vector store. It first initializes the
82
+ * index if it hasn't been initialized yet, then adds the vectors to the
83
+ * index and the documents to the document store.
84
+ * @param vectors The vectors to be added to the vector store.
85
+ * @param documents The documents corresponding to the vectors.
86
+ * @returns A Promise that resolves when the vectors and documents have been added.
87
+ */
67
88
  async addVectors(vectors, documents) {
68
89
  if (vectors.length === 0) {
69
90
  return;
@@ -92,6 +113,16 @@ export class HNSWLib extends SaveableVectorStore {
92
113
  }
93
114
  this.docstore.add(toSave);
94
115
  }
116
+ /**
117
+ * Method to perform a similarity search in the vector store using a query
118
+ * vector. It returns the k most similar documents along with their
119
+ * similarity scores. An optional filter function can be provided to
120
+ * filter the documents.
121
+ * @param query The query vector.
122
+ * @param k The number of most similar documents to return.
123
+ * @param filter An optional filter function to filter the documents.
124
+ * @returns A Promise that resolves to an array of tuples, where each tuple contains a document and its similarity score.
125
+ */
95
126
  async similaritySearchVectorWithScore(query, k, filter) {
96
127
  if (this.args.numDimensions && !this._index) {
97
128
  await this.initIndex([[]]);
@@ -122,6 +153,13 @@ export class HNSWLib extends SaveableVectorStore {
122
153
  result.distances[resultIndex],
123
154
  ]);
124
155
  }
156
+ /**
157
+ * Method to delete the vector store from a directory. It deletes the
158
+ * hnswlib.index file, the docstore.json file, and the args.json file from
159
+ * the directory.
160
+ * @param params An object with a directory property that specifies the directory from which to delete the vector store.
161
+ * @returns A Promise that resolves when the vector store has been deleted.
162
+ */
125
163
  async delete(params) {
126
164
  const fs = await import("node:fs/promises");
127
165
  const path = await import("node:path");
@@ -141,6 +179,12 @@ export class HNSWLib extends SaveableVectorStore {
141
179
  await fs.rm(path.join(params.directory, "args.json"), { force: true }),
142
180
  ]);
143
181
  }
182
+ /**
183
+ * Method to save the vector store to a directory. It saves the HNSW
184
+ * index, the arguments, and the document store to the directory.
185
+ * @param directory The directory to which to save the vector store.
186
+ * @returns A Promise that resolves when the vector store has been saved.
187
+ */
144
188
  async save(directory) {
145
189
  const fs = await import("node:fs/promises");
146
190
  const path = await import("node:path");
@@ -151,6 +195,14 @@ export class HNSWLib extends SaveableVectorStore {
151
195
  await fs.writeFile(path.join(directory, "docstore.json"), JSON.stringify(Array.from(this.docstore._docs.entries()))),
152
196
  ]);
153
197
  }
198
+ /**
199
+ * Static method to load a vector store from a directory. It reads the
200
+ * HNSW index, the arguments, and the document store from the directory,
201
+ * then creates a new HNSWLib instance with these values.
202
+ * @param directory The directory from which to load the vector store.
203
+ * @param embeddings The embeddings to be used by the HNSWLib instance.
204
+ * @returns A Promise that resolves to a new HNSWLib instance.
205
+ */
154
206
  static async load(directory, embeddings) {
155
207
  const fs = await import("node:fs/promises");
156
208
  const path = await import("node:path");
@@ -166,6 +218,16 @@ export class HNSWLib extends SaveableVectorStore {
166
218
  args.index = index;
167
219
  return new HNSWLib(embeddings, args);
168
220
  }
221
+ /**
222
+ * Static method to create a new HNSWLib instance from texts and metadata.
223
+ * It creates a new Document instance for each text and metadata, then
224
+ * calls the fromDocuments method to create the HNSWLib instance.
225
+ * @param texts The texts to be used to create the documents.
226
+ * @param metadatas The metadata to be used to create the documents.
227
+ * @param embeddings The embeddings to be used by the HNSWLib instance.
228
+ * @param dbConfig An optional configuration object for the document store.
229
+ * @returns A Promise that resolves to a new HNSWLib instance.
230
+ */
169
231
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
170
232
  const docs = [];
171
233
  for (let i = 0; i < texts.length; i += 1) {
@@ -178,6 +240,15 @@ export class HNSWLib extends SaveableVectorStore {
178
240
  }
179
241
  return HNSWLib.fromDocuments(docs, embeddings, dbConfig);
180
242
  }
243
+ /**
244
+ * Static method to create a new HNSWLib instance from documents. It
245
+ * creates a new HNSWLib instance, adds the documents to it, then returns
246
+ * the instance.
247
+ * @param docs The documents to be added to the HNSWLib instance.
248
+ * @param embeddings The embeddings to be used by the HNSWLib instance.
249
+ * @param dbConfig An optional configuration object for the document store.
250
+ * @returns A Promise that resolves to a new HNSWLib instance.
251
+ */
181
252
  static async fromDocuments(docs, embeddings, dbConfig) {
182
253
  const args = {
183
254
  docstore: dbConfig?.docstore,
@@ -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
  }