langchain 0.2.10 → 0.2.12

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 (345) hide show
  1. package/chat_models/universal.cjs +1 -0
  2. package/chat_models/universal.d.cts +1 -0
  3. package/chat_models/universal.d.ts +1 -0
  4. package/chat_models/universal.js +1 -0
  5. package/dist/chat_models/universal.cjs +600 -0
  6. package/dist/chat_models/universal.d.ts +115 -0
  7. package/dist/chat_models/universal.js +595 -0
  8. package/dist/document_loaders/web/assemblyai.cjs +9 -1
  9. package/dist/document_loaders/web/assemblyai.js +9 -1
  10. package/dist/experimental/chrome_ai/app/dist/bundle.cjs +1250 -0
  11. package/dist/experimental/chrome_ai/app/dist/bundle.d.ts +1 -0
  12. package/dist/experimental/chrome_ai/app/dist/bundle.js +1249 -0
  13. package/dist/load/import_constants.cjs +1 -0
  14. package/dist/load/import_constants.js +1 -0
  15. package/package.json +99 -43
  16. package/dist/agents/tests/agent.int.test.d.ts +0 -1
  17. package/dist/agents/tests/agent.int.test.js +0 -309
  18. package/dist/agents/tests/chat_convo_output_parser.test.d.ts +0 -1
  19. package/dist/agents/tests/chat_convo_output_parser.test.js +0 -91
  20. package/dist/agents/tests/create_openai_functions_agent.int.test.d.ts +0 -2
  21. package/dist/agents/tests/create_openai_functions_agent.int.test.js +0 -71
  22. package/dist/agents/tests/create_openai_tools_agent.int.test.d.ts +0 -1
  23. package/dist/agents/tests/create_openai_tools_agent.int.test.js +0 -75
  24. package/dist/agents/tests/create_react_agent.int.test.d.ts +0 -1
  25. package/dist/agents/tests/create_react_agent.int.test.js +0 -32
  26. package/dist/agents/tests/create_structured_chat_agent.int.test.d.ts +0 -1
  27. package/dist/agents/tests/create_structured_chat_agent.int.test.js +0 -32
  28. package/dist/agents/tests/create_tool_calling_agent.int.test.d.ts +0 -1
  29. package/dist/agents/tests/create_tool_calling_agent.int.test.js +0 -122
  30. package/dist/agents/tests/create_xml_agent.int.test.d.ts +0 -1
  31. package/dist/agents/tests/create_xml_agent.int.test.js +0 -32
  32. package/dist/agents/tests/json.test.d.ts +0 -1
  33. package/dist/agents/tests/json.test.js +0 -74
  34. package/dist/agents/tests/react.test.d.ts +0 -1
  35. package/dist/agents/tests/react.test.js +0 -44
  36. package/dist/agents/tests/runnable.int.test.d.ts +0 -1
  37. package/dist/agents/tests/runnable.int.test.js +0 -104
  38. package/dist/agents/tests/sql.test.d.ts +0 -1
  39. package/dist/agents/tests/sql.test.js +0 -133
  40. package/dist/agents/tests/structured_chat_output_parser.test.d.ts +0 -1
  41. package/dist/agents/tests/structured_chat_output_parser.test.js +0 -35
  42. package/dist/agents/tests/structured_chat_output_parser_with_retries.int.test.d.ts +0 -1
  43. package/dist/agents/tests/structured_chat_output_parser_with_retries.int.test.js +0 -44
  44. package/dist/agents/tests/structured_output_runnables.int.test.d.ts +0 -1
  45. package/dist/agents/tests/structured_output_runnables.int.test.js +0 -112
  46. package/dist/agents/toolkits/tests/conversational_retrieval.int.test.d.ts +0 -1
  47. package/dist/agents/toolkits/tests/conversational_retrieval.int.test.js +0 -41
  48. package/dist/cache/tests/file_system.int.test.d.ts +0 -1
  49. package/dist/cache/tests/file_system.int.test.js +0 -32
  50. package/dist/chains/openai_functions/tests/create_runnable_chains.int.test.d.ts +0 -1
  51. package/dist/chains/openai_functions/tests/create_runnable_chains.int.test.js +0 -139
  52. package/dist/chains/openai_functions/tests/extraction.int.test.d.ts +0 -1
  53. package/dist/chains/openai_functions/tests/extraction.int.test.js +0 -33
  54. package/dist/chains/openai_functions/tests/openapi.int.test.d.ts +0 -1
  55. package/dist/chains/openai_functions/tests/openapi.int.test.js +0 -130
  56. package/dist/chains/openai_functions/tests/openapi.test.d.ts +0 -1
  57. package/dist/chains/openai_functions/tests/openapi.test.js +0 -172
  58. package/dist/chains/openai_functions/tests/structured_output.int.test.d.ts +0 -1
  59. package/dist/chains/openai_functions/tests/structured_output.int.test.js +0 -40
  60. package/dist/chains/openai_functions/tests/structured_output.test.d.ts +0 -1
  61. package/dist/chains/openai_functions/tests/structured_output.test.js +0 -102
  62. package/dist/chains/openai_functions/tests/tagging.int.test.d.ts +0 -1
  63. package/dist/chains/openai_functions/tests/tagging.int.test.js +0 -21
  64. package/dist/chains/query_constructor/tests/query_chain.int.test.d.ts +0 -1
  65. package/dist/chains/query_constructor/tests/query_chain.int.test.js +0 -93
  66. package/dist/chains/query_constructor/tests/query_parser.test.d.ts +0 -1
  67. package/dist/chains/query_constructor/tests/query_parser.test.js +0 -28
  68. package/dist/chains/question_answering/tests/load.int.test.d.ts +0 -1
  69. package/dist/chains/question_answering/tests/load.int.test.js +0 -39
  70. package/dist/chains/router/tests/multi_prompt.int.test.d.ts +0 -1
  71. package/dist/chains/router/tests/multi_prompt.int.test.js +0 -45
  72. package/dist/chains/router/tests/multi_prompt.test.d.ts +0 -1
  73. package/dist/chains/router/tests/multi_prompt.test.js +0 -62
  74. package/dist/chains/router/tests/multi_retrieval_qa.int.test.d.ts +0 -1
  75. package/dist/chains/router/tests/multi_retrieval_qa.int.test.js +0 -67
  76. package/dist/chains/router/tests/multi_retrieval_qa.test.d.ts +0 -1
  77. package/dist/chains/router/tests/multi_retrieval_qa.test.js +0 -125
  78. package/dist/chains/summarization/tests/load.int.test.d.ts +0 -1
  79. package/dist/chains/summarization/tests/load.int.test.js +0 -37
  80. package/dist/chains/tests/api_chain.int.test.d.ts +0 -1
  81. package/dist/chains/tests/api_chain.int.test.js +0 -55
  82. package/dist/chains/tests/combine_docs_chain.int.test.d.ts +0 -1
  83. package/dist/chains/tests/combine_docs_chain.int.test.js +0 -50
  84. package/dist/chains/tests/combine_docs_chain.test.d.ts +0 -1
  85. package/dist/chains/tests/combine_docs_chain.test.js +0 -98
  86. package/dist/chains/tests/constitutional_chain.int.test.d.ts +0 -1
  87. package/dist/chains/tests/constitutional_chain.int.test.js +0 -30
  88. package/dist/chains/tests/constitutional_chain.test.d.ts +0 -1
  89. package/dist/chains/tests/constitutional_chain.test.js +0 -63
  90. package/dist/chains/tests/conversation_chain.int.test.d.ts +0 -1
  91. package/dist/chains/tests/conversation_chain.int.test.js +0 -9
  92. package/dist/chains/tests/conversational_retrieval_chain.int.test.d.ts +0 -1
  93. package/dist/chains/tests/conversational_retrieval_chain.int.test.js +0 -243
  94. package/dist/chains/tests/example_data/open_meteo_docs.d.ts +0 -1
  95. package/dist/chains/tests/example_data/open_meteo_docs.js +0 -29
  96. package/dist/chains/tests/history_aware_retriever.int.test.d.ts +0 -1
  97. package/dist/chains/tests/history_aware_retriever.int.test.js +0 -41
  98. package/dist/chains/tests/history_aware_retriever.test.d.ts +0 -1
  99. package/dist/chains/tests/history_aware_retriever.test.js +0 -27
  100. package/dist/chains/tests/llm_chain.int.test.d.ts +0 -1
  101. package/dist/chains/tests/llm_chain.int.test.js +0 -119
  102. package/dist/chains/tests/openai_moderation.int.test.d.ts +0 -1
  103. package/dist/chains/tests/openai_moderation.int.test.js +0 -30
  104. package/dist/chains/tests/retrieval_chain.int.test.d.ts +0 -1
  105. package/dist/chains/tests/retrieval_chain.int.test.js +0 -69
  106. package/dist/chains/tests/retrieval_chain.test.d.ts +0 -1
  107. package/dist/chains/tests/retrieval_chain.test.js +0 -36
  108. package/dist/chains/tests/sequential_chain.int.test.d.ts +0 -1
  109. package/dist/chains/tests/sequential_chain.int.test.js +0 -88
  110. package/dist/chains/tests/sequential_chain.test.d.ts +0 -1
  111. package/dist/chains/tests/sequential_chain.test.js +0 -295
  112. package/dist/chains/tests/simple_sequential_chain.int.test.d.ts +0 -1
  113. package/dist/chains/tests/simple_sequential_chain.int.test.js +0 -81
  114. package/dist/chains/tests/simple_sequential_chain.test.d.ts +0 -1
  115. package/dist/chains/tests/simple_sequential_chain.test.js +0 -128
  116. package/dist/chains/tests/sql_db_chain.int.test.d.ts +0 -1
  117. package/dist/chains/tests/sql_db_chain.int.test.js +0 -125
  118. package/dist/chains/tests/transform.test.d.ts +0 -1
  119. package/dist/chains/tests/transform.test.js +0 -12
  120. package/dist/chains/tests/vector_db_qa_chain.int.test.d.ts +0 -1
  121. package/dist/chains/tests/vector_db_qa_chain.int.test.js +0 -45
  122. package/dist/document_loaders/tests/assemblyai.int.test.d.ts +0 -1
  123. package/dist/document_loaders/tests/assemblyai.int.test.js +0 -111
  124. package/dist/document_loaders/tests/chatgpt-blob.test.d.ts +0 -1
  125. package/dist/document_loaders/tests/chatgpt-blob.test.js +0 -30
  126. package/dist/document_loaders/tests/chatgpt.test.d.ts +0 -1
  127. package/dist/document_loaders/tests/chatgpt.test.js +0 -29
  128. package/dist/document_loaders/tests/cheerio.int.test.d.ts +0 -1
  129. package/dist/document_loaders/tests/cheerio.int.test.js +0 -21
  130. package/dist/document_loaders/tests/college_confidential.int.test.d.ts +0 -1
  131. package/dist/document_loaders/tests/college_confidential.int.test.js +0 -6
  132. package/dist/document_loaders/tests/confluence.test.d.ts +0 -1
  133. package/dist/document_loaders/tests/confluence.test.js +0 -52
  134. package/dist/document_loaders/tests/couchbase.int.test.d.ts +0 -1
  135. package/dist/document_loaders/tests/couchbase.int.test.js +0 -28
  136. package/dist/document_loaders/tests/csv-blob.test.d.ts +0 -1
  137. package/dist/document_loaders/tests/csv-blob.test.js +0 -53
  138. package/dist/document_loaders/tests/csv.test.d.ts +0 -1
  139. package/dist/document_loaders/tests/csv.test.js +0 -41
  140. package/dist/document_loaders/tests/directory.test.d.ts +0 -1
  141. package/dist/document_loaders/tests/directory.test.js +0 -38
  142. package/dist/document_loaders/tests/docx.test.d.ts +0 -1
  143. package/dist/document_loaders/tests/docx.test.js +0 -11
  144. package/dist/document_loaders/tests/epub.test.d.ts +0 -1
  145. package/dist/document_loaders/tests/epub.test.js +0 -18
  146. package/dist/document_loaders/tests/example_data/github_api_responses.d.ts +0 -5
  147. package/dist/document_loaders/tests/example_data/github_api_responses.js +0 -91
  148. package/dist/document_loaders/tests/figma.int.test.d.ts +0 -1
  149. package/dist/document_loaders/tests/figma.int.test.js +0 -13
  150. package/dist/document_loaders/tests/firecrawl.int.test.d.ts +0 -1
  151. package/dist/document_loaders/tests/firecrawl.int.test.js +0 -30
  152. package/dist/document_loaders/tests/gitbook.int.test.d.ts +0 -1
  153. package/dist/document_loaders/tests/gitbook.int.test.js +0 -14
  154. package/dist/document_loaders/tests/github.int.test.d.ts +0 -1
  155. package/dist/document_loaders/tests/github.int.test.js +0 -86
  156. package/dist/document_loaders/tests/github.test.d.ts +0 -1
  157. package/dist/document_loaders/tests/github.test.js +0 -51
  158. package/dist/document_loaders/tests/hn.int.test.d.ts +0 -1
  159. package/dist/document_loaders/tests/hn.int.test.js +0 -6
  160. package/dist/document_loaders/tests/imsdb.test.d.ts +0 -1
  161. package/dist/document_loaders/tests/imsdb.test.js +0 -6
  162. package/dist/document_loaders/tests/json-blob.test.d.ts +0 -1
  163. package/dist/document_loaders/tests/json-blob.test.js +0 -91
  164. package/dist/document_loaders/tests/json.test.d.ts +0 -1
  165. package/dist/document_loaders/tests/json.test.js +0 -69
  166. package/dist/document_loaders/tests/jsonl-blob.test.d.ts +0 -1
  167. package/dist/document_loaders/tests/jsonl-blob.test.js +0 -46
  168. package/dist/document_loaders/tests/jsonl.test.d.ts +0 -1
  169. package/dist/document_loaders/tests/jsonl.test.js +0 -15
  170. package/dist/document_loaders/tests/multi_file.test.d.ts +0 -1
  171. package/dist/document_loaders/tests/multi_file.test.js +0 -49
  172. package/dist/document_loaders/tests/notion.test.d.ts +0 -1
  173. package/dist/document_loaders/tests/notion.test.js +0 -11
  174. package/dist/document_loaders/tests/notionapi.int.test.d.ts +0 -1
  175. package/dist/document_loaders/tests/notionapi.int.test.js +0 -80
  176. package/dist/document_loaders/tests/notionapi.test.d.ts +0 -1
  177. package/dist/document_loaders/tests/notionapi.test.js +0 -84
  178. package/dist/document_loaders/tests/notiondb.int.test.d.ts +0 -1
  179. package/dist/document_loaders/tests/notiondb.int.test.js +0 -13
  180. package/dist/document_loaders/tests/obsidian.test.d.ts +0 -1
  181. package/dist/document_loaders/tests/obsidian.test.js +0 -119
  182. package/dist/document_loaders/tests/pdf-blob.test.d.ts +0 -1
  183. package/dist/document_loaders/tests/pdf-blob.test.js +0 -44
  184. package/dist/document_loaders/tests/pdf.test.d.ts +0 -1
  185. package/dist/document_loaders/tests/pdf.test.js +0 -25
  186. package/dist/document_loaders/tests/playwright_web.int.test.d.ts +0 -1
  187. package/dist/document_loaders/tests/playwright_web.int.test.js +0 -27
  188. package/dist/document_loaders/tests/pptx.test.d.ts +0 -1
  189. package/dist/document_loaders/tests/pptx.test.js +0 -17
  190. package/dist/document_loaders/tests/puppeteer.int.test.d.ts +0 -1
  191. package/dist/document_loaders/tests/puppeteer.int.test.js +0 -47
  192. package/dist/document_loaders/tests/recursive_url.int.test.d.ts +0 -1
  193. package/dist/document_loaders/tests/recursive_url.int.test.js +0 -64
  194. package/dist/document_loaders/tests/s3.int.test.d.ts +0 -1
  195. package/dist/document_loaders/tests/s3.int.test.js +0 -48
  196. package/dist/document_loaders/tests/searchapi.test.d.ts +0 -1
  197. package/dist/document_loaders/tests/searchapi.test.js +0 -29
  198. package/dist/document_loaders/tests/serpapi.test.d.ts +0 -1
  199. package/dist/document_loaders/tests/serpapi.test.js +0 -21
  200. package/dist/document_loaders/tests/sitemap.int.test.d.ts +0 -1
  201. package/dist/document_loaders/tests/sitemap.int.test.js +0 -28
  202. package/dist/document_loaders/tests/sonix_audio.int.test.d.ts +0 -1
  203. package/dist/document_loaders/tests/sonix_audio.int.test.js +0 -55
  204. package/dist/document_loaders/tests/sort_xyz_blockchain.int.test.d.ts +0 -1
  205. package/dist/document_loaders/tests/sort_xyz_blockchain.int.test.js +0 -38
  206. package/dist/document_loaders/tests/srt-blob.test.d.ts +0 -1
  207. package/dist/document_loaders/tests/srt-blob.test.js +0 -18
  208. package/dist/document_loaders/tests/srt.test.d.ts +0 -1
  209. package/dist/document_loaders/tests/srt.test.js +0 -16
  210. package/dist/document_loaders/tests/text-blob.test.d.ts +0 -1
  211. package/dist/document_loaders/tests/text-blob.test.js +0 -14
  212. package/dist/document_loaders/tests/text.test.d.ts +0 -1
  213. package/dist/document_loaders/tests/text.test.js +0 -22
  214. package/dist/document_loaders/tests/unstructured.int.test.d.ts +0 -1
  215. package/dist/document_loaders/tests/unstructured.int.test.js +0 -58
  216. package/dist/document_loaders/tests/webpdf.int.test.d.ts +0 -1
  217. package/dist/document_loaders/tests/webpdf.int.test.js +0 -90
  218. package/dist/document_transformers/tests/openai_functions.int.test.d.ts +0 -1
  219. package/dist/document_transformers/tests/openai_functions.int.test.js +0 -40
  220. package/dist/embeddings/tests/cache.test.d.ts +0 -1
  221. package/dist/embeddings/tests/cache.test.js +0 -24
  222. package/dist/embeddings/tests/fake.test.d.ts +0 -1
  223. package/dist/embeddings/tests/fake.test.js +0 -34
  224. package/dist/evaluation/agents/tests/trajectory_eval_chain.int.test.d.ts +0 -1
  225. package/dist/evaluation/agents/tests/trajectory_eval_chain.int.test.js +0 -33
  226. package/dist/evaluation/comparison/tests/pairwise_eval_chain.int.test.d.ts +0 -1
  227. package/dist/evaluation/comparison/tests/pairwise_eval_chain.int.test.js +0 -46
  228. package/dist/evaluation/criteria/tests/criteria_eval_chain.int.test.d.ts +0 -1
  229. package/dist/evaluation/criteria/tests/criteria_eval_chain.int.test.js +0 -108
  230. package/dist/evaluation/embedding_distance/tests/embedding_distance_eval_chain.int.test.d.ts +0 -1
  231. package/dist/evaluation/embedding_distance/tests/embedding_distance_eval_chain.int.test.js +0 -26
  232. package/dist/evaluation/qa/tests/eval_chain.int.test.d.ts +0 -1
  233. package/dist/evaluation/qa/tests/eval_chain.int.test.js +0 -27
  234. package/dist/experimental/autogpt/tests/output_parser.test.d.ts +0 -1
  235. package/dist/experimental/autogpt/tests/output_parser.test.js +0 -8
  236. package/dist/experimental/autogpt/tests/prompt.test.d.ts +0 -1
  237. package/dist/experimental/autogpt/tests/prompt.test.js +0 -69
  238. package/dist/experimental/autogpt/tests/prompt_generator.test.d.ts +0 -1
  239. package/dist/experimental/autogpt/tests/prompt_generator.test.js +0 -91
  240. package/dist/experimental/chains/tests/violation_of_expectations_chain.int.test.d.ts +0 -1
  241. package/dist/experimental/chains/tests/violation_of_expectations_chain.int.test.js +0 -26
  242. package/dist/experimental/generative_agents/tests/generative_agent.int.test.d.ts +0 -1
  243. package/dist/experimental/generative_agents/tests/generative_agent.int.test.js +0 -304
  244. package/dist/experimental/masking/tests/masking-extended.test.d.ts +0 -1
  245. package/dist/experimental/masking/tests/masking-extended.test.js +0 -58
  246. package/dist/experimental/masking/tests/masking.test.d.ts +0 -1
  247. package/dist/experimental/masking/tests/masking.test.js +0 -388
  248. package/dist/experimental/openai_assistant/tests/openai_assistant.int.test.d.ts +0 -1
  249. package/dist/experimental/openai_assistant/tests/openai_assistant.int.test.js +0 -203
  250. package/dist/experimental/openai_files/tests/openai_file.int.test.d.ts +0 -1
  251. package/dist/experimental/openai_files/tests/openai_file.int.test.js +0 -87
  252. package/dist/experimental/plan_and_execute/tests/plan_and_execute.int.test.d.ts +0 -1
  253. package/dist/experimental/plan_and_execute/tests/plan_and_execute.int.test.js +0 -54
  254. package/dist/experimental/prompts/tests/handlebars.test.d.ts +0 -1
  255. package/dist/experimental/prompts/tests/handlebars.test.js +0 -24
  256. package/dist/experimental/tools/tests/pyinterpreter.int.test.d.ts +0 -1
  257. package/dist/experimental/tools/tests/pyinterpreter.int.test.js +0 -22
  258. package/dist/load/tests/cross_language.test.d.ts +0 -1
  259. package/dist/load/tests/cross_language.test.js +0 -83
  260. package/dist/load/tests/load.int.test.d.ts +0 -1
  261. package/dist/load/tests/load.int.test.js +0 -9
  262. package/dist/load/tests/load.test.d.ts +0 -1
  263. package/dist/load/tests/load.test.js +0 -412
  264. package/dist/memory/tests/buffer_memory.test.d.ts +0 -1
  265. package/dist/memory/tests/buffer_memory.test.js +0 -34
  266. package/dist/memory/tests/buffer_token_memory.int.test.d.ts +0 -1
  267. package/dist/memory/tests/buffer_token_memory.int.test.js +0 -47
  268. package/dist/memory/tests/buffer_window_memory.test.d.ts +0 -1
  269. package/dist/memory/tests/buffer_window_memory.test.js +0 -42
  270. package/dist/memory/tests/combined_memory.int.test.d.ts +0 -1
  271. package/dist/memory/tests/combined_memory.int.test.js +0 -74
  272. package/dist/memory/tests/entity_memory.int.test.d.ts +0 -1
  273. package/dist/memory/tests/entity_memory.int.test.js +0 -79
  274. package/dist/memory/tests/entity_memory.test.d.ts +0 -1
  275. package/dist/memory/tests/entity_memory.test.js +0 -48
  276. package/dist/memory/tests/summary.int.test.d.ts +0 -1
  277. package/dist/memory/tests/summary.int.test.js +0 -50
  278. package/dist/memory/tests/summary_buffer.int.test.d.ts +0 -1
  279. package/dist/memory/tests/summary_buffer.int.test.js +0 -55
  280. package/dist/memory/tests/vector_store_memory.int.test.d.ts +0 -1
  281. package/dist/memory/tests/vector_store_memory.int.test.js +0 -55
  282. package/dist/output_parsers/tests/combining.int.test.d.ts +0 -1
  283. package/dist/output_parsers/tests/combining.int.test.js +0 -26
  284. package/dist/output_parsers/tests/combining.test.d.ts +0 -1
  285. package/dist/output_parsers/tests/combining.test.js +0 -54
  286. package/dist/output_parsers/tests/datetime.test.d.ts +0 -1
  287. package/dist/output_parsers/tests/datetime.test.js +0 -14
  288. package/dist/output_parsers/tests/expression.test.d.ts +0 -1
  289. package/dist/output_parsers/tests/expression.test.js +0 -339
  290. package/dist/output_parsers/tests/http_response.test.d.ts +0 -1
  291. package/dist/output_parsers/tests/http_response.test.js +0 -39
  292. package/dist/output_parsers/tests/list.test.d.ts +0 -1
  293. package/dist/output_parsers/tests/list.test.js +0 -27
  294. package/dist/output_parsers/tests/openai_functions.int.test.d.ts +0 -1
  295. package/dist/output_parsers/tests/openai_functions.int.test.js +0 -89
  296. package/dist/output_parsers/tests/openai_tools.int.test.d.ts +0 -1
  297. package/dist/output_parsers/tests/openai_tools.int.test.js +0 -36
  298. package/dist/output_parsers/tests/structured.int.test.d.ts +0 -1
  299. package/dist/output_parsers/tests/structured.int.test.js +0 -150
  300. package/dist/prompts/tests/selectors.test.d.ts +0 -1
  301. package/dist/prompts/tests/selectors.test.js +0 -59
  302. package/dist/retrievers/self_query/tests/memory_self_query.int.test.d.ts +0 -1
  303. package/dist/retrievers/self_query/tests/memory_self_query.int.test.js +0 -330
  304. package/dist/retrievers/tests/chain_extract.int.test.d.ts +0 -1
  305. package/dist/retrievers/tests/chain_extract.int.test.js +0 -32
  306. package/dist/retrievers/tests/ensemble_retriever.int.test.d.ts +0 -1
  307. package/dist/retrievers/tests/ensemble_retriever.int.test.js +0 -74
  308. package/dist/retrievers/tests/hyde.int.test.d.ts +0 -1
  309. package/dist/retrievers/tests/hyde.int.test.js +0 -44
  310. package/dist/retrievers/tests/matryoshka_retriever.int.test.d.ts +0 -1
  311. package/dist/retrievers/tests/matryoshka_retriever.int.test.js +0 -113
  312. package/dist/retrievers/tests/multi_query.int.test.d.ts +0 -1
  313. package/dist/retrievers/tests/multi_query.int.test.js +0 -45
  314. package/dist/retrievers/tests/parent_document.int.test.d.ts +0 -1
  315. package/dist/retrievers/tests/parent_document.int.test.js +0 -122
  316. package/dist/retrievers/tests/score_threshold.int.test.d.ts +0 -1
  317. package/dist/retrievers/tests/score_threshold.int.test.js +0 -83
  318. package/dist/retrievers/tests/time_weighted.test.d.ts +0 -1
  319. package/dist/retrievers/tests/time_weighted.test.js +0 -320
  320. package/dist/retrievers/tests/vectorstores.test.d.ts +0 -1
  321. package/dist/retrievers/tests/vectorstores.test.js +0 -50
  322. package/dist/smith/tests/run_on_dataset.int.test.d.ts +0 -1
  323. package/dist/smith/tests/run_on_dataset.int.test.js +0 -257
  324. package/dist/smith/tests/runner_utils.int.test.d.ts +0 -9
  325. package/dist/smith/tests/runner_utils.int.test.js +0 -234
  326. package/dist/storage/tests/file_system.test.d.ts +0 -1
  327. package/dist/storage/tests/file_system.test.js +0 -81
  328. package/dist/tools/tests/chain.test.d.ts +0 -1
  329. package/dist/tools/tests/chain.test.js +0 -136
  330. package/dist/tools/tests/webbrowser.int.test.d.ts +0 -1
  331. package/dist/tools/tests/webbrowser.int.test.js +0 -80
  332. package/dist/tools/tests/webbrowser.test.d.ts +0 -1
  333. package/dist/tools/tests/webbrowser.test.js +0 -21
  334. package/dist/util/tests/async_caller.int.test.d.ts +0 -1
  335. package/dist/util/tests/async_caller.int.test.js +0 -34
  336. package/dist/util/tests/azure.test.d.ts +0 -1
  337. package/dist/util/tests/azure.test.js +0 -42
  338. package/dist/util/tests/openai-stream.test.d.ts +0 -1
  339. package/dist/util/tests/openai-stream.test.js +0 -135
  340. package/dist/util/tests/set.test.d.ts +0 -1
  341. package/dist/util/tests/set.test.js +0 -36
  342. package/dist/util/tests/sql_utils.test.d.ts +0 -1
  343. package/dist/util/tests/sql_utils.test.js +0 -50
  344. package/dist/vectorstores/tests/memory.test.d.ts +0 -1
  345. package/dist/vectorstores/tests/memory.test.js +0 -78
@@ -1,71 +0,0 @@
1
- /** eslint-disable @typescript-eslint/no-non-null-assertion */
2
- import { test, expect } from "@jest/globals";
3
- import { ChatOpenAI } from "@langchain/openai";
4
- import { TavilySearchResults } from "../../util/testing/tools/tavily_search.js";
5
- import { pull } from "../../hub.js";
6
- import { AgentExecutor, createOpenAIFunctionsAgent } from "../index.js";
7
- const tools = [new TavilySearchResults({ maxResults: 1 })];
8
- test("createOpenAIFunctionsAgent works", async () => {
9
- const prompt = await pull("hwchase17/openai-functions-agent");
10
- const llm = new ChatOpenAI({
11
- modelName: "gpt-3.5-turbo-1106",
12
- temperature: 0,
13
- });
14
- const agent = await createOpenAIFunctionsAgent({
15
- llm,
16
- tools,
17
- prompt,
18
- });
19
- const agentExecutor = new AgentExecutor({
20
- agent,
21
- tools,
22
- });
23
- const input = "what is LangChain?";
24
- const result = await agentExecutor.invoke({
25
- input,
26
- });
27
- console.log(result);
28
- expect(result.input).toBe(input);
29
- expect(typeof result.output).toBe("string");
30
- // Length greater than 10 because any less than that would warrant
31
- // an investigation into why such a short generation was returned.
32
- expect(result.output.length).toBeGreaterThan(10);
33
- });
34
- test("createOpenAIFunctionsAgent can stream log", async () => {
35
- const prompt = await pull("hwchase17/openai-functions-agent");
36
- const llm = new ChatOpenAI({
37
- modelName: "gpt-3.5-turbo-1106",
38
- temperature: 0,
39
- streaming: true,
40
- });
41
- const agent = await createOpenAIFunctionsAgent({
42
- llm,
43
- tools,
44
- prompt,
45
- });
46
- const agentExecutor = new AgentExecutor({
47
- agent,
48
- tools,
49
- });
50
- const input = "tell me a short story.";
51
- const logStream = await agentExecutor.streamLog({
52
- input,
53
- });
54
- const chunks = [];
55
- let firstChunkTime;
56
- for await (const chunk of logStream) {
57
- if (!firstChunkTime) {
58
- firstChunkTime = new Date().getTime();
59
- }
60
- console.log(chunk);
61
- chunks.push(chunk);
62
- }
63
- if (!firstChunkTime) {
64
- throw new Error("firstChunkTime was not set.");
65
- }
66
- console.log(chunks.length);
67
- console.log();
68
- console.log("Time to complete after first chunk:", new Date().getTime() - firstChunkTime);
69
- console.log(chunks.length);
70
- expect(chunks.length).toBeGreaterThan(1);
71
- });
@@ -1,75 +0,0 @@
1
- import { test, expect } from "@jest/globals";
2
- import { ChatOpenAI } from "@langchain/openai";
3
- import { RunnableLambda } from "@langchain/core/runnables";
4
- import { LangChainTracer } from "@langchain/core/tracers/tracer_langchain";
5
- import { AsyncLocalStorageProviderSingleton } from "@langchain/core/singletons";
6
- import { AsyncLocalStorage } from "async_hooks";
7
- import { TavilySearchResults } from "../../util/testing/tools/tavily_search.js";
8
- import { pull } from "../../hub.js";
9
- import { AgentExecutor, createOpenAIToolsAgent } from "../index.js";
10
- const tools = [new TavilySearchResults({ maxResults: 1 })];
11
- test("createOpenAIToolsAgent works", async () => {
12
- const prompt = await pull("hwchase17/openai-tools-agent");
13
- const llm = new ChatOpenAI({
14
- modelName: "gpt-3.5-turbo-1106",
15
- temperature: 0,
16
- });
17
- const agent = await createOpenAIToolsAgent({
18
- llm,
19
- tools,
20
- prompt,
21
- });
22
- const agentExecutor = new AgentExecutor({
23
- agent,
24
- tools,
25
- });
26
- const input = "what is LangChain?";
27
- const result = await agentExecutor.invoke({
28
- input,
29
- });
30
- console.log(result);
31
- expect(result.input).toBe(input);
32
- expect(typeof result.output).toBe("string");
33
- // Length greater than 10 because any less than that would warrant
34
- // an investigation into why such a short generation was returned.
35
- expect(result.output.length).toBeGreaterThan(10);
36
- });
37
- test.skip("createOpenAIToolsAgent tracing works when it is nested in a lambda", async () => {
38
- AsyncLocalStorageProviderSingleton.initializeGlobalInstance(new AsyncLocalStorage());
39
- const prompt = await pull("hwchase17/openai-tools-agent");
40
- const llm = new ChatOpenAI({
41
- modelName: "gpt-3.5-turbo-1106",
42
- temperature: 0,
43
- });
44
- const agent = await createOpenAIToolsAgent({
45
- llm,
46
- tools,
47
- prompt,
48
- });
49
- const agentExecutor = new AgentExecutor({
50
- agent,
51
- tools,
52
- });
53
- const outer = RunnableLambda.from(async (input) => {
54
- const noop = RunnableLambda.from(() => "hi").withConfig({
55
- runName: "nested_testing",
56
- });
57
- const noopRes = await noop.invoke({ nested: "nested" });
58
- console.log(noopRes);
59
- const res = await agentExecutor.invoke({
60
- input,
61
- });
62
- return res;
63
- });
64
- const input = "what is LangChain?";
65
- const result = await outer.invoke(input, {
66
- tags: ["test"],
67
- callbacks: [new LangChainTracer({ projectName: "langchainjs-tracing-2" })],
68
- });
69
- console.log(result);
70
- expect(result.input).toBe(input);
71
- expect(typeof result.output).toBe("string");
72
- // Length greater than 10 because any less than that would warrant
73
- // an investigation into why such a short generation was returned.
74
- expect(result.output.length).toBeGreaterThan(10);
75
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,32 +0,0 @@
1
- import { test, expect } from "@jest/globals";
2
- import { OpenAI } from "@langchain/openai";
3
- import { TavilySearchResults } from "../../util/testing/tools/tavily_search.js";
4
- import { pull } from "../../hub.js";
5
- import { AgentExecutor, createReactAgent } from "../index.js";
6
- const tools = [new TavilySearchResults({ maxResults: 1 })];
7
- test("createReactAgent works", async () => {
8
- const prompt = await pull("hwchase17/react");
9
- const llm = new OpenAI({
10
- modelName: "gpt-3.5-turbo-instruct",
11
- temperature: 0,
12
- });
13
- const agent = await createReactAgent({
14
- llm,
15
- tools,
16
- prompt,
17
- });
18
- const agentExecutor = new AgentExecutor({
19
- agent,
20
- tools,
21
- });
22
- const input = "what is LangChain?";
23
- const result = await agentExecutor.invoke({
24
- input,
25
- });
26
- console.log(result);
27
- expect(result.input).toBe(input);
28
- expect(typeof result.output).toBe("string");
29
- // Length greater than 10 because any less than that would warrant
30
- // an investigation into why such a short generation was returned.
31
- expect(result.output.length).toBeGreaterThan(10);
32
- });
@@ -1,32 +0,0 @@
1
- import { test, expect } from "@jest/globals";
2
- import { ChatOpenAI } from "@langchain/openai";
3
- import { TavilySearchResults } from "../../util/testing/tools/tavily_search.js";
4
- import { pull } from "../../hub.js";
5
- import { AgentExecutor, createStructuredChatAgent } from "../index.js";
6
- const tools = [new TavilySearchResults({ maxResults: 1 })];
7
- test("createStructuredChatAgent works", async () => {
8
- const prompt = await pull("hwchase17/structured-chat-agent");
9
- const llm = new ChatOpenAI({
10
- modelName: "gpt-3.5-turbo-1106",
11
- temperature: 0,
12
- });
13
- const agent = await createStructuredChatAgent({
14
- llm,
15
- tools,
16
- prompt,
17
- });
18
- const agentExecutor = new AgentExecutor({
19
- agent,
20
- tools,
21
- });
22
- const input = "what is LangChain?";
23
- const result = await agentExecutor.invoke({
24
- input,
25
- });
26
- console.log(result);
27
- expect(result.input).toBe(input);
28
- expect(typeof result.output).toBe("string");
29
- // Length greater than 10 because any less than that would warrant
30
- // an investigation into why such a short generation was returned.
31
- expect(result.output.length).toBeGreaterThan(10);
32
- });
@@ -1,122 +0,0 @@
1
- import { z } from "zod";
2
- import { test, expect } from "@jest/globals";
3
- import { ChatOpenAI } from "@langchain/openai";
4
- import { ChatPromptTemplate } from "@langchain/core/prompts";
5
- import { DynamicStructuredTool } from "@langchain/core/tools";
6
- import { TavilySearchResults } from "../../util/testing/tools/tavily_search.js";
7
- import { AgentExecutor, createToolCallingAgent } from "../index.js";
8
- const syntaxErrorTool = new DynamicStructuredTool({
9
- name: "query",
10
- description: "use this tool to generate and execute a query from a question using the index.",
11
- schema: z.object({
12
- index_name: z.string().describe("The name of the index to query."),
13
- question: z.string().describe("The question to answer."),
14
- }),
15
- func: async (_params) => {
16
- return JSON.stringify({
17
- result: "-ERR Syntax error at offset 19 near Bronx",
18
- query: 'FT.AGGREGATE bites "@Borough:{The Bronx} @Gender:{M}" GROUPBY 0 REDUCE COUNT 0',
19
- });
20
- },
21
- });
22
- const tools = [new TavilySearchResults({ maxResults: 1 })];
23
- test("createToolCallingAgent works", async () => {
24
- const prompt = ChatPromptTemplate.fromMessages([
25
- ["system", "You are a helpful assistant"],
26
- ["placeholder", "{chat_history}"],
27
- ["human", "{input}"],
28
- ["placeholder", "{agent_scratchpad}"],
29
- ]);
30
- const llm = new ChatOpenAI({
31
- modelName: "gpt-4-turbo",
32
- temperature: 0,
33
- });
34
- const agent = await createToolCallingAgent({
35
- llm,
36
- tools,
37
- prompt,
38
- });
39
- const agentExecutor = new AgentExecutor({
40
- agent,
41
- tools,
42
- });
43
- const input = "what is the current weather in SF?";
44
- const result = await agentExecutor.invoke({
45
- input,
46
- });
47
- console.log(result);
48
- expect(result.input).toBe(input);
49
- expect(typeof result.output).toBe("string");
50
- // Length greater than 10 because any less than that would warrant
51
- // an investigation into why such a short generation was returned.
52
- expect(result.output.length).toBeGreaterThan(10);
53
- });
54
- test("createToolCallingAgent stream events works", async () => {
55
- const prompt = ChatPromptTemplate.fromMessages([
56
- ["system", "You are a helpful assistant"],
57
- ["placeholder", "{chat_history}"],
58
- ["human", "{input}"],
59
- ["placeholder", "{agent_scratchpad}"],
60
- ]);
61
- const llm = new ChatOpenAI({
62
- modelName: "gpt-4o",
63
- temperature: 0,
64
- });
65
- const agent = await createToolCallingAgent({
66
- llm,
67
- tools,
68
- prompt,
69
- });
70
- const agentExecutor = new AgentExecutor({
71
- agent,
72
- tools,
73
- });
74
- const input = "what is the current weather in SF?";
75
- const eventStream = agentExecutor.streamEvents({
76
- input,
77
- }, {
78
- version: "v2",
79
- });
80
- for await (const event of eventStream) {
81
- const eventType = event.event;
82
- console.log("Event type: ", eventType);
83
- if (eventType === "on_chat_model_stream") {
84
- console.log("Content: ", event.data);
85
- }
86
- }
87
- });
88
- test("createToolCallingAgent stream events works for multiple turns", async () => {
89
- const prompt = ChatPromptTemplate.fromMessages([
90
- ["system", "You are a helpful assistant"],
91
- ["placeholder", "{chat_history}"],
92
- ["human", "{input}"],
93
- ["placeholder", "{agent_scratchpad}"],
94
- ]);
95
- const llm = new ChatOpenAI({
96
- modelName: "gpt-4o",
97
- temperature: 0,
98
- });
99
- const agent = await createToolCallingAgent({
100
- llm,
101
- tools: [syntaxErrorTool],
102
- prompt,
103
- });
104
- const agentExecutor = new AgentExecutor({
105
- agent,
106
- tools: [syntaxErrorTool],
107
- maxIterations: 3,
108
- });
109
- const input = "Generate a query that looks up how many animals have been bitten in the Bronx.";
110
- const eventStream = agentExecutor.streamEvents({
111
- input,
112
- }, {
113
- version: "v2",
114
- });
115
- for await (const event of eventStream) {
116
- const eventType = event.event;
117
- console.log("Event type: ", eventType);
118
- if (eventType === "on_chat_model_stream") {
119
- console.log("Content: ", event.data);
120
- }
121
- }
122
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,32 +0,0 @@
1
- import { test, expect } from "@jest/globals";
2
- import { ChatOpenAI } from "@langchain/openai";
3
- import { TavilySearchResults } from "../../util/testing/tools/tavily_search.js";
4
- import { pull } from "../../hub.js";
5
- import { AgentExecutor, createXmlAgent } from "../index.js";
6
- const tools = [new TavilySearchResults({ maxResults: 1 })];
7
- test("createXmlAgent works", async () => {
8
- const prompt = await pull("hwchase17/xml-agent-convo");
9
- const llm = new ChatOpenAI({
10
- modelName: "gpt-4-turbo",
11
- temperature: 0,
12
- });
13
- const agent = await createXmlAgent({
14
- llm,
15
- tools,
16
- prompt,
17
- });
18
- const agentExecutor = new AgentExecutor({
19
- agent,
20
- tools,
21
- });
22
- const input = "what is LangChain?";
23
- const result = await agentExecutor.invoke({
24
- input,
25
- });
26
- console.log(result);
27
- expect(result.input).toBe(input);
28
- expect(typeof result.output).toBe("string");
29
- // Length greater than 10 because any less than that would warrant
30
- // an investigation into why such a short generation was returned.
31
- expect(result.output.length).toBeGreaterThan(10);
32
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,74 +0,0 @@
1
- import { test, expect } from "@jest/globals";
2
- import { JsonListKeysTool, JsonSpec, JsonGetValueTool, } from "../../tools/json.js";
3
- test("JsonListKeysTool", async () => {
4
- const jsonSpec = new JsonSpec({
5
- foo: "bar",
6
- baz: { test: { foo: [1, 2, 3], qux: [{ x: 1, y: 2, z: 3 }, { a: 1 }] } },
7
- });
8
- const jsonListKeysTool = new JsonListKeysTool(jsonSpec);
9
- expect(await jsonListKeysTool.invoke("")).toBe("foo, baz");
10
- expect(await jsonListKeysTool.invoke("/foo")).toContain("not a dictionary");
11
- expect(await jsonListKeysTool.invoke("/baz")).toBe("test");
12
- expect(await jsonListKeysTool.invoke("/baz/test")).toBe("foo, qux");
13
- expect(await jsonListKeysTool.invoke("/baz/test/foo")).toContain("not a dictionary");
14
- expect(await jsonListKeysTool.invoke("/baz/test/foo/0")).toContain("not a dictionary");
15
- expect(await jsonListKeysTool.invoke("/baz/test/qux")).toContain("not a dictionary");
16
- expect(await jsonListKeysTool.invoke("/baz/test/qux/0")).toBe("x, y, z");
17
- expect(await jsonListKeysTool.invoke("/baz/test/qux/1")).toBe("a");
18
- expect(await jsonListKeysTool.invoke("/bar")).toContain("not a dictionary");
19
- });
20
- test("JsonListKeysTool, paths containing escaped characters", async () => {
21
- const jsonSpec = new JsonSpec({
22
- paths: {
23
- "a~b": 1,
24
- "a/b": 2,
25
- "a~/b": 3,
26
- "a//~b": 4,
27
- },
28
- });
29
- const jsonListKeyTool = new JsonListKeysTool(jsonSpec);
30
- expect(await jsonListKeyTool.invoke("/paths")).toBe("a~0b, a~1b, a~0~1b, a~1~1~0b");
31
- });
32
- test("JsonGetValueTool", async () => {
33
- const jsonSpec = new JsonSpec({
34
- foo: "bar",
35
- baz: { test: { foo: [1, 2, 3], qux: [{ x: 1, y: 2, z: 3 }, { a: 1 }] } },
36
- });
37
- const jsonGetValueTool = new JsonGetValueTool(jsonSpec);
38
- expect(await jsonGetValueTool.invoke("")).toBe(`{"foo":"bar","baz":{"test":{"foo":[1,2,3],"qux":[{"x":1,"y":2,"z":3},{"a":1}]}}}`);
39
- expect(await jsonGetValueTool.invoke("/foo")).toBe("bar");
40
- expect(await jsonGetValueTool.invoke("/baz")).toBe(`{"test":{"foo":[1,2,3],"qux":[{"x":1,"y":2,"z":3},{"a":1}]}}`);
41
- expect(await jsonGetValueTool.invoke("/baz/test")).toBe(`{"foo":[1,2,3],"qux":[{"x":1,"y":2,"z":3},{"a":1}]}`);
42
- expect(await jsonGetValueTool.invoke("/baz/test/foo")).toBe("[1,2,3]");
43
- expect(await jsonGetValueTool.invoke("/baz/test/foo/0")).toBe("1");
44
- expect(await jsonGetValueTool.invoke("/baz/test/qux")).toBe(`[{"x":1,"y":2,"z":3},{"a":1}]`);
45
- expect(await jsonGetValueTool.invoke("/baz/test/qux/0")).toBe(`{"x":1,"y":2,"z":3}`);
46
- expect(await jsonGetValueTool.invoke("/baz/test/qux/0/x")).toBe("1");
47
- expect(await jsonGetValueTool.invoke("/baz/test/qux/1")).toBe(`{"a":1}`);
48
- expect(await jsonGetValueTool.invoke("/bar")).toContain(`null`);
49
- });
50
- test("JsonGetValueTool, large values", async () => {
51
- const jsonSpec = new JsonSpec({ foo: "bar", baz: { test: { foo: [1, 2, 3, 4] } } }, 5);
52
- const jsonGetValueTool = new JsonGetValueTool(jsonSpec);
53
- expect(await jsonGetValueTool.invoke("")).toContain("large dictionary");
54
- expect(await jsonGetValueTool.invoke("/foo")).toBe("bar");
55
- expect(await jsonGetValueTool.invoke("/baz")).toContain("large dictionary");
56
- expect(await jsonGetValueTool.invoke("/baz/test")).toContain("large dictionary");
57
- expect(await jsonGetValueTool.invoke("/baz/test/foo")).toBe("[1,2,...");
58
- expect(await jsonGetValueTool.invoke("/baz/test/foo/0")).toBe("1");
59
- });
60
- test("JsonGetValueTool, paths containing escaped characters", async () => {
61
- const jsonSpec = new JsonSpec({
62
- paths: {
63
- "~IDSGenericFXCrossRate": 1,
64
- "/IDSGenericFXCrossRate": 2,
65
- "~/IDSGenericFXCrossRate": 3,
66
- "/~IDSGenericFXCrossRate": 4,
67
- },
68
- });
69
- const jsonGetValueTool = new JsonGetValueTool(jsonSpec);
70
- expect(await jsonGetValueTool.invoke("/paths/~0IDSGenericFXCrossRate")).toBe("1");
71
- expect(await jsonGetValueTool.invoke("/paths/~1IDSGenericFXCrossRate")).toBe("2");
72
- expect(await jsonGetValueTool.invoke("/paths/~0~1IDSGenericFXCrossRate")).toBe("3");
73
- expect(await jsonGetValueTool.invoke("/paths/~1~0IDSGenericFXCrossRate")).toBe("4");
74
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,44 +0,0 @@
1
- import { ReActSingleInputOutputParser } from "../react/output_parser.js";
2
- test("ReActSingleInputOutputParser identifies final answer", async () => {
3
- const finalAnswerText = `Observation: 2.169459462491557
4
- Thought: I now know the final answer
5
- Final Answer: Harry Styles, Olivia Wilde's boyfriend, is 29 years old and his age raised to the 0.23 power is 2.169459462491557.`;
6
- const outputParser = new ReActSingleInputOutputParser({
7
- toolNames: [],
8
- });
9
- const parsedOutput = await outputParser.parse(finalAnswerText);
10
- console.log(parsedOutput);
11
- expect(parsedOutput).toHaveProperty("returnValues");
12
- expect("returnValues" in parsedOutput && parsedOutput.returnValues.output).toEqual("Harry Styles, Olivia Wilde's boyfriend, is 29 years old and his age raised to the 0.23 power is 2.169459462491557.");
13
- });
14
- test("ReActSingleInputOutputParser identifies agent actions", async () => {
15
- const finalAnswerText = `Observation: 29 years
16
- Thought: I need to calculate 29 raised to the 0.23 power
17
- Action: calculator
18
- Action Input: 29^0.23`;
19
- const outputParser = new ReActSingleInputOutputParser({
20
- toolNames: [],
21
- });
22
- const parsedOutput = await outputParser.parse(finalAnswerText);
23
- console.log(parsedOutput);
24
- expect(parsedOutput).toHaveProperty("toolInput");
25
- expect(parsedOutput).toHaveProperty("tool");
26
- });
27
- test("ReActSingleInputOutputParser throws if no agent finish/action is passed", async () => {
28
- const finalAnswerText = `Who is Harry Styles' girlfriend?`;
29
- const outputParser = new ReActSingleInputOutputParser({
30
- toolNames: [],
31
- });
32
- await expect(outputParser.parse(finalAnswerText)).rejects.toThrow();
33
- });
34
- test("ReActSingleInputOutputParser throws if agent finish and action are passed", async () => {
35
- const finalAnswerText = `Observation: 29 years
36
- Thought: I need to calculate 29 raised to the 0.23 power
37
- Action: calculator
38
- Action Input: 29^0.23
39
- Final Answer: Harry Styles, Olivia Wilde's boyfriend, is 29 years old and his age raised to the 0.23 power is 2.169459462491557.`;
40
- const outputParser = new ReActSingleInputOutputParser({
41
- toolNames: [],
42
- });
43
- await expect(outputParser.parse(finalAnswerText)).rejects.toThrow();
44
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,104 +0,0 @@
1
- /* eslint-disable no-process-env */
2
- import { test } from "@jest/globals";
3
- import { ChatOpenAI } from "@langchain/openai";
4
- import { ChatPromptTemplate, MessagesPlaceholder, } from "@langchain/core/prompts";
5
- import { AIMessage, FunctionMessage, } from "@langchain/core/messages";
6
- import { convertToOpenAIFunction } from "@langchain/core/utils/function_calling";
7
- import { RunnableSequence } from "@langchain/core/runnables";
8
- import { AgentExecutor } from "../executor.js";
9
- import { SerpAPI } from "../../util/testing/tools/serpapi.js";
10
- import { Calculator } from "../../util/testing/tools/calculator.js";
11
- import { OpenAIFunctionsAgentOutputParser } from "../openai/output_parser.js";
12
- test("Runnable variant", async () => {
13
- const tools = [new Calculator(), new SerpAPI()];
14
- const model = new ChatOpenAI({ modelName: "gpt-4", temperature: 0 });
15
- const prompt = ChatPromptTemplate.fromMessages([
16
- ["ai", "You are a helpful assistant"],
17
- ["human", "{input}"],
18
- new MessagesPlaceholder("agent_scratchpad"),
19
- ]);
20
- const modelWithTools = model.bind({
21
- functions: [...tools.map((tool) => convertToOpenAIFunction(tool))],
22
- });
23
- const formatAgentSteps = (steps) => steps.flatMap(({ action, observation }) => {
24
- if ("messageLog" in action && action.messageLog !== undefined) {
25
- const log = action.messageLog;
26
- return log.concat(new FunctionMessage(observation, action.tool));
27
- }
28
- else {
29
- return [new AIMessage(action.log)];
30
- }
31
- });
32
- const runnableAgent = RunnableSequence.from([
33
- {
34
- input: (i) => i.input,
35
- agent_scratchpad: (i) => formatAgentSteps(i.steps),
36
- },
37
- prompt,
38
- modelWithTools,
39
- new OpenAIFunctionsAgentOutputParser(),
40
- ]);
41
- const executor = AgentExecutor.fromAgentAndTools({
42
- agent: runnableAgent,
43
- tools,
44
- });
45
- console.log("Loaded agent executor");
46
- const query = "What is the weather in New York?";
47
- console.log(`Calling agent executor with query: ${query}`);
48
- const result = await executor.invoke({
49
- input: query,
50
- });
51
- console.log(result);
52
- });
53
- test("Runnable variant executor astream log", async () => {
54
- const tools = [new Calculator(), new SerpAPI()];
55
- const model = new ChatOpenAI({
56
- modelName: "gpt-4",
57
- temperature: 0,
58
- streaming: true,
59
- });
60
- const prompt = ChatPromptTemplate.fromMessages([
61
- ["ai", "You are a helpful assistant"],
62
- ["human", "{input}"],
63
- new MessagesPlaceholder("agent_scratchpad"),
64
- ]);
65
- const modelWithTools = model.bind({
66
- functions: [...tools.map((tool) => convertToOpenAIFunction(tool))],
67
- });
68
- const formatAgentSteps = (steps) => steps.flatMap(({ action, observation }) => {
69
- if ("messageLog" in action && action.messageLog !== undefined) {
70
- const log = action.messageLog;
71
- return log.concat(new FunctionMessage(observation, action.tool));
72
- }
73
- else {
74
- return [new AIMessage(action.log)];
75
- }
76
- });
77
- const runnableAgent = RunnableSequence.from([
78
- {
79
- input: (i) => i.input,
80
- agent_scratchpad: (i) => formatAgentSteps(i.steps),
81
- },
82
- prompt,
83
- modelWithTools,
84
- new OpenAIFunctionsAgentOutputParser(),
85
- ]);
86
- const executor = AgentExecutor.fromAgentAndTools({
87
- agent: runnableAgent,
88
- tools,
89
- });
90
- console.log("Loaded agent executor");
91
- const query = "What is the weather in New York?";
92
- console.log(`Calling agent executor with query: ${query}`);
93
- const stream = await executor.streamLog({
94
- input: query,
95
- });
96
- let hasSeenLLMLogPatch = false;
97
- for await (const chunk of stream) {
98
- console.log(JSON.stringify(chunk));
99
- if (chunk.ops[0].path.includes("ChatOpenAI")) {
100
- hasSeenLLMLogPatch = true;
101
- }
102
- }
103
- expect(hasSeenLLMLogPatch).toBe(true);
104
- });
@@ -1 +0,0 @@
1
- export {};