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,12 @@ import * as uuid from "uuid";
2
2
  import { createClient } from "@clickhouse/client";
3
3
  import { VectorStore } from "./base.js";
4
4
  import { Document } from "../document.js";
5
+ /**
6
+ * Class for interacting with the MyScale database. It extends the
7
+ * VectorStore class and provides methods for adding vectors and
8
+ * documents, searching for similar vectors, and creating instances from
9
+ * texts or documents.
10
+ */
5
11
  export class MyScaleStore extends VectorStore {
6
12
  _vectorstoreType() {
7
13
  return "myscale";
@@ -74,6 +80,12 @@ export class MyScaleStore extends VectorStore {
74
80
  session_id: uuid.v4(),
75
81
  });
76
82
  }
83
+ /**
84
+ * Method to add vectors to the MyScale database.
85
+ * @param vectors The vectors to add.
86
+ * @param documents The documents associated with the vectors.
87
+ * @returns Promise that resolves when the vectors have been added.
88
+ */
77
89
  async addVectors(vectors, documents) {
78
90
  if (vectors.length === 0) {
79
91
  return;
@@ -84,9 +96,21 @@ export class MyScaleStore extends VectorStore {
84
96
  const queryStr = this.buildInsertQuery(vectors, documents);
85
97
  await this.client.exec({ query: queryStr });
86
98
  }
99
+ /**
100
+ * Method to add documents to the MyScale database.
101
+ * @param documents The documents to add.
102
+ * @returns Promise that resolves when the documents have been added.
103
+ */
87
104
  async addDocuments(documents) {
88
105
  return this.addVectors(await this.embeddings.embedDocuments(documents.map((d) => d.pageContent)), documents);
89
106
  }
107
+ /**
108
+ * Method to search for vectors that are similar to a given query vector.
109
+ * @param query The query vector.
110
+ * @param k The number of similar vectors to return.
111
+ * @param filter Optional filter for the search results.
112
+ * @returns Promise that resolves with an array of tuples, each containing a Document and a score.
113
+ */
90
114
  async similaritySearchVectorWithScore(query, k, filter) {
91
115
  if (!this.isInitialized) {
92
116
  await this.initialize(query.length);
@@ -100,6 +124,14 @@ export class MyScaleStore extends VectorStore {
100
124
  ]);
101
125
  return result;
102
126
  }
127
+ /**
128
+ * Static method to create an instance of MyScaleStore from texts.
129
+ * @param texts The texts to use.
130
+ * @param metadatas The metadata associated with the texts.
131
+ * @param embeddings The embeddings to use.
132
+ * @param args The arguments for the MyScaleStore.
133
+ * @returns Promise that resolves with a new instance of MyScaleStore.
134
+ */
103
135
  static async fromTexts(texts, metadatas, embeddings, args) {
104
136
  const docs = [];
105
137
  for (let i = 0; i < texts.length; i += 1) {
@@ -112,16 +144,35 @@ export class MyScaleStore extends VectorStore {
112
144
  }
113
145
  return MyScaleStore.fromDocuments(docs, embeddings, args);
114
146
  }
147
+ /**
148
+ * Static method to create an instance of MyScaleStore from documents.
149
+ * @param docs The documents to use.
150
+ * @param embeddings The embeddings to use.
151
+ * @param args The arguments for the MyScaleStore.
152
+ * @returns Promise that resolves with a new instance of MyScaleStore.
153
+ */
115
154
  static async fromDocuments(docs, embeddings, args) {
116
155
  const instance = new this(embeddings, args);
117
156
  await instance.addDocuments(docs);
118
157
  return instance;
119
158
  }
159
+ /**
160
+ * Static method to create an instance of MyScaleStore from an existing
161
+ * index.
162
+ * @param embeddings The embeddings to use.
163
+ * @param args The arguments for the MyScaleStore.
164
+ * @returns Promise that resolves with a new instance of MyScaleStore.
165
+ */
120
166
  static async fromExistingIndex(embeddings, args) {
121
167
  const instance = new this(embeddings, args);
122
168
  await instance.initialize();
123
169
  return instance;
124
170
  }
171
+ /**
172
+ * Method to initialize the MyScale database.
173
+ * @param dimension Optional dimension of the vectors.
174
+ * @returns Promise that resolves when the database has been initialized.
175
+ */
125
176
  async initialize(dimension) {
126
177
  const dim = dimension ?? (await this.embeddings.embedQuery("test")).length;
127
178
  let indexParamStr = "";
@@ -145,6 +196,13 @@ export class MyScaleStore extends VectorStore {
145
196
  await this.client.exec({ query });
146
197
  this.isInitialized = true;
147
198
  }
199
+ /**
200
+ * Method to build an SQL query for inserting vectors and documents into
201
+ * the MyScale database.
202
+ * @param vectors The vectors to insert.
203
+ * @param documents The documents to insert.
204
+ * @returns The SQL query string.
205
+ */
148
206
  buildInsertQuery(vectors, documents) {
149
207
  const columnsStr = Object.values(this.columnMap).join(", ");
150
208
  const data = [];
@@ -170,6 +228,14 @@ export class MyScaleStore extends VectorStore {
170
228
  escapeString(str) {
171
229
  return str.replace(/\\/g, "\\\\").replace(/'/g, "\\'");
172
230
  }
231
+ /**
232
+ * Method to build an SQL query for searching for similar vectors in the
233
+ * MyScale database.
234
+ * @param query The query vector.
235
+ * @param k The number of similar vectors to return.
236
+ * @param filter Optional filter for the search results.
237
+ * @returns The SQL query string.
238
+ */
173
239
  buildSearchQuery(query, k, filter) {
174
240
  const order = this.metric === "ip" ? "DESC" : "ASC";
175
241
  const whereStr = filter ? `PREWHERE ${filter.whereStr}` : "";
@@ -28,6 +28,12 @@ const opensearch_1 = require("@opensearch-project/opensearch");
28
28
  const uuid = __importStar(require("uuid"));
29
29
  const document_js_1 = require("../document.cjs");
30
30
  const base_js_1 = require("./base.cjs");
31
+ /**
32
+ * Class that provides a wrapper around the OpenSearch service for vector
33
+ * search. It provides methods for adding documents and vectors to the
34
+ * OpenSearch index, searching for similar vectors, and managing the
35
+ * OpenSearch index.
36
+ */
31
37
  class OpenSearchVectorStore extends base_js_1.VectorStore {
32
38
  _vectorstoreType() {
33
39
  return "opensearch";
@@ -84,10 +90,24 @@ class OpenSearchVectorStore extends base_js_1.VectorStore {
84
90
  this.client = args.client;
85
91
  this.indexName = args.indexName ?? "documents";
86
92
  }
93
+ /**
94
+ * Method to add documents to the OpenSearch index. It first converts the
95
+ * documents to vectors using the embeddings, then adds the vectors to the
96
+ * index.
97
+ * @param documents The documents to be added to the OpenSearch index.
98
+ * @returns Promise resolving to void.
99
+ */
87
100
  async addDocuments(documents) {
88
101
  const texts = documents.map(({ pageContent }) => pageContent);
89
102
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
90
103
  }
104
+ /**
105
+ * Method to add vectors to the OpenSearch index. It ensures the index
106
+ * exists, then adds the vectors and associated documents to the index.
107
+ * @param vectors The vectors to be added to the OpenSearch index.
108
+ * @param documents The documents associated with the vectors.
109
+ * @returns Promise resolving to void.
110
+ */
91
111
  async addVectors(vectors, documents) {
92
112
  await this.ensureIndexExists(vectors[0].length, this.engine, this.spaceType, this.efSearch, this.efConstruction, this.m);
93
113
  const operations = vectors.flatMap((embedding, idx) => [
@@ -106,6 +126,14 @@ class OpenSearchVectorStore extends base_js_1.VectorStore {
106
126
  await this.client.bulk({ body: operations });
107
127
  await this.client.indices.refresh({ index: this.indexName });
108
128
  }
129
+ /**
130
+ * Method to perform a similarity search on the OpenSearch index using a
131
+ * query vector. It returns the k most similar documents and their scores.
132
+ * @param query The query vector.
133
+ * @param k The number of similar documents to return.
134
+ * @param filter Optional filter for the OpenSearch query.
135
+ * @returns Promise resolving to an array of tuples, each containing a Document and its score.
136
+ */
109
137
  async similaritySearchVectorWithScore(query, k, filter) {
110
138
  const search = {
111
139
  index: this.indexName,
@@ -135,6 +163,15 @@ class OpenSearchVectorStore extends base_js_1.VectorStore {
135
163
  hit._score,
136
164
  ]);
137
165
  }
166
+ /**
167
+ * Static method to create a new OpenSearchVectorStore from an array of
168
+ * texts, their metadata, embeddings, and OpenSearch client arguments.
169
+ * @param texts The texts to be converted into documents and added to the OpenSearch index.
170
+ * @param metadatas The metadata associated with the texts. Can be an array of objects or a single object.
171
+ * @param embeddings The embeddings used to convert the texts into vectors.
172
+ * @param args The OpenSearch client arguments.
173
+ * @returns Promise resolving to a new instance of OpenSearchVectorStore.
174
+ */
138
175
  static fromTexts(texts, metadatas, embeddings, args) {
139
176
  const documents = texts.map((text, idx) => {
140
177
  const metadata = Array.isArray(metadatas) ? metadatas[idx] : metadatas;
@@ -142,11 +179,26 @@ class OpenSearchVectorStore extends base_js_1.VectorStore {
142
179
  });
143
180
  return OpenSearchVectorStore.fromDocuments(documents, embeddings, args);
144
181
  }
182
+ /**
183
+ * Static method to create a new OpenSearchVectorStore from an array of
184
+ * Documents, embeddings, and OpenSearch client arguments.
185
+ * @param docs The documents to be added to the OpenSearch index.
186
+ * @param embeddings The embeddings used to convert the documents into vectors.
187
+ * @param dbConfig The OpenSearch client arguments.
188
+ * @returns Promise resolving to a new instance of OpenSearchVectorStore.
189
+ */
145
190
  static async fromDocuments(docs, embeddings, dbConfig) {
146
191
  const store = new OpenSearchVectorStore(embeddings, dbConfig);
147
192
  await store.addDocuments(docs).then(() => store);
148
193
  return store;
149
194
  }
195
+ /**
196
+ * Static method to create a new OpenSearchVectorStore from an existing
197
+ * OpenSearch index, embeddings, and OpenSearch client arguments.
198
+ * @param embeddings The embeddings used to convert the documents into vectors.
199
+ * @param dbConfig The OpenSearch client arguments.
200
+ * @returns Promise resolving to a new instance of OpenSearchVectorStore.
201
+ */
150
202
  static async fromExistingIndex(embeddings, dbConfig) {
151
203
  const store = new OpenSearchVectorStore(embeddings, dbConfig);
152
204
  await store.client.cat.indices({ index: store.indexName });
@@ -202,6 +254,10 @@ class OpenSearchVectorStore extends base_js_1.VectorStore {
202
254
  }
203
255
  return result;
204
256
  }
257
+ /**
258
+ * Method to check if the OpenSearch index exists.
259
+ * @returns Promise resolving to a boolean indicating whether the index exists.
260
+ */
205
261
  async doesIndexExist() {
206
262
  try {
207
263
  await this.client.cat.indices({ index: this.indexName });
@@ -215,6 +271,10 @@ class OpenSearchVectorStore extends base_js_1.VectorStore {
215
271
  throw err;
216
272
  }
217
273
  }
274
+ /**
275
+ * Method to delete the OpenSearch index if it exists.
276
+ * @returns Promise resolving to void.
277
+ */
218
278
  async deleteIfExists() {
219
279
  const indexExists = await this.doesIndexExist();
220
280
  if (!indexExists)
@@ -4,6 +4,11 @@ import { Document } from "../document.js";
4
4
  import { VectorStore } from "./base.js";
5
5
  type OpenSearchEngine = "nmslib" | "hnsw";
6
6
  type OpenSearchSpaceType = "l2" | "cosinesimil" | "ip";
7
+ /**
8
+ * Interface defining the options for vector search in OpenSearch. It
9
+ * includes the engine type, space type, and parameters for the HNSW
10
+ * algorithm.
11
+ */
7
12
  interface VectorSearchOptions {
8
13
  readonly engine?: OpenSearchEngine;
9
14
  readonly spaceType?: OpenSearchSpaceType;
@@ -11,12 +16,27 @@ interface VectorSearchOptions {
11
16
  readonly efConstruction?: number;
12
17
  readonly efSearch?: number;
13
18
  }
19
+ /**
20
+ * Interface defining the arguments required to create an instance of the
21
+ * OpenSearchVectorStore class. It includes the OpenSearch client, index
22
+ * name, and vector search options.
23
+ */
14
24
  export interface OpenSearchClientArgs {
15
25
  readonly client: Client;
16
26
  readonly indexName?: string;
17
27
  readonly vectorSearchOptions?: VectorSearchOptions;
18
28
  }
29
+ /**
30
+ * Type alias for an object. It's used to define filters for OpenSearch
31
+ * queries.
32
+ */
19
33
  type OpenSearchFilter = object;
34
+ /**
35
+ * Class that provides a wrapper around the OpenSearch service for vector
36
+ * search. It provides methods for adding documents and vectors to the
37
+ * OpenSearch index, searching for similar vectors, and managing the
38
+ * OpenSearch index.
39
+ */
20
40
  export declare class OpenSearchVectorStore extends VectorStore {
21
41
  FilterType: OpenSearchFilter;
22
42
  private readonly client;
@@ -28,15 +48,69 @@ export declare class OpenSearchVectorStore extends VectorStore {
28
48
  private readonly m;
29
49
  _vectorstoreType(): string;
30
50
  constructor(embeddings: Embeddings, args: OpenSearchClientArgs);
51
+ /**
52
+ * Method to add documents to the OpenSearch index. It first converts the
53
+ * documents to vectors using the embeddings, then adds the vectors to the
54
+ * index.
55
+ * @param documents The documents to be added to the OpenSearch index.
56
+ * @returns Promise resolving to void.
57
+ */
31
58
  addDocuments(documents: Document[]): Promise<void>;
59
+ /**
60
+ * Method to add vectors to the OpenSearch index. It ensures the index
61
+ * exists, then adds the vectors and associated documents to the index.
62
+ * @param vectors The vectors to be added to the OpenSearch index.
63
+ * @param documents The documents associated with the vectors.
64
+ * @returns Promise resolving to void.
65
+ */
32
66
  addVectors(vectors: number[][], documents: Document[]): Promise<void>;
67
+ /**
68
+ * Method to perform a similarity search on the OpenSearch index using a
69
+ * query vector. It returns the k most similar documents and their scores.
70
+ * @param query The query vector.
71
+ * @param k The number of similar documents to return.
72
+ * @param filter Optional filter for the OpenSearch query.
73
+ * @returns Promise resolving to an array of tuples, each containing a Document and its score.
74
+ */
33
75
  similaritySearchVectorWithScore(query: number[], k: number, filter?: OpenSearchFilter | undefined): Promise<[Document, number][]>;
76
+ /**
77
+ * Static method to create a new OpenSearchVectorStore from an array of
78
+ * texts, their metadata, embeddings, and OpenSearch client arguments.
79
+ * @param texts The texts to be converted into documents and added to the OpenSearch index.
80
+ * @param metadatas The metadata associated with the texts. Can be an array of objects or a single object.
81
+ * @param embeddings The embeddings used to convert the texts into vectors.
82
+ * @param args The OpenSearch client arguments.
83
+ * @returns Promise resolving to a new instance of OpenSearchVectorStore.
84
+ */
34
85
  static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, args: OpenSearchClientArgs): Promise<OpenSearchVectorStore>;
86
+ /**
87
+ * Static method to create a new OpenSearchVectorStore from an array of
88
+ * Documents, embeddings, and OpenSearch client arguments.
89
+ * @param docs The documents to be added to the OpenSearch index.
90
+ * @param embeddings The embeddings used to convert the documents into vectors.
91
+ * @param dbConfig The OpenSearch client arguments.
92
+ * @returns Promise resolving to a new instance of OpenSearchVectorStore.
93
+ */
35
94
  static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig: OpenSearchClientArgs): Promise<OpenSearchVectorStore>;
95
+ /**
96
+ * Static method to create a new OpenSearchVectorStore from an existing
97
+ * OpenSearch index, embeddings, and OpenSearch client arguments.
98
+ * @param embeddings The embeddings used to convert the documents into vectors.
99
+ * @param dbConfig The OpenSearch client arguments.
100
+ * @returns Promise resolving to a new instance of OpenSearchVectorStore.
101
+ */
36
102
  static fromExistingIndex(embeddings: Embeddings, dbConfig: OpenSearchClientArgs): Promise<OpenSearchVectorStore>;
37
103
  private ensureIndexExists;
38
104
  private buildMetadataTerms;
105
+ /**
106
+ * Method to check if the OpenSearch index exists.
107
+ * @returns Promise resolving to a boolean indicating whether the index exists.
108
+ */
39
109
  doesIndexExist(): Promise<boolean>;
110
+ /**
111
+ * Method to delete the OpenSearch index if it exists.
112
+ * @returns Promise resolving to void.
113
+ */
40
114
  deleteIfExists(): Promise<void>;
41
115
  }
42
116
  export {};
@@ -2,6 +2,12 @@ import { errors } from "@opensearch-project/opensearch";
2
2
  import * as uuid from "uuid";
3
3
  import { Document } from "../document.js";
4
4
  import { VectorStore } from "./base.js";
5
+ /**
6
+ * Class that provides a wrapper around the OpenSearch service for vector
7
+ * search. It provides methods for adding documents and vectors to the
8
+ * OpenSearch index, searching for similar vectors, and managing the
9
+ * OpenSearch index.
10
+ */
5
11
  export class OpenSearchVectorStore extends VectorStore {
6
12
  _vectorstoreType() {
7
13
  return "opensearch";
@@ -58,10 +64,24 @@ export class OpenSearchVectorStore extends VectorStore {
58
64
  this.client = args.client;
59
65
  this.indexName = args.indexName ?? "documents";
60
66
  }
67
+ /**
68
+ * Method to add documents to the OpenSearch index. It first converts the
69
+ * documents to vectors using the embeddings, then adds the vectors to the
70
+ * index.
71
+ * @param documents The documents to be added to the OpenSearch index.
72
+ * @returns Promise resolving to void.
73
+ */
61
74
  async addDocuments(documents) {
62
75
  const texts = documents.map(({ pageContent }) => pageContent);
63
76
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
64
77
  }
78
+ /**
79
+ * Method to add vectors to the OpenSearch index. It ensures the index
80
+ * exists, then adds the vectors and associated documents to the index.
81
+ * @param vectors The vectors to be added to the OpenSearch index.
82
+ * @param documents The documents associated with the vectors.
83
+ * @returns Promise resolving to void.
84
+ */
65
85
  async addVectors(vectors, documents) {
66
86
  await this.ensureIndexExists(vectors[0].length, this.engine, this.spaceType, this.efSearch, this.efConstruction, this.m);
67
87
  const operations = vectors.flatMap((embedding, idx) => [
@@ -80,6 +100,14 @@ export class OpenSearchVectorStore extends VectorStore {
80
100
  await this.client.bulk({ body: operations });
81
101
  await this.client.indices.refresh({ index: this.indexName });
82
102
  }
103
+ /**
104
+ * Method to perform a similarity search on the OpenSearch index using a
105
+ * query vector. It returns the k most similar documents and their scores.
106
+ * @param query The query vector.
107
+ * @param k The number of similar documents to return.
108
+ * @param filter Optional filter for the OpenSearch query.
109
+ * @returns Promise resolving to an array of tuples, each containing a Document and its score.
110
+ */
83
111
  async similaritySearchVectorWithScore(query, k, filter) {
84
112
  const search = {
85
113
  index: this.indexName,
@@ -109,6 +137,15 @@ export class OpenSearchVectorStore extends VectorStore {
109
137
  hit._score,
110
138
  ]);
111
139
  }
140
+ /**
141
+ * Static method to create a new OpenSearchVectorStore from an array of
142
+ * texts, their metadata, embeddings, and OpenSearch client arguments.
143
+ * @param texts The texts to be converted into documents and added to the OpenSearch index.
144
+ * @param metadatas The metadata associated with the texts. Can be an array of objects or a single object.
145
+ * @param embeddings The embeddings used to convert the texts into vectors.
146
+ * @param args The OpenSearch client arguments.
147
+ * @returns Promise resolving to a new instance of OpenSearchVectorStore.
148
+ */
112
149
  static fromTexts(texts, metadatas, embeddings, args) {
113
150
  const documents = texts.map((text, idx) => {
114
151
  const metadata = Array.isArray(metadatas) ? metadatas[idx] : metadatas;
@@ -116,11 +153,26 @@ export class OpenSearchVectorStore extends VectorStore {
116
153
  });
117
154
  return OpenSearchVectorStore.fromDocuments(documents, embeddings, args);
118
155
  }
156
+ /**
157
+ * Static method to create a new OpenSearchVectorStore from an array of
158
+ * Documents, embeddings, and OpenSearch client arguments.
159
+ * @param docs The documents to be added to the OpenSearch index.
160
+ * @param embeddings The embeddings used to convert the documents into vectors.
161
+ * @param dbConfig The OpenSearch client arguments.
162
+ * @returns Promise resolving to a new instance of OpenSearchVectorStore.
163
+ */
119
164
  static async fromDocuments(docs, embeddings, dbConfig) {
120
165
  const store = new OpenSearchVectorStore(embeddings, dbConfig);
121
166
  await store.addDocuments(docs).then(() => store);
122
167
  return store;
123
168
  }
169
+ /**
170
+ * Static method to create a new OpenSearchVectorStore from an existing
171
+ * OpenSearch index, embeddings, and OpenSearch client arguments.
172
+ * @param embeddings The embeddings used to convert the documents into vectors.
173
+ * @param dbConfig The OpenSearch client arguments.
174
+ * @returns Promise resolving to a new instance of OpenSearchVectorStore.
175
+ */
124
176
  static async fromExistingIndex(embeddings, dbConfig) {
125
177
  const store = new OpenSearchVectorStore(embeddings, dbConfig);
126
178
  await store.client.cat.indices({ index: store.indexName });
@@ -176,6 +228,10 @@ export class OpenSearchVectorStore extends VectorStore {
176
228
  }
177
229
  return result;
178
230
  }
231
+ /**
232
+ * Method to check if the OpenSearch index exists.
233
+ * @returns Promise resolving to a boolean indicating whether the index exists.
234
+ */
179
235
  async doesIndexExist() {
180
236
  try {
181
237
  await this.client.cat.indices({ index: this.indexName });
@@ -189,6 +245,10 @@ export class OpenSearchVectorStore extends VectorStore {
189
245
  throw err;
190
246
  }
191
247
  }
248
+ /**
249
+ * Method to delete the OpenSearch index if it exists.
250
+ * @returns Promise resolving to void.
251
+ */
192
252
  async deleteIfExists() {
193
253
  const indexExists = await this.doesIndexExist();
194
254
  if (!indexExists)
@@ -31,6 +31,10 @@ const uuid = __importStar(require("uuid"));
31
31
  const flat_1 = __importDefault(require("flat"));
32
32
  const base_js_1 = require("./base.cjs");
33
33
  const document_js_1 = require("../document.cjs");
34
+ /**
35
+ * Class that extends the VectorStore class and provides methods to
36
+ * interact with the Pinecone vector database.
37
+ */
34
38
  class PineconeStore extends base_js_1.VectorStore {
35
39
  _vectorstoreType() {
36
40
  return "pinecone";
@@ -67,10 +71,23 @@ class PineconeStore extends base_js_1.VectorStore {
67
71
  this.textKey = args.textKey ?? "text";
68
72
  this.filter = args.filter;
69
73
  }
74
+ /**
75
+ * Method that adds documents to the Pinecone database.
76
+ * @param documents Array of documents to add to the Pinecone database.
77
+ * @param options Optional ids for the documents.
78
+ * @returns Promise that resolves with the ids of the added documents.
79
+ */
70
80
  async addDocuments(documents, options) {
71
81
  const texts = documents.map(({ pageContent }) => pageContent);
72
82
  return this.addVectors(await this.embeddings.embedDocuments(texts), documents, options);
73
83
  }
84
+ /**
85
+ * Method that adds vectors to the Pinecone database.
86
+ * @param vectors Array of vectors to add to the Pinecone database.
87
+ * @param documents Array of documents associated with the vectors.
88
+ * @param options Optional ids for the vectors.
89
+ * @returns Promise that resolves with the ids of the added vectors.
90
+ */
74
91
  async addVectors(vectors, documents, options) {
75
92
  const ids = Array.isArray(options) ? options : options?.ids;
76
93
  const documentIds = ids == null ? documents.map(() => uuid.v4()) : ids;
@@ -121,6 +138,11 @@ class PineconeStore extends base_js_1.VectorStore {
121
138
  }
122
139
  return documentIds;
123
140
  }
141
+ /**
142
+ * Method that deletes vectors from the Pinecone database.
143
+ * @param params Parameters for the delete operation.
144
+ * @returns Promise that resolves when the delete operation is complete.
145
+ */
124
146
  async delete(params) {
125
147
  const { namespace = this.namespace, deleteAll, ids, ...rest } = params;
126
148
  if (deleteAll) {
@@ -145,6 +167,14 @@ class PineconeStore extends base_js_1.VectorStore {
145
167
  throw new Error("Either ids or delete_all must be provided.");
146
168
  }
147
169
  }
170
+ /**
171
+ * Method that performs a similarity search in the Pinecone database and
172
+ * returns the results along with their scores.
173
+ * @param query Query vector for the similarity search.
174
+ * @param k Number of top results to return.
175
+ * @param filter Optional filter to apply to the search.
176
+ * @returns Promise that resolves with an array of documents and their scores.
177
+ */
148
178
  async similaritySearchVectorWithScore(query, k, filter) {
149
179
  if (filter && this.filter) {
150
180
  throw new Error("cannot provide both `filter` and `this.filter`");
@@ -171,6 +201,15 @@ class PineconeStore extends base_js_1.VectorStore {
171
201
  }
172
202
  return result;
173
203
  }
204
+ /**
205
+ * Static method that creates a new instance of the PineconeStore class
206
+ * from texts.
207
+ * @param texts Array of texts to add to the Pinecone database.
208
+ * @param metadatas Metadata associated with the texts.
209
+ * @param embeddings Embeddings to use for the texts.
210
+ * @param dbConfig Configuration for the Pinecone database.
211
+ * @returns Promise that resolves with a new instance of the PineconeStore class.
212
+ */
174
213
  static async fromTexts(texts, metadatas, embeddings, dbConfig) {
175
214
  const docs = [];
176
215
  for (let i = 0; i < texts.length; i += 1) {
@@ -190,6 +229,14 @@ class PineconeStore extends base_js_1.VectorStore {
190
229
  };
191
230
  return PineconeStore.fromDocuments(docs, embeddings, args);
192
231
  }
232
+ /**
233
+ * Static method that creates a new instance of the PineconeStore class
234
+ * from documents.
235
+ * @param docs Array of documents to add to the Pinecone database.
236
+ * @param embeddings Embeddings to use for the documents.
237
+ * @param dbConfig Configuration for the Pinecone database.
238
+ * @returns Promise that resolves with a new instance of the PineconeStore class.
239
+ */
193
240
  static async fromDocuments(docs, embeddings, dbConfig) {
194
241
  const args = dbConfig;
195
242
  args.textKey = dbConfig.textKey ?? "text";
@@ -197,6 +244,13 @@ class PineconeStore extends base_js_1.VectorStore {
197
244
  await instance.addDocuments(docs);
198
245
  return instance;
199
246
  }
247
+ /**
248
+ * Static method that creates a new instance of the PineconeStore class
249
+ * from an existing index.
250
+ * @param embeddings Embeddings to use for the documents.
251
+ * @param dbConfig Configuration for the Pinecone database.
252
+ * @returns Promise that resolves with a new instance of the PineconeStore class.
253
+ */
200
254
  static async fromExistingIndex(embeddings, dbConfig) {
201
255
  const instance = new this(embeddings, dbConfig);
202
256
  return instance;
@@ -9,11 +9,19 @@ export interface PineconeLibArgs {
9
9
  namespace?: string;
10
10
  filter?: PineconeMetadata;
11
11
  }
12
+ /**
13
+ * Type that defines the parameters for the delete operation in the
14
+ * PineconeStore class. It includes ids, deleteAll flag, and namespace.
15
+ */
12
16
  export type PineconeDeleteParams = {
13
17
  ids?: string[];
14
18
  deleteAll?: boolean;
15
19
  namespace?: string;
16
20
  };
21
+ /**
22
+ * Class that extends the VectorStore class and provides methods to
23
+ * interact with the Pinecone vector database.
24
+ */
17
25
  export declare class PineconeStore extends VectorStore {
18
26
  FilterType: PineconeMetadata;
19
27
  textKey: string;
@@ -22,14 +30,49 @@ export declare class PineconeStore extends VectorStore {
22
30
  filter?: PineconeMetadata;
23
31
  _vectorstoreType(): string;
24
32
  constructor(embeddings: Embeddings, args: PineconeLibArgs);
33
+ /**
34
+ * Method that adds documents to the Pinecone database.
35
+ * @param documents Array of documents to add to the Pinecone database.
36
+ * @param options Optional ids for the documents.
37
+ * @returns Promise that resolves with the ids of the added documents.
38
+ */
25
39
  addDocuments(documents: Document[], options?: {
26
40
  ids?: string[];
27
41
  } | string[]): Promise<string[]>;
42
+ /**
43
+ * Method that adds vectors to the Pinecone database.
44
+ * @param vectors Array of vectors to add to the Pinecone database.
45
+ * @param documents Array of documents associated with the vectors.
46
+ * @param options Optional ids for the vectors.
47
+ * @returns Promise that resolves with the ids of the added vectors.
48
+ */
28
49
  addVectors(vectors: number[][], documents: Document[], options?: {
29
50
  ids?: string[];
30
51
  } | string[]): Promise<string[]>;
52
+ /**
53
+ * Method that deletes vectors from the Pinecone database.
54
+ * @param params Parameters for the delete operation.
55
+ * @returns Promise that resolves when the delete operation is complete.
56
+ */
31
57
  delete(params: PineconeDeleteParams): Promise<void>;
58
+ /**
59
+ * Method that performs a similarity search in the Pinecone database and
60
+ * returns the results along with their scores.
61
+ * @param query Query vector for the similarity search.
62
+ * @param k Number of top results to return.
63
+ * @param filter Optional filter to apply to the search.
64
+ * @returns Promise that resolves with an array of documents and their scores.
65
+ */
32
66
  similaritySearchVectorWithScore(query: number[], k: number, filter?: PineconeMetadata): Promise<[Document, number][]>;
67
+ /**
68
+ * Static method that creates a new instance of the PineconeStore class
69
+ * from texts.
70
+ * @param texts Array of texts to add to the Pinecone database.
71
+ * @param metadatas Metadata associated with the texts.
72
+ * @param embeddings Embeddings to use for the texts.
73
+ * @param dbConfig Configuration for the Pinecone database.
74
+ * @returns Promise that resolves with a new instance of the PineconeStore class.
75
+ */
33
76
  static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, dbConfig: {
34
77
  /**
35
78
  * @deprecated Use pineconeIndex instead
@@ -38,7 +81,22 @@ export declare class PineconeStore extends VectorStore {
38
81
  textKey?: string;
39
82
  namespace?: string | undefined;
40
83
  } | PineconeLibArgs): Promise<PineconeStore>;
84
+ /**
85
+ * Static method that creates a new instance of the PineconeStore class
86
+ * from documents.
87
+ * @param docs Array of documents to add to the Pinecone database.
88
+ * @param embeddings Embeddings to use for the documents.
89
+ * @param dbConfig Configuration for the Pinecone database.
90
+ * @returns Promise that resolves with a new instance of the PineconeStore class.
91
+ */
41
92
  static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig: PineconeLibArgs): Promise<PineconeStore>;
93
+ /**
94
+ * Static method that creates a new instance of the PineconeStore class
95
+ * from an existing index.
96
+ * @param embeddings Embeddings to use for the documents.
97
+ * @param dbConfig Configuration for the Pinecone database.
98
+ * @returns Promise that resolves with a new instance of the PineconeStore class.
99
+ */
42
100
  static fromExistingIndex(embeddings: Embeddings, dbConfig: PineconeLibArgs): Promise<PineconeStore>;
43
101
  }
44
102
  export {};