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
@@ -27,6 +27,12 @@ exports.ElasticVectorSearch = void 0;
27
27
  const uuid = __importStar(require("uuid"));
28
28
  const document_js_1 = require("../document.cjs");
29
29
  const base_js_1 = require("./base.cjs");
30
+ /**
31
+ * Class for interacting with an Elasticsearch database. It extends the
32
+ * VectorStore base class and provides methods for adding documents and
33
+ * vectors to the Elasticsearch database, performing similarity searches,
34
+ * deleting documents, and more.
35
+ */
30
36
  class ElasticVectorSearch extends base_js_1.VectorStore {
31
37
  _vectorstoreType() {
32
38
  return "elasticsearch";
@@ -83,10 +89,27 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
83
89
  this.client = args.client;
84
90
  this.indexName = args.indexName ?? "documents";
85
91
  }
92
+ /**
93
+ * Method to add documents to the Elasticsearch database. It first
94
+ * converts the documents to vectors using the embeddings, then adds the
95
+ * vectors to the database.
96
+ * @param documents The documents to add to the database.
97
+ * @param options Optional parameter that can contain the IDs for the documents.
98
+ * @returns A promise that resolves with the IDs of the added documents.
99
+ */
86
100
  async addDocuments(documents, options) {
87
101
  const texts = documents.map(({ pageContent }) => pageContent);
88
102
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents, options);
89
103
  }
104
+ /**
105
+ * Method to add vectors to the Elasticsearch database. It ensures the
106
+ * index exists, then adds the vectors and their corresponding documents
107
+ * to the database.
108
+ * @param vectors The vectors to add to the database.
109
+ * @param documents The documents corresponding to the vectors.
110
+ * @param options Optional parameter that can contain the IDs for the documents.
111
+ * @returns A promise that resolves with the IDs of the added documents.
112
+ */
90
113
  async addVectors(vectors, documents, options) {
91
114
  await this.ensureIndexExists(vectors[0].length, this.engine, this.similarity, this.efConstruction, this.m);
92
115
  const documentIds = options?.ids ?? Array.from({ length: vectors.length }, () => uuid.v4());
@@ -106,6 +129,15 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
106
129
  await this.client.bulk({ refresh: true, operations });
107
130
  return documentIds;
108
131
  }
132
+ /**
133
+ * Method to perform a similarity search in the Elasticsearch database
134
+ * using a vector. It returns the k most similar documents along with
135
+ * their similarity scores.
136
+ * @param query The query vector.
137
+ * @param k The number of most similar documents to return.
138
+ * @param filter Optional filter to apply to the search.
139
+ * @returns A promise that resolves with an array of tuples, where each tuple contains a Document and its similarity score.
140
+ */
109
141
  async similaritySearchVectorWithScore(query, k, filter) {
110
142
  const result = await this.client.search({
111
143
  index: this.indexName,
@@ -127,6 +159,11 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
127
159
  hit._score,
128
160
  ]);
129
161
  }
162
+ /**
163
+ * Method to delete documents from the Elasticsearch database.
164
+ * @param params Object containing the IDs of the documents to delete.
165
+ * @returns A promise that resolves when the deletion is complete.
166
+ */
130
167
  async delete(params) {
131
168
  const operations = params.ids.map((id) => ({
132
169
  delete: {
@@ -136,6 +173,17 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
136
173
  }));
137
174
  await this.client.bulk({ refresh: true, operations });
138
175
  }
176
+ /**
177
+ * Static method to create an ElasticVectorSearch instance from texts. It
178
+ * creates Document instances from the texts and their corresponding
179
+ * metadata, then calls the fromDocuments method to create the
180
+ * ElasticVectorSearch instance.
181
+ * @param texts The texts to create the ElasticVectorSearch instance from.
182
+ * @param metadatas The metadata corresponding to the texts.
183
+ * @param embeddings The embeddings to use for the documents.
184
+ * @param args The arguments to create the Elasticsearch client.
185
+ * @returns A promise that resolves with the created ElasticVectorSearch instance.
186
+ */
139
187
  static fromTexts(texts, metadatas, embeddings, args) {
140
188
  const documents = texts.map((text, idx) => {
141
189
  const metadata = Array.isArray(metadatas) ? metadatas[idx] : metadatas;
@@ -143,11 +191,28 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
143
191
  });
144
192
  return ElasticVectorSearch.fromDocuments(documents, embeddings, args);
145
193
  }
194
+ /**
195
+ * Static method to create an ElasticVectorSearch instance from Document
196
+ * instances. It adds the documents to the Elasticsearch database, then
197
+ * returns the ElasticVectorSearch instance.
198
+ * @param docs The Document instances to create the ElasticVectorSearch instance from.
199
+ * @param embeddings The embeddings to use for the documents.
200
+ * @param dbConfig The configuration for the Elasticsearch database.
201
+ * @returns A promise that resolves with the created ElasticVectorSearch instance.
202
+ */
146
203
  static async fromDocuments(docs, embeddings, dbConfig) {
147
204
  const store = new ElasticVectorSearch(embeddings, dbConfig);
148
205
  await store.addDocuments(docs).then(() => store);
149
206
  return store;
150
207
  }
208
+ /**
209
+ * Static method to create an ElasticVectorSearch instance from an
210
+ * existing index in the Elasticsearch database. It checks if the index
211
+ * exists, then returns the ElasticVectorSearch instance if it does.
212
+ * @param embeddings The embeddings to use for the documents.
213
+ * @param dbConfig The configuration for the Elasticsearch database.
214
+ * @returns A promise that resolves with the created ElasticVectorSearch instance if the index exists, otherwise it throws an error.
215
+ */
151
216
  static async fromExistingIndex(embeddings, dbConfig) {
152
217
  const store = new ElasticVectorSearch(embeddings, dbConfig);
153
218
  const exists = await store.doesIndexExist();
@@ -200,9 +265,17 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
200
265
  }
201
266
  return result;
202
267
  }
268
+ /**
269
+ * Method to check if an index exists in the Elasticsearch database.
270
+ * @returns A promise that resolves with a boolean indicating whether the index exists.
271
+ */
203
272
  async doesIndexExist() {
204
273
  return await this.client.indices.exists({ index: this.indexName });
205
274
  }
275
+ /**
276
+ * Method to delete an index from the Elasticsearch database if it exists.
277
+ * @returns A promise that resolves when the deletion is complete.
278
+ */
206
279
  async deleteIfExists() {
207
280
  const indexExists = await this.doesIndexExist();
208
281
  if (!indexExists)
@@ -2,8 +2,18 @@ import { Client } from "@elastic/elasticsearch";
2
2
  import { Embeddings } from "../embeddings/base.js";
3
3
  import { Document } from "../document.js";
4
4
  import { VectorStore } from "./base.js";
5
+ /**
6
+ * Type representing the k-nearest neighbors (k-NN) engine used in
7
+ * Elasticsearch.
8
+ */
5
9
  type ElasticKnnEngine = "hnsw";
10
+ /**
11
+ * Type representing the similarity measure used in Elasticsearch.
12
+ */
6
13
  type ElasticSimilarity = "l2_norm" | "dot_product" | "cosine";
14
+ /**
15
+ * Interface defining the options for vector search in Elasticsearch.
16
+ */
7
17
  interface VectorSearchOptions {
8
18
  readonly engine?: ElasticKnnEngine;
9
19
  readonly similarity?: ElasticSimilarity;
@@ -11,12 +21,25 @@ interface VectorSearchOptions {
11
21
  readonly efConstruction?: number;
12
22
  readonly candidates?: number;
13
23
  }
24
+ /**
25
+ * Interface defining the arguments required to create an Elasticsearch
26
+ * client.
27
+ */
14
28
  export interface ElasticClientArgs {
15
29
  readonly client: Client;
16
30
  readonly indexName?: string;
17
31
  readonly vectorSearchOptions?: VectorSearchOptions;
18
32
  }
33
+ /**
34
+ * Type representing a filter object in Elasticsearch.
35
+ */
19
36
  type ElasticFilter = object;
37
+ /**
38
+ * Class for interacting with an Elasticsearch database. It extends the
39
+ * VectorStore base class and provides methods for adding documents and
40
+ * vectors to the Elasticsearch database, performing similarity searches,
41
+ * deleting documents, and more.
42
+ */
20
43
  export declare class ElasticVectorSearch extends VectorStore {
21
44
  FilterType: ElasticFilter;
22
45
  private readonly client;
@@ -28,22 +51,89 @@ export declare class ElasticVectorSearch extends VectorStore {
28
51
  private readonly candidates;
29
52
  _vectorstoreType(): string;
30
53
  constructor(embeddings: Embeddings, args: ElasticClientArgs);
54
+ /**
55
+ * Method to add documents to the Elasticsearch database. It first
56
+ * converts the documents to vectors using the embeddings, then adds the
57
+ * vectors to the database.
58
+ * @param documents The documents to add to the database.
59
+ * @param options Optional parameter that can contain the IDs for the documents.
60
+ * @returns A promise that resolves with the IDs of the added documents.
61
+ */
31
62
  addDocuments(documents: Document[], options?: {
32
63
  ids?: string[];
33
64
  }): Promise<string[]>;
65
+ /**
66
+ * Method to add vectors to the Elasticsearch database. It ensures the
67
+ * index exists, then adds the vectors and their corresponding documents
68
+ * to the database.
69
+ * @param vectors The vectors to add to the database.
70
+ * @param documents The documents corresponding to the vectors.
71
+ * @param options Optional parameter that can contain the IDs for the documents.
72
+ * @returns A promise that resolves with the IDs of the added documents.
73
+ */
34
74
  addVectors(vectors: number[][], documents: Document[], options?: {
35
75
  ids?: string[];
36
76
  }): Promise<string[]>;
77
+ /**
78
+ * Method to perform a similarity search in the Elasticsearch database
79
+ * using a vector. It returns the k most similar documents along with
80
+ * their similarity scores.
81
+ * @param query The query vector.
82
+ * @param k The number of most similar documents to return.
83
+ * @param filter Optional filter to apply to the search.
84
+ * @returns A promise that resolves with an array of tuples, where each tuple contains a Document and its similarity score.
85
+ */
37
86
  similaritySearchVectorWithScore(query: number[], k: number, filter?: ElasticFilter | undefined): Promise<[Document, number][]>;
87
+ /**
88
+ * Method to delete documents from the Elasticsearch database.
89
+ * @param params Object containing the IDs of the documents to delete.
90
+ * @returns A promise that resolves when the deletion is complete.
91
+ */
38
92
  delete(params: {
39
93
  ids: string[];
40
94
  }): Promise<void>;
95
+ /**
96
+ * Static method to create an ElasticVectorSearch instance from texts. It
97
+ * creates Document instances from the texts and their corresponding
98
+ * metadata, then calls the fromDocuments method to create the
99
+ * ElasticVectorSearch instance.
100
+ * @param texts The texts to create the ElasticVectorSearch instance from.
101
+ * @param metadatas The metadata corresponding to the texts.
102
+ * @param embeddings The embeddings to use for the documents.
103
+ * @param args The arguments to create the Elasticsearch client.
104
+ * @returns A promise that resolves with the created ElasticVectorSearch instance.
105
+ */
41
106
  static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, args: ElasticClientArgs): Promise<ElasticVectorSearch>;
107
+ /**
108
+ * Static method to create an ElasticVectorSearch instance from Document
109
+ * instances. It adds the documents to the Elasticsearch database, then
110
+ * returns the ElasticVectorSearch instance.
111
+ * @param docs The Document instances to create the ElasticVectorSearch instance from.
112
+ * @param embeddings The embeddings to use for the documents.
113
+ * @param dbConfig The configuration for the Elasticsearch database.
114
+ * @returns A promise that resolves with the created ElasticVectorSearch instance.
115
+ */
42
116
  static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig: ElasticClientArgs): Promise<ElasticVectorSearch>;
117
+ /**
118
+ * Static method to create an ElasticVectorSearch instance from an
119
+ * existing index in the Elasticsearch database. It checks if the index
120
+ * exists, then returns the ElasticVectorSearch instance if it does.
121
+ * @param embeddings The embeddings to use for the documents.
122
+ * @param dbConfig The configuration for the Elasticsearch database.
123
+ * @returns A promise that resolves with the created ElasticVectorSearch instance if the index exists, otherwise it throws an error.
124
+ */
43
125
  static fromExistingIndex(embeddings: Embeddings, dbConfig: ElasticClientArgs): Promise<ElasticVectorSearch>;
44
126
  private ensureIndexExists;
45
127
  private buildMetadataTerms;
128
+ /**
129
+ * Method to check if an index exists in the Elasticsearch database.
130
+ * @returns A promise that resolves with a boolean indicating whether the index exists.
131
+ */
46
132
  doesIndexExist(): Promise<boolean>;
133
+ /**
134
+ * Method to delete an index from the Elasticsearch database if it exists.
135
+ * @returns A promise that resolves when the deletion is complete.
136
+ */
47
137
  deleteIfExists(): Promise<void>;
48
138
  }
49
139
  export {};
@@ -1,6 +1,12 @@
1
1
  import * as uuid from "uuid";
2
2
  import { Document } from "../document.js";
3
3
  import { VectorStore } from "./base.js";
4
+ /**
5
+ * Class for interacting with an Elasticsearch database. It extends the
6
+ * VectorStore base class and provides methods for adding documents and
7
+ * vectors to the Elasticsearch database, performing similarity searches,
8
+ * deleting documents, and more.
9
+ */
4
10
  export class ElasticVectorSearch extends VectorStore {
5
11
  _vectorstoreType() {
6
12
  return "elasticsearch";
@@ -57,10 +63,27 @@ export class ElasticVectorSearch extends VectorStore {
57
63
  this.client = args.client;
58
64
  this.indexName = args.indexName ?? "documents";
59
65
  }
66
+ /**
67
+ * Method to add documents to the Elasticsearch database. It first
68
+ * converts the documents to vectors using the embeddings, then adds the
69
+ * vectors to the database.
70
+ * @param documents The documents to add to the database.
71
+ * @param options Optional parameter that can contain the IDs for the documents.
72
+ * @returns A promise that resolves with the IDs of the added documents.
73
+ */
60
74
  async addDocuments(documents, options) {
61
75
  const texts = documents.map(({ pageContent }) => pageContent);
62
76
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents, options);
63
77
  }
78
+ /**
79
+ * Method to add vectors to the Elasticsearch database. It ensures the
80
+ * index exists, then adds the vectors and their corresponding documents
81
+ * to the database.
82
+ * @param vectors The vectors to add to the database.
83
+ * @param documents The documents corresponding to the vectors.
84
+ * @param options Optional parameter that can contain the IDs for the documents.
85
+ * @returns A promise that resolves with the IDs of the added documents.
86
+ */
64
87
  async addVectors(vectors, documents, options) {
65
88
  await this.ensureIndexExists(vectors[0].length, this.engine, this.similarity, this.efConstruction, this.m);
66
89
  const documentIds = options?.ids ?? Array.from({ length: vectors.length }, () => uuid.v4());
@@ -80,6 +103,15 @@ export class ElasticVectorSearch extends VectorStore {
80
103
  await this.client.bulk({ refresh: true, operations });
81
104
  return documentIds;
82
105
  }
106
+ /**
107
+ * Method to perform a similarity search in the Elasticsearch database
108
+ * using a vector. It returns the k most similar documents along with
109
+ * their similarity scores.
110
+ * @param query The query vector.
111
+ * @param k The number of most similar documents to return.
112
+ * @param filter Optional filter to apply to the search.
113
+ * @returns A promise that resolves with an array of tuples, where each tuple contains a Document and its similarity score.
114
+ */
83
115
  async similaritySearchVectorWithScore(query, k, filter) {
84
116
  const result = await this.client.search({
85
117
  index: this.indexName,
@@ -101,6 +133,11 @@ export class ElasticVectorSearch extends VectorStore {
101
133
  hit._score,
102
134
  ]);
103
135
  }
136
+ /**
137
+ * Method to delete documents from the Elasticsearch database.
138
+ * @param params Object containing the IDs of the documents to delete.
139
+ * @returns A promise that resolves when the deletion is complete.
140
+ */
104
141
  async delete(params) {
105
142
  const operations = params.ids.map((id) => ({
106
143
  delete: {
@@ -110,6 +147,17 @@ export class ElasticVectorSearch extends VectorStore {
110
147
  }));
111
148
  await this.client.bulk({ refresh: true, operations });
112
149
  }
150
+ /**
151
+ * Static method to create an ElasticVectorSearch instance from texts. It
152
+ * creates Document instances from the texts and their corresponding
153
+ * metadata, then calls the fromDocuments method to create the
154
+ * ElasticVectorSearch instance.
155
+ * @param texts The texts to create the ElasticVectorSearch instance from.
156
+ * @param metadatas The metadata corresponding to the texts.
157
+ * @param embeddings The embeddings to use for the documents.
158
+ * @param args The arguments to create the Elasticsearch client.
159
+ * @returns A promise that resolves with the created ElasticVectorSearch instance.
160
+ */
113
161
  static fromTexts(texts, metadatas, embeddings, args) {
114
162
  const documents = texts.map((text, idx) => {
115
163
  const metadata = Array.isArray(metadatas) ? metadatas[idx] : metadatas;
@@ -117,11 +165,28 @@ export class ElasticVectorSearch extends VectorStore {
117
165
  });
118
166
  return ElasticVectorSearch.fromDocuments(documents, embeddings, args);
119
167
  }
168
+ /**
169
+ * Static method to create an ElasticVectorSearch instance from Document
170
+ * instances. It adds the documents to the Elasticsearch database, then
171
+ * returns the ElasticVectorSearch instance.
172
+ * @param docs The Document instances to create the ElasticVectorSearch instance from.
173
+ * @param embeddings The embeddings to use for the documents.
174
+ * @param dbConfig The configuration for the Elasticsearch database.
175
+ * @returns A promise that resolves with the created ElasticVectorSearch instance.
176
+ */
120
177
  static async fromDocuments(docs, embeddings, dbConfig) {
121
178
  const store = new ElasticVectorSearch(embeddings, dbConfig);
122
179
  await store.addDocuments(docs).then(() => store);
123
180
  return store;
124
181
  }
182
+ /**
183
+ * Static method to create an ElasticVectorSearch instance from an
184
+ * existing index in the Elasticsearch database. It checks if the index
185
+ * exists, then returns the ElasticVectorSearch instance if it does.
186
+ * @param embeddings The embeddings to use for the documents.
187
+ * @param dbConfig The configuration for the Elasticsearch database.
188
+ * @returns A promise that resolves with the created ElasticVectorSearch instance if the index exists, otherwise it throws an error.
189
+ */
125
190
  static async fromExistingIndex(embeddings, dbConfig) {
126
191
  const store = new ElasticVectorSearch(embeddings, dbConfig);
127
192
  const exists = await store.doesIndexExist();
@@ -174,9 +239,17 @@ export class ElasticVectorSearch extends VectorStore {
174
239
  }
175
240
  return result;
176
241
  }
242
+ /**
243
+ * Method to check if an index exists in the Elasticsearch database.
244
+ * @returns A promise that resolves with a boolean indicating whether the index exists.
245
+ */
177
246
  async doesIndexExist() {
178
247
  return await this.client.indices.exists({ index: this.indexName });
179
248
  }
249
+ /**
250
+ * Method to delete an index from the Elasticsearch database if it exists.
251
+ * @returns A promise that resolves when the deletion is complete.
252
+ */
180
253
  async deleteIfExists() {
181
254
  const indexExists = await this.doesIndexExist();
182
255
  if (!indexExists)
@@ -28,6 +28,11 @@ const uuid = __importStar(require("uuid"));
28
28
  const base_js_1 = require("./base.cjs");
29
29
  const document_js_1 = require("../document.cjs");
30
30
  const in_memory_js_1 = require("../stores/doc/in_memory.cjs");
31
+ /**
32
+ * A class that wraps the FAISS (Facebook AI Similarity Search) vector
33
+ * database for efficient similarity search and clustering of dense
34
+ * vectors.
35
+ */
31
36
  class FaissStore extends base_js_1.SaveableVectorStore {
32
37
  _vectorstoreType() {
33
38
  return "faiss";
@@ -70,6 +75,11 @@ class FaissStore extends base_js_1.SaveableVectorStore {
70
75
  this.embeddings = embeddings;
71
76
  this.docstore = args?.docstore ?? new in_memory_js_1.SynchronousInMemoryDocstore();
72
77
  }
78
+ /**
79
+ * Adds an array of Document objects to the store.
80
+ * @param documents An array of Document objects.
81
+ * @returns A Promise that resolves when the documents have been added.
82
+ */
73
83
  async addDocuments(documents) {
74
84
  const texts = documents.map(({ pageContent }) => pageContent);
75
85
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
@@ -83,6 +93,13 @@ class FaissStore extends base_js_1.SaveableVectorStore {
83
93
  set index(index) {
84
94
  this._index = index;
85
95
  }
96
+ /**
97
+ * Adds an array of vectors and their corresponding Document objects to
98
+ * the store.
99
+ * @param vectors An array of vectors.
100
+ * @param documents An array of Document objects corresponding to the vectors.
101
+ * @returns A Promise that resolves with an array of document IDs when the vectors and documents have been added.
102
+ */
86
103
  async addVectors(vectors, documents) {
87
104
  if (vectors.length === 0) {
88
105
  return [];
@@ -111,6 +128,13 @@ class FaissStore extends base_js_1.SaveableVectorStore {
111
128
  }
112
129
  return documentIds;
113
130
  }
131
+ /**
132
+ * Performs a similarity search in the vector store using a query vector
133
+ * and returns the top k results along with their scores.
134
+ * @param query A query vector.
135
+ * @param k The number of top results to return.
136
+ * @returns A Promise that resolves with an array of tuples, each containing a Document and its corresponding score.
137
+ */
114
138
  async similaritySearchVectorWithScore(query, k) {
115
139
  const d = this.index.getDimension();
116
140
  if (query.length !== d) {
@@ -128,6 +152,11 @@ class FaissStore extends base_js_1.SaveableVectorStore {
128
152
  return [this.docstore.search(uuid), result.distances[index]];
129
153
  });
130
154
  }
155
+ /**
156
+ * Saves the current state of the FaissStore to a specified directory.
157
+ * @param directory The directory to save the state to.
158
+ * @returns A Promise that resolves when the state has been saved.
159
+ */
131
160
  async save(directory) {
132
161
  const fs = await import("node:fs/promises");
133
162
  const path = await import("node:path");
@@ -140,6 +169,11 @@ class FaissStore extends base_js_1.SaveableVectorStore {
140
169
  ])),
141
170
  ]);
142
171
  }
172
+ /**
173
+ * Merges the current FaissStore with another FaissStore.
174
+ * @param targetIndex The FaissStore to merge with.
175
+ * @returns A Promise that resolves with an array of document IDs when the merge is complete.
176
+ */
143
177
  async mergeFrom(targetIndex) {
144
178
  const targetIndexDimensions = targetIndex.index.getDimension();
145
179
  if (!this._index) {
@@ -166,6 +200,12 @@ class FaissStore extends base_js_1.SaveableVectorStore {
166
200
  this.index.mergeFrom(targetIndex.index);
167
201
  return documentIds;
168
202
  }
203
+ /**
204
+ * Loads a FaissStore from a specified directory.
205
+ * @param directory The directory to load the FaissStore from.
206
+ * @param embeddings An Embeddings object.
207
+ * @returns A Promise that resolves with a new FaissStore instance.
208
+ */
169
209
  static async load(directory, embeddings) {
170
210
  const fs = await import("node:fs/promises");
171
211
  const path = await import("node:path");
@@ -243,6 +283,15 @@ class FaissStore extends base_js_1.SaveableVectorStore {
243
283
  mapping: store.mapping,
244
284
  });
245
285
  }
286
+ /**
287
+ * Creates a new FaissStore from an array of texts, their corresponding
288
+ * metadata, and an Embeddings object.
289
+ * @param texts An array of texts.
290
+ * @param metadatas An array of metadata corresponding to the texts, or a single metadata object to be used for all texts.
291
+ * @param embeddings An Embeddings object.
292
+ * @param dbConfig An optional configuration object for the document store.
293
+ * @returns A Promise that resolves with a new FaissStore instance.
294
+ */
246
295
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
247
296
  const docs = [];
248
297
  for (let i = 0; i < texts.length; i += 1) {
@@ -255,6 +304,14 @@ class FaissStore extends base_js_1.SaveableVectorStore {
255
304
  }
256
305
  return this.fromDocuments(docs, embeddings, dbConfig);
257
306
  }
307
+ /**
308
+ * Creates a new FaissStore from an array of Document objects and an
309
+ * Embeddings object.
310
+ * @param docs An array of Document objects.
311
+ * @param embeddings An Embeddings object.
312
+ * @param dbConfig An optional configuration object for the document store.
313
+ * @returns A Promise that resolves with a new FaissStore instance.
314
+ */
258
315
  static async fromDocuments(docs, embeddings, dbConfig) {
259
316
  const args = {
260
317
  docstore: dbConfig?.docstore,
@@ -263,6 +320,14 @@ class FaissStore extends base_js_1.SaveableVectorStore {
263
320
  await instance.addDocuments(docs);
264
321
  return instance;
265
322
  }
323
+ /**
324
+ * Creates a new FaissStore from an existing FaissStore and an Embeddings
325
+ * object.
326
+ * @param targetIndex An existing FaissStore.
327
+ * @param embeddings An Embeddings object.
328
+ * @param dbConfig An optional configuration object for the document store.
329
+ * @returns A Promise that resolves with a new FaissStore instance.
330
+ */
266
331
  static async fromIndex(targetIndex, embeddings, dbConfig) {
267
332
  const args = {
268
333
  docstore: dbConfig?.docstore,
@@ -4,11 +4,20 @@ import { Embeddings } from "../embeddings/base.js";
4
4
  import { SaveableVectorStore } from "./base.js";
5
5
  import { Document } from "../document.js";
6
6
  import { SynchronousInMemoryDocstore } from "../stores/doc/in_memory.js";
7
+ /**
8
+ * Interface for the arguments required to initialize a FaissStore
9
+ * instance.
10
+ */
7
11
  export interface FaissLibArgs {
8
12
  docstore?: SynchronousInMemoryDocstore;
9
13
  index?: IndexFlatL2;
10
14
  mapping?: Record<number, string>;
11
15
  }
16
+ /**
17
+ * A class that wraps the FAISS (Facebook AI Similarity Search) vector
18
+ * database for efficient similarity search and clustering of dense
19
+ * vectors.
20
+ */
12
21
  export declare class FaissStore extends SaveableVectorStore {
13
22
  _index?: IndexFlatL2;
14
23
  _mapping: Record<number, string>;
@@ -18,21 +27,81 @@ export declare class FaissStore extends SaveableVectorStore {
18
27
  getMapping(): Record<number, string>;
19
28
  getDocstore(): SynchronousInMemoryDocstore;
20
29
  constructor(embeddings: Embeddings, args: FaissLibArgs);
30
+ /**
31
+ * Adds an array of Document objects to the store.
32
+ * @param documents An array of Document objects.
33
+ * @returns A Promise that resolves when the documents have been added.
34
+ */
21
35
  addDocuments(documents: Document[]): Promise<string[]>;
22
36
  get index(): IndexFlatL2;
23
37
  private set index(value);
38
+ /**
39
+ * Adds an array of vectors and their corresponding Document objects to
40
+ * the store.
41
+ * @param vectors An array of vectors.
42
+ * @param documents An array of Document objects corresponding to the vectors.
43
+ * @returns A Promise that resolves with an array of document IDs when the vectors and documents have been added.
44
+ */
24
45
  addVectors(vectors: number[][], documents: Document[]): Promise<string[]>;
46
+ /**
47
+ * Performs a similarity search in the vector store using a query vector
48
+ * and returns the top k results along with their scores.
49
+ * @param query A query vector.
50
+ * @param k The number of top results to return.
51
+ * @returns A Promise that resolves with an array of tuples, each containing a Document and its corresponding score.
52
+ */
25
53
  similaritySearchVectorWithScore(query: number[], k: number): Promise<[Document<Record<string, any>>, number][]>;
54
+ /**
55
+ * Saves the current state of the FaissStore to a specified directory.
56
+ * @param directory The directory to save the state to.
57
+ * @returns A Promise that resolves when the state has been saved.
58
+ */
26
59
  save(directory: string): Promise<void>;
60
+ /**
61
+ * Merges the current FaissStore with another FaissStore.
62
+ * @param targetIndex The FaissStore to merge with.
63
+ * @returns A Promise that resolves with an array of document IDs when the merge is complete.
64
+ */
27
65
  mergeFrom(targetIndex: FaissStore): Promise<string[]>;
66
+ /**
67
+ * Loads a FaissStore from a specified directory.
68
+ * @param directory The directory to load the FaissStore from.
69
+ * @param embeddings An Embeddings object.
70
+ * @returns A Promise that resolves with a new FaissStore instance.
71
+ */
28
72
  static load(directory: string, embeddings: Embeddings): Promise<FaissStore>;
29
73
  static loadFromPython(directory: string, embeddings: Embeddings): Promise<FaissStore>;
74
+ /**
75
+ * Creates a new FaissStore from an array of texts, their corresponding
76
+ * metadata, and an Embeddings object.
77
+ * @param texts An array of texts.
78
+ * @param metadatas An array of metadata corresponding to the texts, or a single metadata object to be used for all texts.
79
+ * @param embeddings An Embeddings object.
80
+ * @param dbConfig An optional configuration object for the document store.
81
+ * @returns A Promise that resolves with a new FaissStore instance.
82
+ */
30
83
  static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, dbConfig?: {
31
84
  docstore?: SynchronousInMemoryDocstore;
32
85
  }): Promise<FaissStore>;
86
+ /**
87
+ * Creates a new FaissStore from an array of Document objects and an
88
+ * Embeddings object.
89
+ * @param docs An array of Document objects.
90
+ * @param embeddings An Embeddings object.
91
+ * @param dbConfig An optional configuration object for the document store.
92
+ * @returns A Promise that resolves with a new FaissStore instance.
93
+ */
33
94
  static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig?: {
34
95
  docstore?: SynchronousInMemoryDocstore;
35
96
  }): Promise<FaissStore>;
97
+ /**
98
+ * Creates a new FaissStore from an existing FaissStore and an Embeddings
99
+ * object.
100
+ * @param targetIndex An existing FaissStore.
101
+ * @param embeddings An Embeddings object.
102
+ * @param dbConfig An optional configuration object for the document store.
103
+ * @returns A Promise that resolves with a new FaissStore instance.
104
+ */
36
105
  static fromIndex(targetIndex: FaissStore, embeddings: Embeddings, dbConfig?: {
37
106
  docstore?: SynchronousInMemoryDocstore;
38
107
  }): Promise<FaissStore>;