langchain 0.3.27__py3-none-any.whl → 1.0.0__py3-none-any.whl

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.

Potentially problematic release.


This version of langchain might be problematic. Click here for more details.

Files changed (1365) hide show
  1. langchain/__init__.py +2 -452
  2. langchain/agents/__init__.py +9 -178
  3. langchain/agents/factory.py +1582 -0
  4. langchain/agents/middleware/__init__.py +80 -0
  5. langchain/agents/middleware/_execution.py +388 -0
  6. langchain/agents/middleware/_redaction.py +350 -0
  7. langchain/agents/middleware/context_editing.py +274 -0
  8. langchain/agents/middleware/file_search.py +382 -0
  9. langchain/agents/middleware/human_in_the_loop.py +351 -0
  10. langchain/agents/middleware/model_call_limit.py +210 -0
  11. langchain/agents/middleware/model_fallback.py +137 -0
  12. langchain/agents/middleware/pii.py +317 -0
  13. langchain/agents/middleware/shell_tool.py +718 -0
  14. langchain/agents/middleware/summarization.py +249 -0
  15. langchain/agents/middleware/todo.py +219 -0
  16. langchain/agents/middleware/tool_call_limit.py +333 -0
  17. langchain/agents/middleware/tool_emulator.py +200 -0
  18. langchain/agents/middleware/tool_retry.py +384 -0
  19. langchain/agents/middleware/tool_selection.py +310 -0
  20. langchain/agents/middleware/types.py +1572 -0
  21. langchain/agents/structured_output.py +426 -0
  22. langchain/chat_models/__init__.py +7 -72
  23. langchain/chat_models/base.py +264 -317
  24. langchain/embeddings/__init__.py +7 -217
  25. langchain/embeddings/base.py +32 -42
  26. langchain/messages/__init__.py +72 -0
  27. langchain/rate_limiters/__init__.py +13 -0
  28. langchain/tools/__init__.py +17 -197
  29. langchain/tools/tool_node.py +1700 -0
  30. langchain-1.0.0.dist-info/METADATA +87 -0
  31. langchain-1.0.0.dist-info/RECORD +34 -0
  32. {langchain-0.3.27.dist-info → langchain-1.0.0.dist-info}/WHEEL +1 -1
  33. langchain/_api/__init__.py +0 -28
  34. langchain/_api/deprecation.py +0 -32
  35. langchain/_api/interactive_env.py +0 -5
  36. langchain/_api/module_import.py +0 -153
  37. langchain/_api/path.py +0 -3
  38. langchain/adapters/__init__.py +0 -0
  39. langchain/adapters/openai.py +0 -63
  40. langchain/agents/agent.py +0 -1828
  41. langchain/agents/agent_iterator.py +0 -431
  42. langchain/agents/agent_toolkits/__init__.py +0 -167
  43. langchain/agents/agent_toolkits/ainetwork/__init__.py +0 -1
  44. langchain/agents/agent_toolkits/ainetwork/toolkit.py +0 -25
  45. langchain/agents/agent_toolkits/amadeus/toolkit.py +0 -23
  46. langchain/agents/agent_toolkits/azure_cognitive_services.py +0 -29
  47. langchain/agents/agent_toolkits/base.py +0 -3
  48. langchain/agents/agent_toolkits/clickup/__init__.py +0 -0
  49. langchain/agents/agent_toolkits/clickup/toolkit.py +0 -25
  50. langchain/agents/agent_toolkits/conversational_retrieval/__init__.py +0 -0
  51. langchain/agents/agent_toolkits/conversational_retrieval/openai_functions.py +0 -87
  52. langchain/agents/agent_toolkits/conversational_retrieval/tool.py +0 -3
  53. langchain/agents/agent_toolkits/csv/__init__.py +0 -28
  54. langchain/agents/agent_toolkits/file_management/__init__.py +0 -31
  55. langchain/agents/agent_toolkits/file_management/toolkit.py +0 -29
  56. langchain/agents/agent_toolkits/github/__init__.py +0 -1
  57. langchain/agents/agent_toolkits/github/toolkit.py +0 -69
  58. langchain/agents/agent_toolkits/gitlab/__init__.py +0 -1
  59. langchain/agents/agent_toolkits/gitlab/toolkit.py +0 -25
  60. langchain/agents/agent_toolkits/gmail/__init__.py +0 -1
  61. langchain/agents/agent_toolkits/gmail/toolkit.py +0 -23
  62. langchain/agents/agent_toolkits/jira/__init__.py +0 -1
  63. langchain/agents/agent_toolkits/jira/toolkit.py +0 -23
  64. langchain/agents/agent_toolkits/json/__init__.py +0 -1
  65. langchain/agents/agent_toolkits/json/base.py +0 -25
  66. langchain/agents/agent_toolkits/json/prompt.py +0 -24
  67. langchain/agents/agent_toolkits/json/toolkit.py +0 -23
  68. langchain/agents/agent_toolkits/multion/__init__.py +0 -1
  69. langchain/agents/agent_toolkits/multion/toolkit.py +0 -25
  70. langchain/agents/agent_toolkits/nasa/__init__.py +0 -1
  71. langchain/agents/agent_toolkits/nasa/toolkit.py +0 -23
  72. langchain/agents/agent_toolkits/nla/__init__.py +0 -0
  73. langchain/agents/agent_toolkits/nla/tool.py +0 -23
  74. langchain/agents/agent_toolkits/nla/toolkit.py +0 -23
  75. langchain/agents/agent_toolkits/office365/__init__.py +0 -1
  76. langchain/agents/agent_toolkits/office365/toolkit.py +0 -25
  77. langchain/agents/agent_toolkits/openapi/__init__.py +0 -1
  78. langchain/agents/agent_toolkits/openapi/base.py +0 -25
  79. langchain/agents/agent_toolkits/openapi/planner.py +0 -52
  80. langchain/agents/agent_toolkits/openapi/planner_prompt.py +0 -103
  81. langchain/agents/agent_toolkits/openapi/prompt.py +0 -29
  82. langchain/agents/agent_toolkits/openapi/spec.py +0 -30
  83. langchain/agents/agent_toolkits/openapi/toolkit.py +0 -30
  84. langchain/agents/agent_toolkits/pandas/__init__.py +0 -28
  85. langchain/agents/agent_toolkits/playwright/__init__.py +0 -29
  86. langchain/agents/agent_toolkits/playwright/toolkit.py +0 -27
  87. langchain/agents/agent_toolkits/powerbi/__init__.py +0 -1
  88. langchain/agents/agent_toolkits/powerbi/base.py +0 -25
  89. langchain/agents/agent_toolkits/powerbi/chat_base.py +0 -27
  90. langchain/agents/agent_toolkits/powerbi/prompt.py +0 -36
  91. langchain/agents/agent_toolkits/powerbi/toolkit.py +0 -25
  92. langchain/agents/agent_toolkits/python/__init__.py +0 -28
  93. langchain/agents/agent_toolkits/slack/__init__.py +0 -1
  94. langchain/agents/agent_toolkits/slack/toolkit.py +0 -23
  95. langchain/agents/agent_toolkits/spark/__init__.py +0 -28
  96. langchain/agents/agent_toolkits/spark_sql/__init__.py +0 -1
  97. langchain/agents/agent_toolkits/spark_sql/base.py +0 -25
  98. langchain/agents/agent_toolkits/spark_sql/prompt.py +0 -27
  99. langchain/agents/agent_toolkits/spark_sql/toolkit.py +0 -25
  100. langchain/agents/agent_toolkits/sql/__init__.py +0 -1
  101. langchain/agents/agent_toolkits/sql/base.py +0 -23
  102. langchain/agents/agent_toolkits/sql/prompt.py +0 -29
  103. langchain/agents/agent_toolkits/sql/toolkit.py +0 -25
  104. langchain/agents/agent_toolkits/steam/__init__.py +0 -1
  105. langchain/agents/agent_toolkits/steam/toolkit.py +0 -23
  106. langchain/agents/agent_toolkits/vectorstore/__init__.py +0 -1
  107. langchain/agents/agent_toolkits/vectorstore/base.py +0 -217
  108. langchain/agents/agent_toolkits/vectorstore/prompt.py +0 -11
  109. langchain/agents/agent_toolkits/vectorstore/toolkit.py +0 -97
  110. langchain/agents/agent_toolkits/xorbits/__init__.py +0 -28
  111. langchain/agents/agent_toolkits/zapier/__init__.py +0 -1
  112. langchain/agents/agent_toolkits/zapier/toolkit.py +0 -25
  113. langchain/agents/agent_types.py +0 -57
  114. langchain/agents/chat/__init__.py +0 -0
  115. langchain/agents/chat/base.py +0 -178
  116. langchain/agents/chat/output_parser.py +0 -74
  117. langchain/agents/chat/prompt.py +0 -29
  118. langchain/agents/conversational/__init__.py +0 -1
  119. langchain/agents/conversational/base.py +0 -176
  120. langchain/agents/conversational/output_parser.py +0 -51
  121. langchain/agents/conversational/prompt.py +0 -35
  122. langchain/agents/conversational_chat/__init__.py +0 -1
  123. langchain/agents/conversational_chat/base.py +0 -181
  124. langchain/agents/conversational_chat/output_parser.py +0 -57
  125. langchain/agents/conversational_chat/prompt.py +0 -56
  126. langchain/agents/format_scratchpad/__init__.py +0 -25
  127. langchain/agents/format_scratchpad/log.py +0 -25
  128. langchain/agents/format_scratchpad/log_to_messages.py +0 -26
  129. langchain/agents/format_scratchpad/openai_functions.py +0 -80
  130. langchain/agents/format_scratchpad/openai_tools.py +0 -5
  131. langchain/agents/format_scratchpad/tools.py +0 -65
  132. langchain/agents/format_scratchpad/xml.py +0 -52
  133. langchain/agents/initialize.py +0 -105
  134. langchain/agents/json_chat/__init__.py +0 -0
  135. langchain/agents/json_chat/base.py +0 -195
  136. langchain/agents/json_chat/prompt.py +0 -8
  137. langchain/agents/load_tools.py +0 -13
  138. langchain/agents/loading.py +0 -148
  139. langchain/agents/mrkl/__init__.py +0 -1
  140. langchain/agents/mrkl/base.py +0 -216
  141. langchain/agents/mrkl/output_parser.py +0 -103
  142. langchain/agents/mrkl/prompt.py +0 -15
  143. langchain/agents/openai_assistant/__init__.py +0 -3
  144. langchain/agents/openai_assistant/base.py +0 -818
  145. langchain/agents/openai_functions_agent/__init__.py +0 -0
  146. langchain/agents/openai_functions_agent/agent_token_buffer_memory.py +0 -101
  147. langchain/agents/openai_functions_agent/base.py +0 -381
  148. langchain/agents/openai_functions_multi_agent/__init__.py +0 -0
  149. langchain/agents/openai_functions_multi_agent/base.py +0 -337
  150. langchain/agents/openai_tools/__init__.py +0 -0
  151. langchain/agents/openai_tools/base.py +0 -108
  152. langchain/agents/output_parsers/__init__.py +0 -35
  153. langchain/agents/output_parsers/json.py +0 -62
  154. langchain/agents/output_parsers/openai_functions.py +0 -96
  155. langchain/agents/output_parsers/openai_tools.py +0 -70
  156. langchain/agents/output_parsers/react_json_single_input.py +0 -84
  157. langchain/agents/output_parsers/react_single_input.py +0 -99
  158. langchain/agents/output_parsers/self_ask.py +0 -51
  159. langchain/agents/output_parsers/tools.py +0 -107
  160. langchain/agents/output_parsers/xml.py +0 -123
  161. langchain/agents/react/__init__.py +0 -1
  162. langchain/agents/react/agent.py +0 -144
  163. langchain/agents/react/base.py +0 -185
  164. langchain/agents/react/output_parser.py +0 -33
  165. langchain/agents/react/textworld_prompt.py +0 -51
  166. langchain/agents/react/wiki_prompt.py +0 -70
  167. langchain/agents/schema.py +0 -35
  168. langchain/agents/self_ask_with_search/__init__.py +0 -4
  169. langchain/agents/self_ask_with_search/base.py +0 -215
  170. langchain/agents/self_ask_with_search/output_parser.py +0 -4
  171. langchain/agents/self_ask_with_search/prompt.py +0 -43
  172. langchain/agents/structured_chat/__init__.py +0 -0
  173. langchain/agents/structured_chat/base.py +0 -304
  174. langchain/agents/structured_chat/output_parser.py +0 -99
  175. langchain/agents/structured_chat/prompt.py +0 -34
  176. langchain/agents/tool_calling_agent/__init__.py +0 -0
  177. langchain/agents/tool_calling_agent/base.py +0 -110
  178. langchain/agents/tools.py +0 -47
  179. langchain/agents/types.py +0 -27
  180. langchain/agents/utils.py +0 -19
  181. langchain/agents/xml/__init__.py +0 -0
  182. langchain/agents/xml/base.py +0 -231
  183. langchain/agents/xml/prompt.py +0 -21
  184. langchain/base_language.py +0 -7
  185. langchain/cache.py +0 -72
  186. langchain/callbacks/__init__.py +0 -139
  187. langchain/callbacks/aim_callback.py +0 -33
  188. langchain/callbacks/argilla_callback.py +0 -25
  189. langchain/callbacks/arize_callback.py +0 -25
  190. langchain/callbacks/arthur_callback.py +0 -25
  191. langchain/callbacks/base.py +0 -29
  192. langchain/callbacks/clearml_callback.py +0 -25
  193. langchain/callbacks/comet_ml_callback.py +0 -25
  194. langchain/callbacks/confident_callback.py +0 -25
  195. langchain/callbacks/context_callback.py +0 -25
  196. langchain/callbacks/file.py +0 -3
  197. langchain/callbacks/flyte_callback.py +0 -25
  198. langchain/callbacks/human.py +0 -33
  199. langchain/callbacks/infino_callback.py +0 -25
  200. langchain/callbacks/labelstudio_callback.py +0 -33
  201. langchain/callbacks/llmonitor_callback.py +0 -27
  202. langchain/callbacks/manager.py +0 -89
  203. langchain/callbacks/mlflow_callback.py +0 -38
  204. langchain/callbacks/openai_info.py +0 -25
  205. langchain/callbacks/promptlayer_callback.py +0 -27
  206. langchain/callbacks/sagemaker_callback.py +0 -27
  207. langchain/callbacks/stdout.py +0 -3
  208. langchain/callbacks/streaming_aiter.py +0 -75
  209. langchain/callbacks/streaming_aiter_final_only.py +0 -91
  210. langchain/callbacks/streaming_stdout.py +0 -5
  211. langchain/callbacks/streaming_stdout_final_only.py +0 -91
  212. langchain/callbacks/streamlit/__init__.py +0 -86
  213. langchain/callbacks/streamlit/mutable_expander.py +0 -33
  214. langchain/callbacks/streamlit/streamlit_callback_handler.py +0 -49
  215. langchain/callbacks/tracers/__init__.py +0 -38
  216. langchain/callbacks/tracers/base.py +0 -6
  217. langchain/callbacks/tracers/comet.py +0 -30
  218. langchain/callbacks/tracers/evaluation.py +0 -8
  219. langchain/callbacks/tracers/langchain.py +0 -8
  220. langchain/callbacks/tracers/langchain_v1.py +0 -3
  221. langchain/callbacks/tracers/log_stream.py +0 -9
  222. langchain/callbacks/tracers/logging.py +0 -46
  223. langchain/callbacks/tracers/root_listeners.py +0 -3
  224. langchain/callbacks/tracers/run_collector.py +0 -3
  225. langchain/callbacks/tracers/schemas.py +0 -27
  226. langchain/callbacks/tracers/stdout.py +0 -6
  227. langchain/callbacks/tracers/wandb.py +0 -27
  228. langchain/callbacks/trubrics_callback.py +0 -25
  229. langchain/callbacks/utils.py +0 -48
  230. langchain/callbacks/wandb_callback.py +0 -25
  231. langchain/callbacks/whylabs_callback.py +0 -25
  232. langchain/chains/__init__.py +0 -96
  233. langchain/chains/api/__init__.py +0 -1
  234. langchain/chains/api/base.py +0 -394
  235. langchain/chains/api/news_docs.py +0 -31
  236. langchain/chains/api/open_meteo_docs.py +0 -32
  237. langchain/chains/api/openapi/__init__.py +0 -0
  238. langchain/chains/api/openapi/chain.py +0 -23
  239. langchain/chains/api/openapi/prompts.py +0 -27
  240. langchain/chains/api/openapi/requests_chain.py +0 -29
  241. langchain/chains/api/openapi/response_chain.py +0 -29
  242. langchain/chains/api/podcast_docs.py +0 -27
  243. langchain/chains/api/prompt.py +0 -35
  244. langchain/chains/api/tmdb_docs.py +0 -36
  245. langchain/chains/base.py +0 -800
  246. langchain/chains/chat_vector_db/__init__.py +0 -0
  247. langchain/chains/chat_vector_db/prompts.py +0 -19
  248. langchain/chains/combine_documents/__init__.py +0 -15
  249. langchain/chains/combine_documents/base.py +0 -287
  250. langchain/chains/combine_documents/map_reduce.py +0 -300
  251. langchain/chains/combine_documents/map_rerank.py +0 -247
  252. langchain/chains/combine_documents/reduce.py +0 -381
  253. langchain/chains/combine_documents/refine.py +0 -236
  254. langchain/chains/combine_documents/stuff.py +0 -288
  255. langchain/chains/constitutional_ai/__init__.py +0 -2
  256. langchain/chains/constitutional_ai/base.py +0 -321
  257. langchain/chains/constitutional_ai/models.py +0 -11
  258. langchain/chains/constitutional_ai/principles.py +0 -278
  259. langchain/chains/constitutional_ai/prompts.py +0 -120
  260. langchain/chains/conversation/__init__.py +0 -1
  261. langchain/chains/conversation/base.py +0 -143
  262. langchain/chains/conversation/memory.py +0 -45
  263. langchain/chains/conversation/prompt.py +0 -28
  264. langchain/chains/conversational_retrieval/__init__.py +0 -1
  265. langchain/chains/conversational_retrieval/base.py +0 -568
  266. langchain/chains/conversational_retrieval/prompts.py +0 -19
  267. langchain/chains/elasticsearch_database/__init__.py +0 -3
  268. langchain/chains/elasticsearch_database/base.py +0 -211
  269. langchain/chains/elasticsearch_database/prompts.py +0 -35
  270. langchain/chains/ernie_functions/__init__.py +0 -44
  271. langchain/chains/ernie_functions/base.py +0 -49
  272. langchain/chains/example_generator.py +0 -22
  273. langchain/chains/flare/__init__.py +0 -1
  274. langchain/chains/flare/base.py +0 -282
  275. langchain/chains/flare/prompts.py +0 -44
  276. langchain/chains/graph_qa/__init__.py +0 -0
  277. langchain/chains/graph_qa/arangodb.py +0 -23
  278. langchain/chains/graph_qa/base.py +0 -23
  279. langchain/chains/graph_qa/cypher.py +0 -39
  280. langchain/chains/graph_qa/cypher_utils.py +0 -27
  281. langchain/chains/graph_qa/falkordb.py +0 -29
  282. langchain/chains/graph_qa/gremlin.py +0 -36
  283. langchain/chains/graph_qa/hugegraph.py +0 -23
  284. langchain/chains/graph_qa/kuzu.py +0 -29
  285. langchain/chains/graph_qa/nebulagraph.py +0 -23
  286. langchain/chains/graph_qa/neptune_cypher.py +0 -39
  287. langchain/chains/graph_qa/neptune_sparql.py +0 -36
  288. langchain/chains/graph_qa/ontotext_graphdb.py +0 -25
  289. langchain/chains/graph_qa/prompts.py +0 -96
  290. langchain/chains/graph_qa/sparql.py +0 -23
  291. langchain/chains/history_aware_retriever.py +0 -68
  292. langchain/chains/hyde/__init__.py +0 -4
  293. langchain/chains/hyde/base.py +0 -124
  294. langchain/chains/hyde/prompts.py +0 -46
  295. langchain/chains/llm.py +0 -442
  296. langchain/chains/llm_bash/__init__.py +0 -10
  297. langchain/chains/llm_checker/__init__.py +0 -4
  298. langchain/chains/llm_checker/base.py +0 -194
  299. langchain/chains/llm_checker/prompt.py +0 -30
  300. langchain/chains/llm_math/__init__.py +0 -4
  301. langchain/chains/llm_math/base.py +0 -311
  302. langchain/chains/llm_math/prompt.py +0 -43
  303. langchain/chains/llm_requests.py +0 -23
  304. langchain/chains/llm_summarization_checker/__init__.py +0 -7
  305. langchain/chains/llm_summarization_checker/base.py +0 -205
  306. langchain/chains/llm_summarization_checker/prompts/are_all_true_prompt.txt +0 -38
  307. langchain/chains/llm_summarization_checker/prompts/check_facts.txt +0 -10
  308. langchain/chains/llm_summarization_checker/prompts/create_facts.txt +0 -10
  309. langchain/chains/llm_summarization_checker/prompts/revise_summary.txt +0 -17
  310. langchain/chains/llm_symbolic_math/__init__.py +0 -10
  311. langchain/chains/loading.py +0 -732
  312. langchain/chains/mapreduce.py +0 -121
  313. langchain/chains/moderation.py +0 -132
  314. langchain/chains/natbot/__init__.py +0 -4
  315. langchain/chains/natbot/base.py +0 -163
  316. langchain/chains/natbot/crawler.py +0 -443
  317. langchain/chains/natbot/prompt.py +0 -143
  318. langchain/chains/openai_functions/__init__.py +0 -44
  319. langchain/chains/openai_functions/base.py +0 -235
  320. langchain/chains/openai_functions/citation_fuzzy_match.py +0 -160
  321. langchain/chains/openai_functions/extraction.py +0 -197
  322. langchain/chains/openai_functions/openapi.py +0 -405
  323. langchain/chains/openai_functions/qa_with_structure.py +0 -142
  324. langchain/chains/openai_functions/tagging.py +0 -172
  325. langchain/chains/openai_functions/utils.py +0 -40
  326. langchain/chains/openai_tools/__init__.py +0 -3
  327. langchain/chains/openai_tools/extraction.py +0 -79
  328. langchain/chains/prompt_selector.py +0 -65
  329. langchain/chains/qa_generation/__init__.py +0 -0
  330. langchain/chains/qa_generation/base.py +0 -124
  331. langchain/chains/qa_generation/prompt.py +0 -50
  332. langchain/chains/qa_with_sources/__init__.py +0 -5
  333. langchain/chains/qa_with_sources/base.py +0 -263
  334. langchain/chains/qa_with_sources/loading.py +0 -209
  335. langchain/chains/qa_with_sources/map_reduce_prompt.py +0 -54
  336. langchain/chains/qa_with_sources/refine_prompts.py +0 -37
  337. langchain/chains/qa_with_sources/retrieval.py +0 -75
  338. langchain/chains/qa_with_sources/stuff_prompt.py +0 -43
  339. langchain/chains/qa_with_sources/vector_db.py +0 -86
  340. langchain/chains/query_constructor/__init__.py +0 -3
  341. langchain/chains/query_constructor/base.py +0 -376
  342. langchain/chains/query_constructor/ir.py +0 -23
  343. langchain/chains/query_constructor/parser.py +0 -210
  344. langchain/chains/query_constructor/prompt.py +0 -226
  345. langchain/chains/query_constructor/schema.py +0 -14
  346. langchain/chains/question_answering/__init__.py +0 -6
  347. langchain/chains/question_answering/chain.py +0 -279
  348. langchain/chains/question_answering/map_reduce_prompt.py +0 -80
  349. langchain/chains/question_answering/map_rerank_prompt.py +0 -66
  350. langchain/chains/question_answering/refine_prompts.py +0 -72
  351. langchain/chains/question_answering/stuff_prompt.py +0 -33
  352. langchain/chains/retrieval.py +0 -67
  353. langchain/chains/retrieval_qa/__init__.py +0 -1
  354. langchain/chains/retrieval_qa/base.py +0 -370
  355. langchain/chains/retrieval_qa/prompt.py +0 -11
  356. langchain/chains/router/__init__.py +0 -12
  357. langchain/chains/router/base.py +0 -142
  358. langchain/chains/router/embedding_router.py +0 -93
  359. langchain/chains/router/llm_router.py +0 -196
  360. langchain/chains/router/multi_prompt.py +0 -181
  361. langchain/chains/router/multi_prompt_prompt.py +0 -32
  362. langchain/chains/router/multi_retrieval_prompt.py +0 -30
  363. langchain/chains/router/multi_retrieval_qa.py +0 -109
  364. langchain/chains/sequential.py +0 -220
  365. langchain/chains/sql_database/__init__.py +0 -1
  366. langchain/chains/sql_database/prompt.py +0 -282
  367. langchain/chains/sql_database/query.py +0 -166
  368. langchain/chains/structured_output/__init__.py +0 -6
  369. langchain/chains/structured_output/base.py +0 -582
  370. langchain/chains/summarize/__init__.py +0 -6
  371. langchain/chains/summarize/chain.py +0 -174
  372. langchain/chains/summarize/map_reduce_prompt.py +0 -10
  373. langchain/chains/summarize/refine_prompts.py +0 -23
  374. langchain/chains/summarize/stuff_prompt.py +0 -10
  375. langchain/chains/transform.py +0 -84
  376. langchain/chat_loaders/__init__.py +0 -19
  377. langchain/chat_loaders/base.py +0 -3
  378. langchain/chat_loaders/facebook_messenger.py +0 -32
  379. langchain/chat_loaders/gmail.py +0 -23
  380. langchain/chat_loaders/imessage.py +0 -23
  381. langchain/chat_loaders/langsmith.py +0 -30
  382. langchain/chat_loaders/slack.py +0 -23
  383. langchain/chat_loaders/telegram.py +0 -23
  384. langchain/chat_loaders/utils.py +0 -36
  385. langchain/chat_loaders/whatsapp.py +0 -23
  386. langchain/chat_models/anthropic.py +0 -30
  387. langchain/chat_models/anyscale.py +0 -23
  388. langchain/chat_models/azure_openai.py +0 -23
  389. langchain/chat_models/azureml_endpoint.py +0 -30
  390. langchain/chat_models/baichuan.py +0 -23
  391. langchain/chat_models/baidu_qianfan_endpoint.py +0 -27
  392. langchain/chat_models/bedrock.py +0 -27
  393. langchain/chat_models/cohere.py +0 -23
  394. langchain/chat_models/databricks.py +0 -23
  395. langchain/chat_models/ernie.py +0 -23
  396. langchain/chat_models/everlyai.py +0 -23
  397. langchain/chat_models/fake.py +0 -30
  398. langchain/chat_models/fireworks.py +0 -23
  399. langchain/chat_models/gigachat.py +0 -23
  400. langchain/chat_models/google_palm.py +0 -30
  401. langchain/chat_models/human.py +0 -23
  402. langchain/chat_models/hunyuan.py +0 -23
  403. langchain/chat_models/javelin_ai_gateway.py +0 -30
  404. langchain/chat_models/jinachat.py +0 -23
  405. langchain/chat_models/konko.py +0 -23
  406. langchain/chat_models/litellm.py +0 -30
  407. langchain/chat_models/meta.py +0 -25
  408. langchain/chat_models/minimax.py +0 -23
  409. langchain/chat_models/mlflow.py +0 -23
  410. langchain/chat_models/mlflow_ai_gateway.py +0 -30
  411. langchain/chat_models/ollama.py +0 -23
  412. langchain/chat_models/openai.py +0 -23
  413. langchain/chat_models/pai_eas_endpoint.py +0 -25
  414. langchain/chat_models/promptlayer_openai.py +0 -25
  415. langchain/chat_models/tongyi.py +0 -23
  416. langchain/chat_models/vertexai.py +0 -23
  417. langchain/chat_models/volcengine_maas.py +0 -30
  418. langchain/chat_models/yandex.py +0 -23
  419. langchain/docstore/__init__.py +0 -48
  420. langchain/docstore/arbitrary_fn.py +0 -23
  421. langchain/docstore/base.py +0 -27
  422. langchain/docstore/document.py +0 -3
  423. langchain/docstore/in_memory.py +0 -23
  424. langchain/docstore/wikipedia.py +0 -23
  425. langchain/document_loaders/__init__.py +0 -553
  426. langchain/document_loaders/acreom.py +0 -23
  427. langchain/document_loaders/airbyte.py +0 -48
  428. langchain/document_loaders/airbyte_json.py +0 -23
  429. langchain/document_loaders/airtable.py +0 -23
  430. langchain/document_loaders/apify_dataset.py +0 -23
  431. langchain/document_loaders/arcgis_loader.py +0 -23
  432. langchain/document_loaders/arxiv.py +0 -23
  433. langchain/document_loaders/assemblyai.py +0 -28
  434. langchain/document_loaders/async_html.py +0 -23
  435. langchain/document_loaders/azlyrics.py +0 -23
  436. langchain/document_loaders/azure_ai_data.py +0 -23
  437. langchain/document_loaders/azure_blob_storage_container.py +0 -25
  438. langchain/document_loaders/azure_blob_storage_file.py +0 -25
  439. langchain/document_loaders/baiducloud_bos_directory.py +0 -29
  440. langchain/document_loaders/baiducloud_bos_file.py +0 -27
  441. langchain/document_loaders/base.py +0 -3
  442. langchain/document_loaders/base_o365.py +0 -23
  443. langchain/document_loaders/bibtex.py +0 -23
  444. langchain/document_loaders/bigquery.py +0 -23
  445. langchain/document_loaders/bilibili.py +0 -23
  446. langchain/document_loaders/blackboard.py +0 -23
  447. langchain/document_loaders/blob_loaders/__init__.py +0 -36
  448. langchain/document_loaders/blob_loaders/file_system.py +0 -23
  449. langchain/document_loaders/blob_loaders/schema.py +0 -29
  450. langchain/document_loaders/blob_loaders/youtube_audio.py +0 -23
  451. langchain/document_loaders/blockchain.py +0 -28
  452. langchain/document_loaders/brave_search.py +0 -23
  453. langchain/document_loaders/browserless.py +0 -23
  454. langchain/document_loaders/chatgpt.py +0 -28
  455. langchain/document_loaders/chromium.py +0 -23
  456. langchain/document_loaders/college_confidential.py +0 -25
  457. langchain/document_loaders/concurrent.py +0 -23
  458. langchain/document_loaders/confluence.py +0 -28
  459. langchain/document_loaders/conllu.py +0 -23
  460. langchain/document_loaders/couchbase.py +0 -23
  461. langchain/document_loaders/csv_loader.py +0 -27
  462. langchain/document_loaders/cube_semantic.py +0 -23
  463. langchain/document_loaders/datadog_logs.py +0 -23
  464. langchain/document_loaders/dataframe.py +0 -28
  465. langchain/document_loaders/diffbot.py +0 -23
  466. langchain/document_loaders/directory.py +0 -23
  467. langchain/document_loaders/discord.py +0 -23
  468. langchain/document_loaders/docugami.py +0 -23
  469. langchain/document_loaders/docusaurus.py +0 -23
  470. langchain/document_loaders/dropbox.py +0 -23
  471. langchain/document_loaders/duckdb_loader.py +0 -23
  472. langchain/document_loaders/email.py +0 -30
  473. langchain/document_loaders/epub.py +0 -23
  474. langchain/document_loaders/etherscan.py +0 -23
  475. langchain/document_loaders/evernote.py +0 -23
  476. langchain/document_loaders/excel.py +0 -23
  477. langchain/document_loaders/facebook_chat.py +0 -28
  478. langchain/document_loaders/fauna.py +0 -23
  479. langchain/document_loaders/figma.py +0 -23
  480. langchain/document_loaders/gcs_directory.py +0 -23
  481. langchain/document_loaders/gcs_file.py +0 -23
  482. langchain/document_loaders/generic.py +0 -23
  483. langchain/document_loaders/geodataframe.py +0 -23
  484. langchain/document_loaders/git.py +0 -23
  485. langchain/document_loaders/gitbook.py +0 -23
  486. langchain/document_loaders/github.py +0 -28
  487. langchain/document_loaders/google_speech_to_text.py +0 -23
  488. langchain/document_loaders/googledrive.py +0 -23
  489. langchain/document_loaders/gutenberg.py +0 -23
  490. langchain/document_loaders/helpers.py +0 -30
  491. langchain/document_loaders/hn.py +0 -23
  492. langchain/document_loaders/html.py +0 -23
  493. langchain/document_loaders/html_bs.py +0 -23
  494. langchain/document_loaders/hugging_face_dataset.py +0 -23
  495. langchain/document_loaders/ifixit.py +0 -23
  496. langchain/document_loaders/image.py +0 -23
  497. langchain/document_loaders/image_captions.py +0 -23
  498. langchain/document_loaders/imsdb.py +0 -23
  499. langchain/document_loaders/iugu.py +0 -23
  500. langchain/document_loaders/joplin.py +0 -23
  501. langchain/document_loaders/json_loader.py +0 -23
  502. langchain/document_loaders/lakefs.py +0 -33
  503. langchain/document_loaders/larksuite.py +0 -23
  504. langchain/document_loaders/markdown.py +0 -25
  505. langchain/document_loaders/mastodon.py +0 -23
  506. langchain/document_loaders/max_compute.py +0 -23
  507. langchain/document_loaders/mediawikidump.py +0 -23
  508. langchain/document_loaders/merge.py +0 -23
  509. langchain/document_loaders/mhtml.py +0 -23
  510. langchain/document_loaders/modern_treasury.py +0 -23
  511. langchain/document_loaders/mongodb.py +0 -23
  512. langchain/document_loaders/news.py +0 -23
  513. langchain/document_loaders/notebook.py +0 -33
  514. langchain/document_loaders/notion.py +0 -23
  515. langchain/document_loaders/notiondb.py +0 -23
  516. langchain/document_loaders/nuclia.py +0 -23
  517. langchain/document_loaders/obs_directory.py +0 -23
  518. langchain/document_loaders/obs_file.py +0 -23
  519. langchain/document_loaders/obsidian.py +0 -23
  520. langchain/document_loaders/odt.py +0 -23
  521. langchain/document_loaders/onedrive.py +0 -23
  522. langchain/document_loaders/onedrive_file.py +0 -23
  523. langchain/document_loaders/onenote.py +0 -23
  524. langchain/document_loaders/open_city_data.py +0 -23
  525. langchain/document_loaders/org_mode.py +0 -25
  526. langchain/document_loaders/parsers/__init__.py +0 -58
  527. langchain/document_loaders/parsers/audio.py +0 -33
  528. langchain/document_loaders/parsers/docai.py +0 -30
  529. langchain/document_loaders/parsers/generic.py +0 -25
  530. langchain/document_loaders/parsers/grobid.py +0 -30
  531. langchain/document_loaders/parsers/html/__init__.py +0 -25
  532. langchain/document_loaders/parsers/html/bs4.py +0 -25
  533. langchain/document_loaders/parsers/language/__init__.py +0 -29
  534. langchain/document_loaders/parsers/language/cobol.py +0 -27
  535. langchain/document_loaders/parsers/language/code_segmenter.py +0 -29
  536. langchain/document_loaders/parsers/language/javascript.py +0 -29
  537. langchain/document_loaders/parsers/language/language_parser.py +0 -29
  538. langchain/document_loaders/parsers/language/python.py +0 -27
  539. langchain/document_loaders/parsers/msword.py +0 -25
  540. langchain/document_loaders/parsers/pdf.py +0 -50
  541. langchain/document_loaders/parsers/registry.py +0 -25
  542. langchain/document_loaders/parsers/txt.py +0 -23
  543. langchain/document_loaders/pdf.py +0 -65
  544. langchain/document_loaders/polars_dataframe.py +0 -23
  545. langchain/document_loaders/powerpoint.py +0 -25
  546. langchain/document_loaders/psychic.py +0 -23
  547. langchain/document_loaders/pubmed.py +0 -23
  548. langchain/document_loaders/pyspark_dataframe.py +0 -26
  549. langchain/document_loaders/python.py +0 -22
  550. langchain/document_loaders/quip.py +0 -23
  551. langchain/document_loaders/readthedocs.py +0 -23
  552. langchain/document_loaders/recursive_url_loader.py +0 -23
  553. langchain/document_loaders/reddit.py +0 -23
  554. langchain/document_loaders/roam.py +0 -23
  555. langchain/document_loaders/rocksetdb.py +0 -23
  556. langchain/document_loaders/rspace.py +0 -23
  557. langchain/document_loaders/rss.py +0 -23
  558. langchain/document_loaders/rst.py +0 -23
  559. langchain/document_loaders/rtf.py +0 -23
  560. langchain/document_loaders/s3_directory.py +0 -23
  561. langchain/document_loaders/s3_file.py +0 -23
  562. langchain/document_loaders/sharepoint.py +0 -23
  563. langchain/document_loaders/sitemap.py +0 -23
  564. langchain/document_loaders/slack_directory.py +0 -23
  565. langchain/document_loaders/snowflake_loader.py +0 -23
  566. langchain/document_loaders/spreedly.py +0 -23
  567. langchain/document_loaders/srt.py +0 -23
  568. langchain/document_loaders/stripe.py +0 -23
  569. langchain/document_loaders/telegram.py +0 -38
  570. langchain/document_loaders/tencent_cos_directory.py +0 -25
  571. langchain/document_loaders/tencent_cos_file.py +0 -23
  572. langchain/document_loaders/tensorflow_datasets.py +0 -23
  573. langchain/document_loaders/text.py +0 -23
  574. langchain/document_loaders/tomarkdown.py +0 -23
  575. langchain/document_loaders/toml.py +0 -23
  576. langchain/document_loaders/trello.py +0 -23
  577. langchain/document_loaders/tsv.py +0 -23
  578. langchain/document_loaders/twitter.py +0 -23
  579. langchain/document_loaders/unstructured.py +0 -54
  580. langchain/document_loaders/url.py +0 -23
  581. langchain/document_loaders/url_playwright.py +0 -33
  582. langchain/document_loaders/url_selenium.py +0 -23
  583. langchain/document_loaders/weather.py +0 -23
  584. langchain/document_loaders/web_base.py +0 -23
  585. langchain/document_loaders/whatsapp_chat.py +0 -28
  586. langchain/document_loaders/wikipedia.py +0 -23
  587. langchain/document_loaders/word_document.py +0 -30
  588. langchain/document_loaders/xml.py +0 -23
  589. langchain/document_loaders/xorbits.py +0 -23
  590. langchain/document_loaders/youtube.py +0 -33
  591. langchain/document_transformers/__init__.py +0 -77
  592. langchain/document_transformers/beautiful_soup_transformer.py +0 -25
  593. langchain/document_transformers/doctran_text_extract.py +0 -25
  594. langchain/document_transformers/doctran_text_qa.py +0 -25
  595. langchain/document_transformers/doctran_text_translate.py +0 -25
  596. langchain/document_transformers/embeddings_redundant_filter.py +0 -50
  597. langchain/document_transformers/google_translate.py +0 -25
  598. langchain/document_transformers/html2text.py +0 -25
  599. langchain/document_transformers/long_context_reorder.py +0 -23
  600. langchain/document_transformers/nuclia_text_transform.py +0 -25
  601. langchain/document_transformers/openai_functions.py +0 -32
  602. langchain/document_transformers/xsl/html_chunks_with_headers.xslt +0 -199
  603. langchain/embeddings/aleph_alpha.py +0 -30
  604. langchain/embeddings/awa.py +0 -23
  605. langchain/embeddings/azure_openai.py +0 -23
  606. langchain/embeddings/baidu_qianfan_endpoint.py +0 -23
  607. langchain/embeddings/bedrock.py +0 -23
  608. langchain/embeddings/bookend.py +0 -23
  609. langchain/embeddings/cache.py +0 -368
  610. langchain/embeddings/clarifai.py +0 -23
  611. langchain/embeddings/cloudflare_workersai.py +0 -29
  612. langchain/embeddings/cohere.py +0 -23
  613. langchain/embeddings/dashscope.py +0 -23
  614. langchain/embeddings/databricks.py +0 -23
  615. langchain/embeddings/deepinfra.py +0 -23
  616. langchain/embeddings/edenai.py +0 -23
  617. langchain/embeddings/elasticsearch.py +0 -23
  618. langchain/embeddings/embaas.py +0 -23
  619. langchain/embeddings/ernie.py +0 -23
  620. langchain/embeddings/fake.py +0 -30
  621. langchain/embeddings/fastembed.py +0 -23
  622. langchain/embeddings/google_palm.py +0 -23
  623. langchain/embeddings/gpt4all.py +0 -23
  624. langchain/embeddings/gradient_ai.py +0 -23
  625. langchain/embeddings/huggingface.py +0 -36
  626. langchain/embeddings/huggingface_hub.py +0 -23
  627. langchain/embeddings/infinity.py +0 -30
  628. langchain/embeddings/javelin_ai_gateway.py +0 -23
  629. langchain/embeddings/jina.py +0 -23
  630. langchain/embeddings/johnsnowlabs.py +0 -23
  631. langchain/embeddings/llamacpp.py +0 -23
  632. langchain/embeddings/llm_rails.py +0 -23
  633. langchain/embeddings/localai.py +0 -23
  634. langchain/embeddings/minimax.py +0 -23
  635. langchain/embeddings/mlflow.py +0 -23
  636. langchain/embeddings/mlflow_gateway.py +0 -23
  637. langchain/embeddings/modelscope_hub.py +0 -23
  638. langchain/embeddings/mosaicml.py +0 -23
  639. langchain/embeddings/nlpcloud.py +0 -23
  640. langchain/embeddings/octoai_embeddings.py +0 -23
  641. langchain/embeddings/ollama.py +0 -23
  642. langchain/embeddings/openai.py +0 -23
  643. langchain/embeddings/sagemaker_endpoint.py +0 -30
  644. langchain/embeddings/self_hosted.py +0 -23
  645. langchain/embeddings/self_hosted_hugging_face.py +0 -30
  646. langchain/embeddings/sentence_transformer.py +0 -21
  647. langchain/embeddings/spacy_embeddings.py +0 -23
  648. langchain/embeddings/tensorflow_hub.py +0 -23
  649. langchain/embeddings/vertexai.py +0 -23
  650. langchain/embeddings/voyageai.py +0 -23
  651. langchain/embeddings/xinference.py +0 -23
  652. langchain/env.py +0 -17
  653. langchain/evaluation/__init__.py +0 -128
  654. langchain/evaluation/agents/__init__.py +0 -5
  655. langchain/evaluation/agents/trajectory_eval_chain.py +0 -415
  656. langchain/evaluation/agents/trajectory_eval_prompt.py +0 -146
  657. langchain/evaluation/comparison/__init__.py +0 -36
  658. langchain/evaluation/comparison/eval_chain.py +0 -461
  659. langchain/evaluation/comparison/prompt.py +0 -59
  660. langchain/evaluation/criteria/__init__.py +0 -56
  661. langchain/evaluation/criteria/eval_chain.py +0 -603
  662. langchain/evaluation/criteria/prompt.py +0 -37
  663. langchain/evaluation/embedding_distance/__init__.py +0 -13
  664. langchain/evaluation/embedding_distance/base.py +0 -602
  665. langchain/evaluation/exact_match/__init__.py +0 -0
  666. langchain/evaluation/exact_match/base.py +0 -97
  667. langchain/evaluation/loading.py +0 -206
  668. langchain/evaluation/parsing/__init__.py +0 -0
  669. langchain/evaluation/parsing/base.py +0 -162
  670. langchain/evaluation/parsing/json_distance.py +0 -97
  671. langchain/evaluation/parsing/json_schema.py +0 -100
  672. langchain/evaluation/qa/__init__.py +0 -10
  673. langchain/evaluation/qa/eval_chain.py +0 -364
  674. langchain/evaluation/qa/eval_prompt.py +0 -78
  675. langchain/evaluation/qa/generate_chain.py +0 -34
  676. langchain/evaluation/qa/generate_prompt.py +0 -21
  677. langchain/evaluation/regex_match/__init__.py +0 -0
  678. langchain/evaluation/regex_match/base.py +0 -86
  679. langchain/evaluation/schema.py +0 -491
  680. langchain/evaluation/scoring/__init__.py +0 -31
  681. langchain/evaluation/scoring/eval_chain.py +0 -475
  682. langchain/evaluation/scoring/prompt.py +0 -53
  683. langchain/evaluation/string_distance/__init__.py +0 -13
  684. langchain/evaluation/string_distance/base.py +0 -466
  685. langchain/example_generator.py +0 -5
  686. langchain/formatting.py +0 -5
  687. langchain/globals.py +0 -180
  688. langchain/graphs/__init__.py +0 -57
  689. langchain/graphs/arangodb_graph.py +0 -28
  690. langchain/graphs/falkordb_graph.py +0 -23
  691. langchain/graphs/graph_document.py +0 -33
  692. langchain/graphs/graph_store.py +0 -23
  693. langchain/graphs/hugegraph.py +0 -23
  694. langchain/graphs/kuzu_graph.py +0 -23
  695. langchain/graphs/memgraph_graph.py +0 -23
  696. langchain/graphs/nebula_graph.py +0 -23
  697. langchain/graphs/neo4j_graph.py +0 -23
  698. langchain/graphs/neptune_graph.py +0 -23
  699. langchain/graphs/networkx_graph.py +0 -36
  700. langchain/graphs/rdf_graph.py +0 -23
  701. langchain/hub.py +0 -131
  702. langchain/indexes/__init__.py +0 -50
  703. langchain/indexes/_api.py +0 -5
  704. langchain/indexes/_sql_record_manager.py +0 -539
  705. langchain/indexes/graph.py +0 -28
  706. langchain/indexes/prompts/__init__.py +0 -13
  707. langchain/indexes/prompts/entity_extraction.py +0 -39
  708. langchain/indexes/prompts/entity_summarization.py +0 -24
  709. langchain/indexes/prompts/knowledge_triplet_extraction.py +0 -36
  710. langchain/indexes/vectorstore.py +0 -269
  711. langchain/input.py +0 -15
  712. langchain/llms/__init__.py +0 -734
  713. langchain/llms/ai21.py +0 -28
  714. langchain/llms/aleph_alpha.py +0 -23
  715. langchain/llms/amazon_api_gateway.py +0 -23
  716. langchain/llms/anthropic.py +0 -23
  717. langchain/llms/anyscale.py +0 -23
  718. langchain/llms/arcee.py +0 -23
  719. langchain/llms/aviary.py +0 -23
  720. langchain/llms/azureml_endpoint.py +0 -48
  721. langchain/llms/baidu_qianfan_endpoint.py +0 -23
  722. langchain/llms/bananadev.py +0 -23
  723. langchain/llms/base.py +0 -20
  724. langchain/llms/baseten.py +0 -23
  725. langchain/llms/beam.py +0 -23
  726. langchain/llms/bedrock.py +0 -28
  727. langchain/llms/bittensor.py +0 -23
  728. langchain/llms/cerebriumai.py +0 -23
  729. langchain/llms/chatglm.py +0 -23
  730. langchain/llms/clarifai.py +0 -23
  731. langchain/llms/cloudflare_workersai.py +0 -25
  732. langchain/llms/cohere.py +0 -23
  733. langchain/llms/ctransformers.py +0 -23
  734. langchain/llms/ctranslate2.py +0 -23
  735. langchain/llms/databricks.py +0 -23
  736. langchain/llms/deepinfra.py +0 -23
  737. langchain/llms/deepsparse.py +0 -23
  738. langchain/llms/edenai.py +0 -23
  739. langchain/llms/fake.py +0 -28
  740. langchain/llms/fireworks.py +0 -23
  741. langchain/llms/forefrontai.py +0 -23
  742. langchain/llms/gigachat.py +0 -23
  743. langchain/llms/google_palm.py +0 -23
  744. langchain/llms/gooseai.py +0 -23
  745. langchain/llms/gpt4all.py +0 -23
  746. langchain/llms/gradient_ai.py +0 -28
  747. langchain/llms/grammars/json.gbnf +0 -29
  748. langchain/llms/grammars/list.gbnf +0 -14
  749. langchain/llms/huggingface_endpoint.py +0 -23
  750. langchain/llms/huggingface_hub.py +0 -23
  751. langchain/llms/huggingface_pipeline.py +0 -23
  752. langchain/llms/huggingface_text_gen_inference.py +0 -23
  753. langchain/llms/human.py +0 -23
  754. langchain/llms/javelin_ai_gateway.py +0 -28
  755. langchain/llms/koboldai.py +0 -23
  756. langchain/llms/llamacpp.py +0 -23
  757. langchain/llms/loading.py +0 -27
  758. langchain/llms/manifest.py +0 -23
  759. langchain/llms/minimax.py +0 -23
  760. langchain/llms/mlflow.py +0 -23
  761. langchain/llms/mlflow_ai_gateway.py +0 -23
  762. langchain/llms/modal.py +0 -23
  763. langchain/llms/mosaicml.py +0 -23
  764. langchain/llms/nlpcloud.py +0 -23
  765. langchain/llms/octoai_endpoint.py +0 -23
  766. langchain/llms/ollama.py +0 -23
  767. langchain/llms/opaqueprompts.py +0 -23
  768. langchain/llms/openai.py +0 -32
  769. langchain/llms/openllm.py +0 -23
  770. langchain/llms/openlm.py +0 -23
  771. langchain/llms/pai_eas_endpoint.py +0 -23
  772. langchain/llms/petals.py +0 -23
  773. langchain/llms/pipelineai.py +0 -23
  774. langchain/llms/predibase.py +0 -23
  775. langchain/llms/predictionguard.py +0 -23
  776. langchain/llms/promptlayer_openai.py +0 -27
  777. langchain/llms/replicate.py +0 -23
  778. langchain/llms/rwkv.py +0 -23
  779. langchain/llms/sagemaker_endpoint.py +0 -28
  780. langchain/llms/self_hosted.py +0 -23
  781. langchain/llms/self_hosted_hugging_face.py +0 -23
  782. langchain/llms/stochasticai.py +0 -23
  783. langchain/llms/symblai_nebula.py +0 -23
  784. langchain/llms/textgen.py +0 -23
  785. langchain/llms/titan_takeoff.py +0 -23
  786. langchain/llms/titan_takeoff_pro.py +0 -23
  787. langchain/llms/together.py +0 -23
  788. langchain/llms/tongyi.py +0 -23
  789. langchain/llms/utils.py +0 -23
  790. langchain/llms/vertexai.py +0 -27
  791. langchain/llms/vllm.py +0 -27
  792. langchain/llms/volcengine_maas.py +0 -28
  793. langchain/llms/watsonxllm.py +0 -23
  794. langchain/llms/writer.py +0 -23
  795. langchain/llms/xinference.py +0 -23
  796. langchain/llms/yandex.py +0 -23
  797. langchain/load/__init__.py +0 -11
  798. langchain/load/dump.py +0 -3
  799. langchain/load/load.py +0 -3
  800. langchain/load/serializable.py +0 -19
  801. langchain/memory/__init__.py +0 -153
  802. langchain/memory/buffer.py +0 -173
  803. langchain/memory/buffer_window.py +0 -60
  804. langchain/memory/chat_memory.py +0 -104
  805. langchain/memory/chat_message_histories/__init__.py +0 -84
  806. langchain/memory/chat_message_histories/astradb.py +0 -25
  807. langchain/memory/chat_message_histories/cassandra.py +0 -25
  808. langchain/memory/chat_message_histories/cosmos_db.py +0 -25
  809. langchain/memory/chat_message_histories/dynamodb.py +0 -25
  810. langchain/memory/chat_message_histories/elasticsearch.py +0 -27
  811. langchain/memory/chat_message_histories/file.py +0 -25
  812. langchain/memory/chat_message_histories/firestore.py +0 -25
  813. langchain/memory/chat_message_histories/in_memory.py +0 -5
  814. langchain/memory/chat_message_histories/momento.py +0 -25
  815. langchain/memory/chat_message_histories/mongodb.py +0 -25
  816. langchain/memory/chat_message_histories/neo4j.py +0 -25
  817. langchain/memory/chat_message_histories/postgres.py +0 -25
  818. langchain/memory/chat_message_histories/redis.py +0 -25
  819. langchain/memory/chat_message_histories/rocksetdb.py +0 -25
  820. langchain/memory/chat_message_histories/singlestoredb.py +0 -27
  821. langchain/memory/chat_message_histories/sql.py +0 -33
  822. langchain/memory/chat_message_histories/streamlit.py +0 -25
  823. langchain/memory/chat_message_histories/upstash_redis.py +0 -27
  824. langchain/memory/chat_message_histories/xata.py +0 -25
  825. langchain/memory/chat_message_histories/zep.py +0 -25
  826. langchain/memory/combined.py +0 -85
  827. langchain/memory/entity.py +0 -564
  828. langchain/memory/kg.py +0 -23
  829. langchain/memory/motorhead_memory.py +0 -23
  830. langchain/memory/prompt.py +0 -164
  831. langchain/memory/readonly.py +0 -24
  832. langchain/memory/simple.py +0 -24
  833. langchain/memory/summary.py +0 -140
  834. langchain/memory/summary_buffer.py +0 -148
  835. langchain/memory/token_buffer.py +0 -72
  836. langchain/memory/utils.py +0 -21
  837. langchain/memory/vectorstore.py +0 -120
  838. langchain/memory/vectorstore_token_buffer_memory.py +0 -184
  839. langchain/memory/zep_memory.py +0 -23
  840. langchain/model_laboratory.py +0 -99
  841. langchain/output_parsers/__init__.py +0 -87
  842. langchain/output_parsers/boolean.py +0 -54
  843. langchain/output_parsers/combining.py +0 -57
  844. langchain/output_parsers/datetime.py +0 -58
  845. langchain/output_parsers/enum.py +0 -41
  846. langchain/output_parsers/ernie_functions.py +0 -45
  847. langchain/output_parsers/fix.py +0 -148
  848. langchain/output_parsers/format_instructions.py +0 -79
  849. langchain/output_parsers/json.py +0 -15
  850. langchain/output_parsers/list.py +0 -13
  851. langchain/output_parsers/loading.py +0 -22
  852. langchain/output_parsers/openai_functions.py +0 -13
  853. langchain/output_parsers/openai_tools.py +0 -7
  854. langchain/output_parsers/pandas_dataframe.py +0 -156
  855. langchain/output_parsers/prompts.py +0 -21
  856. langchain/output_parsers/pydantic.py +0 -3
  857. langchain/output_parsers/rail_parser.py +0 -25
  858. langchain/output_parsers/regex.py +0 -39
  859. langchain/output_parsers/regex_dict.py +0 -43
  860. langchain/output_parsers/retry.py +0 -296
  861. langchain/output_parsers/structured.py +0 -106
  862. langchain/output_parsers/xml.py +0 -3
  863. langchain/output_parsers/yaml.py +0 -73
  864. langchain/prompts/__init__.py +0 -102
  865. langchain/prompts/base.py +0 -21
  866. langchain/prompts/chat.py +0 -37
  867. langchain/prompts/example_selector/__init__.py +0 -42
  868. langchain/prompts/example_selector/base.py +0 -3
  869. langchain/prompts/example_selector/length_based.py +0 -5
  870. langchain/prompts/example_selector/ngram_overlap.py +0 -32
  871. langchain/prompts/example_selector/semantic_similarity.py +0 -11
  872. langchain/prompts/few_shot.py +0 -11
  873. langchain/prompts/few_shot_with_templates.py +0 -3
  874. langchain/prompts/loading.py +0 -23
  875. langchain/prompts/pipeline.py +0 -3
  876. langchain/prompts/prompt.py +0 -6
  877. langchain/pydantic_v1/__init__.py +0 -38
  878. langchain/pydantic_v1/dataclasses.py +0 -20
  879. langchain/pydantic_v1/main.py +0 -20
  880. langchain/python.py +0 -19
  881. langchain/requests.py +0 -35
  882. langchain/retrievers/__init__.py +0 -178
  883. langchain/retrievers/arcee.py +0 -23
  884. langchain/retrievers/arxiv.py +0 -23
  885. langchain/retrievers/azure_ai_search.py +0 -30
  886. langchain/retrievers/bedrock.py +0 -33
  887. langchain/retrievers/bm25.py +0 -28
  888. langchain/retrievers/chaindesk.py +0 -23
  889. langchain/retrievers/chatgpt_plugin_retriever.py +0 -23
  890. langchain/retrievers/cohere_rag_retriever.py +0 -23
  891. langchain/retrievers/contextual_compression.py +0 -81
  892. langchain/retrievers/databerry.py +0 -23
  893. langchain/retrievers/docarray.py +0 -28
  894. langchain/retrievers/document_compressors/__init__.py +0 -44
  895. langchain/retrievers/document_compressors/base.py +0 -82
  896. langchain/retrievers/document_compressors/chain_extract.py +0 -121
  897. langchain/retrievers/document_compressors/chain_extract_prompt.py +0 -10
  898. langchain/retrievers/document_compressors/chain_filter.py +0 -133
  899. langchain/retrievers/document_compressors/chain_filter_prompt.py +0 -8
  900. langchain/retrievers/document_compressors/cohere_rerank.py +0 -124
  901. langchain/retrievers/document_compressors/cross_encoder.py +0 -16
  902. langchain/retrievers/document_compressors/cross_encoder_rerank.py +0 -48
  903. langchain/retrievers/document_compressors/embeddings_filter.py +0 -137
  904. langchain/retrievers/document_compressors/flashrank_rerank.py +0 -27
  905. langchain/retrievers/document_compressors/listwise_rerank.py +0 -144
  906. langchain/retrievers/elastic_search_bm25.py +0 -23
  907. langchain/retrievers/embedchain.py +0 -23
  908. langchain/retrievers/ensemble.py +0 -336
  909. langchain/retrievers/google_cloud_documentai_warehouse.py +0 -25
  910. langchain/retrievers/google_vertex_ai_search.py +0 -33
  911. langchain/retrievers/kay.py +0 -23
  912. langchain/retrievers/kendra.py +0 -66
  913. langchain/retrievers/knn.py +0 -23
  914. langchain/retrievers/llama_index.py +0 -30
  915. langchain/retrievers/merger_retriever.py +0 -123
  916. langchain/retrievers/metal.py +0 -23
  917. langchain/retrievers/milvus.py +0 -28
  918. langchain/retrievers/multi_query.py +0 -231
  919. langchain/retrievers/multi_vector.py +0 -132
  920. langchain/retrievers/outline.py +0 -23
  921. langchain/retrievers/parent_document_retriever.py +0 -157
  922. langchain/retrievers/pinecone_hybrid_search.py +0 -23
  923. langchain/retrievers/pubmed.py +0 -23
  924. langchain/retrievers/pupmed.py +0 -23
  925. langchain/retrievers/re_phraser.py +0 -89
  926. langchain/retrievers/remote_retriever.py +0 -23
  927. langchain/retrievers/self_query/__init__.py +0 -0
  928. langchain/retrievers/self_query/astradb.py +0 -23
  929. langchain/retrievers/self_query/base.py +0 -397
  930. langchain/retrievers/self_query/chroma.py +0 -23
  931. langchain/retrievers/self_query/dashvector.py +0 -23
  932. langchain/retrievers/self_query/databricks_vector_search.py +0 -27
  933. langchain/retrievers/self_query/deeplake.py +0 -27
  934. langchain/retrievers/self_query/dingo.py +0 -23
  935. langchain/retrievers/self_query/elasticsearch.py +0 -25
  936. langchain/retrievers/self_query/milvus.py +0 -27
  937. langchain/retrievers/self_query/mongodb_atlas.py +0 -25
  938. langchain/retrievers/self_query/myscale.py +0 -23
  939. langchain/retrievers/self_query/opensearch.py +0 -23
  940. langchain/retrievers/self_query/pgvector.py +0 -23
  941. langchain/retrievers/self_query/pinecone.py +0 -23
  942. langchain/retrievers/self_query/qdrant.py +0 -23
  943. langchain/retrievers/self_query/redis.py +0 -23
  944. langchain/retrievers/self_query/supabase.py +0 -23
  945. langchain/retrievers/self_query/tencentvectordb.py +0 -27
  946. langchain/retrievers/self_query/timescalevector.py +0 -27
  947. langchain/retrievers/self_query/vectara.py +0 -27
  948. langchain/retrievers/self_query/weaviate.py +0 -23
  949. langchain/retrievers/svm.py +0 -23
  950. langchain/retrievers/tavily_search_api.py +0 -28
  951. langchain/retrievers/tfidf.py +0 -23
  952. langchain/retrievers/time_weighted_retriever.py +0 -193
  953. langchain/retrievers/vespa_retriever.py +0 -23
  954. langchain/retrievers/weaviate_hybrid_search.py +0 -23
  955. langchain/retrievers/web_research.py +0 -29
  956. langchain/retrievers/wikipedia.py +0 -23
  957. langchain/retrievers/you.py +0 -23
  958. langchain/retrievers/zep.py +0 -30
  959. langchain/retrievers/zilliz.py +0 -28
  960. langchain/runnables/__init__.py +0 -18
  961. langchain/runnables/hub.py +0 -32
  962. langchain/runnables/openai_functions.py +0 -51
  963. langchain/schema/__init__.py +0 -82
  964. langchain/schema/agent.py +0 -3
  965. langchain/schema/cache.py +0 -3
  966. langchain/schema/callbacks/__init__.py +0 -0
  967. langchain/schema/callbacks/base.py +0 -23
  968. langchain/schema/callbacks/manager.py +0 -55
  969. langchain/schema/callbacks/stdout.py +0 -3
  970. langchain/schema/callbacks/streaming_stdout.py +0 -3
  971. langchain/schema/callbacks/tracers/__init__.py +0 -0
  972. langchain/schema/callbacks/tracers/base.py +0 -4
  973. langchain/schema/callbacks/tracers/evaluation.py +0 -6
  974. langchain/schema/callbacks/tracers/langchain.py +0 -8
  975. langchain/schema/callbacks/tracers/langchain_v1.py +0 -3
  976. langchain/schema/callbacks/tracers/log_stream.py +0 -9
  977. langchain/schema/callbacks/tracers/root_listeners.py +0 -3
  978. langchain/schema/callbacks/tracers/run_collector.py +0 -3
  979. langchain/schema/callbacks/tracers/schemas.py +0 -27
  980. langchain/schema/callbacks/tracers/stdout.py +0 -13
  981. langchain/schema/chat.py +0 -3
  982. langchain/schema/chat_history.py +0 -3
  983. langchain/schema/document.py +0 -3
  984. langchain/schema/embeddings.py +0 -3
  985. langchain/schema/exceptions.py +0 -3
  986. langchain/schema/language_model.py +0 -15
  987. langchain/schema/memory.py +0 -3
  988. langchain/schema/messages.py +0 -51
  989. langchain/schema/output.py +0 -19
  990. langchain/schema/output_parser.py +0 -25
  991. langchain/schema/prompt.py +0 -3
  992. langchain/schema/prompt_template.py +0 -3
  993. langchain/schema/retriever.py +0 -3
  994. langchain/schema/runnable/__init__.py +0 -58
  995. langchain/schema/runnable/base.py +0 -38
  996. langchain/schema/runnable/branch.py +0 -3
  997. langchain/schema/runnable/config.py +0 -27
  998. langchain/schema/runnable/configurable.py +0 -15
  999. langchain/schema/runnable/fallbacks.py +0 -3
  1000. langchain/schema/runnable/history.py +0 -11
  1001. langchain/schema/runnable/passthrough.py +0 -8
  1002. langchain/schema/runnable/retry.py +0 -3
  1003. langchain/schema/runnable/router.py +0 -3
  1004. langchain/schema/runnable/utils.py +0 -51
  1005. langchain/schema/storage.py +0 -3
  1006. langchain/schema/vectorstore.py +0 -3
  1007. langchain/serpapi.py +0 -25
  1008. langchain/smith/__init__.py +0 -102
  1009. langchain/smith/evaluation/__init__.py +0 -68
  1010. langchain/smith/evaluation/config.py +0 -382
  1011. langchain/smith/evaluation/name_generation.py +0 -727
  1012. langchain/smith/evaluation/progress.py +0 -137
  1013. langchain/smith/evaluation/runner_utils.py +0 -1572
  1014. langchain/smith/evaluation/string_run_evaluator.py +0 -440
  1015. langchain/smith/evaluation/utils.py +0 -0
  1016. langchain/sql_database.py +0 -25
  1017. langchain/storage/__init__.py +0 -57
  1018. langchain/storage/_lc_store.py +0 -91
  1019. langchain/storage/encoder_backed.py +0 -127
  1020. langchain/storage/exceptions.py +0 -3
  1021. langchain/storage/file_system.py +0 -176
  1022. langchain/storage/in_memory.py +0 -13
  1023. langchain/storage/redis.py +0 -23
  1024. langchain/storage/upstash_redis.py +0 -27
  1025. langchain/text_splitter.py +0 -50
  1026. langchain/tools/ainetwork/__init__.py +0 -0
  1027. langchain/tools/ainetwork/app.py +0 -30
  1028. langchain/tools/ainetwork/base.py +0 -27
  1029. langchain/tools/ainetwork/owner.py +0 -28
  1030. langchain/tools/ainetwork/rule.py +0 -28
  1031. langchain/tools/ainetwork/transfer.py +0 -28
  1032. langchain/tools/ainetwork/value.py +0 -28
  1033. langchain/tools/amadeus/__init__.py +0 -30
  1034. langchain/tools/amadeus/base.py +0 -23
  1035. langchain/tools/amadeus/closest_airport.py +0 -30
  1036. langchain/tools/amadeus/flight_search.py +0 -30
  1037. langchain/tools/arxiv/__init__.py +0 -1
  1038. langchain/tools/arxiv/tool.py +0 -28
  1039. langchain/tools/azure_cognitive_services/__init__.py +0 -41
  1040. langchain/tools/azure_cognitive_services/form_recognizer.py +0 -23
  1041. langchain/tools/azure_cognitive_services/image_analysis.py +0 -23
  1042. langchain/tools/azure_cognitive_services/speech2text.py +0 -23
  1043. langchain/tools/azure_cognitive_services/text2speech.py +0 -23
  1044. langchain/tools/azure_cognitive_services/text_analytics_health.py +0 -23
  1045. langchain/tools/base.py +0 -19
  1046. langchain/tools/bearly/__init__.py +0 -0
  1047. langchain/tools/bearly/tool.py +0 -33
  1048. langchain/tools/bing_search/__init__.py +0 -29
  1049. langchain/tools/bing_search/tool.py +0 -27
  1050. langchain/tools/brave_search/__init__.py +0 -0
  1051. langchain/tools/brave_search/tool.py +0 -23
  1052. langchain/tools/clickup/__init__.py +0 -0
  1053. langchain/tools/clickup/tool.py +0 -23
  1054. langchain/tools/convert_to_openai.py +0 -4
  1055. langchain/tools/dataforseo_api_search/__init__.py +0 -34
  1056. langchain/tools/dataforseo_api_search/tool.py +0 -32
  1057. langchain/tools/ddg_search/__init__.py +0 -25
  1058. langchain/tools/ddg_search/tool.py +0 -32
  1059. langchain/tools/e2b_data_analysis/__init__.py +0 -0
  1060. langchain/tools/e2b_data_analysis/tool.py +0 -33
  1061. langchain/tools/edenai/__init__.py +0 -50
  1062. langchain/tools/edenai/audio_speech_to_text.py +0 -23
  1063. langchain/tools/edenai/audio_text_to_speech.py +0 -23
  1064. langchain/tools/edenai/edenai_base_tool.py +0 -23
  1065. langchain/tools/edenai/image_explicitcontent.py +0 -23
  1066. langchain/tools/edenai/image_objectdetection.py +0 -23
  1067. langchain/tools/edenai/ocr_identityparser.py +0 -23
  1068. langchain/tools/edenai/ocr_invoiceparser.py +0 -23
  1069. langchain/tools/edenai/text_moderation.py +0 -23
  1070. langchain/tools/eleven_labs/__init__.py +0 -25
  1071. langchain/tools/eleven_labs/models.py +0 -23
  1072. langchain/tools/eleven_labs/text2speech.py +0 -23
  1073. langchain/tools/file_management/__init__.py +0 -47
  1074. langchain/tools/file_management/copy.py +0 -28
  1075. langchain/tools/file_management/delete.py +0 -28
  1076. langchain/tools/file_management/file_search.py +0 -28
  1077. langchain/tools/file_management/list_dir.py +0 -28
  1078. langchain/tools/file_management/move.py +0 -28
  1079. langchain/tools/file_management/read.py +0 -28
  1080. langchain/tools/file_management/write.py +0 -28
  1081. langchain/tools/github/__init__.py +0 -1
  1082. langchain/tools/github/tool.py +0 -23
  1083. langchain/tools/gitlab/__init__.py +0 -1
  1084. langchain/tools/gitlab/tool.py +0 -23
  1085. langchain/tools/gmail/__init__.py +0 -41
  1086. langchain/tools/gmail/base.py +0 -23
  1087. langchain/tools/gmail/create_draft.py +0 -28
  1088. langchain/tools/gmail/get_message.py +0 -28
  1089. langchain/tools/gmail/get_thread.py +0 -28
  1090. langchain/tools/gmail/search.py +0 -30
  1091. langchain/tools/gmail/send_message.py +0 -28
  1092. langchain/tools/golden_query/__init__.py +0 -25
  1093. langchain/tools/golden_query/tool.py +0 -23
  1094. langchain/tools/google_cloud/__init__.py +0 -25
  1095. langchain/tools/google_cloud/texttospeech.py +0 -23
  1096. langchain/tools/google_finance/__init__.py +0 -27
  1097. langchain/tools/google_finance/tool.py +0 -25
  1098. langchain/tools/google_jobs/__init__.py +0 -25
  1099. langchain/tools/google_jobs/tool.py +0 -23
  1100. langchain/tools/google_lens/__init__.py +0 -25
  1101. langchain/tools/google_lens/tool.py +0 -23
  1102. langchain/tools/google_places/__init__.py +0 -25
  1103. langchain/tools/google_places/tool.py +0 -28
  1104. langchain/tools/google_scholar/__init__.py +0 -27
  1105. langchain/tools/google_scholar/tool.py +0 -25
  1106. langchain/tools/google_search/__init__.py +0 -29
  1107. langchain/tools/google_search/tool.py +0 -27
  1108. langchain/tools/google_serper/__init__.py +0 -30
  1109. langchain/tools/google_serper/tool.py +0 -27
  1110. langchain/tools/google_trends/__init__.py +0 -27
  1111. langchain/tools/google_trends/tool.py +0 -25
  1112. langchain/tools/graphql/__init__.py +0 -1
  1113. langchain/tools/graphql/tool.py +0 -23
  1114. langchain/tools/human/__init__.py +0 -25
  1115. langchain/tools/human/tool.py +0 -23
  1116. langchain/tools/ifttt.py +0 -23
  1117. langchain/tools/interaction/__init__.py +0 -1
  1118. langchain/tools/interaction/tool.py +0 -23
  1119. langchain/tools/jira/__init__.py +0 -1
  1120. langchain/tools/jira/tool.py +0 -42
  1121. langchain/tools/json/__init__.py +0 -1
  1122. langchain/tools/json/tool.py +0 -52
  1123. langchain/tools/memorize/__init__.py +0 -25
  1124. langchain/tools/memorize/tool.py +0 -27
  1125. langchain/tools/merriam_webster/__init__.py +0 -1
  1126. langchain/tools/merriam_webster/tool.py +0 -23
  1127. langchain/tools/metaphor_search/__init__.py +0 -25
  1128. langchain/tools/metaphor_search/tool.py +0 -23
  1129. langchain/tools/multion/__init__.py +0 -33
  1130. langchain/tools/multion/close_session.py +0 -30
  1131. langchain/tools/multion/create_session.py +0 -30
  1132. langchain/tools/multion/update_session.py +0 -30
  1133. langchain/tools/nasa/__init__.py +0 -0
  1134. langchain/tools/nasa/tool.py +0 -23
  1135. langchain/tools/nuclia/__init__.py +0 -23
  1136. langchain/tools/nuclia/tool.py +0 -27
  1137. langchain/tools/office365/__init__.py +0 -41
  1138. langchain/tools/office365/base.py +0 -23
  1139. langchain/tools/office365/create_draft_message.py +0 -32
  1140. langchain/tools/office365/events_search.py +0 -28
  1141. langchain/tools/office365/messages_search.py +0 -28
  1142. langchain/tools/office365/send_event.py +0 -28
  1143. langchain/tools/office365/send_message.py +0 -28
  1144. langchain/tools/openapi/__init__.py +0 -0
  1145. langchain/tools/openapi/utils/__init__.py +0 -0
  1146. langchain/tools/openapi/utils/api_models.py +0 -54
  1147. langchain/tools/openapi/utils/openapi_utils.py +0 -30
  1148. langchain/tools/openweathermap/__init__.py +0 -25
  1149. langchain/tools/openweathermap/tool.py +0 -23
  1150. langchain/tools/playwright/__init__.py +0 -47
  1151. langchain/tools/playwright/base.py +0 -23
  1152. langchain/tools/playwright/click.py +0 -28
  1153. langchain/tools/playwright/current_page.py +0 -23
  1154. langchain/tools/playwright/extract_hyperlinks.py +0 -32
  1155. langchain/tools/playwright/extract_text.py +0 -23
  1156. langchain/tools/playwright/get_elements.py +0 -28
  1157. langchain/tools/playwright/navigate.py +0 -28
  1158. langchain/tools/playwright/navigate_back.py +0 -23
  1159. langchain/tools/plugin.py +0 -32
  1160. langchain/tools/powerbi/__init__.py +0 -1
  1161. langchain/tools/powerbi/tool.py +0 -33
  1162. langchain/tools/pubmed/__init__.py +0 -1
  1163. langchain/tools/pubmed/tool.py +0 -23
  1164. langchain/tools/python/__init__.py +0 -13
  1165. langchain/tools/reddit_search/__init__.py +0 -0
  1166. langchain/tools/reddit_search/tool.py +0 -27
  1167. langchain/tools/render.py +0 -23
  1168. langchain/tools/requests/__init__.py +0 -1
  1169. langchain/tools/requests/tool.py +0 -42
  1170. langchain/tools/retriever.py +0 -11
  1171. langchain/tools/scenexplain/__init__.py +0 -1
  1172. langchain/tools/scenexplain/tool.py +0 -28
  1173. langchain/tools/searchapi/__init__.py +0 -30
  1174. langchain/tools/searchapi/tool.py +0 -27
  1175. langchain/tools/searx_search/__init__.py +0 -0
  1176. langchain/tools/searx_search/tool.py +0 -27
  1177. langchain/tools/shell/__init__.py +0 -25
  1178. langchain/tools/shell/tool.py +0 -28
  1179. langchain/tools/slack/__init__.py +0 -38
  1180. langchain/tools/slack/base.py +0 -23
  1181. langchain/tools/slack/get_channel.py +0 -23
  1182. langchain/tools/slack/get_message.py +0 -28
  1183. langchain/tools/slack/schedule_message.py +0 -28
  1184. langchain/tools/slack/send_message.py +0 -28
  1185. langchain/tools/sleep/__init__.py +0 -1
  1186. langchain/tools/sleep/tool.py +0 -28
  1187. langchain/tools/spark_sql/__init__.py +0 -1
  1188. langchain/tools/spark_sql/tool.py +0 -39
  1189. langchain/tools/sql_database/__init__.py +0 -1
  1190. langchain/tools/sql_database/prompt.py +0 -24
  1191. langchain/tools/sql_database/tool.py +0 -39
  1192. langchain/tools/stackexchange/__init__.py +0 -1
  1193. langchain/tools/stackexchange/tool.py +0 -23
  1194. langchain/tools/steam/__init__.py +0 -1
  1195. langchain/tools/steam/tool.py +0 -23
  1196. langchain/tools/steamship_image_generation/__init__.py +0 -25
  1197. langchain/tools/steamship_image_generation/tool.py +0 -28
  1198. langchain/tools/tavily_search/__init__.py +0 -32
  1199. langchain/tools/tavily_search/tool.py +0 -33
  1200. langchain/tools/vectorstore/__init__.py +0 -1
  1201. langchain/tools/vectorstore/tool.py +0 -30
  1202. langchain/tools/wikipedia/__init__.py +0 -1
  1203. langchain/tools/wikipedia/tool.py +0 -23
  1204. langchain/tools/wolfram_alpha/__init__.py +0 -25
  1205. langchain/tools/wolfram_alpha/tool.py +0 -23
  1206. langchain/tools/yahoo_finance_news.py +0 -23
  1207. langchain/tools/youtube/__init__.py +0 -0
  1208. langchain/tools/youtube/search.py +0 -23
  1209. langchain/tools/zapier/__init__.py +0 -29
  1210. langchain/tools/zapier/tool.py +0 -49
  1211. langchain/utilities/__init__.py +0 -168
  1212. langchain/utilities/alpha_vantage.py +0 -23
  1213. langchain/utilities/anthropic.py +0 -30
  1214. langchain/utilities/apify.py +0 -23
  1215. langchain/utilities/arcee.py +0 -45
  1216. langchain/utilities/arxiv.py +0 -23
  1217. langchain/utilities/asyncio.py +0 -11
  1218. langchain/utilities/awslambda.py +0 -23
  1219. langchain/utilities/bibtex.py +0 -23
  1220. langchain/utilities/bing_search.py +0 -23
  1221. langchain/utilities/brave_search.py +0 -23
  1222. langchain/utilities/clickup.py +0 -45
  1223. langchain/utilities/dalle_image_generator.py +0 -25
  1224. langchain/utilities/dataforseo_api_search.py +0 -25
  1225. langchain/utilities/duckduckgo_search.py +0 -23
  1226. langchain/utilities/github.py +0 -23
  1227. langchain/utilities/gitlab.py +0 -23
  1228. langchain/utilities/golden_query.py +0 -23
  1229. langchain/utilities/google_finance.py +0 -23
  1230. langchain/utilities/google_jobs.py +0 -23
  1231. langchain/utilities/google_lens.py +0 -23
  1232. langchain/utilities/google_places_api.py +0 -23
  1233. langchain/utilities/google_scholar.py +0 -23
  1234. langchain/utilities/google_search.py +0 -23
  1235. langchain/utilities/google_serper.py +0 -23
  1236. langchain/utilities/google_trends.py +0 -23
  1237. langchain/utilities/graphql.py +0 -23
  1238. langchain/utilities/jira.py +0 -23
  1239. langchain/utilities/loading.py +0 -4
  1240. langchain/utilities/max_compute.py +0 -23
  1241. langchain/utilities/merriam_webster.py +0 -23
  1242. langchain/utilities/metaphor_search.py +0 -23
  1243. langchain/utilities/nasa.py +0 -23
  1244. langchain/utilities/opaqueprompts.py +0 -27
  1245. langchain/utilities/openapi.py +0 -28
  1246. langchain/utilities/openweathermap.py +0 -23
  1247. langchain/utilities/outline.py +0 -23
  1248. langchain/utilities/portkey.py +0 -23
  1249. langchain/utilities/powerbi.py +0 -23
  1250. langchain/utilities/pubmed.py +0 -23
  1251. langchain/utilities/python.py +0 -19
  1252. langchain/utilities/reddit_search.py +0 -25
  1253. langchain/utilities/redis.py +0 -33
  1254. langchain/utilities/requests.py +0 -27
  1255. langchain/utilities/scenexplain.py +0 -23
  1256. langchain/utilities/searchapi.py +0 -23
  1257. langchain/utilities/searx_search.py +0 -28
  1258. langchain/utilities/serpapi.py +0 -28
  1259. langchain/utilities/spark_sql.py +0 -23
  1260. langchain/utilities/sql_database.py +0 -28
  1261. langchain/utilities/stackexchange.py +0 -23
  1262. langchain/utilities/steam.py +0 -23
  1263. langchain/utilities/tavily_search.py +0 -25
  1264. langchain/utilities/tensorflow_datasets.py +0 -23
  1265. langchain/utilities/twilio.py +0 -23
  1266. langchain/utilities/vertexai.py +0 -36
  1267. langchain/utilities/wikipedia.py +0 -23
  1268. langchain/utilities/wolfram_alpha.py +0 -23
  1269. langchain/utilities/zapier.py +0 -23
  1270. langchain/utils/__init__.py +0 -77
  1271. langchain/utils/aiter.py +0 -3
  1272. langchain/utils/env.py +0 -3
  1273. langchain/utils/ernie_functions.py +0 -36
  1274. langchain/utils/formatting.py +0 -3
  1275. langchain/utils/html.py +0 -19
  1276. langchain/utils/input.py +0 -8
  1277. langchain/utils/iter.py +0 -3
  1278. langchain/utils/json_schema.py +0 -11
  1279. langchain/utils/loading.py +0 -3
  1280. langchain/utils/math.py +0 -32
  1281. langchain/utils/openai.py +0 -23
  1282. langchain/utils/openai_functions.py +0 -13
  1283. langchain/utils/pydantic.py +0 -3
  1284. langchain/utils/strings.py +0 -3
  1285. langchain/utils/utils.py +0 -21
  1286. langchain/vectorstores/__init__.py +0 -262
  1287. langchain/vectorstores/alibabacloud_opensearch.py +0 -30
  1288. langchain/vectorstores/analyticdb.py +0 -23
  1289. langchain/vectorstores/annoy.py +0 -23
  1290. langchain/vectorstores/astradb.py +0 -23
  1291. langchain/vectorstores/atlas.py +0 -23
  1292. langchain/vectorstores/awadb.py +0 -23
  1293. langchain/vectorstores/azure_cosmos_db.py +0 -28
  1294. langchain/vectorstores/azuresearch.py +0 -30
  1295. langchain/vectorstores/bageldb.py +0 -23
  1296. langchain/vectorstores/baiducloud_vector_search.py +0 -23
  1297. langchain/vectorstores/base.py +0 -3
  1298. langchain/vectorstores/cassandra.py +0 -23
  1299. langchain/vectorstores/chroma.py +0 -23
  1300. langchain/vectorstores/clarifai.py +0 -23
  1301. langchain/vectorstores/clickhouse.py +0 -27
  1302. langchain/vectorstores/dashvector.py +0 -23
  1303. langchain/vectorstores/databricks_vector_search.py +0 -23
  1304. langchain/vectorstores/deeplake.py +0 -23
  1305. langchain/vectorstores/dingo.py +0 -23
  1306. langchain/vectorstores/docarray/__init__.py +0 -30
  1307. langchain/vectorstores/docarray/base.py +0 -23
  1308. langchain/vectorstores/docarray/hnsw.py +0 -23
  1309. langchain/vectorstores/docarray/in_memory.py +0 -23
  1310. langchain/vectorstores/elastic_vector_search.py +0 -27
  1311. langchain/vectorstores/elasticsearch.py +0 -39
  1312. langchain/vectorstores/epsilla.py +0 -23
  1313. langchain/vectorstores/faiss.py +0 -23
  1314. langchain/vectorstores/hippo.py +0 -23
  1315. langchain/vectorstores/hologres.py +0 -23
  1316. langchain/vectorstores/lancedb.py +0 -23
  1317. langchain/vectorstores/llm_rails.py +0 -28
  1318. langchain/vectorstores/marqo.py +0 -23
  1319. langchain/vectorstores/matching_engine.py +0 -23
  1320. langchain/vectorstores/meilisearch.py +0 -23
  1321. langchain/vectorstores/milvus.py +0 -23
  1322. langchain/vectorstores/momento_vector_index.py +0 -23
  1323. langchain/vectorstores/mongodb_atlas.py +0 -23
  1324. langchain/vectorstores/myscale.py +0 -30
  1325. langchain/vectorstores/neo4j_vector.py +0 -28
  1326. langchain/vectorstores/nucliadb.py +0 -23
  1327. langchain/vectorstores/opensearch_vector_search.py +0 -23
  1328. langchain/vectorstores/pgembedding.py +0 -36
  1329. langchain/vectorstores/pgvecto_rs.py +0 -23
  1330. langchain/vectorstores/pgvector.py +0 -28
  1331. langchain/vectorstores/pinecone.py +0 -23
  1332. langchain/vectorstores/qdrant.py +0 -28
  1333. langchain/vectorstores/redis/__init__.py +0 -42
  1334. langchain/vectorstores/redis/base.py +0 -33
  1335. langchain/vectorstores/redis/filters.py +0 -48
  1336. langchain/vectorstores/redis/schema.py +0 -54
  1337. langchain/vectorstores/rocksetdb.py +0 -23
  1338. langchain/vectorstores/scann.py +0 -23
  1339. langchain/vectorstores/semadb.py +0 -23
  1340. langchain/vectorstores/singlestoredb.py +0 -23
  1341. langchain/vectorstores/sklearn.py +0 -42
  1342. langchain/vectorstores/sqlitevss.py +0 -23
  1343. langchain/vectorstores/starrocks.py +0 -28
  1344. langchain/vectorstores/supabase.py +0 -23
  1345. langchain/vectorstores/tair.py +0 -23
  1346. langchain/vectorstores/tencentvectordb.py +0 -33
  1347. langchain/vectorstores/tigris.py +0 -23
  1348. langchain/vectorstores/tiledb.py +0 -23
  1349. langchain/vectorstores/timescalevector.py +0 -23
  1350. langchain/vectorstores/typesense.py +0 -23
  1351. langchain/vectorstores/usearch.py +0 -23
  1352. langchain/vectorstores/utils.py +0 -33
  1353. langchain/vectorstores/vald.py +0 -23
  1354. langchain/vectorstores/vearch.py +0 -23
  1355. langchain/vectorstores/vectara.py +0 -28
  1356. langchain/vectorstores/vespa.py +0 -23
  1357. langchain/vectorstores/weaviate.py +0 -23
  1358. langchain/vectorstores/xata.py +0 -23
  1359. langchain/vectorstores/yellowbrick.py +0 -23
  1360. langchain/vectorstores/zep.py +0 -28
  1361. langchain/vectorstores/zilliz.py +0 -23
  1362. langchain-0.3.27.dist-info/METADATA +0 -144
  1363. langchain-0.3.27.dist-info/RECORD +0 -1342
  1364. langchain-0.3.27.dist-info/entry_points.txt +0 -4
  1365. {langchain-0.3.27.dist-info → langchain-1.0.0.dist-info}/licenses/LICENSE +0 -0
File without changes
@@ -1,19 +0,0 @@
1
- from langchain_core.prompts.prompt import PromptTemplate
2
-
3
- _template = """Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.
4
-
5
- Chat History:
6
- {chat_history}
7
- Follow Up Input: {question}
8
- Standalone question:""" # noqa: E501
9
- CONDENSE_QUESTION_PROMPT = PromptTemplate.from_template(_template)
10
-
11
- prompt_template = """Use the following pieces of context to answer the question at the end. If you don't know the answer, just say that you don't know, don't try to make up an answer.
12
-
13
- {context}
14
-
15
- Question: {question}
16
- Helpful Answer:""" # noqa: E501
17
- QA_PROMPT = PromptTemplate(
18
- template=prompt_template, input_variables=["context", "question"]
19
- )
@@ -1,15 +0,0 @@
1
- """Different ways to combine documents."""
2
-
3
- from langchain.chains.combine_documents.reduce import (
4
- acollapse_docs,
5
- collapse_docs,
6
- split_list_of_docs,
7
- )
8
- from langchain.chains.combine_documents.stuff import create_stuff_documents_chain
9
-
10
- __all__ = [
11
- "acollapse_docs",
12
- "collapse_docs",
13
- "create_stuff_documents_chain",
14
- "split_list_of_docs",
15
- ]
@@ -1,287 +0,0 @@
1
- """Base interface for chains combining documents."""
2
-
3
- from abc import ABC, abstractmethod
4
- from typing import Any, Optional
5
-
6
- from langchain_core._api import deprecated
7
- from langchain_core.callbacks import (
8
- AsyncCallbackManagerForChainRun,
9
- CallbackManagerForChainRun,
10
- )
11
- from langchain_core.documents import Document
12
- from langchain_core.prompts import BasePromptTemplate, PromptTemplate
13
- from langchain_core.runnables.config import RunnableConfig
14
- from langchain_core.utils.pydantic import create_model
15
- from langchain_text_splitters import RecursiveCharacterTextSplitter, TextSplitter
16
- from pydantic import BaseModel, Field
17
-
18
- from langchain.chains.base import Chain
19
-
20
- DEFAULT_DOCUMENT_SEPARATOR = "\n\n"
21
- DOCUMENTS_KEY = "context"
22
- DEFAULT_DOCUMENT_PROMPT = PromptTemplate.from_template("{page_content}")
23
-
24
-
25
- def _validate_prompt(prompt: BasePromptTemplate, document_variable_name: str) -> None:
26
- if document_variable_name not in prompt.input_variables:
27
- msg = (
28
- f"Prompt must accept {document_variable_name} as an input variable. "
29
- f"Received prompt with input variables: {prompt.input_variables}"
30
- )
31
- raise ValueError(msg)
32
-
33
-
34
- class BaseCombineDocumentsChain(Chain, ABC):
35
- """Base interface for chains combining documents.
36
-
37
- Subclasses of this chain deal with combining documents in a variety of
38
- ways. This base class exists to add some uniformity in the interface these types
39
- of chains should expose. Namely, they expect an input key related to the documents
40
- to use (default `input_documents`), and then also expose a method to calculate
41
- the length of a prompt from documents (useful for outside callers to use to
42
- determine whether it's safe to pass a list of documents into this chain or whether
43
- that will be longer than the context length).
44
- """
45
-
46
- input_key: str = "input_documents" #: :meta private:
47
- output_key: str = "output_text" #: :meta private:
48
-
49
- def get_input_schema(
50
- self,
51
- config: Optional[RunnableConfig] = None,
52
- ) -> type[BaseModel]:
53
- return create_model(
54
- "CombineDocumentsInput",
55
- **{self.input_key: (list[Document], None)},
56
- )
57
-
58
- def get_output_schema(
59
- self,
60
- config: Optional[RunnableConfig] = None,
61
- ) -> type[BaseModel]:
62
- return create_model(
63
- "CombineDocumentsOutput",
64
- **{self.output_key: (str, None)},
65
- )
66
-
67
- @property
68
- def input_keys(self) -> list[str]:
69
- """Expect input key.
70
-
71
- :meta private:
72
- """
73
- return [self.input_key]
74
-
75
- @property
76
- def output_keys(self) -> list[str]:
77
- """Return output key.
78
-
79
- :meta private:
80
- """
81
- return [self.output_key]
82
-
83
- def prompt_length(self, docs: list[Document], **kwargs: Any) -> Optional[int]:
84
- """Return the prompt length given the documents passed in.
85
-
86
- This can be used by a caller to determine whether passing in a list
87
- of documents would exceed a certain prompt length. This useful when
88
- trying to ensure that the size of a prompt remains below a certain
89
- context limit.
90
-
91
- Args:
92
- docs: List[Document], a list of documents to use to calculate the
93
- total prompt length.
94
-
95
- Returns:
96
- Returns None if the method does not depend on the prompt length,
97
- otherwise the length of the prompt in tokens.
98
- """
99
- return None
100
-
101
- @abstractmethod
102
- def combine_docs(self, docs: list[Document], **kwargs: Any) -> tuple[str, dict]:
103
- """Combine documents into a single string.
104
-
105
- Args:
106
- docs: List[Document], the documents to combine
107
- **kwargs: Other parameters to use in combining documents, often
108
- other inputs to the prompt.
109
-
110
- Returns:
111
- The first element returned is the single string output. The second
112
- element returned is a dictionary of other keys to return.
113
- """
114
-
115
- @abstractmethod
116
- async def acombine_docs(
117
- self,
118
- docs: list[Document],
119
- **kwargs: Any,
120
- ) -> tuple[str, dict]:
121
- """Combine documents into a single string.
122
-
123
- Args:
124
- docs: List[Document], the documents to combine
125
- **kwargs: Other parameters to use in combining documents, often
126
- other inputs to the prompt.
127
-
128
- Returns:
129
- The first element returned is the single string output. The second
130
- element returned is a dictionary of other keys to return.
131
- """
132
-
133
- def _call(
134
- self,
135
- inputs: dict[str, list[Document]],
136
- run_manager: Optional[CallbackManagerForChainRun] = None,
137
- ) -> dict[str, str]:
138
- """Prepare inputs, call combine docs, prepare outputs."""
139
- _run_manager = run_manager or CallbackManagerForChainRun.get_noop_manager()
140
- docs = inputs[self.input_key]
141
- # Other keys are assumed to be needed for LLM prediction
142
- other_keys = {k: v for k, v in inputs.items() if k != self.input_key}
143
- output, extra_return_dict = self.combine_docs(
144
- docs,
145
- callbacks=_run_manager.get_child(),
146
- **other_keys,
147
- )
148
- extra_return_dict[self.output_key] = output
149
- return extra_return_dict
150
-
151
- async def _acall(
152
- self,
153
- inputs: dict[str, list[Document]],
154
- run_manager: Optional[AsyncCallbackManagerForChainRun] = None,
155
- ) -> dict[str, str]:
156
- """Prepare inputs, call combine docs, prepare outputs."""
157
- _run_manager = run_manager or AsyncCallbackManagerForChainRun.get_noop_manager()
158
- docs = inputs[self.input_key]
159
- # Other keys are assumed to be needed for LLM prediction
160
- other_keys = {k: v for k, v in inputs.items() if k != self.input_key}
161
- output, extra_return_dict = await self.acombine_docs(
162
- docs,
163
- callbacks=_run_manager.get_child(),
164
- **other_keys,
165
- )
166
- extra_return_dict[self.output_key] = output
167
- return extra_return_dict
168
-
169
-
170
- @deprecated(
171
- since="0.2.7",
172
- alternative=(
173
- "example in API reference with more detail: "
174
- "https://api.python.langchain.com/en/latest/chains/langchain.chains.combine_documents.base.AnalyzeDocumentChain.html"
175
- ),
176
- removal="1.0",
177
- )
178
- class AnalyzeDocumentChain(Chain):
179
- """Chain that splits documents, then analyzes it in pieces.
180
-
181
- This chain is parameterized by a TextSplitter and a CombineDocumentsChain.
182
- This chain takes a single document as input, and then splits it up into chunks
183
- and then passes those chucks to the CombineDocumentsChain.
184
-
185
- This class is deprecated. See below for alternative implementations which
186
- supports async and streaming modes of operation.
187
-
188
- If the underlying combine documents chain takes one ``input_documents`` argument
189
- (e.g., chains generated by ``load_summarize_chain``):
190
-
191
- .. code-block:: python
192
-
193
- split_text = lambda x: text_splitter.create_documents([x])
194
-
195
- summarize_document_chain = split_text | chain
196
-
197
- If the underlying chain takes additional arguments (e.g., ``load_qa_chain``, which
198
- takes an additional ``question`` argument), we can use the following:
199
-
200
- .. code-block:: python
201
-
202
- from operator import itemgetter
203
- from langchain_core.runnables import RunnableLambda, RunnableParallel
204
-
205
- split_text = RunnableLambda(
206
- lambda x: text_splitter.create_documents([x])
207
- )
208
- summarize_document_chain = RunnableParallel(
209
- question=itemgetter("question"),
210
- input_documents=itemgetter("input_document") | split_text,
211
- ) | chain.pick("output_text")
212
-
213
- To additionally return the input parameters, as ``AnalyzeDocumentChain`` does,
214
- we can wrap this construction with ``RunnablePassthrough``:
215
-
216
- .. code-block:: python
217
-
218
- from operator import itemgetter
219
- from langchain_core.runnables import (
220
- RunnableLambda,
221
- RunnableParallel,
222
- RunnablePassthrough,
223
- )
224
-
225
- split_text = RunnableLambda(
226
- lambda x: text_splitter.create_documents([x])
227
- )
228
- summarize_document_chain = RunnablePassthrough.assign(
229
- output_text=RunnableParallel(
230
- question=itemgetter("question"),
231
- input_documents=itemgetter("input_document") | split_text,
232
- ) | chain.pick("output_text")
233
- )
234
- """
235
-
236
- input_key: str = "input_document" #: :meta private:
237
- text_splitter: TextSplitter = Field(default_factory=RecursiveCharacterTextSplitter)
238
- combine_docs_chain: BaseCombineDocumentsChain
239
-
240
- @property
241
- def input_keys(self) -> list[str]:
242
- """Expect input key.
243
-
244
- :meta private:
245
- """
246
- return [self.input_key]
247
-
248
- @property
249
- def output_keys(self) -> list[str]:
250
- """Return output key.
251
-
252
- :meta private:
253
- """
254
- return self.combine_docs_chain.output_keys
255
-
256
- def get_input_schema(
257
- self,
258
- config: Optional[RunnableConfig] = None,
259
- ) -> type[BaseModel]:
260
- return create_model(
261
- "AnalyzeDocumentChain",
262
- **{self.input_key: (str, None)},
263
- )
264
-
265
- def get_output_schema(
266
- self,
267
- config: Optional[RunnableConfig] = None,
268
- ) -> type[BaseModel]:
269
- return self.combine_docs_chain.get_output_schema(config)
270
-
271
- def _call(
272
- self,
273
- inputs: dict[str, str],
274
- run_manager: Optional[CallbackManagerForChainRun] = None,
275
- ) -> dict[str, str]:
276
- """Split document into chunks and pass to CombineDocumentsChain."""
277
- _run_manager = run_manager or CallbackManagerForChainRun.get_noop_manager()
278
- document = inputs[self.input_key]
279
- docs = self.text_splitter.create_documents([document])
280
- # Other keys are assumed to be needed for LLM prediction
281
- other_keys: dict = {k: v for k, v in inputs.items() if k != self.input_key}
282
- other_keys[self.combine_docs_chain.input_key] = docs
283
- return self.combine_docs_chain(
284
- other_keys,
285
- return_only_outputs=True,
286
- callbacks=_run_manager.get_child(),
287
- )
@@ -1,300 +0,0 @@
1
- """Combining documents by mapping a chain over them first, then combining results."""
2
-
3
- from __future__ import annotations
4
-
5
- from typing import Any, Optional
6
-
7
- from langchain_core._api import deprecated
8
- from langchain_core.callbacks import Callbacks
9
- from langchain_core.documents import Document
10
- from langchain_core.runnables.config import RunnableConfig
11
- from langchain_core.utils.pydantic import create_model
12
- from pydantic import BaseModel, ConfigDict, model_validator
13
-
14
- from langchain.chains.combine_documents.base import BaseCombineDocumentsChain
15
- from langchain.chains.combine_documents.reduce import ReduceDocumentsChain
16
- from langchain.chains.llm import LLMChain
17
-
18
-
19
- @deprecated(
20
- since="0.3.1",
21
- removal="1.0",
22
- message=(
23
- "This class is deprecated. Please see the migration guide here for "
24
- "a recommended replacement: "
25
- "https://python.langchain.com/docs/versions/migrating_chains/map_reduce_chain/"
26
- ),
27
- )
28
- class MapReduceDocumentsChain(BaseCombineDocumentsChain):
29
- """Combining documents by mapping a chain over them, then combining results.
30
-
31
- We first call `llm_chain` on each document individually, passing in the
32
- `page_content` and any other kwargs. This is the `map` step.
33
-
34
- We then process the results of that `map` step in a `reduce` step. This should
35
- likely be a ReduceDocumentsChain.
36
-
37
- Example:
38
- .. code-block:: python
39
-
40
- from langchain.chains import (
41
- StuffDocumentsChain,
42
- LLMChain,
43
- ReduceDocumentsChain,
44
- MapReduceDocumentsChain,
45
- )
46
- from langchain_core.prompts import PromptTemplate
47
- from langchain_community.llms import OpenAI
48
-
49
- # This controls how each document will be formatted. Specifically,
50
- # it will be passed to `format_document` - see that function for more
51
- # details.
52
- document_prompt = PromptTemplate(
53
- input_variables=["page_content"],
54
- template="{page_content}"
55
- )
56
- document_variable_name = "context"
57
- llm = OpenAI()
58
- # The prompt here should take as an input variable the
59
- # `document_variable_name`
60
- prompt = PromptTemplate.from_template(
61
- "Summarize this content: {context}"
62
- )
63
- llm_chain = LLMChain(llm=llm, prompt=prompt)
64
- # We now define how to combine these summaries
65
- reduce_prompt = PromptTemplate.from_template(
66
- "Combine these summaries: {context}"
67
- )
68
- reduce_llm_chain = LLMChain(llm=llm, prompt=reduce_prompt)
69
- combine_documents_chain = StuffDocumentsChain(
70
- llm_chain=reduce_llm_chain,
71
- document_prompt=document_prompt,
72
- document_variable_name=document_variable_name
73
- )
74
- reduce_documents_chain = ReduceDocumentsChain(
75
- combine_documents_chain=combine_documents_chain,
76
- )
77
- chain = MapReduceDocumentsChain(
78
- llm_chain=llm_chain,
79
- reduce_documents_chain=reduce_documents_chain,
80
- )
81
- # If we wanted to, we could also pass in collapse_documents_chain
82
- # which is specifically aimed at collapsing documents BEFORE
83
- # the final call.
84
- prompt = PromptTemplate.from_template(
85
- "Collapse this content: {context}"
86
- )
87
- llm_chain = LLMChain(llm=llm, prompt=prompt)
88
- collapse_documents_chain = StuffDocumentsChain(
89
- llm_chain=llm_chain,
90
- document_prompt=document_prompt,
91
- document_variable_name=document_variable_name
92
- )
93
- reduce_documents_chain = ReduceDocumentsChain(
94
- combine_documents_chain=combine_documents_chain,
95
- collapse_documents_chain=collapse_documents_chain,
96
- )
97
- chain = MapReduceDocumentsChain(
98
- llm_chain=llm_chain,
99
- reduce_documents_chain=reduce_documents_chain,
100
- )
101
- """
102
-
103
- llm_chain: LLMChain
104
- """Chain to apply to each document individually."""
105
- reduce_documents_chain: BaseCombineDocumentsChain
106
- """Chain to use to reduce the results of applying `llm_chain` to each doc.
107
- This typically either a ReduceDocumentChain or StuffDocumentChain."""
108
- document_variable_name: str
109
- """The variable name in the llm_chain to put the documents in.
110
- If only one variable in the llm_chain, this need not be provided."""
111
- return_intermediate_steps: bool = False
112
- """Return the results of the map steps in the output."""
113
-
114
- def get_output_schema(
115
- self,
116
- config: Optional[RunnableConfig] = None,
117
- ) -> type[BaseModel]:
118
- if self.return_intermediate_steps:
119
- return create_model(
120
- "MapReduceDocumentsOutput",
121
- **{
122
- self.output_key: (str, None),
123
- "intermediate_steps": (list[str], None),
124
- },
125
- )
126
-
127
- return super().get_output_schema(config)
128
-
129
- @property
130
- def output_keys(self) -> list[str]:
131
- """Expect input key.
132
-
133
- :meta private:
134
- """
135
- _output_keys = super().output_keys
136
- if self.return_intermediate_steps:
137
- _output_keys = [*_output_keys, "intermediate_steps"]
138
- return _output_keys
139
-
140
- model_config = ConfigDict(
141
- arbitrary_types_allowed=True,
142
- extra="forbid",
143
- )
144
-
145
- @model_validator(mode="before")
146
- @classmethod
147
- def get_reduce_chain(cls, values: dict) -> Any:
148
- """For backwards compatibility."""
149
- if "combine_document_chain" in values:
150
- if "reduce_documents_chain" in values:
151
- msg = (
152
- "Both `reduce_documents_chain` and `combine_document_chain` "
153
- "cannot be provided at the same time. `combine_document_chain` "
154
- "is deprecated, please only provide `reduce_documents_chain`"
155
- )
156
- raise ValueError(msg)
157
- combine_chain = values["combine_document_chain"]
158
- collapse_chain = values.get("collapse_document_chain")
159
- reduce_chain = ReduceDocumentsChain(
160
- combine_documents_chain=combine_chain,
161
- collapse_documents_chain=collapse_chain,
162
- )
163
- values["reduce_documents_chain"] = reduce_chain
164
- del values["combine_document_chain"]
165
- values.pop("collapse_document_chain", None)
166
-
167
- return values
168
-
169
- @model_validator(mode="before")
170
- @classmethod
171
- def get_return_intermediate_steps(cls, values: dict) -> Any:
172
- """For backwards compatibility."""
173
- if "return_map_steps" in values:
174
- values["return_intermediate_steps"] = values["return_map_steps"]
175
- del values["return_map_steps"]
176
- return values
177
-
178
- @model_validator(mode="before")
179
- @classmethod
180
- def get_default_document_variable_name(cls, values: dict) -> Any:
181
- """Get default document variable name, if not provided."""
182
- if "llm_chain" not in values:
183
- msg = "llm_chain must be provided"
184
- raise ValueError(msg)
185
-
186
- llm_chain_variables = values["llm_chain"].prompt.input_variables
187
- if "document_variable_name" not in values:
188
- if len(llm_chain_variables) == 1:
189
- values["document_variable_name"] = llm_chain_variables[0]
190
- else:
191
- msg = (
192
- "document_variable_name must be provided if there are "
193
- "multiple llm_chain input_variables"
194
- )
195
- raise ValueError(msg)
196
- elif values["document_variable_name"] not in llm_chain_variables:
197
- msg = (
198
- f"document_variable_name {values['document_variable_name']} was "
199
- f"not found in llm_chain input_variables: {llm_chain_variables}"
200
- )
201
- raise ValueError(msg)
202
- return values
203
-
204
- @property
205
- def collapse_document_chain(self) -> BaseCombineDocumentsChain:
206
- """Kept for backward compatibility."""
207
- if isinstance(self.reduce_documents_chain, ReduceDocumentsChain):
208
- if self.reduce_documents_chain.collapse_documents_chain:
209
- return self.reduce_documents_chain.collapse_documents_chain
210
- return self.reduce_documents_chain.combine_documents_chain
211
- msg = (
212
- f"`reduce_documents_chain` is of type "
213
- f"{type(self.reduce_documents_chain)} so it does not have "
214
- f"this attribute."
215
- )
216
- raise ValueError(msg)
217
-
218
- @property
219
- def combine_document_chain(self) -> BaseCombineDocumentsChain:
220
- """Kept for backward compatibility."""
221
- if isinstance(self.reduce_documents_chain, ReduceDocumentsChain):
222
- return self.reduce_documents_chain.combine_documents_chain
223
- msg = (
224
- f"`reduce_documents_chain` is of type "
225
- f"{type(self.reduce_documents_chain)} so it does not have "
226
- f"this attribute."
227
- )
228
- raise ValueError(msg)
229
-
230
- def combine_docs(
231
- self,
232
- docs: list[Document],
233
- token_max: Optional[int] = None,
234
- callbacks: Callbacks = None,
235
- **kwargs: Any,
236
- ) -> tuple[str, dict]:
237
- """Combine documents in a map reduce manner.
238
-
239
- Combine by mapping first chain over all documents, then reducing the results.
240
- This reducing can be done recursively if needed (if there are many documents).
241
- """
242
- map_results = self.llm_chain.apply(
243
- # FYI - this is parallelized and so it is fast.
244
- [{self.document_variable_name: d.page_content, **kwargs} for d in docs],
245
- callbacks=callbacks,
246
- )
247
- question_result_key = self.llm_chain.output_key
248
- result_docs = [
249
- Document(page_content=r[question_result_key], metadata=docs[i].metadata)
250
- # This uses metadata from the docs, and the textual results from `results`
251
- for i, r in enumerate(map_results)
252
- ]
253
- result, extra_return_dict = self.reduce_documents_chain.combine_docs(
254
- result_docs,
255
- token_max=token_max,
256
- callbacks=callbacks,
257
- **kwargs,
258
- )
259
- if self.return_intermediate_steps:
260
- intermediate_steps = [r[question_result_key] for r in map_results]
261
- extra_return_dict["intermediate_steps"] = intermediate_steps
262
- return result, extra_return_dict
263
-
264
- async def acombine_docs(
265
- self,
266
- docs: list[Document],
267
- token_max: Optional[int] = None,
268
- callbacks: Callbacks = None,
269
- **kwargs: Any,
270
- ) -> tuple[str, dict]:
271
- """Combine documents in a map reduce manner.
272
-
273
- Combine by mapping first chain over all documents, then reducing the results.
274
- This reducing can be done recursively if needed (if there are many documents).
275
- """
276
- map_results = await self.llm_chain.aapply(
277
- # FYI - this is parallelized and so it is fast.
278
- [{self.document_variable_name: d.page_content, **kwargs} for d in docs],
279
- callbacks=callbacks,
280
- )
281
- question_result_key = self.llm_chain.output_key
282
- result_docs = [
283
- Document(page_content=r[question_result_key], metadata=docs[i].metadata)
284
- # This uses metadata from the docs, and the textual results from `results`
285
- for i, r in enumerate(map_results)
286
- ]
287
- result, extra_return_dict = await self.reduce_documents_chain.acombine_docs(
288
- result_docs,
289
- token_max=token_max,
290
- callbacks=callbacks,
291
- **kwargs,
292
- )
293
- if self.return_intermediate_steps:
294
- intermediate_steps = [r[question_result_key] for r in map_results]
295
- extra_return_dict["intermediate_steps"] = intermediate_steps
296
- return result, extra_return_dict
297
-
298
- @property
299
- def _chain_type(self) -> str:
300
- return "map_reduce_documents_chain"