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