langchain 0.0.130 → 0.0.132

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