langchain 0.0.130 → 0.0.132

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