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
@@ -43,6 +43,11 @@ type SimilarityModel<TModel extends Record<string, unknown> = Record<string, unk
43
43
  _distance: number | null;
44
44
  };
45
45
  type DefaultPrismaVectorStore = PrismaVectorStore<Record<string, unknown>, string, ModelColumns<Record<string, unknown>>, PrismaSqlFilter<Record<string, unknown>>>;
46
+ /**
47
+ * A specific implementation of the VectorStore class that is designed to
48
+ * work with Prisma. It provides methods for adding models, documents, and
49
+ * vectors, as well as for performing similarity searches.
50
+ */
46
51
  export declare class PrismaVectorStore<TModel extends Record<string, unknown>, TModelName extends string, TSelectModel extends ModelColumns<TModel>, TFilterModel extends PrismaSqlFilter<TModel>> extends VectorStore {
47
52
  protected tableName: string;
48
53
  protected vectorColumnName: string;
@@ -63,6 +68,11 @@ export declare class PrismaVectorStore<TModel extends Record<string, unknown>, T
63
68
  columns: TSelectModel;
64
69
  filter?: TFilterModel;
65
70
  });
71
+ /**
72
+ * Creates a new PrismaVectorStore with the specified model.
73
+ * @param db The PrismaClient instance.
74
+ * @returns An object with create, fromTexts, and fromDocuments methods.
75
+ */
66
76
  static withModel<TModel extends Record<string, unknown>>(db: PrismaClient): {
67
77
  create: <TPrisma extends PrismaNamespace, TColumns extends ModelColumns<TModel>, TFilters extends PrismaSqlFilter<TModel>>(embeddings: Embeddings, config: {
68
78
  prisma: TPrisma;
@@ -84,14 +94,63 @@ export declare class PrismaVectorStore<TModel extends Record<string, unknown>, T
84
94
  columns: TColumns_2;
85
95
  }) => Promise<PrismaVectorStore<TModel, keyof TPrisma_2["ModelName"] & string, TColumns_2, TFilters_1>>;
86
96
  };
97
+ /**
98
+ * Adds the specified models to the store.
99
+ * @param models The models to add.
100
+ * @returns A promise that resolves when the models have been added.
101
+ */
87
102
  addModels(models: TModel[]): Promise<void>;
103
+ /**
104
+ * Adds the specified documents to the store.
105
+ * @param documents The documents to add.
106
+ * @returns A promise that resolves when the documents have been added.
107
+ */
88
108
  addDocuments(documents: Document<TModel>[]): Promise<void>;
109
+ /**
110
+ * Adds the specified vectors to the store.
111
+ * @param vectors The vectors to add.
112
+ * @param documents The documents associated with the vectors.
113
+ * @returns A promise that resolves when the vectors have been added.
114
+ */
89
115
  addVectors(vectors: number[][], documents: Document<TModel>[]): Promise<void>;
116
+ /**
117
+ * Performs a similarity search with the specified query.
118
+ * @param query The query to use for the similarity search.
119
+ * @param k The number of results to return.
120
+ * @param _filter The filter to apply to the results.
121
+ * @param _callbacks The callbacks to use during the search.
122
+ * @returns A promise that resolves with the search results.
123
+ */
90
124
  similaritySearch(query: string, k?: number, _filter?: this["FilterType"] | undefined, // not used. here to make the interface compatible with the other stores
91
125
  _callbacks?: Callbacks | undefined): Promise<Document<SimilarityModel<TModel, TSelectModel>>[]>;
126
+ /**
127
+ * Performs a similarity search with the specified query and returns the
128
+ * results along with their scores.
129
+ * @param query The query to use for the similarity search.
130
+ * @param k The number of results to return.
131
+ * @param filter The filter to apply to the results.
132
+ * @param _callbacks The callbacks to use during the search.
133
+ * @returns A promise that resolves with the search results and their scores.
134
+ */
92
135
  similaritySearchWithScore(query: string, k?: number, filter?: TFilterModel, _callbacks?: Callbacks | undefined): Promise<[Document<Record<string, any>>, number][]>;
136
+ /**
137
+ * Performs a similarity search with the specified vector and returns the
138
+ * results along with their scores.
139
+ * @param query The vector to use for the similarity search.
140
+ * @param k The number of results to return.
141
+ * @param filter The filter to apply to the results.
142
+ * @returns A promise that resolves with the search results and their scores.
143
+ */
93
144
  similaritySearchVectorWithScore(query: number[], k: number, filter?: TFilterModel): Promise<[Document<SimilarityModel<TModel, TSelectModel>>, number][]>;
94
145
  buildSqlFilterStr(filter?: TFilterModel): Sql | null;
146
+ /**
147
+ * Creates a new PrismaVectorStore from the specified texts.
148
+ * @param texts The texts to use to create the store.
149
+ * @param metadatas The metadata for the texts.
150
+ * @param embeddings The embeddings to use.
151
+ * @param dbConfig The database configuration.
152
+ * @returns A promise that resolves with the new PrismaVectorStore.
153
+ */
95
154
  static fromTexts(texts: string[], metadatas: object[], embeddings: Embeddings, dbConfig: {
96
155
  db: PrismaClient;
97
156
  prisma: PrismaNamespace;
@@ -99,6 +158,13 @@ export declare class PrismaVectorStore<TModel extends Record<string, unknown>, T
99
158
  vectorColumnName: string;
100
159
  columns: ModelColumns<Record<string, unknown>>;
101
160
  }): Promise<DefaultPrismaVectorStore>;
161
+ /**
162
+ * Creates a new PrismaVectorStore from the specified documents.
163
+ * @param docs The documents to use to create the store.
164
+ * @param embeddings The embeddings to use.
165
+ * @param dbConfig The database configuration.
166
+ * @returns A promise that resolves with the new PrismaVectorStore.
167
+ */
102
168
  static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig: {
103
169
  db: PrismaClient;
104
170
  prisma: PrismaNamespace;
@@ -10,6 +10,11 @@ const OpMap = {
10
10
  gte: ">=",
11
11
  not: "<>",
12
12
  };
13
+ /**
14
+ * A specific implementation of the VectorStore class that is designed to
15
+ * work with Prisma. It provides methods for adding models, documents, and
16
+ * vectors, as well as for performing similarity searches.
17
+ */
13
18
  class PrismaVectorStore extends VectorStore {
14
19
  _vectorstoreType() {
15
20
  return "prisma";
@@ -84,6 +89,11 @@ class PrismaVectorStore extends VectorStore {
84
89
  this.filter = config.filter;
85
90
  }
86
91
  }
92
+ /**
93
+ * Creates a new PrismaVectorStore with the specified model.
94
+ * @param db The PrismaClient instance.
95
+ * @returns An object with create, fromTexts, and fromDocuments methods.
96
+ */
87
97
  static withModel(db) {
88
98
  function create(embeddings, config) {
89
99
  return new PrismaVectorStore(embeddings, { ...config, db });
@@ -110,6 +120,11 @@ class PrismaVectorStore extends VectorStore {
110
120
  }
111
121
  return { create, fromTexts, fromDocuments };
112
122
  }
123
+ /**
124
+ * Adds the specified models to the store.
125
+ * @param models The models to add.
126
+ * @returns A promise that resolves when the models have been added.
127
+ */
113
128
  async addModels(models) {
114
129
  return this.addDocuments(models.map((metadata) => {
115
130
  const pageContent = metadata[this.contentColumn];
@@ -118,10 +133,21 @@ class PrismaVectorStore extends VectorStore {
118
133
  return new Document({ pageContent, metadata });
119
134
  }));
120
135
  }
136
+ /**
137
+ * Adds the specified documents to the store.
138
+ * @param documents The documents to add.
139
+ * @returns A promise that resolves when the documents have been added.
140
+ */
121
141
  async addDocuments(documents) {
122
142
  const texts = documents.map(({ pageContent }) => pageContent);
123
143
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
124
144
  }
145
+ /**
146
+ * Adds the specified vectors to the store.
147
+ * @param vectors The vectors to add.
148
+ * @param documents The documents associated with the vectors.
149
+ * @returns A promise that resolves when the vectors have been added.
150
+ */
125
151
  async addVectors(vectors, documents) {
126
152
  // table name, column name cannot be parametrised
127
153
  // these fields are thus not escaped by Prisma and can be dangerous if user input is used
@@ -134,16 +160,41 @@ class PrismaVectorStore extends VectorStore {
134
160
  WHERE ${idColumnRaw} = ${documents[idx].metadata[this.idColumn]}
135
161
  `));
136
162
  }
163
+ /**
164
+ * Performs a similarity search with the specified query.
165
+ * @param query The query to use for the similarity search.
166
+ * @param k The number of results to return.
167
+ * @param _filter The filter to apply to the results.
168
+ * @param _callbacks The callbacks to use during the search.
169
+ * @returns A promise that resolves with the search results.
170
+ */
137
171
  async similaritySearch(query, k = 4, _filter = undefined, // not used. here to make the interface compatible with the other stores
138
172
  _callbacks = undefined // implement passing to embedQuery later
139
173
  ) {
140
174
  const results = await this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(query), k);
141
175
  return results.map((result) => result[0]);
142
176
  }
177
+ /**
178
+ * Performs a similarity search with the specified query and returns the
179
+ * results along with their scores.
180
+ * @param query The query to use for the similarity search.
181
+ * @param k The number of results to return.
182
+ * @param filter The filter to apply to the results.
183
+ * @param _callbacks The callbacks to use during the search.
184
+ * @returns A promise that resolves with the search results and their scores.
185
+ */
143
186
  async similaritySearchWithScore(query, k, filter, _callbacks = undefined // implement passing to embedQuery later
144
187
  ) {
145
188
  return super.similaritySearchWithScore(query, k, filter);
146
189
  }
190
+ /**
191
+ * Performs a similarity search with the specified vector and returns the
192
+ * results along with their scores.
193
+ * @param query The vector to use for the similarity search.
194
+ * @param k The number of results to return.
195
+ * @param filter The filter to apply to the results.
196
+ * @returns A promise that resolves with the search results and their scores.
197
+ */
147
198
  async similaritySearchVectorWithScore(query, k, filter) {
148
199
  // table name, column names cannot be parametrised
149
200
  // these fields are thus not escaped by Prisma and can be dangerous if user input is used
@@ -187,6 +238,14 @@ class PrismaVectorStore extends VectorStore {
187
238
  return this.Prisma.sql `${colRaw} ${opRaw} ${value}`;
188
239
  })), " AND ", " WHERE ");
189
240
  }
241
+ /**
242
+ * Creates a new PrismaVectorStore from the specified texts.
243
+ * @param texts The texts to use to create the store.
244
+ * @param metadatas The metadata for the texts.
245
+ * @param embeddings The embeddings to use.
246
+ * @param dbConfig The database configuration.
247
+ * @returns A promise that resolves with the new PrismaVectorStore.
248
+ */
190
249
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
191
250
  const docs = [];
192
251
  for (let i = 0; i < texts.length; i += 1) {
@@ -199,6 +258,13 @@ class PrismaVectorStore extends VectorStore {
199
258
  }
200
259
  return PrismaVectorStore.fromDocuments(docs, embeddings, dbConfig);
201
260
  }
261
+ /**
262
+ * Creates a new PrismaVectorStore from the specified documents.
263
+ * @param docs The documents to use to create the store.
264
+ * @param embeddings The embeddings to use.
265
+ * @param dbConfig The database configuration.
266
+ * @returns A promise that resolves with the new PrismaVectorStore.
267
+ */
202
268
  static async fromDocuments(docs, embeddings, dbConfig) {
203
269
  const instance = new PrismaVectorStore(embeddings, dbConfig);
204
270
  await instance.addDocuments(docs);
@@ -6,6 +6,12 @@ const uuid_1 = require("uuid");
6
6
  const base_js_1 = require("./base.cjs");
7
7
  const document_js_1 = require("../document.cjs");
8
8
  const env_js_1 = require("../util/env.cjs");
9
+ /**
10
+ * Class that extends the `VectorStore` base class to interact with a
11
+ * Qdrant database. It includes methods for adding documents and vectors
12
+ * to the Qdrant database, searching for similar vectors, and ensuring the
13
+ * existence of a collection in the database.
14
+ */
9
15
  class QdrantVectorStore extends base_js_1.VectorStore {
10
16
  get lc_secrets() {
11
17
  return {
@@ -55,10 +61,25 @@ class QdrantVectorStore extends base_js_1.VectorStore {
55
61
  },
56
62
  };
57
63
  }
64
+ /**
65
+ * Method to add documents to the Qdrant database. It generates vectors
66
+ * from the documents using the `Embeddings` instance and then adds the
67
+ * vectors to the database.
68
+ * @param documents Array of `Document` instances to be added to the Qdrant database.
69
+ * @returns Promise that resolves when the documents have been added to the database.
70
+ */
58
71
  async addDocuments(documents) {
59
72
  const texts = documents.map(({ pageContent }) => pageContent);
60
73
  await this.addVectors(await this.embeddings.embedDocuments(texts), documents);
61
74
  }
75
+ /**
76
+ * Method to add vectors to the Qdrant database. Each vector is associated
77
+ * with a document, which is stored as the payload for a point in the
78
+ * database.
79
+ * @param vectors Array of vectors to be added to the Qdrant database.
80
+ * @param documents Array of `Document` instances associated with the vectors.
81
+ * @returns Promise that resolves when the vectors have been added to the database.
82
+ */
62
83
  async addVectors(vectors, documents) {
63
84
  if (vectors.length === 0) {
64
85
  return;
@@ -77,6 +98,15 @@ class QdrantVectorStore extends base_js_1.VectorStore {
77
98
  points,
78
99
  });
79
100
  }
101
+ /**
102
+ * Method to search for vectors in the Qdrant database that are similar to
103
+ * a given query vector. The search results include the score and payload
104
+ * (metadata and content) for each similar vector.
105
+ * @param query Query vector to search for similar vectors in the Qdrant database.
106
+ * @param k Optional number of similar vectors to return. If not specified, all similar vectors are returned.
107
+ * @param filter Optional filter to apply to the search results.
108
+ * @returns Promise that resolves with an array of tuples, where each tuple includes a `Document` instance and a score for a similar vector.
109
+ */
80
110
  async similaritySearchVectorWithScore(query, k, filter) {
81
111
  if (!query) {
82
112
  return [];
@@ -96,6 +126,11 @@ class QdrantVectorStore extends base_js_1.VectorStore {
96
126
  ]);
97
127
  return result;
98
128
  }
129
+ /**
130
+ * Method to ensure the existence of a collection in the Qdrant database.
131
+ * If the collection does not exist, it is created.
132
+ * @returns Promise that resolves when the existence of the collection has been ensured.
133
+ */
99
134
  async ensureCollection() {
100
135
  const response = await this.client.getCollections();
101
136
  const collectionNames = response.collections.map((collection) => collection.name);
@@ -103,6 +138,16 @@ class QdrantVectorStore extends base_js_1.VectorStore {
103
138
  await this.client.createCollection(this.collectionName, this.collectionConfig);
104
139
  }
105
140
  }
141
+ /**
142
+ * Static method to create a `QdrantVectorStore` instance from texts. Each
143
+ * text is associated with metadata and converted to a `Document`
144
+ * instance, which is then added to the Qdrant database.
145
+ * @param texts Array of texts to be converted to `Document` instances and added to the Qdrant database.
146
+ * @param metadatas Array or single object of metadata to be associated with the texts.
147
+ * @param embeddings `Embeddings` instance used to generate vectors from the texts.
148
+ * @param dbConfig `QdrantLibArgs` instance specifying the configuration for the Qdrant database.
149
+ * @returns Promise that resolves with a new `QdrantVectorStore` instance.
150
+ */
106
151
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
107
152
  const docs = [];
108
153
  for (let i = 0; i < texts.length; i += 1) {
@@ -115,11 +160,26 @@ class QdrantVectorStore extends base_js_1.VectorStore {
115
160
  }
116
161
  return QdrantVectorStore.fromDocuments(docs, embeddings, dbConfig);
117
162
  }
163
+ /**
164
+ * Static method to create a `QdrantVectorStore` instance from `Document`
165
+ * instances. The documents are added to the Qdrant database.
166
+ * @param docs Array of `Document` instances to be added to the Qdrant database.
167
+ * @param embeddings `Embeddings` instance used to generate vectors from the documents.
168
+ * @param dbConfig `QdrantLibArgs` instance specifying the configuration for the Qdrant database.
169
+ * @returns Promise that resolves with a new `QdrantVectorStore` instance.
170
+ */
118
171
  static async fromDocuments(docs, embeddings, dbConfig) {
119
172
  const instance = new this(embeddings, dbConfig);
120
173
  await instance.addDocuments(docs);
121
174
  return instance;
122
175
  }
176
+ /**
177
+ * Static method to create a `QdrantVectorStore` instance from an existing
178
+ * collection in the Qdrant database.
179
+ * @param embeddings `Embeddings` instance used to generate vectors from the documents in the collection.
180
+ * @param dbConfig `QdrantLibArgs` instance specifying the configuration for the Qdrant database.
181
+ * @returns Promise that resolves with a new `QdrantVectorStore` instance.
182
+ */
123
183
  static async fromExistingCollection(embeddings, dbConfig) {
124
184
  const instance = new this(embeddings, dbConfig);
125
185
  await instance.ensureCollection();
@@ -3,6 +3,12 @@ import type { Schemas as QdrantSchemas } from "@qdrant/js-client-rest";
3
3
  import { Embeddings } from "../embeddings/base.js";
4
4
  import { VectorStore } from "./base.js";
5
5
  import { Document } from "../document.js";
6
+ /**
7
+ * Interface for the arguments that can be passed to the
8
+ * `QdrantVectorStore` constructor. It includes options for specifying a
9
+ * `QdrantClient` instance, the URL and API key for a Qdrant database, and
10
+ * the name and configuration for a collection.
11
+ */
6
12
  export interface QdrantLibArgs {
7
13
  client?: QdrantClient;
8
14
  url?: string;
@@ -10,6 +16,12 @@ export interface QdrantLibArgs {
10
16
  collectionName?: string;
11
17
  collectionConfig?: QdrantSchemas["CreateCollection"];
12
18
  }
19
+ /**
20
+ * Class that extends the `VectorStore` base class to interact with a
21
+ * Qdrant database. It includes methods for adding documents and vectors
22
+ * to the Qdrant database, searching for similar vectors, and ensuring the
23
+ * existence of a collection in the database.
24
+ */
13
25
  export declare class QdrantVectorStore extends VectorStore {
14
26
  get lc_secrets(): {
15
27
  [key: string]: string;
@@ -19,11 +31,65 @@ export declare class QdrantVectorStore extends VectorStore {
19
31
  collectionConfig: QdrantSchemas["CreateCollection"];
20
32
  _vectorstoreType(): string;
21
33
  constructor(embeddings: Embeddings, args: QdrantLibArgs);
34
+ /**
35
+ * Method to add documents to the Qdrant database. It generates vectors
36
+ * from the documents using the `Embeddings` instance and then adds the
37
+ * vectors to the database.
38
+ * @param documents Array of `Document` instances to be added to the Qdrant database.
39
+ * @returns Promise that resolves when the documents have been added to the database.
40
+ */
22
41
  addDocuments(documents: Document[]): Promise<void>;
42
+ /**
43
+ * Method to add vectors to the Qdrant database. Each vector is associated
44
+ * with a document, which is stored as the payload for a point in the
45
+ * database.
46
+ * @param vectors Array of vectors to be added to the Qdrant database.
47
+ * @param documents Array of `Document` instances associated with the vectors.
48
+ * @returns Promise that resolves when the vectors have been added to the database.
49
+ */
23
50
  addVectors(vectors: number[][], documents: Document[]): Promise<void>;
51
+ /**
52
+ * Method to search for vectors in the Qdrant database that are similar to
53
+ * a given query vector. The search results include the score and payload
54
+ * (metadata and content) for each similar vector.
55
+ * @param query Query vector to search for similar vectors in the Qdrant database.
56
+ * @param k Optional number of similar vectors to return. If not specified, all similar vectors are returned.
57
+ * @param filter Optional filter to apply to the search results.
58
+ * @returns Promise that resolves with an array of tuples, where each tuple includes a `Document` instance and a score for a similar vector.
59
+ */
24
60
  similaritySearchVectorWithScore(query: number[], k?: number, filter?: QdrantSchemas["Filter"]): Promise<[Document, number][]>;
61
+ /**
62
+ * Method to ensure the existence of a collection in the Qdrant database.
63
+ * If the collection does not exist, it is created.
64
+ * @returns Promise that resolves when the existence of the collection has been ensured.
65
+ */
25
66
  ensureCollection(): Promise<void>;
67
+ /**
68
+ * Static method to create a `QdrantVectorStore` instance from texts. Each
69
+ * text is associated with metadata and converted to a `Document`
70
+ * instance, which is then added to the Qdrant database.
71
+ * @param texts Array of texts to be converted to `Document` instances and added to the Qdrant database.
72
+ * @param metadatas Array or single object of metadata to be associated with the texts.
73
+ * @param embeddings `Embeddings` instance used to generate vectors from the texts.
74
+ * @param dbConfig `QdrantLibArgs` instance specifying the configuration for the Qdrant database.
75
+ * @returns Promise that resolves with a new `QdrantVectorStore` instance.
76
+ */
26
77
  static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, dbConfig: QdrantLibArgs): Promise<QdrantVectorStore>;
78
+ /**
79
+ * Static method to create a `QdrantVectorStore` instance from `Document`
80
+ * instances. The documents are added to the Qdrant database.
81
+ * @param docs Array of `Document` instances to be added to the Qdrant database.
82
+ * @param embeddings `Embeddings` instance used to generate vectors from the documents.
83
+ * @param dbConfig `QdrantLibArgs` instance specifying the configuration for the Qdrant database.
84
+ * @returns Promise that resolves with a new `QdrantVectorStore` instance.
85
+ */
27
86
  static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig: QdrantLibArgs): Promise<QdrantVectorStore>;
87
+ /**
88
+ * Static method to create a `QdrantVectorStore` instance from an existing
89
+ * collection in the Qdrant database.
90
+ * @param embeddings `Embeddings` instance used to generate vectors from the documents in the collection.
91
+ * @param dbConfig `QdrantLibArgs` instance specifying the configuration for the Qdrant database.
92
+ * @returns Promise that resolves with a new `QdrantVectorStore` instance.
93
+ */
28
94
  static fromExistingCollection(embeddings: Embeddings, dbConfig: QdrantLibArgs): Promise<QdrantVectorStore>;
29
95
  }
@@ -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);