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
@@ -2,6 +2,10 @@ import * as uuid from "uuid";
2
2
  import flatten from "flat";
3
3
  import { VectorStore } from "./base.js";
4
4
  import { Document } from "../document.js";
5
+ /**
6
+ * Class that extends the VectorStore class and provides methods to
7
+ * interact with the Pinecone vector database.
8
+ */
5
9
  export class PineconeStore extends VectorStore {
6
10
  _vectorstoreType() {
7
11
  return "pinecone";
@@ -38,10 +42,23 @@ export class PineconeStore extends VectorStore {
38
42
  this.textKey = args.textKey ?? "text";
39
43
  this.filter = args.filter;
40
44
  }
45
+ /**
46
+ * Method that adds documents to the Pinecone database.
47
+ * @param documents Array of documents to add to the Pinecone database.
48
+ * @param options Optional ids for the documents.
49
+ * @returns Promise that resolves with the ids of the added documents.
50
+ */
41
51
  async addDocuments(documents, options) {
42
52
  const texts = documents.map(({ pageContent }) => pageContent);
43
53
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents, options);
44
54
  }
55
+ /**
56
+ * Method that adds vectors to the Pinecone database.
57
+ * @param vectors Array of vectors to add to the Pinecone database.
58
+ * @param documents Array of documents associated with the vectors.
59
+ * @param options Optional ids for the vectors.
60
+ * @returns Promise that resolves with the ids of the added vectors.
61
+ */
45
62
  async addVectors(vectors, documents, options) {
46
63
  const ids = Array.isArray(options) ? options : options?.ids;
47
64
  const documentIds = ids == null ? documents.map(() => uuid.v4()) : ids;
@@ -92,6 +109,11 @@ export class PineconeStore extends VectorStore {
92
109
  }
93
110
  return documentIds;
94
111
  }
112
+ /**
113
+ * Method that deletes vectors from the Pinecone database.
114
+ * @param params Parameters for the delete operation.
115
+ * @returns Promise that resolves when the delete operation is complete.
116
+ */
95
117
  async delete(params) {
96
118
  const { namespace = this.namespace, deleteAll, ids, ...rest } = params;
97
119
  if (deleteAll) {
@@ -116,6 +138,14 @@ export class PineconeStore extends VectorStore {
116
138
  throw new Error("Either ids or delete_all must be provided.");
117
139
  }
118
140
  }
141
+ /**
142
+ * Method that performs a similarity search in the Pinecone database and
143
+ * returns the results along with their scores.
144
+ * @param query Query vector for the similarity search.
145
+ * @param k Number of top results to return.
146
+ * @param filter Optional filter to apply to the search.
147
+ * @returns Promise that resolves with an array of documents and their scores.
148
+ */
119
149
  async similaritySearchVectorWithScore(query, k, filter) {
120
150
  if (filter && this.filter) {
121
151
  throw new Error("cannot provide both `filter` and `this.filter`");
@@ -142,6 +172,15 @@ export class PineconeStore extends VectorStore {
142
172
  }
143
173
  return result;
144
174
  }
175
+ /**
176
+ * Static method that creates a new instance of the PineconeStore class
177
+ * from texts.
178
+ * @param texts Array of texts to add to the Pinecone database.
179
+ * @param metadatas Metadata associated with the texts.
180
+ * @param embeddings Embeddings to use for the texts.
181
+ * @param dbConfig Configuration for the Pinecone database.
182
+ * @returns Promise that resolves with a new instance of the PineconeStore class.
183
+ */
145
184
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
146
185
  const docs = [];
147
186
  for (let i = 0; i < texts.length; i += 1) {
@@ -161,6 +200,14 @@ export class PineconeStore extends VectorStore {
161
200
  };
162
201
  return PineconeStore.fromDocuments(docs, embeddings, args);
163
202
  }
203
+ /**
204
+ * Static method that creates a new instance of the PineconeStore class
205
+ * from documents.
206
+ * @param docs Array of documents to add to the Pinecone database.
207
+ * @param embeddings Embeddings to use for the documents.
208
+ * @param dbConfig Configuration for the Pinecone database.
209
+ * @returns Promise that resolves with a new instance of the PineconeStore class.
210
+ */
164
211
  static async fromDocuments(docs, embeddings, dbConfig) {
165
212
  const args = dbConfig;
166
213
  args.textKey = dbConfig.textKey ?? "text";
@@ -168,6 +215,13 @@ export class PineconeStore extends VectorStore {
168
215
  await instance.addDocuments(docs);
169
216
  return instance;
170
217
  }
218
+ /**
219
+ * Static method that creates a new instance of the PineconeStore class
220
+ * from an existing index.
221
+ * @param embeddings Embeddings to use for the documents.
222
+ * @param dbConfig Configuration for the Pinecone database.
223
+ * @returns Promise that resolves with a new instance of the PineconeStore class.
224
+ */
171
225
  static async fromExistingIndex(embeddings, dbConfig) {
172
226
  const instance = new this(embeddings, dbConfig);
173
227
  return instance;
@@ -13,6 +13,11 @@ const OpMap = {
13
13
  gte: ">=",
14
14
  not: "<>",
15
15
  };
16
+ /**
17
+ * A specific implementation of the VectorStore class that is designed to
18
+ * work with Prisma. It provides methods for adding models, documents, and
19
+ * vectors, as well as for performing similarity searches.
20
+ */
16
21
  class PrismaVectorStore extends base_js_1.VectorStore {
17
22
  _vectorstoreType() {
18
23
  return "prisma";
@@ -87,6 +92,11 @@ class PrismaVectorStore extends base_js_1.VectorStore {
87
92
  this.filter = config.filter;
88
93
  }
89
94
  }
95
+ /**
96
+ * Creates a new PrismaVectorStore with the specified model.
97
+ * @param db The PrismaClient instance.
98
+ * @returns An object with create, fromTexts, and fromDocuments methods.
99
+ */
90
100
  static withModel(db) {
91
101
  function create(embeddings, config) {
92
102
  return new PrismaVectorStore(embeddings, { ...config, db });
@@ -113,6 +123,11 @@ class PrismaVectorStore extends base_js_1.VectorStore {
113
123
  }
114
124
  return { create, fromTexts, fromDocuments };
115
125
  }
126
+ /**
127
+ * Adds the specified models to the store.
128
+ * @param models The models to add.
129
+ * @returns A promise that resolves when the models have been added.
130
+ */
116
131
  async addModels(models) {
117
132
  return this.addDocuments(models.map((metadata) => {
118
133
  const pageContent = metadata[this.contentColumn];
@@ -121,10 +136,21 @@ class PrismaVectorStore extends base_js_1.VectorStore {
121
136
  return new document_js_1.Document({ pageContent, metadata });
122
137
  }));
123
138
  }
139
+ /**
140
+ * Adds the specified documents to the store.
141
+ * @param documents The documents to add.
142
+ * @returns A promise that resolves when the documents have been added.
143
+ */
124
144
  async addDocuments(documents) {
125
145
  const texts = documents.map(({ pageContent }) => pageContent);
126
146
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
127
147
  }
148
+ /**
149
+ * Adds the specified vectors to the store.
150
+ * @param vectors The vectors to add.
151
+ * @param documents The documents associated with the vectors.
152
+ * @returns A promise that resolves when the vectors have been added.
153
+ */
128
154
  async addVectors(vectors, documents) {
129
155
  // table name, column name cannot be parametrised
130
156
  // these fields are thus not escaped by Prisma and can be dangerous if user input is used
@@ -137,16 +163,41 @@ class PrismaVectorStore extends base_js_1.VectorStore {
137
163
  WHERE ${idColumnRaw} = ${documents[idx].metadata[this.idColumn]}
138
164
  `));
139
165
  }
166
+ /**
167
+ * Performs a similarity search with the specified query.
168
+ * @param query The query to use for the similarity search.
169
+ * @param k The number of results to return.
170
+ * @param _filter The filter to apply to the results.
171
+ * @param _callbacks The callbacks to use during the search.
172
+ * @returns A promise that resolves with the search results.
173
+ */
140
174
  async similaritySearch(query, k = 4, _filter = undefined, // not used. here to make the interface compatible with the other stores
141
175
  _callbacks = undefined // implement passing to embedQuery later
142
176
  ) {
143
177
  const results = await this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(query), k);
144
178
  return results.map((result) => result[0]);
145
179
  }
180
+ /**
181
+ * Performs a similarity search with the specified query and returns the
182
+ * results along with their scores.
183
+ * @param query The query to use for the similarity search.
184
+ * @param k The number of results to return.
185
+ * @param filter The filter to apply to the results.
186
+ * @param _callbacks The callbacks to use during the search.
187
+ * @returns A promise that resolves with the search results and their scores.
188
+ */
146
189
  async similaritySearchWithScore(query, k, filter, _callbacks = undefined // implement passing to embedQuery later
147
190
  ) {
148
191
  return super.similaritySearchWithScore(query, k, filter);
149
192
  }
193
+ /**
194
+ * Performs a similarity search with the specified vector and returns the
195
+ * results along with their scores.
196
+ * @param query The vector to use for the similarity search.
197
+ * @param k The number of results to return.
198
+ * @param filter The filter to apply to the results.
199
+ * @returns A promise that resolves with the search results and their scores.
200
+ */
150
201
  async similaritySearchVectorWithScore(query, k, filter) {
151
202
  // table name, column names cannot be parametrised
152
203
  // these fields are thus not escaped by Prisma and can be dangerous if user input is used
@@ -190,6 +241,14 @@ class PrismaVectorStore extends base_js_1.VectorStore {
190
241
  return this.Prisma.sql `${colRaw} ${opRaw} ${value}`;
191
242
  })), " AND ", " WHERE ");
192
243
  }
244
+ /**
245
+ * Creates a new PrismaVectorStore from the specified texts.
246
+ * @param texts The texts to use to create the store.
247
+ * @param metadatas The metadata for the texts.
248
+ * @param embeddings The embeddings to use.
249
+ * @param dbConfig The database configuration.
250
+ * @returns A promise that resolves with the new PrismaVectorStore.
251
+ */
193
252
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
194
253
  const docs = [];
195
254
  for (let i = 0; i < texts.length; i += 1) {
@@ -202,6 +261,13 @@ class PrismaVectorStore extends base_js_1.VectorStore {
202
261
  }
203
262
  return PrismaVectorStore.fromDocuments(docs, embeddings, dbConfig);
204
263
  }
264
+ /**
265
+ * Creates a new PrismaVectorStore from the specified documents.
266
+ * @param docs The documents to use to create the store.
267
+ * @param embeddings The embeddings to use.
268
+ * @param dbConfig The database configuration.
269
+ * @returns A promise that resolves with the new PrismaVectorStore.
270
+ */
205
271
  static async fromDocuments(docs, embeddings, dbConfig) {
206
272
  const instance = new PrismaVectorStore(embeddings, dbConfig);
207
273
  await instance.addDocuments(docs);
@@ -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
  }