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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (1365) hide show
  1. langchain/__init__.py +2 -452
  2. langchain/agents/__init__.py +9 -178
  3. langchain/agents/factory.py +1582 -0
  4. langchain/agents/middleware/__init__.py +80 -0
  5. langchain/agents/middleware/_execution.py +388 -0
  6. langchain/agents/middleware/_redaction.py +350 -0
  7. langchain/agents/middleware/context_editing.py +274 -0
  8. langchain/agents/middleware/file_search.py +382 -0
  9. langchain/agents/middleware/human_in_the_loop.py +351 -0
  10. langchain/agents/middleware/model_call_limit.py +210 -0
  11. langchain/agents/middleware/model_fallback.py +137 -0
  12. langchain/agents/middleware/pii.py +317 -0
  13. langchain/agents/middleware/shell_tool.py +718 -0
  14. langchain/agents/middleware/summarization.py +249 -0
  15. langchain/agents/middleware/todo.py +219 -0
  16. langchain/agents/middleware/tool_call_limit.py +333 -0
  17. langchain/agents/middleware/tool_emulator.py +200 -0
  18. langchain/agents/middleware/tool_retry.py +384 -0
  19. langchain/agents/middleware/tool_selection.py +310 -0
  20. langchain/agents/middleware/types.py +1572 -0
  21. langchain/agents/structured_output.py +426 -0
  22. langchain/chat_models/__init__.py +7 -72
  23. langchain/chat_models/base.py +264 -317
  24. langchain/embeddings/__init__.py +7 -217
  25. langchain/embeddings/base.py +32 -42
  26. langchain/messages/__init__.py +72 -0
  27. langchain/rate_limiters/__init__.py +13 -0
  28. langchain/tools/__init__.py +17 -197
  29. langchain/tools/tool_node.py +1700 -0
  30. langchain-1.0.0.dist-info/METADATA +87 -0
  31. langchain-1.0.0.dist-info/RECORD +34 -0
  32. {langchain-0.3.27.dist-info → langchain-1.0.0.dist-info}/WHEEL +1 -1
  33. langchain/_api/__init__.py +0 -28
  34. langchain/_api/deprecation.py +0 -32
  35. langchain/_api/interactive_env.py +0 -5
  36. langchain/_api/module_import.py +0 -153
  37. langchain/_api/path.py +0 -3
  38. langchain/adapters/__init__.py +0 -0
  39. langchain/adapters/openai.py +0 -63
  40. langchain/agents/agent.py +0 -1828
  41. langchain/agents/agent_iterator.py +0 -431
  42. langchain/agents/agent_toolkits/__init__.py +0 -167
  43. langchain/agents/agent_toolkits/ainetwork/__init__.py +0 -1
  44. langchain/agents/agent_toolkits/ainetwork/toolkit.py +0 -25
  45. langchain/agents/agent_toolkits/amadeus/toolkit.py +0 -23
  46. langchain/agents/agent_toolkits/azure_cognitive_services.py +0 -29
  47. langchain/agents/agent_toolkits/base.py +0 -3
  48. langchain/agents/agent_toolkits/clickup/__init__.py +0 -0
  49. langchain/agents/agent_toolkits/clickup/toolkit.py +0 -25
  50. langchain/agents/agent_toolkits/conversational_retrieval/__init__.py +0 -0
  51. langchain/agents/agent_toolkits/conversational_retrieval/openai_functions.py +0 -87
  52. langchain/agents/agent_toolkits/conversational_retrieval/tool.py +0 -3
  53. langchain/agents/agent_toolkits/csv/__init__.py +0 -28
  54. langchain/agents/agent_toolkits/file_management/__init__.py +0 -31
  55. langchain/agents/agent_toolkits/file_management/toolkit.py +0 -29
  56. langchain/agents/agent_toolkits/github/__init__.py +0 -1
  57. langchain/agents/agent_toolkits/github/toolkit.py +0 -69
  58. langchain/agents/agent_toolkits/gitlab/__init__.py +0 -1
  59. langchain/agents/agent_toolkits/gitlab/toolkit.py +0 -25
  60. langchain/agents/agent_toolkits/gmail/__init__.py +0 -1
  61. langchain/agents/agent_toolkits/gmail/toolkit.py +0 -23
  62. langchain/agents/agent_toolkits/jira/__init__.py +0 -1
  63. langchain/agents/agent_toolkits/jira/toolkit.py +0 -23
  64. langchain/agents/agent_toolkits/json/__init__.py +0 -1
  65. langchain/agents/agent_toolkits/json/base.py +0 -25
  66. langchain/agents/agent_toolkits/json/prompt.py +0 -24
  67. langchain/agents/agent_toolkits/json/toolkit.py +0 -23
  68. langchain/agents/agent_toolkits/multion/__init__.py +0 -1
  69. langchain/agents/agent_toolkits/multion/toolkit.py +0 -25
  70. langchain/agents/agent_toolkits/nasa/__init__.py +0 -1
  71. langchain/agents/agent_toolkits/nasa/toolkit.py +0 -23
  72. langchain/agents/agent_toolkits/nla/__init__.py +0 -0
  73. langchain/agents/agent_toolkits/nla/tool.py +0 -23
  74. langchain/agents/agent_toolkits/nla/toolkit.py +0 -23
  75. langchain/agents/agent_toolkits/office365/__init__.py +0 -1
  76. langchain/agents/agent_toolkits/office365/toolkit.py +0 -25
  77. langchain/agents/agent_toolkits/openapi/__init__.py +0 -1
  78. langchain/agents/agent_toolkits/openapi/base.py +0 -25
  79. langchain/agents/agent_toolkits/openapi/planner.py +0 -52
  80. langchain/agents/agent_toolkits/openapi/planner_prompt.py +0 -103
  81. langchain/agents/agent_toolkits/openapi/prompt.py +0 -29
  82. langchain/agents/agent_toolkits/openapi/spec.py +0 -30
  83. langchain/agents/agent_toolkits/openapi/toolkit.py +0 -30
  84. langchain/agents/agent_toolkits/pandas/__init__.py +0 -28
  85. langchain/agents/agent_toolkits/playwright/__init__.py +0 -29
  86. langchain/agents/agent_toolkits/playwright/toolkit.py +0 -27
  87. langchain/agents/agent_toolkits/powerbi/__init__.py +0 -1
  88. langchain/agents/agent_toolkits/powerbi/base.py +0 -25
  89. langchain/agents/agent_toolkits/powerbi/chat_base.py +0 -27
  90. langchain/agents/agent_toolkits/powerbi/prompt.py +0 -36
  91. langchain/agents/agent_toolkits/powerbi/toolkit.py +0 -25
  92. langchain/agents/agent_toolkits/python/__init__.py +0 -28
  93. langchain/agents/agent_toolkits/slack/__init__.py +0 -1
  94. langchain/agents/agent_toolkits/slack/toolkit.py +0 -23
  95. langchain/agents/agent_toolkits/spark/__init__.py +0 -28
  96. langchain/agents/agent_toolkits/spark_sql/__init__.py +0 -1
  97. langchain/agents/agent_toolkits/spark_sql/base.py +0 -25
  98. langchain/agents/agent_toolkits/spark_sql/prompt.py +0 -27
  99. langchain/agents/agent_toolkits/spark_sql/toolkit.py +0 -25
  100. langchain/agents/agent_toolkits/sql/__init__.py +0 -1
  101. langchain/agents/agent_toolkits/sql/base.py +0 -23
  102. langchain/agents/agent_toolkits/sql/prompt.py +0 -29
  103. langchain/agents/agent_toolkits/sql/toolkit.py +0 -25
  104. langchain/agents/agent_toolkits/steam/__init__.py +0 -1
  105. langchain/agents/agent_toolkits/steam/toolkit.py +0 -23
  106. langchain/agents/agent_toolkits/vectorstore/__init__.py +0 -1
  107. langchain/agents/agent_toolkits/vectorstore/base.py +0 -217
  108. langchain/agents/agent_toolkits/vectorstore/prompt.py +0 -11
  109. langchain/agents/agent_toolkits/vectorstore/toolkit.py +0 -97
  110. langchain/agents/agent_toolkits/xorbits/__init__.py +0 -28
  111. langchain/agents/agent_toolkits/zapier/__init__.py +0 -1
  112. langchain/agents/agent_toolkits/zapier/toolkit.py +0 -25
  113. langchain/agents/agent_types.py +0 -57
  114. langchain/agents/chat/__init__.py +0 -0
  115. langchain/agents/chat/base.py +0 -178
  116. langchain/agents/chat/output_parser.py +0 -74
  117. langchain/agents/chat/prompt.py +0 -29
  118. langchain/agents/conversational/__init__.py +0 -1
  119. langchain/agents/conversational/base.py +0 -176
  120. langchain/agents/conversational/output_parser.py +0 -51
  121. langchain/agents/conversational/prompt.py +0 -35
  122. langchain/agents/conversational_chat/__init__.py +0 -1
  123. langchain/agents/conversational_chat/base.py +0 -181
  124. langchain/agents/conversational_chat/output_parser.py +0 -57
  125. langchain/agents/conversational_chat/prompt.py +0 -56
  126. langchain/agents/format_scratchpad/__init__.py +0 -25
  127. langchain/agents/format_scratchpad/log.py +0 -25
  128. langchain/agents/format_scratchpad/log_to_messages.py +0 -26
  129. langchain/agents/format_scratchpad/openai_functions.py +0 -80
  130. langchain/agents/format_scratchpad/openai_tools.py +0 -5
  131. langchain/agents/format_scratchpad/tools.py +0 -65
  132. langchain/agents/format_scratchpad/xml.py +0 -52
  133. langchain/agents/initialize.py +0 -105
  134. langchain/agents/json_chat/__init__.py +0 -0
  135. langchain/agents/json_chat/base.py +0 -195
  136. langchain/agents/json_chat/prompt.py +0 -8
  137. langchain/agents/load_tools.py +0 -13
  138. langchain/agents/loading.py +0 -148
  139. langchain/agents/mrkl/__init__.py +0 -1
  140. langchain/agents/mrkl/base.py +0 -216
  141. langchain/agents/mrkl/output_parser.py +0 -103
  142. langchain/agents/mrkl/prompt.py +0 -15
  143. langchain/agents/openai_assistant/__init__.py +0 -3
  144. langchain/agents/openai_assistant/base.py +0 -818
  145. langchain/agents/openai_functions_agent/__init__.py +0 -0
  146. langchain/agents/openai_functions_agent/agent_token_buffer_memory.py +0 -101
  147. langchain/agents/openai_functions_agent/base.py +0 -381
  148. langchain/agents/openai_functions_multi_agent/__init__.py +0 -0
  149. langchain/agents/openai_functions_multi_agent/base.py +0 -337
  150. langchain/agents/openai_tools/__init__.py +0 -0
  151. langchain/agents/openai_tools/base.py +0 -108
  152. langchain/agents/output_parsers/__init__.py +0 -35
  153. langchain/agents/output_parsers/json.py +0 -62
  154. langchain/agents/output_parsers/openai_functions.py +0 -96
  155. langchain/agents/output_parsers/openai_tools.py +0 -70
  156. langchain/agents/output_parsers/react_json_single_input.py +0 -84
  157. langchain/agents/output_parsers/react_single_input.py +0 -99
  158. langchain/agents/output_parsers/self_ask.py +0 -51
  159. langchain/agents/output_parsers/tools.py +0 -107
  160. langchain/agents/output_parsers/xml.py +0 -123
  161. langchain/agents/react/__init__.py +0 -1
  162. langchain/agents/react/agent.py +0 -144
  163. langchain/agents/react/base.py +0 -185
  164. langchain/agents/react/output_parser.py +0 -33
  165. langchain/agents/react/textworld_prompt.py +0 -51
  166. langchain/agents/react/wiki_prompt.py +0 -70
  167. langchain/agents/schema.py +0 -35
  168. langchain/agents/self_ask_with_search/__init__.py +0 -4
  169. langchain/agents/self_ask_with_search/base.py +0 -215
  170. langchain/agents/self_ask_with_search/output_parser.py +0 -4
  171. langchain/agents/self_ask_with_search/prompt.py +0 -43
  172. langchain/agents/structured_chat/__init__.py +0 -0
  173. langchain/agents/structured_chat/base.py +0 -304
  174. langchain/agents/structured_chat/output_parser.py +0 -99
  175. langchain/agents/structured_chat/prompt.py +0 -34
  176. langchain/agents/tool_calling_agent/__init__.py +0 -0
  177. langchain/agents/tool_calling_agent/base.py +0 -110
  178. langchain/agents/tools.py +0 -47
  179. langchain/agents/types.py +0 -27
  180. langchain/agents/utils.py +0 -19
  181. langchain/agents/xml/__init__.py +0 -0
  182. langchain/agents/xml/base.py +0 -231
  183. langchain/agents/xml/prompt.py +0 -21
  184. langchain/base_language.py +0 -7
  185. langchain/cache.py +0 -72
  186. langchain/callbacks/__init__.py +0 -139
  187. langchain/callbacks/aim_callback.py +0 -33
  188. langchain/callbacks/argilla_callback.py +0 -25
  189. langchain/callbacks/arize_callback.py +0 -25
  190. langchain/callbacks/arthur_callback.py +0 -25
  191. langchain/callbacks/base.py +0 -29
  192. langchain/callbacks/clearml_callback.py +0 -25
  193. langchain/callbacks/comet_ml_callback.py +0 -25
  194. langchain/callbacks/confident_callback.py +0 -25
  195. langchain/callbacks/context_callback.py +0 -25
  196. langchain/callbacks/file.py +0 -3
  197. langchain/callbacks/flyte_callback.py +0 -25
  198. langchain/callbacks/human.py +0 -33
  199. langchain/callbacks/infino_callback.py +0 -25
  200. langchain/callbacks/labelstudio_callback.py +0 -33
  201. langchain/callbacks/llmonitor_callback.py +0 -27
  202. langchain/callbacks/manager.py +0 -89
  203. langchain/callbacks/mlflow_callback.py +0 -38
  204. langchain/callbacks/openai_info.py +0 -25
  205. langchain/callbacks/promptlayer_callback.py +0 -27
  206. langchain/callbacks/sagemaker_callback.py +0 -27
  207. langchain/callbacks/stdout.py +0 -3
  208. langchain/callbacks/streaming_aiter.py +0 -75
  209. langchain/callbacks/streaming_aiter_final_only.py +0 -91
  210. langchain/callbacks/streaming_stdout.py +0 -5
  211. langchain/callbacks/streaming_stdout_final_only.py +0 -91
  212. langchain/callbacks/streamlit/__init__.py +0 -86
  213. langchain/callbacks/streamlit/mutable_expander.py +0 -33
  214. langchain/callbacks/streamlit/streamlit_callback_handler.py +0 -49
  215. langchain/callbacks/tracers/__init__.py +0 -38
  216. langchain/callbacks/tracers/base.py +0 -6
  217. langchain/callbacks/tracers/comet.py +0 -30
  218. langchain/callbacks/tracers/evaluation.py +0 -8
  219. langchain/callbacks/tracers/langchain.py +0 -8
  220. langchain/callbacks/tracers/langchain_v1.py +0 -3
  221. langchain/callbacks/tracers/log_stream.py +0 -9
  222. langchain/callbacks/tracers/logging.py +0 -46
  223. langchain/callbacks/tracers/root_listeners.py +0 -3
  224. langchain/callbacks/tracers/run_collector.py +0 -3
  225. langchain/callbacks/tracers/schemas.py +0 -27
  226. langchain/callbacks/tracers/stdout.py +0 -6
  227. langchain/callbacks/tracers/wandb.py +0 -27
  228. langchain/callbacks/trubrics_callback.py +0 -25
  229. langchain/callbacks/utils.py +0 -48
  230. langchain/callbacks/wandb_callback.py +0 -25
  231. langchain/callbacks/whylabs_callback.py +0 -25
  232. langchain/chains/__init__.py +0 -96
  233. langchain/chains/api/__init__.py +0 -1
  234. langchain/chains/api/base.py +0 -394
  235. langchain/chains/api/news_docs.py +0 -31
  236. langchain/chains/api/open_meteo_docs.py +0 -32
  237. langchain/chains/api/openapi/__init__.py +0 -0
  238. langchain/chains/api/openapi/chain.py +0 -23
  239. langchain/chains/api/openapi/prompts.py +0 -27
  240. langchain/chains/api/openapi/requests_chain.py +0 -29
  241. langchain/chains/api/openapi/response_chain.py +0 -29
  242. langchain/chains/api/podcast_docs.py +0 -27
  243. langchain/chains/api/prompt.py +0 -35
  244. langchain/chains/api/tmdb_docs.py +0 -36
  245. langchain/chains/base.py +0 -800
  246. langchain/chains/chat_vector_db/__init__.py +0 -0
  247. langchain/chains/chat_vector_db/prompts.py +0 -19
  248. langchain/chains/combine_documents/__init__.py +0 -15
  249. langchain/chains/combine_documents/base.py +0 -287
  250. langchain/chains/combine_documents/map_reduce.py +0 -300
  251. langchain/chains/combine_documents/map_rerank.py +0 -247
  252. langchain/chains/combine_documents/reduce.py +0 -381
  253. langchain/chains/combine_documents/refine.py +0 -236
  254. langchain/chains/combine_documents/stuff.py +0 -288
  255. langchain/chains/constitutional_ai/__init__.py +0 -2
  256. langchain/chains/constitutional_ai/base.py +0 -321
  257. langchain/chains/constitutional_ai/models.py +0 -11
  258. langchain/chains/constitutional_ai/principles.py +0 -278
  259. langchain/chains/constitutional_ai/prompts.py +0 -120
  260. langchain/chains/conversation/__init__.py +0 -1
  261. langchain/chains/conversation/base.py +0 -143
  262. langchain/chains/conversation/memory.py +0 -45
  263. langchain/chains/conversation/prompt.py +0 -28
  264. langchain/chains/conversational_retrieval/__init__.py +0 -1
  265. langchain/chains/conversational_retrieval/base.py +0 -568
  266. langchain/chains/conversational_retrieval/prompts.py +0 -19
  267. langchain/chains/elasticsearch_database/__init__.py +0 -3
  268. langchain/chains/elasticsearch_database/base.py +0 -211
  269. langchain/chains/elasticsearch_database/prompts.py +0 -35
  270. langchain/chains/ernie_functions/__init__.py +0 -44
  271. langchain/chains/ernie_functions/base.py +0 -49
  272. langchain/chains/example_generator.py +0 -22
  273. langchain/chains/flare/__init__.py +0 -1
  274. langchain/chains/flare/base.py +0 -282
  275. langchain/chains/flare/prompts.py +0 -44
  276. langchain/chains/graph_qa/__init__.py +0 -0
  277. langchain/chains/graph_qa/arangodb.py +0 -23
  278. langchain/chains/graph_qa/base.py +0 -23
  279. langchain/chains/graph_qa/cypher.py +0 -39
  280. langchain/chains/graph_qa/cypher_utils.py +0 -27
  281. langchain/chains/graph_qa/falkordb.py +0 -29
  282. langchain/chains/graph_qa/gremlin.py +0 -36
  283. langchain/chains/graph_qa/hugegraph.py +0 -23
  284. langchain/chains/graph_qa/kuzu.py +0 -29
  285. langchain/chains/graph_qa/nebulagraph.py +0 -23
  286. langchain/chains/graph_qa/neptune_cypher.py +0 -39
  287. langchain/chains/graph_qa/neptune_sparql.py +0 -36
  288. langchain/chains/graph_qa/ontotext_graphdb.py +0 -25
  289. langchain/chains/graph_qa/prompts.py +0 -96
  290. langchain/chains/graph_qa/sparql.py +0 -23
  291. langchain/chains/history_aware_retriever.py +0 -68
  292. langchain/chains/hyde/__init__.py +0 -4
  293. langchain/chains/hyde/base.py +0 -124
  294. langchain/chains/hyde/prompts.py +0 -46
  295. langchain/chains/llm.py +0 -442
  296. langchain/chains/llm_bash/__init__.py +0 -10
  297. langchain/chains/llm_checker/__init__.py +0 -4
  298. langchain/chains/llm_checker/base.py +0 -194
  299. langchain/chains/llm_checker/prompt.py +0 -30
  300. langchain/chains/llm_math/__init__.py +0 -4
  301. langchain/chains/llm_math/base.py +0 -311
  302. langchain/chains/llm_math/prompt.py +0 -43
  303. langchain/chains/llm_requests.py +0 -23
  304. langchain/chains/llm_summarization_checker/__init__.py +0 -7
  305. langchain/chains/llm_summarization_checker/base.py +0 -205
  306. langchain/chains/llm_summarization_checker/prompts/are_all_true_prompt.txt +0 -38
  307. langchain/chains/llm_summarization_checker/prompts/check_facts.txt +0 -10
  308. langchain/chains/llm_summarization_checker/prompts/create_facts.txt +0 -10
  309. langchain/chains/llm_summarization_checker/prompts/revise_summary.txt +0 -17
  310. langchain/chains/llm_symbolic_math/__init__.py +0 -10
  311. langchain/chains/loading.py +0 -732
  312. langchain/chains/mapreduce.py +0 -121
  313. langchain/chains/moderation.py +0 -132
  314. langchain/chains/natbot/__init__.py +0 -4
  315. langchain/chains/natbot/base.py +0 -163
  316. langchain/chains/natbot/crawler.py +0 -443
  317. langchain/chains/natbot/prompt.py +0 -143
  318. langchain/chains/openai_functions/__init__.py +0 -44
  319. langchain/chains/openai_functions/base.py +0 -235
  320. langchain/chains/openai_functions/citation_fuzzy_match.py +0 -160
  321. langchain/chains/openai_functions/extraction.py +0 -197
  322. langchain/chains/openai_functions/openapi.py +0 -405
  323. langchain/chains/openai_functions/qa_with_structure.py +0 -142
  324. langchain/chains/openai_functions/tagging.py +0 -172
  325. langchain/chains/openai_functions/utils.py +0 -40
  326. langchain/chains/openai_tools/__init__.py +0 -3
  327. langchain/chains/openai_tools/extraction.py +0 -79
  328. langchain/chains/prompt_selector.py +0 -65
  329. langchain/chains/qa_generation/__init__.py +0 -0
  330. langchain/chains/qa_generation/base.py +0 -124
  331. langchain/chains/qa_generation/prompt.py +0 -50
  332. langchain/chains/qa_with_sources/__init__.py +0 -5
  333. langchain/chains/qa_with_sources/base.py +0 -263
  334. langchain/chains/qa_with_sources/loading.py +0 -209
  335. langchain/chains/qa_with_sources/map_reduce_prompt.py +0 -54
  336. langchain/chains/qa_with_sources/refine_prompts.py +0 -37
  337. langchain/chains/qa_with_sources/retrieval.py +0 -75
  338. langchain/chains/qa_with_sources/stuff_prompt.py +0 -43
  339. langchain/chains/qa_with_sources/vector_db.py +0 -86
  340. langchain/chains/query_constructor/__init__.py +0 -3
  341. langchain/chains/query_constructor/base.py +0 -376
  342. langchain/chains/query_constructor/ir.py +0 -23
  343. langchain/chains/query_constructor/parser.py +0 -210
  344. langchain/chains/query_constructor/prompt.py +0 -226
  345. langchain/chains/query_constructor/schema.py +0 -14
  346. langchain/chains/question_answering/__init__.py +0 -6
  347. langchain/chains/question_answering/chain.py +0 -279
  348. langchain/chains/question_answering/map_reduce_prompt.py +0 -80
  349. langchain/chains/question_answering/map_rerank_prompt.py +0 -66
  350. langchain/chains/question_answering/refine_prompts.py +0 -72
  351. langchain/chains/question_answering/stuff_prompt.py +0 -33
  352. langchain/chains/retrieval.py +0 -67
  353. langchain/chains/retrieval_qa/__init__.py +0 -1
  354. langchain/chains/retrieval_qa/base.py +0 -370
  355. langchain/chains/retrieval_qa/prompt.py +0 -11
  356. langchain/chains/router/__init__.py +0 -12
  357. langchain/chains/router/base.py +0 -142
  358. langchain/chains/router/embedding_router.py +0 -93
  359. langchain/chains/router/llm_router.py +0 -196
  360. langchain/chains/router/multi_prompt.py +0 -181
  361. langchain/chains/router/multi_prompt_prompt.py +0 -32
  362. langchain/chains/router/multi_retrieval_prompt.py +0 -30
  363. langchain/chains/router/multi_retrieval_qa.py +0 -109
  364. langchain/chains/sequential.py +0 -220
  365. langchain/chains/sql_database/__init__.py +0 -1
  366. langchain/chains/sql_database/prompt.py +0 -282
  367. langchain/chains/sql_database/query.py +0 -166
  368. langchain/chains/structured_output/__init__.py +0 -6
  369. langchain/chains/structured_output/base.py +0 -582
  370. langchain/chains/summarize/__init__.py +0 -6
  371. langchain/chains/summarize/chain.py +0 -174
  372. langchain/chains/summarize/map_reduce_prompt.py +0 -10
  373. langchain/chains/summarize/refine_prompts.py +0 -23
  374. langchain/chains/summarize/stuff_prompt.py +0 -10
  375. langchain/chains/transform.py +0 -84
  376. langchain/chat_loaders/__init__.py +0 -19
  377. langchain/chat_loaders/base.py +0 -3
  378. langchain/chat_loaders/facebook_messenger.py +0 -32
  379. langchain/chat_loaders/gmail.py +0 -23
  380. langchain/chat_loaders/imessage.py +0 -23
  381. langchain/chat_loaders/langsmith.py +0 -30
  382. langchain/chat_loaders/slack.py +0 -23
  383. langchain/chat_loaders/telegram.py +0 -23
  384. langchain/chat_loaders/utils.py +0 -36
  385. langchain/chat_loaders/whatsapp.py +0 -23
  386. langchain/chat_models/anthropic.py +0 -30
  387. langchain/chat_models/anyscale.py +0 -23
  388. langchain/chat_models/azure_openai.py +0 -23
  389. langchain/chat_models/azureml_endpoint.py +0 -30
  390. langchain/chat_models/baichuan.py +0 -23
  391. langchain/chat_models/baidu_qianfan_endpoint.py +0 -27
  392. langchain/chat_models/bedrock.py +0 -27
  393. langchain/chat_models/cohere.py +0 -23
  394. langchain/chat_models/databricks.py +0 -23
  395. langchain/chat_models/ernie.py +0 -23
  396. langchain/chat_models/everlyai.py +0 -23
  397. langchain/chat_models/fake.py +0 -30
  398. langchain/chat_models/fireworks.py +0 -23
  399. langchain/chat_models/gigachat.py +0 -23
  400. langchain/chat_models/google_palm.py +0 -30
  401. langchain/chat_models/human.py +0 -23
  402. langchain/chat_models/hunyuan.py +0 -23
  403. langchain/chat_models/javelin_ai_gateway.py +0 -30
  404. langchain/chat_models/jinachat.py +0 -23
  405. langchain/chat_models/konko.py +0 -23
  406. langchain/chat_models/litellm.py +0 -30
  407. langchain/chat_models/meta.py +0 -25
  408. langchain/chat_models/minimax.py +0 -23
  409. langchain/chat_models/mlflow.py +0 -23
  410. langchain/chat_models/mlflow_ai_gateway.py +0 -30
  411. langchain/chat_models/ollama.py +0 -23
  412. langchain/chat_models/openai.py +0 -23
  413. langchain/chat_models/pai_eas_endpoint.py +0 -25
  414. langchain/chat_models/promptlayer_openai.py +0 -25
  415. langchain/chat_models/tongyi.py +0 -23
  416. langchain/chat_models/vertexai.py +0 -23
  417. langchain/chat_models/volcengine_maas.py +0 -30
  418. langchain/chat_models/yandex.py +0 -23
  419. langchain/docstore/__init__.py +0 -48
  420. langchain/docstore/arbitrary_fn.py +0 -23
  421. langchain/docstore/base.py +0 -27
  422. langchain/docstore/document.py +0 -3
  423. langchain/docstore/in_memory.py +0 -23
  424. langchain/docstore/wikipedia.py +0 -23
  425. langchain/document_loaders/__init__.py +0 -553
  426. langchain/document_loaders/acreom.py +0 -23
  427. langchain/document_loaders/airbyte.py +0 -48
  428. langchain/document_loaders/airbyte_json.py +0 -23
  429. langchain/document_loaders/airtable.py +0 -23
  430. langchain/document_loaders/apify_dataset.py +0 -23
  431. langchain/document_loaders/arcgis_loader.py +0 -23
  432. langchain/document_loaders/arxiv.py +0 -23
  433. langchain/document_loaders/assemblyai.py +0 -28
  434. langchain/document_loaders/async_html.py +0 -23
  435. langchain/document_loaders/azlyrics.py +0 -23
  436. langchain/document_loaders/azure_ai_data.py +0 -23
  437. langchain/document_loaders/azure_blob_storage_container.py +0 -25
  438. langchain/document_loaders/azure_blob_storage_file.py +0 -25
  439. langchain/document_loaders/baiducloud_bos_directory.py +0 -29
  440. langchain/document_loaders/baiducloud_bos_file.py +0 -27
  441. langchain/document_loaders/base.py +0 -3
  442. langchain/document_loaders/base_o365.py +0 -23
  443. langchain/document_loaders/bibtex.py +0 -23
  444. langchain/document_loaders/bigquery.py +0 -23
  445. langchain/document_loaders/bilibili.py +0 -23
  446. langchain/document_loaders/blackboard.py +0 -23
  447. langchain/document_loaders/blob_loaders/__init__.py +0 -36
  448. langchain/document_loaders/blob_loaders/file_system.py +0 -23
  449. langchain/document_loaders/blob_loaders/schema.py +0 -29
  450. langchain/document_loaders/blob_loaders/youtube_audio.py +0 -23
  451. langchain/document_loaders/blockchain.py +0 -28
  452. langchain/document_loaders/brave_search.py +0 -23
  453. langchain/document_loaders/browserless.py +0 -23
  454. langchain/document_loaders/chatgpt.py +0 -28
  455. langchain/document_loaders/chromium.py +0 -23
  456. langchain/document_loaders/college_confidential.py +0 -25
  457. langchain/document_loaders/concurrent.py +0 -23
  458. langchain/document_loaders/confluence.py +0 -28
  459. langchain/document_loaders/conllu.py +0 -23
  460. langchain/document_loaders/couchbase.py +0 -23
  461. langchain/document_loaders/csv_loader.py +0 -27
  462. langchain/document_loaders/cube_semantic.py +0 -23
  463. langchain/document_loaders/datadog_logs.py +0 -23
  464. langchain/document_loaders/dataframe.py +0 -28
  465. langchain/document_loaders/diffbot.py +0 -23
  466. langchain/document_loaders/directory.py +0 -23
  467. langchain/document_loaders/discord.py +0 -23
  468. langchain/document_loaders/docugami.py +0 -23
  469. langchain/document_loaders/docusaurus.py +0 -23
  470. langchain/document_loaders/dropbox.py +0 -23
  471. langchain/document_loaders/duckdb_loader.py +0 -23
  472. langchain/document_loaders/email.py +0 -30
  473. langchain/document_loaders/epub.py +0 -23
  474. langchain/document_loaders/etherscan.py +0 -23
  475. langchain/document_loaders/evernote.py +0 -23
  476. langchain/document_loaders/excel.py +0 -23
  477. langchain/document_loaders/facebook_chat.py +0 -28
  478. langchain/document_loaders/fauna.py +0 -23
  479. langchain/document_loaders/figma.py +0 -23
  480. langchain/document_loaders/gcs_directory.py +0 -23
  481. langchain/document_loaders/gcs_file.py +0 -23
  482. langchain/document_loaders/generic.py +0 -23
  483. langchain/document_loaders/geodataframe.py +0 -23
  484. langchain/document_loaders/git.py +0 -23
  485. langchain/document_loaders/gitbook.py +0 -23
  486. langchain/document_loaders/github.py +0 -28
  487. langchain/document_loaders/google_speech_to_text.py +0 -23
  488. langchain/document_loaders/googledrive.py +0 -23
  489. langchain/document_loaders/gutenberg.py +0 -23
  490. langchain/document_loaders/helpers.py +0 -30
  491. langchain/document_loaders/hn.py +0 -23
  492. langchain/document_loaders/html.py +0 -23
  493. langchain/document_loaders/html_bs.py +0 -23
  494. langchain/document_loaders/hugging_face_dataset.py +0 -23
  495. langchain/document_loaders/ifixit.py +0 -23
  496. langchain/document_loaders/image.py +0 -23
  497. langchain/document_loaders/image_captions.py +0 -23
  498. langchain/document_loaders/imsdb.py +0 -23
  499. langchain/document_loaders/iugu.py +0 -23
  500. langchain/document_loaders/joplin.py +0 -23
  501. langchain/document_loaders/json_loader.py +0 -23
  502. langchain/document_loaders/lakefs.py +0 -33
  503. langchain/document_loaders/larksuite.py +0 -23
  504. langchain/document_loaders/markdown.py +0 -25
  505. langchain/document_loaders/mastodon.py +0 -23
  506. langchain/document_loaders/max_compute.py +0 -23
  507. langchain/document_loaders/mediawikidump.py +0 -23
  508. langchain/document_loaders/merge.py +0 -23
  509. langchain/document_loaders/mhtml.py +0 -23
  510. langchain/document_loaders/modern_treasury.py +0 -23
  511. langchain/document_loaders/mongodb.py +0 -23
  512. langchain/document_loaders/news.py +0 -23
  513. langchain/document_loaders/notebook.py +0 -33
  514. langchain/document_loaders/notion.py +0 -23
  515. langchain/document_loaders/notiondb.py +0 -23
  516. langchain/document_loaders/nuclia.py +0 -23
  517. langchain/document_loaders/obs_directory.py +0 -23
  518. langchain/document_loaders/obs_file.py +0 -23
  519. langchain/document_loaders/obsidian.py +0 -23
  520. langchain/document_loaders/odt.py +0 -23
  521. langchain/document_loaders/onedrive.py +0 -23
  522. langchain/document_loaders/onedrive_file.py +0 -23
  523. langchain/document_loaders/onenote.py +0 -23
  524. langchain/document_loaders/open_city_data.py +0 -23
  525. langchain/document_loaders/org_mode.py +0 -25
  526. langchain/document_loaders/parsers/__init__.py +0 -58
  527. langchain/document_loaders/parsers/audio.py +0 -33
  528. langchain/document_loaders/parsers/docai.py +0 -30
  529. langchain/document_loaders/parsers/generic.py +0 -25
  530. langchain/document_loaders/parsers/grobid.py +0 -30
  531. langchain/document_loaders/parsers/html/__init__.py +0 -25
  532. langchain/document_loaders/parsers/html/bs4.py +0 -25
  533. langchain/document_loaders/parsers/language/__init__.py +0 -29
  534. langchain/document_loaders/parsers/language/cobol.py +0 -27
  535. langchain/document_loaders/parsers/language/code_segmenter.py +0 -29
  536. langchain/document_loaders/parsers/language/javascript.py +0 -29
  537. langchain/document_loaders/parsers/language/language_parser.py +0 -29
  538. langchain/document_loaders/parsers/language/python.py +0 -27
  539. langchain/document_loaders/parsers/msword.py +0 -25
  540. langchain/document_loaders/parsers/pdf.py +0 -50
  541. langchain/document_loaders/parsers/registry.py +0 -25
  542. langchain/document_loaders/parsers/txt.py +0 -23
  543. langchain/document_loaders/pdf.py +0 -65
  544. langchain/document_loaders/polars_dataframe.py +0 -23
  545. langchain/document_loaders/powerpoint.py +0 -25
  546. langchain/document_loaders/psychic.py +0 -23
  547. langchain/document_loaders/pubmed.py +0 -23
  548. langchain/document_loaders/pyspark_dataframe.py +0 -26
  549. langchain/document_loaders/python.py +0 -22
  550. langchain/document_loaders/quip.py +0 -23
  551. langchain/document_loaders/readthedocs.py +0 -23
  552. langchain/document_loaders/recursive_url_loader.py +0 -23
  553. langchain/document_loaders/reddit.py +0 -23
  554. langchain/document_loaders/roam.py +0 -23
  555. langchain/document_loaders/rocksetdb.py +0 -23
  556. langchain/document_loaders/rspace.py +0 -23
  557. langchain/document_loaders/rss.py +0 -23
  558. langchain/document_loaders/rst.py +0 -23
  559. langchain/document_loaders/rtf.py +0 -23
  560. langchain/document_loaders/s3_directory.py +0 -23
  561. langchain/document_loaders/s3_file.py +0 -23
  562. langchain/document_loaders/sharepoint.py +0 -23
  563. langchain/document_loaders/sitemap.py +0 -23
  564. langchain/document_loaders/slack_directory.py +0 -23
  565. langchain/document_loaders/snowflake_loader.py +0 -23
  566. langchain/document_loaders/spreedly.py +0 -23
  567. langchain/document_loaders/srt.py +0 -23
  568. langchain/document_loaders/stripe.py +0 -23
  569. langchain/document_loaders/telegram.py +0 -38
  570. langchain/document_loaders/tencent_cos_directory.py +0 -25
  571. langchain/document_loaders/tencent_cos_file.py +0 -23
  572. langchain/document_loaders/tensorflow_datasets.py +0 -23
  573. langchain/document_loaders/text.py +0 -23
  574. langchain/document_loaders/tomarkdown.py +0 -23
  575. langchain/document_loaders/toml.py +0 -23
  576. langchain/document_loaders/trello.py +0 -23
  577. langchain/document_loaders/tsv.py +0 -23
  578. langchain/document_loaders/twitter.py +0 -23
  579. langchain/document_loaders/unstructured.py +0 -54
  580. langchain/document_loaders/url.py +0 -23
  581. langchain/document_loaders/url_playwright.py +0 -33
  582. langchain/document_loaders/url_selenium.py +0 -23
  583. langchain/document_loaders/weather.py +0 -23
  584. langchain/document_loaders/web_base.py +0 -23
  585. langchain/document_loaders/whatsapp_chat.py +0 -28
  586. langchain/document_loaders/wikipedia.py +0 -23
  587. langchain/document_loaders/word_document.py +0 -30
  588. langchain/document_loaders/xml.py +0 -23
  589. langchain/document_loaders/xorbits.py +0 -23
  590. langchain/document_loaders/youtube.py +0 -33
  591. langchain/document_transformers/__init__.py +0 -77
  592. langchain/document_transformers/beautiful_soup_transformer.py +0 -25
  593. langchain/document_transformers/doctran_text_extract.py +0 -25
  594. langchain/document_transformers/doctran_text_qa.py +0 -25
  595. langchain/document_transformers/doctran_text_translate.py +0 -25
  596. langchain/document_transformers/embeddings_redundant_filter.py +0 -50
  597. langchain/document_transformers/google_translate.py +0 -25
  598. langchain/document_transformers/html2text.py +0 -25
  599. langchain/document_transformers/long_context_reorder.py +0 -23
  600. langchain/document_transformers/nuclia_text_transform.py +0 -25
  601. langchain/document_transformers/openai_functions.py +0 -32
  602. langchain/document_transformers/xsl/html_chunks_with_headers.xslt +0 -199
  603. langchain/embeddings/aleph_alpha.py +0 -30
  604. langchain/embeddings/awa.py +0 -23
  605. langchain/embeddings/azure_openai.py +0 -23
  606. langchain/embeddings/baidu_qianfan_endpoint.py +0 -23
  607. langchain/embeddings/bedrock.py +0 -23
  608. langchain/embeddings/bookend.py +0 -23
  609. langchain/embeddings/cache.py +0 -368
  610. langchain/embeddings/clarifai.py +0 -23
  611. langchain/embeddings/cloudflare_workersai.py +0 -29
  612. langchain/embeddings/cohere.py +0 -23
  613. langchain/embeddings/dashscope.py +0 -23
  614. langchain/embeddings/databricks.py +0 -23
  615. langchain/embeddings/deepinfra.py +0 -23
  616. langchain/embeddings/edenai.py +0 -23
  617. langchain/embeddings/elasticsearch.py +0 -23
  618. langchain/embeddings/embaas.py +0 -23
  619. langchain/embeddings/ernie.py +0 -23
  620. langchain/embeddings/fake.py +0 -30
  621. langchain/embeddings/fastembed.py +0 -23
  622. langchain/embeddings/google_palm.py +0 -23
  623. langchain/embeddings/gpt4all.py +0 -23
  624. langchain/embeddings/gradient_ai.py +0 -23
  625. langchain/embeddings/huggingface.py +0 -36
  626. langchain/embeddings/huggingface_hub.py +0 -23
  627. langchain/embeddings/infinity.py +0 -30
  628. langchain/embeddings/javelin_ai_gateway.py +0 -23
  629. langchain/embeddings/jina.py +0 -23
  630. langchain/embeddings/johnsnowlabs.py +0 -23
  631. langchain/embeddings/llamacpp.py +0 -23
  632. langchain/embeddings/llm_rails.py +0 -23
  633. langchain/embeddings/localai.py +0 -23
  634. langchain/embeddings/minimax.py +0 -23
  635. langchain/embeddings/mlflow.py +0 -23
  636. langchain/embeddings/mlflow_gateway.py +0 -23
  637. langchain/embeddings/modelscope_hub.py +0 -23
  638. langchain/embeddings/mosaicml.py +0 -23
  639. langchain/embeddings/nlpcloud.py +0 -23
  640. langchain/embeddings/octoai_embeddings.py +0 -23
  641. langchain/embeddings/ollama.py +0 -23
  642. langchain/embeddings/openai.py +0 -23
  643. langchain/embeddings/sagemaker_endpoint.py +0 -30
  644. langchain/embeddings/self_hosted.py +0 -23
  645. langchain/embeddings/self_hosted_hugging_face.py +0 -30
  646. langchain/embeddings/sentence_transformer.py +0 -21
  647. langchain/embeddings/spacy_embeddings.py +0 -23
  648. langchain/embeddings/tensorflow_hub.py +0 -23
  649. langchain/embeddings/vertexai.py +0 -23
  650. langchain/embeddings/voyageai.py +0 -23
  651. langchain/embeddings/xinference.py +0 -23
  652. langchain/env.py +0 -17
  653. langchain/evaluation/__init__.py +0 -128
  654. langchain/evaluation/agents/__init__.py +0 -5
  655. langchain/evaluation/agents/trajectory_eval_chain.py +0 -415
  656. langchain/evaluation/agents/trajectory_eval_prompt.py +0 -146
  657. langchain/evaluation/comparison/__init__.py +0 -36
  658. langchain/evaluation/comparison/eval_chain.py +0 -461
  659. langchain/evaluation/comparison/prompt.py +0 -59
  660. langchain/evaluation/criteria/__init__.py +0 -56
  661. langchain/evaluation/criteria/eval_chain.py +0 -603
  662. langchain/evaluation/criteria/prompt.py +0 -37
  663. langchain/evaluation/embedding_distance/__init__.py +0 -13
  664. langchain/evaluation/embedding_distance/base.py +0 -602
  665. langchain/evaluation/exact_match/__init__.py +0 -0
  666. langchain/evaluation/exact_match/base.py +0 -97
  667. langchain/evaluation/loading.py +0 -206
  668. langchain/evaluation/parsing/__init__.py +0 -0
  669. langchain/evaluation/parsing/base.py +0 -162
  670. langchain/evaluation/parsing/json_distance.py +0 -97
  671. langchain/evaluation/parsing/json_schema.py +0 -100
  672. langchain/evaluation/qa/__init__.py +0 -10
  673. langchain/evaluation/qa/eval_chain.py +0 -364
  674. langchain/evaluation/qa/eval_prompt.py +0 -78
  675. langchain/evaluation/qa/generate_chain.py +0 -34
  676. langchain/evaluation/qa/generate_prompt.py +0 -21
  677. langchain/evaluation/regex_match/__init__.py +0 -0
  678. langchain/evaluation/regex_match/base.py +0 -86
  679. langchain/evaluation/schema.py +0 -491
  680. langchain/evaluation/scoring/__init__.py +0 -31
  681. langchain/evaluation/scoring/eval_chain.py +0 -475
  682. langchain/evaluation/scoring/prompt.py +0 -53
  683. langchain/evaluation/string_distance/__init__.py +0 -13
  684. langchain/evaluation/string_distance/base.py +0 -466
  685. langchain/example_generator.py +0 -5
  686. langchain/formatting.py +0 -5
  687. langchain/globals.py +0 -180
  688. langchain/graphs/__init__.py +0 -57
  689. langchain/graphs/arangodb_graph.py +0 -28
  690. langchain/graphs/falkordb_graph.py +0 -23
  691. langchain/graphs/graph_document.py +0 -33
  692. langchain/graphs/graph_store.py +0 -23
  693. langchain/graphs/hugegraph.py +0 -23
  694. langchain/graphs/kuzu_graph.py +0 -23
  695. langchain/graphs/memgraph_graph.py +0 -23
  696. langchain/graphs/nebula_graph.py +0 -23
  697. langchain/graphs/neo4j_graph.py +0 -23
  698. langchain/graphs/neptune_graph.py +0 -23
  699. langchain/graphs/networkx_graph.py +0 -36
  700. langchain/graphs/rdf_graph.py +0 -23
  701. langchain/hub.py +0 -131
  702. langchain/indexes/__init__.py +0 -50
  703. langchain/indexes/_api.py +0 -5
  704. langchain/indexes/_sql_record_manager.py +0 -539
  705. langchain/indexes/graph.py +0 -28
  706. langchain/indexes/prompts/__init__.py +0 -13
  707. langchain/indexes/prompts/entity_extraction.py +0 -39
  708. langchain/indexes/prompts/entity_summarization.py +0 -24
  709. langchain/indexes/prompts/knowledge_triplet_extraction.py +0 -36
  710. langchain/indexes/vectorstore.py +0 -269
  711. langchain/input.py +0 -15
  712. langchain/llms/__init__.py +0 -734
  713. langchain/llms/ai21.py +0 -28
  714. langchain/llms/aleph_alpha.py +0 -23
  715. langchain/llms/amazon_api_gateway.py +0 -23
  716. langchain/llms/anthropic.py +0 -23
  717. langchain/llms/anyscale.py +0 -23
  718. langchain/llms/arcee.py +0 -23
  719. langchain/llms/aviary.py +0 -23
  720. langchain/llms/azureml_endpoint.py +0 -48
  721. langchain/llms/baidu_qianfan_endpoint.py +0 -23
  722. langchain/llms/bananadev.py +0 -23
  723. langchain/llms/base.py +0 -20
  724. langchain/llms/baseten.py +0 -23
  725. langchain/llms/beam.py +0 -23
  726. langchain/llms/bedrock.py +0 -28
  727. langchain/llms/bittensor.py +0 -23
  728. langchain/llms/cerebriumai.py +0 -23
  729. langchain/llms/chatglm.py +0 -23
  730. langchain/llms/clarifai.py +0 -23
  731. langchain/llms/cloudflare_workersai.py +0 -25
  732. langchain/llms/cohere.py +0 -23
  733. langchain/llms/ctransformers.py +0 -23
  734. langchain/llms/ctranslate2.py +0 -23
  735. langchain/llms/databricks.py +0 -23
  736. langchain/llms/deepinfra.py +0 -23
  737. langchain/llms/deepsparse.py +0 -23
  738. langchain/llms/edenai.py +0 -23
  739. langchain/llms/fake.py +0 -28
  740. langchain/llms/fireworks.py +0 -23
  741. langchain/llms/forefrontai.py +0 -23
  742. langchain/llms/gigachat.py +0 -23
  743. langchain/llms/google_palm.py +0 -23
  744. langchain/llms/gooseai.py +0 -23
  745. langchain/llms/gpt4all.py +0 -23
  746. langchain/llms/gradient_ai.py +0 -28
  747. langchain/llms/grammars/json.gbnf +0 -29
  748. langchain/llms/grammars/list.gbnf +0 -14
  749. langchain/llms/huggingface_endpoint.py +0 -23
  750. langchain/llms/huggingface_hub.py +0 -23
  751. langchain/llms/huggingface_pipeline.py +0 -23
  752. langchain/llms/huggingface_text_gen_inference.py +0 -23
  753. langchain/llms/human.py +0 -23
  754. langchain/llms/javelin_ai_gateway.py +0 -28
  755. langchain/llms/koboldai.py +0 -23
  756. langchain/llms/llamacpp.py +0 -23
  757. langchain/llms/loading.py +0 -27
  758. langchain/llms/manifest.py +0 -23
  759. langchain/llms/minimax.py +0 -23
  760. langchain/llms/mlflow.py +0 -23
  761. langchain/llms/mlflow_ai_gateway.py +0 -23
  762. langchain/llms/modal.py +0 -23
  763. langchain/llms/mosaicml.py +0 -23
  764. langchain/llms/nlpcloud.py +0 -23
  765. langchain/llms/octoai_endpoint.py +0 -23
  766. langchain/llms/ollama.py +0 -23
  767. langchain/llms/opaqueprompts.py +0 -23
  768. langchain/llms/openai.py +0 -32
  769. langchain/llms/openllm.py +0 -23
  770. langchain/llms/openlm.py +0 -23
  771. langchain/llms/pai_eas_endpoint.py +0 -23
  772. langchain/llms/petals.py +0 -23
  773. langchain/llms/pipelineai.py +0 -23
  774. langchain/llms/predibase.py +0 -23
  775. langchain/llms/predictionguard.py +0 -23
  776. langchain/llms/promptlayer_openai.py +0 -27
  777. langchain/llms/replicate.py +0 -23
  778. langchain/llms/rwkv.py +0 -23
  779. langchain/llms/sagemaker_endpoint.py +0 -28
  780. langchain/llms/self_hosted.py +0 -23
  781. langchain/llms/self_hosted_hugging_face.py +0 -23
  782. langchain/llms/stochasticai.py +0 -23
  783. langchain/llms/symblai_nebula.py +0 -23
  784. langchain/llms/textgen.py +0 -23
  785. langchain/llms/titan_takeoff.py +0 -23
  786. langchain/llms/titan_takeoff_pro.py +0 -23
  787. langchain/llms/together.py +0 -23
  788. langchain/llms/tongyi.py +0 -23
  789. langchain/llms/utils.py +0 -23
  790. langchain/llms/vertexai.py +0 -27
  791. langchain/llms/vllm.py +0 -27
  792. langchain/llms/volcengine_maas.py +0 -28
  793. langchain/llms/watsonxllm.py +0 -23
  794. langchain/llms/writer.py +0 -23
  795. langchain/llms/xinference.py +0 -23
  796. langchain/llms/yandex.py +0 -23
  797. langchain/load/__init__.py +0 -11
  798. langchain/load/dump.py +0 -3
  799. langchain/load/load.py +0 -3
  800. langchain/load/serializable.py +0 -19
  801. langchain/memory/__init__.py +0 -153
  802. langchain/memory/buffer.py +0 -173
  803. langchain/memory/buffer_window.py +0 -60
  804. langchain/memory/chat_memory.py +0 -104
  805. langchain/memory/chat_message_histories/__init__.py +0 -84
  806. langchain/memory/chat_message_histories/astradb.py +0 -25
  807. langchain/memory/chat_message_histories/cassandra.py +0 -25
  808. langchain/memory/chat_message_histories/cosmos_db.py +0 -25
  809. langchain/memory/chat_message_histories/dynamodb.py +0 -25
  810. langchain/memory/chat_message_histories/elasticsearch.py +0 -27
  811. langchain/memory/chat_message_histories/file.py +0 -25
  812. langchain/memory/chat_message_histories/firestore.py +0 -25
  813. langchain/memory/chat_message_histories/in_memory.py +0 -5
  814. langchain/memory/chat_message_histories/momento.py +0 -25
  815. langchain/memory/chat_message_histories/mongodb.py +0 -25
  816. langchain/memory/chat_message_histories/neo4j.py +0 -25
  817. langchain/memory/chat_message_histories/postgres.py +0 -25
  818. langchain/memory/chat_message_histories/redis.py +0 -25
  819. langchain/memory/chat_message_histories/rocksetdb.py +0 -25
  820. langchain/memory/chat_message_histories/singlestoredb.py +0 -27
  821. langchain/memory/chat_message_histories/sql.py +0 -33
  822. langchain/memory/chat_message_histories/streamlit.py +0 -25
  823. langchain/memory/chat_message_histories/upstash_redis.py +0 -27
  824. langchain/memory/chat_message_histories/xata.py +0 -25
  825. langchain/memory/chat_message_histories/zep.py +0 -25
  826. langchain/memory/combined.py +0 -85
  827. langchain/memory/entity.py +0 -564
  828. langchain/memory/kg.py +0 -23
  829. langchain/memory/motorhead_memory.py +0 -23
  830. langchain/memory/prompt.py +0 -164
  831. langchain/memory/readonly.py +0 -24
  832. langchain/memory/simple.py +0 -24
  833. langchain/memory/summary.py +0 -140
  834. langchain/memory/summary_buffer.py +0 -148
  835. langchain/memory/token_buffer.py +0 -72
  836. langchain/memory/utils.py +0 -21
  837. langchain/memory/vectorstore.py +0 -120
  838. langchain/memory/vectorstore_token_buffer_memory.py +0 -184
  839. langchain/memory/zep_memory.py +0 -23
  840. langchain/model_laboratory.py +0 -99
  841. langchain/output_parsers/__init__.py +0 -87
  842. langchain/output_parsers/boolean.py +0 -54
  843. langchain/output_parsers/combining.py +0 -57
  844. langchain/output_parsers/datetime.py +0 -58
  845. langchain/output_parsers/enum.py +0 -41
  846. langchain/output_parsers/ernie_functions.py +0 -45
  847. langchain/output_parsers/fix.py +0 -148
  848. langchain/output_parsers/format_instructions.py +0 -79
  849. langchain/output_parsers/json.py +0 -15
  850. langchain/output_parsers/list.py +0 -13
  851. langchain/output_parsers/loading.py +0 -22
  852. langchain/output_parsers/openai_functions.py +0 -13
  853. langchain/output_parsers/openai_tools.py +0 -7
  854. langchain/output_parsers/pandas_dataframe.py +0 -156
  855. langchain/output_parsers/prompts.py +0 -21
  856. langchain/output_parsers/pydantic.py +0 -3
  857. langchain/output_parsers/rail_parser.py +0 -25
  858. langchain/output_parsers/regex.py +0 -39
  859. langchain/output_parsers/regex_dict.py +0 -43
  860. langchain/output_parsers/retry.py +0 -296
  861. langchain/output_parsers/structured.py +0 -106
  862. langchain/output_parsers/xml.py +0 -3
  863. langchain/output_parsers/yaml.py +0 -73
  864. langchain/prompts/__init__.py +0 -102
  865. langchain/prompts/base.py +0 -21
  866. langchain/prompts/chat.py +0 -37
  867. langchain/prompts/example_selector/__init__.py +0 -42
  868. langchain/prompts/example_selector/base.py +0 -3
  869. langchain/prompts/example_selector/length_based.py +0 -5
  870. langchain/prompts/example_selector/ngram_overlap.py +0 -32
  871. langchain/prompts/example_selector/semantic_similarity.py +0 -11
  872. langchain/prompts/few_shot.py +0 -11
  873. langchain/prompts/few_shot_with_templates.py +0 -3
  874. langchain/prompts/loading.py +0 -23
  875. langchain/prompts/pipeline.py +0 -3
  876. langchain/prompts/prompt.py +0 -6
  877. langchain/pydantic_v1/__init__.py +0 -38
  878. langchain/pydantic_v1/dataclasses.py +0 -20
  879. langchain/pydantic_v1/main.py +0 -20
  880. langchain/python.py +0 -19
  881. langchain/requests.py +0 -35
  882. langchain/retrievers/__init__.py +0 -178
  883. langchain/retrievers/arcee.py +0 -23
  884. langchain/retrievers/arxiv.py +0 -23
  885. langchain/retrievers/azure_ai_search.py +0 -30
  886. langchain/retrievers/bedrock.py +0 -33
  887. langchain/retrievers/bm25.py +0 -28
  888. langchain/retrievers/chaindesk.py +0 -23
  889. langchain/retrievers/chatgpt_plugin_retriever.py +0 -23
  890. langchain/retrievers/cohere_rag_retriever.py +0 -23
  891. langchain/retrievers/contextual_compression.py +0 -81
  892. langchain/retrievers/databerry.py +0 -23
  893. langchain/retrievers/docarray.py +0 -28
  894. langchain/retrievers/document_compressors/__init__.py +0 -44
  895. langchain/retrievers/document_compressors/base.py +0 -82
  896. langchain/retrievers/document_compressors/chain_extract.py +0 -121
  897. langchain/retrievers/document_compressors/chain_extract_prompt.py +0 -10
  898. langchain/retrievers/document_compressors/chain_filter.py +0 -133
  899. langchain/retrievers/document_compressors/chain_filter_prompt.py +0 -8
  900. langchain/retrievers/document_compressors/cohere_rerank.py +0 -124
  901. langchain/retrievers/document_compressors/cross_encoder.py +0 -16
  902. langchain/retrievers/document_compressors/cross_encoder_rerank.py +0 -48
  903. langchain/retrievers/document_compressors/embeddings_filter.py +0 -137
  904. langchain/retrievers/document_compressors/flashrank_rerank.py +0 -27
  905. langchain/retrievers/document_compressors/listwise_rerank.py +0 -144
  906. langchain/retrievers/elastic_search_bm25.py +0 -23
  907. langchain/retrievers/embedchain.py +0 -23
  908. langchain/retrievers/ensemble.py +0 -336
  909. langchain/retrievers/google_cloud_documentai_warehouse.py +0 -25
  910. langchain/retrievers/google_vertex_ai_search.py +0 -33
  911. langchain/retrievers/kay.py +0 -23
  912. langchain/retrievers/kendra.py +0 -66
  913. langchain/retrievers/knn.py +0 -23
  914. langchain/retrievers/llama_index.py +0 -30
  915. langchain/retrievers/merger_retriever.py +0 -123
  916. langchain/retrievers/metal.py +0 -23
  917. langchain/retrievers/milvus.py +0 -28
  918. langchain/retrievers/multi_query.py +0 -231
  919. langchain/retrievers/multi_vector.py +0 -132
  920. langchain/retrievers/outline.py +0 -23
  921. langchain/retrievers/parent_document_retriever.py +0 -157
  922. langchain/retrievers/pinecone_hybrid_search.py +0 -23
  923. langchain/retrievers/pubmed.py +0 -23
  924. langchain/retrievers/pupmed.py +0 -23
  925. langchain/retrievers/re_phraser.py +0 -89
  926. langchain/retrievers/remote_retriever.py +0 -23
  927. langchain/retrievers/self_query/__init__.py +0 -0
  928. langchain/retrievers/self_query/astradb.py +0 -23
  929. langchain/retrievers/self_query/base.py +0 -397
  930. langchain/retrievers/self_query/chroma.py +0 -23
  931. langchain/retrievers/self_query/dashvector.py +0 -23
  932. langchain/retrievers/self_query/databricks_vector_search.py +0 -27
  933. langchain/retrievers/self_query/deeplake.py +0 -27
  934. langchain/retrievers/self_query/dingo.py +0 -23
  935. langchain/retrievers/self_query/elasticsearch.py +0 -25
  936. langchain/retrievers/self_query/milvus.py +0 -27
  937. langchain/retrievers/self_query/mongodb_atlas.py +0 -25
  938. langchain/retrievers/self_query/myscale.py +0 -23
  939. langchain/retrievers/self_query/opensearch.py +0 -23
  940. langchain/retrievers/self_query/pgvector.py +0 -23
  941. langchain/retrievers/self_query/pinecone.py +0 -23
  942. langchain/retrievers/self_query/qdrant.py +0 -23
  943. langchain/retrievers/self_query/redis.py +0 -23
  944. langchain/retrievers/self_query/supabase.py +0 -23
  945. langchain/retrievers/self_query/tencentvectordb.py +0 -27
  946. langchain/retrievers/self_query/timescalevector.py +0 -27
  947. langchain/retrievers/self_query/vectara.py +0 -27
  948. langchain/retrievers/self_query/weaviate.py +0 -23
  949. langchain/retrievers/svm.py +0 -23
  950. langchain/retrievers/tavily_search_api.py +0 -28
  951. langchain/retrievers/tfidf.py +0 -23
  952. langchain/retrievers/time_weighted_retriever.py +0 -193
  953. langchain/retrievers/vespa_retriever.py +0 -23
  954. langchain/retrievers/weaviate_hybrid_search.py +0 -23
  955. langchain/retrievers/web_research.py +0 -29
  956. langchain/retrievers/wikipedia.py +0 -23
  957. langchain/retrievers/you.py +0 -23
  958. langchain/retrievers/zep.py +0 -30
  959. langchain/retrievers/zilliz.py +0 -28
  960. langchain/runnables/__init__.py +0 -18
  961. langchain/runnables/hub.py +0 -32
  962. langchain/runnables/openai_functions.py +0 -51
  963. langchain/schema/__init__.py +0 -82
  964. langchain/schema/agent.py +0 -3
  965. langchain/schema/cache.py +0 -3
  966. langchain/schema/callbacks/__init__.py +0 -0
  967. langchain/schema/callbacks/base.py +0 -23
  968. langchain/schema/callbacks/manager.py +0 -55
  969. langchain/schema/callbacks/stdout.py +0 -3
  970. langchain/schema/callbacks/streaming_stdout.py +0 -3
  971. langchain/schema/callbacks/tracers/__init__.py +0 -0
  972. langchain/schema/callbacks/tracers/base.py +0 -4
  973. langchain/schema/callbacks/tracers/evaluation.py +0 -6
  974. langchain/schema/callbacks/tracers/langchain.py +0 -8
  975. langchain/schema/callbacks/tracers/langchain_v1.py +0 -3
  976. langchain/schema/callbacks/tracers/log_stream.py +0 -9
  977. langchain/schema/callbacks/tracers/root_listeners.py +0 -3
  978. langchain/schema/callbacks/tracers/run_collector.py +0 -3
  979. langchain/schema/callbacks/tracers/schemas.py +0 -27
  980. langchain/schema/callbacks/tracers/stdout.py +0 -13
  981. langchain/schema/chat.py +0 -3
  982. langchain/schema/chat_history.py +0 -3
  983. langchain/schema/document.py +0 -3
  984. langchain/schema/embeddings.py +0 -3
  985. langchain/schema/exceptions.py +0 -3
  986. langchain/schema/language_model.py +0 -15
  987. langchain/schema/memory.py +0 -3
  988. langchain/schema/messages.py +0 -51
  989. langchain/schema/output.py +0 -19
  990. langchain/schema/output_parser.py +0 -25
  991. langchain/schema/prompt.py +0 -3
  992. langchain/schema/prompt_template.py +0 -3
  993. langchain/schema/retriever.py +0 -3
  994. langchain/schema/runnable/__init__.py +0 -58
  995. langchain/schema/runnable/base.py +0 -38
  996. langchain/schema/runnable/branch.py +0 -3
  997. langchain/schema/runnable/config.py +0 -27
  998. langchain/schema/runnable/configurable.py +0 -15
  999. langchain/schema/runnable/fallbacks.py +0 -3
  1000. langchain/schema/runnable/history.py +0 -11
  1001. langchain/schema/runnable/passthrough.py +0 -8
  1002. langchain/schema/runnable/retry.py +0 -3
  1003. langchain/schema/runnable/router.py +0 -3
  1004. langchain/schema/runnable/utils.py +0 -51
  1005. langchain/schema/storage.py +0 -3
  1006. langchain/schema/vectorstore.py +0 -3
  1007. langchain/serpapi.py +0 -25
  1008. langchain/smith/__init__.py +0 -102
  1009. langchain/smith/evaluation/__init__.py +0 -68
  1010. langchain/smith/evaluation/config.py +0 -382
  1011. langchain/smith/evaluation/name_generation.py +0 -727
  1012. langchain/smith/evaluation/progress.py +0 -137
  1013. langchain/smith/evaluation/runner_utils.py +0 -1572
  1014. langchain/smith/evaluation/string_run_evaluator.py +0 -440
  1015. langchain/smith/evaluation/utils.py +0 -0
  1016. langchain/sql_database.py +0 -25
  1017. langchain/storage/__init__.py +0 -57
  1018. langchain/storage/_lc_store.py +0 -91
  1019. langchain/storage/encoder_backed.py +0 -127
  1020. langchain/storage/exceptions.py +0 -3
  1021. langchain/storage/file_system.py +0 -176
  1022. langchain/storage/in_memory.py +0 -13
  1023. langchain/storage/redis.py +0 -23
  1024. langchain/storage/upstash_redis.py +0 -27
  1025. langchain/text_splitter.py +0 -50
  1026. langchain/tools/ainetwork/__init__.py +0 -0
  1027. langchain/tools/ainetwork/app.py +0 -30
  1028. langchain/tools/ainetwork/base.py +0 -27
  1029. langchain/tools/ainetwork/owner.py +0 -28
  1030. langchain/tools/ainetwork/rule.py +0 -28
  1031. langchain/tools/ainetwork/transfer.py +0 -28
  1032. langchain/tools/ainetwork/value.py +0 -28
  1033. langchain/tools/amadeus/__init__.py +0 -30
  1034. langchain/tools/amadeus/base.py +0 -23
  1035. langchain/tools/amadeus/closest_airport.py +0 -30
  1036. langchain/tools/amadeus/flight_search.py +0 -30
  1037. langchain/tools/arxiv/__init__.py +0 -1
  1038. langchain/tools/arxiv/tool.py +0 -28
  1039. langchain/tools/azure_cognitive_services/__init__.py +0 -41
  1040. langchain/tools/azure_cognitive_services/form_recognizer.py +0 -23
  1041. langchain/tools/azure_cognitive_services/image_analysis.py +0 -23
  1042. langchain/tools/azure_cognitive_services/speech2text.py +0 -23
  1043. langchain/tools/azure_cognitive_services/text2speech.py +0 -23
  1044. langchain/tools/azure_cognitive_services/text_analytics_health.py +0 -23
  1045. langchain/tools/base.py +0 -19
  1046. langchain/tools/bearly/__init__.py +0 -0
  1047. langchain/tools/bearly/tool.py +0 -33
  1048. langchain/tools/bing_search/__init__.py +0 -29
  1049. langchain/tools/bing_search/tool.py +0 -27
  1050. langchain/tools/brave_search/__init__.py +0 -0
  1051. langchain/tools/brave_search/tool.py +0 -23
  1052. langchain/tools/clickup/__init__.py +0 -0
  1053. langchain/tools/clickup/tool.py +0 -23
  1054. langchain/tools/convert_to_openai.py +0 -4
  1055. langchain/tools/dataforseo_api_search/__init__.py +0 -34
  1056. langchain/tools/dataforseo_api_search/tool.py +0 -32
  1057. langchain/tools/ddg_search/__init__.py +0 -25
  1058. langchain/tools/ddg_search/tool.py +0 -32
  1059. langchain/tools/e2b_data_analysis/__init__.py +0 -0
  1060. langchain/tools/e2b_data_analysis/tool.py +0 -33
  1061. langchain/tools/edenai/__init__.py +0 -50
  1062. langchain/tools/edenai/audio_speech_to_text.py +0 -23
  1063. langchain/tools/edenai/audio_text_to_speech.py +0 -23
  1064. langchain/tools/edenai/edenai_base_tool.py +0 -23
  1065. langchain/tools/edenai/image_explicitcontent.py +0 -23
  1066. langchain/tools/edenai/image_objectdetection.py +0 -23
  1067. langchain/tools/edenai/ocr_identityparser.py +0 -23
  1068. langchain/tools/edenai/ocr_invoiceparser.py +0 -23
  1069. langchain/tools/edenai/text_moderation.py +0 -23
  1070. langchain/tools/eleven_labs/__init__.py +0 -25
  1071. langchain/tools/eleven_labs/models.py +0 -23
  1072. langchain/tools/eleven_labs/text2speech.py +0 -23
  1073. langchain/tools/file_management/__init__.py +0 -47
  1074. langchain/tools/file_management/copy.py +0 -28
  1075. langchain/tools/file_management/delete.py +0 -28
  1076. langchain/tools/file_management/file_search.py +0 -28
  1077. langchain/tools/file_management/list_dir.py +0 -28
  1078. langchain/tools/file_management/move.py +0 -28
  1079. langchain/tools/file_management/read.py +0 -28
  1080. langchain/tools/file_management/write.py +0 -28
  1081. langchain/tools/github/__init__.py +0 -1
  1082. langchain/tools/github/tool.py +0 -23
  1083. langchain/tools/gitlab/__init__.py +0 -1
  1084. langchain/tools/gitlab/tool.py +0 -23
  1085. langchain/tools/gmail/__init__.py +0 -41
  1086. langchain/tools/gmail/base.py +0 -23
  1087. langchain/tools/gmail/create_draft.py +0 -28
  1088. langchain/tools/gmail/get_message.py +0 -28
  1089. langchain/tools/gmail/get_thread.py +0 -28
  1090. langchain/tools/gmail/search.py +0 -30
  1091. langchain/tools/gmail/send_message.py +0 -28
  1092. langchain/tools/golden_query/__init__.py +0 -25
  1093. langchain/tools/golden_query/tool.py +0 -23
  1094. langchain/tools/google_cloud/__init__.py +0 -25
  1095. langchain/tools/google_cloud/texttospeech.py +0 -23
  1096. langchain/tools/google_finance/__init__.py +0 -27
  1097. langchain/tools/google_finance/tool.py +0 -25
  1098. langchain/tools/google_jobs/__init__.py +0 -25
  1099. langchain/tools/google_jobs/tool.py +0 -23
  1100. langchain/tools/google_lens/__init__.py +0 -25
  1101. langchain/tools/google_lens/tool.py +0 -23
  1102. langchain/tools/google_places/__init__.py +0 -25
  1103. langchain/tools/google_places/tool.py +0 -28
  1104. langchain/tools/google_scholar/__init__.py +0 -27
  1105. langchain/tools/google_scholar/tool.py +0 -25
  1106. langchain/tools/google_search/__init__.py +0 -29
  1107. langchain/tools/google_search/tool.py +0 -27
  1108. langchain/tools/google_serper/__init__.py +0 -30
  1109. langchain/tools/google_serper/tool.py +0 -27
  1110. langchain/tools/google_trends/__init__.py +0 -27
  1111. langchain/tools/google_trends/tool.py +0 -25
  1112. langchain/tools/graphql/__init__.py +0 -1
  1113. langchain/tools/graphql/tool.py +0 -23
  1114. langchain/tools/human/__init__.py +0 -25
  1115. langchain/tools/human/tool.py +0 -23
  1116. langchain/tools/ifttt.py +0 -23
  1117. langchain/tools/interaction/__init__.py +0 -1
  1118. langchain/tools/interaction/tool.py +0 -23
  1119. langchain/tools/jira/__init__.py +0 -1
  1120. langchain/tools/jira/tool.py +0 -42
  1121. langchain/tools/json/__init__.py +0 -1
  1122. langchain/tools/json/tool.py +0 -52
  1123. langchain/tools/memorize/__init__.py +0 -25
  1124. langchain/tools/memorize/tool.py +0 -27
  1125. langchain/tools/merriam_webster/__init__.py +0 -1
  1126. langchain/tools/merriam_webster/tool.py +0 -23
  1127. langchain/tools/metaphor_search/__init__.py +0 -25
  1128. langchain/tools/metaphor_search/tool.py +0 -23
  1129. langchain/tools/multion/__init__.py +0 -33
  1130. langchain/tools/multion/close_session.py +0 -30
  1131. langchain/tools/multion/create_session.py +0 -30
  1132. langchain/tools/multion/update_session.py +0 -30
  1133. langchain/tools/nasa/__init__.py +0 -0
  1134. langchain/tools/nasa/tool.py +0 -23
  1135. langchain/tools/nuclia/__init__.py +0 -23
  1136. langchain/tools/nuclia/tool.py +0 -27
  1137. langchain/tools/office365/__init__.py +0 -41
  1138. langchain/tools/office365/base.py +0 -23
  1139. langchain/tools/office365/create_draft_message.py +0 -32
  1140. langchain/tools/office365/events_search.py +0 -28
  1141. langchain/tools/office365/messages_search.py +0 -28
  1142. langchain/tools/office365/send_event.py +0 -28
  1143. langchain/tools/office365/send_message.py +0 -28
  1144. langchain/tools/openapi/__init__.py +0 -0
  1145. langchain/tools/openapi/utils/__init__.py +0 -0
  1146. langchain/tools/openapi/utils/api_models.py +0 -54
  1147. langchain/tools/openapi/utils/openapi_utils.py +0 -30
  1148. langchain/tools/openweathermap/__init__.py +0 -25
  1149. langchain/tools/openweathermap/tool.py +0 -23
  1150. langchain/tools/playwright/__init__.py +0 -47
  1151. langchain/tools/playwright/base.py +0 -23
  1152. langchain/tools/playwright/click.py +0 -28
  1153. langchain/tools/playwright/current_page.py +0 -23
  1154. langchain/tools/playwright/extract_hyperlinks.py +0 -32
  1155. langchain/tools/playwright/extract_text.py +0 -23
  1156. langchain/tools/playwright/get_elements.py +0 -28
  1157. langchain/tools/playwright/navigate.py +0 -28
  1158. langchain/tools/playwright/navigate_back.py +0 -23
  1159. langchain/tools/plugin.py +0 -32
  1160. langchain/tools/powerbi/__init__.py +0 -1
  1161. langchain/tools/powerbi/tool.py +0 -33
  1162. langchain/tools/pubmed/__init__.py +0 -1
  1163. langchain/tools/pubmed/tool.py +0 -23
  1164. langchain/tools/python/__init__.py +0 -13
  1165. langchain/tools/reddit_search/__init__.py +0 -0
  1166. langchain/tools/reddit_search/tool.py +0 -27
  1167. langchain/tools/render.py +0 -23
  1168. langchain/tools/requests/__init__.py +0 -1
  1169. langchain/tools/requests/tool.py +0 -42
  1170. langchain/tools/retriever.py +0 -11
  1171. langchain/tools/scenexplain/__init__.py +0 -1
  1172. langchain/tools/scenexplain/tool.py +0 -28
  1173. langchain/tools/searchapi/__init__.py +0 -30
  1174. langchain/tools/searchapi/tool.py +0 -27
  1175. langchain/tools/searx_search/__init__.py +0 -0
  1176. langchain/tools/searx_search/tool.py +0 -27
  1177. langchain/tools/shell/__init__.py +0 -25
  1178. langchain/tools/shell/tool.py +0 -28
  1179. langchain/tools/slack/__init__.py +0 -38
  1180. langchain/tools/slack/base.py +0 -23
  1181. langchain/tools/slack/get_channel.py +0 -23
  1182. langchain/tools/slack/get_message.py +0 -28
  1183. langchain/tools/slack/schedule_message.py +0 -28
  1184. langchain/tools/slack/send_message.py +0 -28
  1185. langchain/tools/sleep/__init__.py +0 -1
  1186. langchain/tools/sleep/tool.py +0 -28
  1187. langchain/tools/spark_sql/__init__.py +0 -1
  1188. langchain/tools/spark_sql/tool.py +0 -39
  1189. langchain/tools/sql_database/__init__.py +0 -1
  1190. langchain/tools/sql_database/prompt.py +0 -24
  1191. langchain/tools/sql_database/tool.py +0 -39
  1192. langchain/tools/stackexchange/__init__.py +0 -1
  1193. langchain/tools/stackexchange/tool.py +0 -23
  1194. langchain/tools/steam/__init__.py +0 -1
  1195. langchain/tools/steam/tool.py +0 -23
  1196. langchain/tools/steamship_image_generation/__init__.py +0 -25
  1197. langchain/tools/steamship_image_generation/tool.py +0 -28
  1198. langchain/tools/tavily_search/__init__.py +0 -32
  1199. langchain/tools/tavily_search/tool.py +0 -33
  1200. langchain/tools/vectorstore/__init__.py +0 -1
  1201. langchain/tools/vectorstore/tool.py +0 -30
  1202. langchain/tools/wikipedia/__init__.py +0 -1
  1203. langchain/tools/wikipedia/tool.py +0 -23
  1204. langchain/tools/wolfram_alpha/__init__.py +0 -25
  1205. langchain/tools/wolfram_alpha/tool.py +0 -23
  1206. langchain/tools/yahoo_finance_news.py +0 -23
  1207. langchain/tools/youtube/__init__.py +0 -0
  1208. langchain/tools/youtube/search.py +0 -23
  1209. langchain/tools/zapier/__init__.py +0 -29
  1210. langchain/tools/zapier/tool.py +0 -49
  1211. langchain/utilities/__init__.py +0 -168
  1212. langchain/utilities/alpha_vantage.py +0 -23
  1213. langchain/utilities/anthropic.py +0 -30
  1214. langchain/utilities/apify.py +0 -23
  1215. langchain/utilities/arcee.py +0 -45
  1216. langchain/utilities/arxiv.py +0 -23
  1217. langchain/utilities/asyncio.py +0 -11
  1218. langchain/utilities/awslambda.py +0 -23
  1219. langchain/utilities/bibtex.py +0 -23
  1220. langchain/utilities/bing_search.py +0 -23
  1221. langchain/utilities/brave_search.py +0 -23
  1222. langchain/utilities/clickup.py +0 -45
  1223. langchain/utilities/dalle_image_generator.py +0 -25
  1224. langchain/utilities/dataforseo_api_search.py +0 -25
  1225. langchain/utilities/duckduckgo_search.py +0 -23
  1226. langchain/utilities/github.py +0 -23
  1227. langchain/utilities/gitlab.py +0 -23
  1228. langchain/utilities/golden_query.py +0 -23
  1229. langchain/utilities/google_finance.py +0 -23
  1230. langchain/utilities/google_jobs.py +0 -23
  1231. langchain/utilities/google_lens.py +0 -23
  1232. langchain/utilities/google_places_api.py +0 -23
  1233. langchain/utilities/google_scholar.py +0 -23
  1234. langchain/utilities/google_search.py +0 -23
  1235. langchain/utilities/google_serper.py +0 -23
  1236. langchain/utilities/google_trends.py +0 -23
  1237. langchain/utilities/graphql.py +0 -23
  1238. langchain/utilities/jira.py +0 -23
  1239. langchain/utilities/loading.py +0 -4
  1240. langchain/utilities/max_compute.py +0 -23
  1241. langchain/utilities/merriam_webster.py +0 -23
  1242. langchain/utilities/metaphor_search.py +0 -23
  1243. langchain/utilities/nasa.py +0 -23
  1244. langchain/utilities/opaqueprompts.py +0 -27
  1245. langchain/utilities/openapi.py +0 -28
  1246. langchain/utilities/openweathermap.py +0 -23
  1247. langchain/utilities/outline.py +0 -23
  1248. langchain/utilities/portkey.py +0 -23
  1249. langchain/utilities/powerbi.py +0 -23
  1250. langchain/utilities/pubmed.py +0 -23
  1251. langchain/utilities/python.py +0 -19
  1252. langchain/utilities/reddit_search.py +0 -25
  1253. langchain/utilities/redis.py +0 -33
  1254. langchain/utilities/requests.py +0 -27
  1255. langchain/utilities/scenexplain.py +0 -23
  1256. langchain/utilities/searchapi.py +0 -23
  1257. langchain/utilities/searx_search.py +0 -28
  1258. langchain/utilities/serpapi.py +0 -28
  1259. langchain/utilities/spark_sql.py +0 -23
  1260. langchain/utilities/sql_database.py +0 -28
  1261. langchain/utilities/stackexchange.py +0 -23
  1262. langchain/utilities/steam.py +0 -23
  1263. langchain/utilities/tavily_search.py +0 -25
  1264. langchain/utilities/tensorflow_datasets.py +0 -23
  1265. langchain/utilities/twilio.py +0 -23
  1266. langchain/utilities/vertexai.py +0 -36
  1267. langchain/utilities/wikipedia.py +0 -23
  1268. langchain/utilities/wolfram_alpha.py +0 -23
  1269. langchain/utilities/zapier.py +0 -23
  1270. langchain/utils/__init__.py +0 -77
  1271. langchain/utils/aiter.py +0 -3
  1272. langchain/utils/env.py +0 -3
  1273. langchain/utils/ernie_functions.py +0 -36
  1274. langchain/utils/formatting.py +0 -3
  1275. langchain/utils/html.py +0 -19
  1276. langchain/utils/input.py +0 -8
  1277. langchain/utils/iter.py +0 -3
  1278. langchain/utils/json_schema.py +0 -11
  1279. langchain/utils/loading.py +0 -3
  1280. langchain/utils/math.py +0 -32
  1281. langchain/utils/openai.py +0 -23
  1282. langchain/utils/openai_functions.py +0 -13
  1283. langchain/utils/pydantic.py +0 -3
  1284. langchain/utils/strings.py +0 -3
  1285. langchain/utils/utils.py +0 -21
  1286. langchain/vectorstores/__init__.py +0 -262
  1287. langchain/vectorstores/alibabacloud_opensearch.py +0 -30
  1288. langchain/vectorstores/analyticdb.py +0 -23
  1289. langchain/vectorstores/annoy.py +0 -23
  1290. langchain/vectorstores/astradb.py +0 -23
  1291. langchain/vectorstores/atlas.py +0 -23
  1292. langchain/vectorstores/awadb.py +0 -23
  1293. langchain/vectorstores/azure_cosmos_db.py +0 -28
  1294. langchain/vectorstores/azuresearch.py +0 -30
  1295. langchain/vectorstores/bageldb.py +0 -23
  1296. langchain/vectorstores/baiducloud_vector_search.py +0 -23
  1297. langchain/vectorstores/base.py +0 -3
  1298. langchain/vectorstores/cassandra.py +0 -23
  1299. langchain/vectorstores/chroma.py +0 -23
  1300. langchain/vectorstores/clarifai.py +0 -23
  1301. langchain/vectorstores/clickhouse.py +0 -27
  1302. langchain/vectorstores/dashvector.py +0 -23
  1303. langchain/vectorstores/databricks_vector_search.py +0 -23
  1304. langchain/vectorstores/deeplake.py +0 -23
  1305. langchain/vectorstores/dingo.py +0 -23
  1306. langchain/vectorstores/docarray/__init__.py +0 -30
  1307. langchain/vectorstores/docarray/base.py +0 -23
  1308. langchain/vectorstores/docarray/hnsw.py +0 -23
  1309. langchain/vectorstores/docarray/in_memory.py +0 -23
  1310. langchain/vectorstores/elastic_vector_search.py +0 -27
  1311. langchain/vectorstores/elasticsearch.py +0 -39
  1312. langchain/vectorstores/epsilla.py +0 -23
  1313. langchain/vectorstores/faiss.py +0 -23
  1314. langchain/vectorstores/hippo.py +0 -23
  1315. langchain/vectorstores/hologres.py +0 -23
  1316. langchain/vectorstores/lancedb.py +0 -23
  1317. langchain/vectorstores/llm_rails.py +0 -28
  1318. langchain/vectorstores/marqo.py +0 -23
  1319. langchain/vectorstores/matching_engine.py +0 -23
  1320. langchain/vectorstores/meilisearch.py +0 -23
  1321. langchain/vectorstores/milvus.py +0 -23
  1322. langchain/vectorstores/momento_vector_index.py +0 -23
  1323. langchain/vectorstores/mongodb_atlas.py +0 -23
  1324. langchain/vectorstores/myscale.py +0 -30
  1325. langchain/vectorstores/neo4j_vector.py +0 -28
  1326. langchain/vectorstores/nucliadb.py +0 -23
  1327. langchain/vectorstores/opensearch_vector_search.py +0 -23
  1328. langchain/vectorstores/pgembedding.py +0 -36
  1329. langchain/vectorstores/pgvecto_rs.py +0 -23
  1330. langchain/vectorstores/pgvector.py +0 -28
  1331. langchain/vectorstores/pinecone.py +0 -23
  1332. langchain/vectorstores/qdrant.py +0 -28
  1333. langchain/vectorstores/redis/__init__.py +0 -42
  1334. langchain/vectorstores/redis/base.py +0 -33
  1335. langchain/vectorstores/redis/filters.py +0 -48
  1336. langchain/vectorstores/redis/schema.py +0 -54
  1337. langchain/vectorstores/rocksetdb.py +0 -23
  1338. langchain/vectorstores/scann.py +0 -23
  1339. langchain/vectorstores/semadb.py +0 -23
  1340. langchain/vectorstores/singlestoredb.py +0 -23
  1341. langchain/vectorstores/sklearn.py +0 -42
  1342. langchain/vectorstores/sqlitevss.py +0 -23
  1343. langchain/vectorstores/starrocks.py +0 -28
  1344. langchain/vectorstores/supabase.py +0 -23
  1345. langchain/vectorstores/tair.py +0 -23
  1346. langchain/vectorstores/tencentvectordb.py +0 -33
  1347. langchain/vectorstores/tigris.py +0 -23
  1348. langchain/vectorstores/tiledb.py +0 -23
  1349. langchain/vectorstores/timescalevector.py +0 -23
  1350. langchain/vectorstores/typesense.py +0 -23
  1351. langchain/vectorstores/usearch.py +0 -23
  1352. langchain/vectorstores/utils.py +0 -33
  1353. langchain/vectorstores/vald.py +0 -23
  1354. langchain/vectorstores/vearch.py +0 -23
  1355. langchain/vectorstores/vectara.py +0 -28
  1356. langchain/vectorstores/vespa.py +0 -23
  1357. langchain/vectorstores/weaviate.py +0 -23
  1358. langchain/vectorstores/xata.py +0 -23
  1359. langchain/vectorstores/yellowbrick.py +0 -23
  1360. langchain/vectorstores/zep.py +0 -28
  1361. langchain/vectorstores/zilliz.py +0 -23
  1362. langchain-0.3.27.dist-info/METADATA +0 -144
  1363. langchain-0.3.27.dist-info/RECORD +0 -1342
  1364. langchain-0.3.27.dist-info/entry_points.txt +0 -4
  1365. {langchain-0.3.27.dist-info → langchain-1.0.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,74 +1,61 @@
1
+ """Factory functions for chat models."""
2
+
1
3
  from __future__ import annotations
2
4
 
3
5
  import warnings
4
- from collections.abc import AsyncIterator, Iterator, Sequence
5
6
  from importlib import util
6
7
  from typing import (
8
+ TYPE_CHECKING,
7
9
  Any,
8
- Callable,
9
10
  Literal,
10
- Optional,
11
- Union,
11
+ TypeAlias,
12
12
  cast,
13
13
  overload,
14
14
  )
15
15
 
16
- from langchain_core.language_models import (
17
- BaseChatModel,
18
- LanguageModelInput,
19
- SimpleChatModel,
20
- )
21
- from langchain_core.language_models.chat_models import (
22
- agenerate_from_stream,
23
- generate_from_stream,
24
- )
25
- from langchain_core.messages import AnyMessage, BaseMessage
16
+ from langchain_core.language_models import BaseChatModel, LanguageModelInput
17
+ from langchain_core.messages import AIMessage, AnyMessage
26
18
  from langchain_core.runnables import Runnable, RunnableConfig, ensure_config
27
- from langchain_core.runnables.schema import StreamEvent
28
- from langchain_core.tools import BaseTool
29
- from langchain_core.tracers import RunLog, RunLogPatch
30
- from pydantic import BaseModel
31
- from typing_extensions import TypeAlias, override
32
-
33
- __all__ = [
34
- # For backwards compatibility
35
- "BaseChatModel",
36
- "SimpleChatModel",
37
- "agenerate_from_stream",
38
- "generate_from_stream",
39
- "init_chat_model",
40
- ]
19
+ from typing_extensions import override
20
+
21
+ if TYPE_CHECKING:
22
+ from collections.abc import AsyncIterator, Callable, Iterator, Sequence
23
+
24
+ from langchain_core.runnables.schema import StreamEvent
25
+ from langchain_core.tools import BaseTool
26
+ from langchain_core.tracers import RunLog, RunLogPatch
27
+ from pydantic import BaseModel
41
28
 
42
29
 
43
30
  @overload
44
31
  def init_chat_model(
45
32
  model: str,
46
33
  *,
47
- model_provider: Optional[str] = None,
48
- configurable_fields: Literal[None] = None,
49
- config_prefix: Optional[str] = None,
34
+ model_provider: str | None = None,
35
+ configurable_fields: None = None,
36
+ config_prefix: str | None = None,
50
37
  **kwargs: Any,
51
38
  ) -> BaseChatModel: ...
52
39
 
53
40
 
54
41
  @overload
55
42
  def init_chat_model(
56
- model: Literal[None] = None,
43
+ model: None = None,
57
44
  *,
58
- model_provider: Optional[str] = None,
59
- configurable_fields: Literal[None] = None,
60
- config_prefix: Optional[str] = None,
45
+ model_provider: str | None = None,
46
+ configurable_fields: None = None,
47
+ config_prefix: str | None = None,
61
48
  **kwargs: Any,
62
49
  ) -> _ConfigurableModel: ...
63
50
 
64
51
 
65
52
  @overload
66
53
  def init_chat_model(
67
- model: Optional[str] = None,
54
+ model: str | None = None,
68
55
  *,
69
- model_provider: Optional[str] = None,
70
- configurable_fields: Union[Literal["any"], list[str], tuple[str, ...]] = ...,
71
- config_prefix: Optional[str] = None,
56
+ model_provider: str | None = None,
57
+ configurable_fields: Literal["any"] | list[str] | tuple[str, ...] = ...,
58
+ config_prefix: str | None = None,
72
59
  **kwargs: Any,
73
60
  ) -> _ConfigurableModel: ...
74
61
 
@@ -77,236 +64,216 @@ def init_chat_model(
77
64
  # name to the supported list in the docstring below. Do *not* change the order of the
78
65
  # existing providers.
79
66
  def init_chat_model(
80
- model: Optional[str] = None,
67
+ model: str | None = None,
81
68
  *,
82
- model_provider: Optional[str] = None,
83
- configurable_fields: Optional[
84
- Union[Literal["any"], list[str], tuple[str, ...]]
85
- ] = None,
86
- config_prefix: Optional[str] = None,
69
+ model_provider: str | None = None,
70
+ configurable_fields: Literal["any"] | list[str] | tuple[str, ...] | None = None,
71
+ config_prefix: str | None = None,
87
72
  **kwargs: Any,
88
- ) -> Union[BaseChatModel, _ConfigurableModel]:
89
- """Initialize a ChatModel in a single line using the model's name and provider.
73
+ ) -> BaseChatModel | _ConfigurableModel:
74
+ """Initialize a chat model in a single line using the model's name and provider.
90
75
 
91
- .. note::
92
- Must have the integration package corresponding to the model provider installed.
93
- You should look at the `provider integration's API reference <https://python.langchain.com/api_reference/reference.html#integrations>`__
94
- to see what parameters are supported by the model.
76
+ !!! note
77
+ Requires the integration package for your model provider to be installed.
78
+
79
+ See the `model_provider` parameter below for specific package names
80
+ (e.g., `pip install langchain-openai`).
81
+
82
+ Refer to the [provider integration's API reference](https://docs.langchain.com/oss/python/integrations/providers)
83
+ for supported model parameters.
95
84
 
96
85
  Args:
97
- model: The name of the model, e.g. ``'o3-mini'``, ``'claude-3-5-sonnet-latest'``. You can
98
- also specify model and model provider in a single argument using
99
- ``'{model_provider}:{model}'`` format, e.g. ``'openai:o1'``.
100
- model_provider: The model provider if not specified as part of model arg (see
101
- above). Supported model_provider values and the corresponding integration
102
- package are:
103
-
104
- - ``openai`` -> ``langchain-openai``
105
- - ``anthropic`` -> ``langchain-anthropic``
106
- - ``azure_openai`` -> ``langchain-openai``
107
- - ``azure_ai`` -> ``langchain-azure-ai``
108
- - ``google_vertexai`` -> ``langchain-google-vertexai``
109
- - ``google_genai`` -> ``langchain-google-genai``
110
- - ``bedrock`` -> ``langchain-aws``
111
- - ``bedrock_converse`` -> ``langchain-aws``
112
- - ``cohere`` -> ``langchain-cohere``
113
- - ``fireworks`` -> ``langchain-fireworks``
114
- - ``together`` -> ``langchain-together``
115
- - ``mistralai`` -> ``langchain-mistralai``
116
- - ``huggingface`` -> ``langchain-huggingface``
117
- - ``groq`` -> ``langchain-groq``
118
- - ``ollama`` -> ``langchain-ollama``
119
- - ``google_anthropic_vertex`` -> ``langchain-google-vertexai``
120
- - ``deepseek`` -> ``langchain-deepseek``
121
- - ``ibm`` -> ``langchain-ibm``
122
- - ``nvidia`` -> ``langchain-nvidia-ai-endpoints``
123
- - ``xai`` -> ``langchain-xai``
124
- - ``perplexity`` -> ``langchain-perplexity``
125
-
126
- Will attempt to infer model_provider from model if not specified. The
86
+ model: The name of the model, e.g. `'o3-mini'`, `'claude-sonnet-4-5-20250929'`.
87
+
88
+ You can also specify model and model provider in a single argument using:
89
+
90
+ `'{model_provider}:{model}'` format, e.g. `'openai:o1'`.
91
+ model_provider: The model provider if not specified as part of the model arg
92
+ (see above). Supported `model_provider` values and the corresponding
93
+ integration package are:
94
+
95
+ - `openai` -> [`langchain-openai`](https://docs.langchain.com/oss/python/integrations/providers/openai)
96
+ - `anthropic` -> [`langchain-anthropic`](https://docs.langchain.com/oss/python/integrations/providers/anthropic)
97
+ - `azure_openai` -> [`langchain-openai`](https://docs.langchain.com/oss/python/integrations/providers/openai)
98
+ - `azure_ai` -> [`langchain-azure-ai`](https://docs.langchain.com/oss/python/integrations/providers/microsoft)
99
+ - `google_vertexai` -> [`langchain-google-vertexai`](https://docs.langchain.com/oss/python/integrations/providers/google)
100
+ - `google_genai` -> [`langchain-google-genai`](https://docs.langchain.com/oss/python/integrations/providers/google)
101
+ - `bedrock` -> [`langchain-aws`](https://docs.langchain.com/oss/python/integrations/providers/aws)
102
+ - `bedrock_converse` -> [`langchain-aws`](https://docs.langchain.com/oss/python/integrations/providers/aws)
103
+ - `cohere` -> [`langchain-cohere`](https://docs.langchain.com/oss/python/integrations/providers/cohere)
104
+ - `fireworks` -> [`langchain-fireworks`](https://docs.langchain.com/oss/python/integrations/providers/fireworks)
105
+ - `together` -> [`langchain-together`](https://docs.langchain.com/oss/python/integrations/providers/together)
106
+ - `mistralai` -> [`langchain-mistralai`](https://docs.langchain.com/oss/python/integrations/providers/mistralai)
107
+ - `huggingface` -> [`langchain-huggingface`](https://docs.langchain.com/oss/python/integrations/providers/huggingface)
108
+ - `groq` -> [`langchain-groq`](https://docs.langchain.com/oss/python/integrations/providers/groq)
109
+ - `ollama` -> [`langchain-ollama`](https://docs.langchain.com/oss/python/integrations/providers/ollama)
110
+ - `google_anthropic_vertex` -> [`langchain-google-vertexai`](https://docs.langchain.com/oss/python/integrations/providers/google)
111
+ - `deepseek` -> [`langchain-deepseek`](https://docs.langchain.com/oss/python/integrations/providers/deepseek)
112
+ - `ibm` -> [`langchain-ibm`](https://docs.langchain.com/oss/python/integrations/providers/deepseek)
113
+ - `nvidia` -> [`langchain-nvidia-ai-endpoints`](https://docs.langchain.com/oss/python/integrations/providers/nvidia)
114
+ - `xai` -> [`langchain-xai`](https://docs.langchain.com/oss/python/integrations/providers/xai)
115
+ - `perplexity` -> [`langchain-perplexity`](https://docs.langchain.com/oss/python/integrations/providers/perplexity)
116
+
117
+ Will attempt to infer `model_provider` from model if not specified. The
127
118
  following providers will be inferred based on these model prefixes:
128
119
 
129
- - ``gpt-3...`` | ``gpt-4...`` | ``o1...`` -> ``openai``
130
- - ``claude...`` -> ``anthropic``
131
- - ``amazon...`` -> ``bedrock``
132
- - ``gemini...`` -> ``google_vertexai``
133
- - ``command...`` -> ``cohere``
134
- - ``accounts/fireworks...`` -> ``fireworks``
135
- - ``mistral...`` -> ``mistralai``
136
- - ``deepseek...`` -> ``deepseek``
137
- - ``grok...`` -> ``xai``
138
- - ``sonar...`` -> ``perplexity``
120
+ - `gpt-...` | `o1...` | `o3...` -> `openai`
121
+ - `claude...` -> `anthropic`
122
+ - `amazon...` -> `bedrock`
123
+ - `gemini...` -> `google_vertexai`
124
+ - `command...` -> `cohere`
125
+ - `accounts/fireworks...` -> `fireworks`
126
+ - `mistral...` -> `mistralai`
127
+ - `deepseek...` -> `deepseek`
128
+ - `grok...` -> `xai`
129
+ - `sonar...` -> `perplexity`
139
130
  configurable_fields: Which model parameters are configurable:
140
131
 
141
- - None: No configurable fields.
142
- - ``'any'``: All fields are configurable. **See Security Note below.**
143
- - Union[List[str], Tuple[str, ...]]: Specified fields are configurable.
132
+ - `None`: No configurable fields.
133
+ - `'any'`: All fields are configurable. **See security note below.**
134
+ - `list[str] | Tuple[str, ...]`: Specified fields are configurable.
144
135
 
145
- Fields are assumed to have config_prefix stripped if there is a
146
- config_prefix. If model is specified, then defaults to None. If model is
147
- not specified, then defaults to ``("model", "model_provider")``.
136
+ Fields are assumed to have `config_prefix` stripped if there is a
137
+ `config_prefix`. If model is specified, then defaults to `None`. If model is
138
+ not specified, then defaults to `("model", "model_provider")`.
148
139
 
149
- ***Security Note***: Setting ``configurable_fields="any"`` means fields like
150
- ``api_key``, ``base_url``, etc. can be altered at runtime, potentially redirecting
151
- model requests to a different service/user. Make sure that if you're
152
- accepting untrusted configurations that you enumerate the
153
- ``configurable_fields=(...)`` explicitly.
140
+ !!! warning "Security note"
141
+ Setting `configurable_fields="any"` means fields like `api_key`,
142
+ `base_url`, etc. can be altered at runtime, potentially redirecting
143
+ model requests to a different service/user. Make sure that if you're
144
+ accepting untrusted configurations that you enumerate the
145
+ `configurable_fields=(...)` explicitly.
154
146
 
155
- config_prefix: If ``'config_prefix'`` is a non-empty string then model will be
147
+ config_prefix: If `'config_prefix'` is a non-empty string then model will be
156
148
  configurable at runtime via the
157
- ``config["configurable"]["{config_prefix}_{param}"]`` keys. If
158
- ``'config_prefix'`` is an empty string then model will be configurable via
159
- ``config["configurable"]["{param}"]``.
160
- temperature: Model temperature.
161
- max_tokens: Max output tokens.
162
- timeout: The maximum time (in seconds) to wait for a response from the model
163
- before canceling the request.
164
- max_retries: The maximum number of attempts the system will make to resend a
165
- request if it fails due to issues like network timeouts or rate limits.
166
- base_url: The URL of the API endpoint where requests are sent.
167
- rate_limiter: A ``BaseRateLimiter`` to space out requests to avoid exceeding
168
- rate limits.
169
- kwargs: Additional model-specific keyword args to pass to
170
- ``<<selected ChatModel>>.__init__(model=model_name, **kwargs)``.
149
+ `config["configurable"]["{config_prefix}_{param}"]` keys. If
150
+ `'config_prefix'` is an empty string then model will be configurable via
151
+ `config["configurable"]["{param}"]`.
152
+ **kwargs: Additional model-specific keyword args to pass to the underlying
153
+ chat model's `__init__` method. Common parameters include:
154
+
155
+ - `temperature`: Model temperature for controlling randomness.
156
+ - `max_tokens`: Maximum number of output tokens.
157
+ - `timeout`: Maximum time (in seconds) to wait for a response.
158
+ - `max_retries`: Maximum number of retry attempts for failed requests.
159
+ - `base_url`: Custom API endpoint URL.
160
+ - `rate_limiter`: A `BaseRateLimiter` instance to control request rate.
161
+
162
+ Refer to the specific model provider's documentation for all available
163
+ parameters.
171
164
 
172
165
  Returns:
173
- A BaseChatModel corresponding to the model_name and model_provider specified if
174
- configurability is inferred to be False. If configurable, a chat model emulator
175
- that initializes the underlying model at runtime once a config is passed in.
166
+ A `BaseChatModel` corresponding to the `model_name` and `model_provider`
167
+ specified if configurability is inferred to be `False`. If configurable, a
168
+ chat model emulator that initializes the underlying model at runtime once a
169
+ config is passed in.
176
170
 
177
171
  Raises:
178
- ValueError: If model_provider cannot be inferred or isn't supported.
172
+ ValueError: If `model_provider` cannot be inferred or isn't supported.
179
173
  ImportError: If the model provider integration package is not installed.
180
174
 
181
- .. dropdown:: Init non-configurable model
182
- :open:
183
-
184
- .. code-block:: python
185
-
186
- # pip install langchain langchain-openai langchain-anthropic langchain-google-vertexai
187
- from langchain.chat_models import init_chat_model
175
+ ???+ note "Initialize a non-configurable model"
188
176
 
189
- o3_mini = init_chat_model("openai:o3-mini", temperature=0)
190
- claude_sonnet = init_chat_model("anthropic:claude-3-5-sonnet-latest", temperature=0)
191
- gemini_2_flash = init_chat_model("google_vertexai:gemini-2.0-flash", temperature=0)
177
+ ```python
178
+ # pip install langchain langchain-openai langchain-anthropic langchain-google-vertexai
179
+ from langchain.chat_models import init_chat_model
192
180
 
193
- o3_mini.invoke("what's your name")
194
- claude_sonnet.invoke("what's your name")
195
- gemini_2_flash.invoke("what's your name")
181
+ o3_mini = init_chat_model("openai:o3-mini", temperature=0)
182
+ claude_sonnet = init_chat_model("anthropic:claude-sonnet-4-5-20250929", temperature=0)
183
+ gemini_2_flash = init_chat_model("google_vertexai:gemini-2.5-flash", temperature=0)
196
184
 
185
+ o3_mini.invoke("what's your name")
186
+ claude_sonnet.invoke("what's your name")
187
+ gemini_2_flash.invoke("what's your name")
188
+ ```
197
189
 
198
- .. dropdown:: Partially configurable model with no default
190
+ ??? note "Partially configurable model with no default"
199
191
 
200
- .. code-block:: python
192
+ ```python
193
+ # pip install langchain langchain-openai langchain-anthropic
194
+ from langchain.chat_models import init_chat_model
201
195
 
202
- # pip install langchain langchain-openai langchain-anthropic
203
- from langchain.chat_models import init_chat_model
196
+ # We don't need to specify configurable=True if a model isn't specified.
197
+ configurable_model = init_chat_model(temperature=0)
204
198
 
205
- # We don't need to specify configurable=True if a model isn't specified.
206
- configurable_model = init_chat_model(temperature=0)
199
+ configurable_model.invoke("what's your name", config={"configurable": {"model": "gpt-4o"}})
200
+ # GPT-4o response
207
201
 
208
- configurable_model.invoke(
209
- "what's your name",
210
- config={"configurable": {"model": "gpt-4o"}}
211
- )
212
- # GPT-4o response
213
-
214
- configurable_model.invoke(
215
- "what's your name",
216
- config={"configurable": {"model": "claude-3-5-sonnet-latest"}}
217
- )
218
- # claude-3.5 sonnet response
219
-
220
- .. dropdown:: Fully configurable model with a default
202
+ configurable_model.invoke(
203
+ "what's your name",
204
+ config={"configurable": {"model": "claude-sonnet-4-5-20250929"}},
205
+ )
206
+ ```
221
207
 
222
- .. code-block:: python
208
+ ??? note "Fully configurable model with a default"
223
209
 
224
- # pip install langchain langchain-openai langchain-anthropic
225
- from langchain.chat_models import init_chat_model
210
+ ```python
211
+ # pip install langchain langchain-openai langchain-anthropic
212
+ from langchain.chat_models import init_chat_model
226
213
 
227
- configurable_model_with_default = init_chat_model(
228
- "openai:gpt-4o",
229
- configurable_fields="any", # this allows us to configure other params like temperature, max_tokens, etc at runtime.
230
- config_prefix="foo",
231
- temperature=0
232
- )
214
+ configurable_model_with_default = init_chat_model(
215
+ "openai:gpt-4o",
216
+ configurable_fields="any", # This allows us to configure other params like temperature, max_tokens, etc at runtime.
217
+ config_prefix="foo",
218
+ temperature=0,
219
+ )
233
220
 
234
- configurable_model_with_default.invoke("what's your name")
235
- # GPT-4o response with temperature 0
221
+ configurable_model_with_default.invoke("what's your name")
222
+ # GPT-4o response with temperature 0
236
223
 
237
- configurable_model_with_default.invoke(
238
- "what's your name",
239
- config={
240
- "configurable": {
241
- "foo_model": "anthropic:claude-3-5-sonnet-20240620",
242
- "foo_temperature": 0.6
243
- }
224
+ configurable_model_with_default.invoke(
225
+ "what's your name",
226
+ config={
227
+ "configurable": {
228
+ "foo_model": "anthropic:claude-sonnet-4-5-20250929",
229
+ "foo_temperature": 0.6,
244
230
  }
245
- )
246
- # Claude-3.5 sonnet response with temperature 0.6
247
-
248
- .. dropdown:: Bind tools to a configurable model
249
-
250
- You can call any ChatModel declarative methods on a configurable model in the
251
- same way that you would with a normal model.
252
-
253
- .. code-block:: python
254
-
255
- # pip install langchain langchain-openai langchain-anthropic
256
- from langchain.chat_models import init_chat_model
257
- from pydantic import BaseModel, Field
258
-
259
- class GetWeather(BaseModel):
260
- '''Get the current weather in a given location'''
261
-
262
- location: str = Field(..., description="The city and state, e.g. San Francisco, CA")
263
-
264
- class GetPopulation(BaseModel):
265
- '''Get the current population in a given location'''
266
-
267
- location: str = Field(..., description="The city and state, e.g. San Francisco, CA")
231
+ },
232
+ )
233
+ ```
268
234
 
269
- configurable_model = init_chat_model(
270
- "gpt-4o",
271
- configurable_fields=("model", "model_provider"),
272
- temperature=0
273
- )
235
+ ??? note "Bind tools to a configurable model"
274
236
 
275
- configurable_model_with_tools = configurable_model.bind_tools([GetWeather, GetPopulation])
276
- configurable_model_with_tools.invoke(
277
- "Which city is hotter today and which is bigger: LA or NY?"
278
- )
279
- # GPT-4o response with tool calls
237
+ You can call any chat model declarative methods on a configurable model in the
238
+ same way that you would with a normal model:
280
239
 
281
- configurable_model_with_tools.invoke(
282
- "Which city is hotter today and which is bigger: LA or NY?",
283
- config={"configurable": {"model": "claude-3-5-sonnet-20240620"}}
284
- )
285
- # Claude-3.5 sonnet response with tools
240
+ ```python
241
+ # pip install langchain langchain-openai langchain-anthropic
242
+ from langchain.chat_models import init_chat_model
243
+ from pydantic import BaseModel, Field
286
244
 
287
- .. versionadded:: 0.2.7
288
245
 
289
- .. versionchanged:: 0.2.8
246
+ class GetWeather(BaseModel):
247
+ '''Get the current weather in a given location'''
290
248
 
291
- Support for ``configurable_fields`` and ``config_prefix`` added.
249
+ location: str = Field(..., description="The city and state, e.g. San Francisco, CA")
292
250
 
293
- .. versionchanged:: 0.2.12
294
251
 
295
- Support for Ollama via langchain-ollama package added
296
- (langchain_ollama.ChatOllama). Previously,
297
- the now-deprecated langchain-community version of Ollama was imported
298
- (langchain_community.chat_models.ChatOllama).
252
+ class GetPopulation(BaseModel):
253
+ '''Get the current population in a given location'''
299
254
 
300
- Support for AWS Bedrock models via the Converse API added
301
- (model_provider="bedrock_converse").
255
+ location: str = Field(..., description="The city and state, e.g. San Francisco, CA")
302
256
 
303
- .. versionchanged:: 0.3.5
304
257
 
305
- Out of beta.
258
+ configurable_model = init_chat_model(
259
+ "gpt-4o", configurable_fields=("model", "model_provider"), temperature=0
260
+ )
306
261
 
307
- .. versionchanged:: 0.3.19
262
+ configurable_model_with_tools = configurable_model.bind_tools(
263
+ [
264
+ GetWeather,
265
+ GetPopulation,
266
+ ]
267
+ )
268
+ configurable_model_with_tools.invoke(
269
+ "Which city is hotter today and which is bigger: LA or NY?"
270
+ )
308
271
 
309
- Support for Deepseek, IBM, Nvidia, and xAI models added.
272
+ configurable_model_with_tools.invoke(
273
+ "Which city is hotter today and which is bigger: LA or NY?",
274
+ config={"configurable": {"model": "claude-sonnet-4-5-20250929"}},
275
+ )
276
+ ```
310
277
 
311
278
  """ # noqa: E501
312
279
  if not model and not configurable_fields:
@@ -322,7 +289,7 @@ def init_chat_model(
322
289
 
323
290
  if not configurable_fields:
324
291
  return _init_chat_model_helper(
325
- cast(str, model),
292
+ cast("str", model),
326
293
  model_provider=model_provider,
327
294
  **kwargs,
328
295
  )
@@ -340,7 +307,7 @@ def init_chat_model(
340
307
  def _init_chat_model_helper(
341
308
  model: str,
342
309
  *,
343
- model_provider: Optional[str] = None,
310
+ model_provider: str | None = None,
344
311
  **kwargs: Any,
345
312
  ) -> BaseChatModel:
346
313
  model, model_provider = _parse_model(model, model_provider)
@@ -423,7 +390,6 @@ def _init_chat_model_helper(
423
390
  _check_pkg("langchain_aws")
424
391
  from langchain_aws import ChatBedrock
425
392
 
426
- # TODO: update to use model= once ChatBedrock supports
427
393
  return ChatBedrock(model_id=model, **kwargs)
428
394
  if model_provider == "bedrock_converse":
429
395
  _check_pkg("langchain_aws")
@@ -461,9 +427,7 @@ def _init_chat_model_helper(
461
427
 
462
428
  return ChatPerplexity(model=model, **kwargs)
463
429
  supported = ", ".join(_SUPPORTED_PROVIDERS)
464
- msg = (
465
- f"Unsupported {model_provider=}.\n\nSupported model providers are: {supported}"
466
- )
430
+ msg = f"Unsupported {model_provider=}.\n\nSupported model providers are: {supported}"
467
431
  raise ValueError(msg)
468
432
 
469
433
 
@@ -491,8 +455,8 @@ _SUPPORTED_PROVIDERS = {
491
455
  }
492
456
 
493
457
 
494
- def _attempt_infer_model_provider(model_name: str) -> Optional[str]:
495
- if any(model_name.startswith(pre) for pre in ("gpt-3", "gpt-4", "o1", "o3")):
458
+ def _attempt_infer_model_provider(model_name: str) -> str | None:
459
+ if any(model_name.startswith(pre) for pre in ("gpt-", "o1", "o3")):
496
460
  return "openai"
497
461
  if model_name.startswith("claude"):
498
462
  return "anthropic"
@@ -515,38 +479,29 @@ def _attempt_infer_model_provider(model_name: str) -> Optional[str]:
515
479
  return None
516
480
 
517
481
 
518
- def _parse_model(model: str, model_provider: Optional[str]) -> tuple[str, str]:
519
- if (
520
- not model_provider
521
- and ":" in model
522
- and model.split(":")[0] in _SUPPORTED_PROVIDERS
523
- ):
482
+ def _parse_model(model: str, model_provider: str | None) -> tuple[str, str]:
483
+ if not model_provider and ":" in model and model.split(":")[0] in _SUPPORTED_PROVIDERS:
524
484
  model_provider = model.split(":")[0]
525
485
  model = ":".join(model.split(":")[1:])
526
486
  model_provider = model_provider or _attempt_infer_model_provider(model)
527
487
  if not model_provider:
528
488
  msg = (
529
- f"Unable to infer model provider for {model=}, please specify "
530
- f"model_provider directly."
489
+ f"Unable to infer model provider for {model=}, please specify model_provider directly."
531
490
  )
532
491
  raise ValueError(msg)
533
492
  model_provider = model_provider.replace("-", "_").lower()
534
493
  return model, model_provider
535
494
 
536
495
 
537
- def _check_pkg(pkg: str, *, pkg_kebab: Optional[str] = None) -> None:
496
+ def _check_pkg(pkg: str, *, pkg_kebab: str | None = None) -> None:
538
497
  if not util.find_spec(pkg):
539
498
  pkg_kebab = pkg_kebab if pkg_kebab is not None else pkg.replace("_", "-")
540
- msg = (
541
- f"Unable to import {pkg}. Please install with `pip install -U {pkg_kebab}`"
542
- )
499
+ msg = f"Unable to import {pkg}. Please install with `pip install -U {pkg_kebab}`"
543
500
  raise ImportError(msg)
544
501
 
545
502
 
546
503
  def _remove_prefix(s: str, prefix: str) -> str:
547
- if s.startswith(prefix):
548
- s = s[len(prefix) :]
549
- return s
504
+ return s.removeprefix(prefix)
550
505
 
551
506
 
552
507
  _DECLARATIVE_METHODS = ("bind_tools", "with_structured_output")
@@ -556,16 +511,14 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
556
511
  def __init__(
557
512
  self,
558
513
  *,
559
- default_config: Optional[dict] = None,
560
- configurable_fields: Union[Literal["any"], list[str], tuple[str, ...]] = "any",
514
+ default_config: dict | None = None,
515
+ configurable_fields: Literal["any"] | list[str] | tuple[str, ...] = "any",
561
516
  config_prefix: str = "",
562
517
  queued_declarative_operations: Sequence[tuple[str, tuple, dict]] = (),
563
518
  ) -> None:
564
519
  self._default_config: dict = default_config or {}
565
- self._configurable_fields: Union[Literal["any"], list[str]] = (
566
- configurable_fields
567
- if configurable_fields == "any"
568
- else list(configurable_fields)
520
+ self._configurable_fields: Literal["any"] | list[str] = (
521
+ configurable_fields if configurable_fields == "any" else list(configurable_fields)
569
522
  )
570
523
  self._config_prefix = (
571
524
  config_prefix + "_"
@@ -606,14 +559,14 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
606
559
  msg += "."
607
560
  raise AttributeError(msg)
608
561
 
609
- def _model(self, config: Optional[RunnableConfig] = None) -> Runnable:
562
+ def _model(self, config: RunnableConfig | None = None) -> Runnable:
610
563
  params = {**self._default_config, **self._model_params(config)}
611
564
  model = _init_chat_model_helper(**params)
612
565
  for name, args, kwargs in self._queued_declarative_operations:
613
566
  model = getattr(model, name)(*args, **kwargs)
614
567
  return model
615
568
 
616
- def _model_params(self, config: Optional[RunnableConfig]) -> dict:
569
+ def _model_params(self, config: RunnableConfig | None) -> dict:
617
570
  config = ensure_config(config)
618
571
  model_params = {
619
572
  _remove_prefix(k, self._config_prefix): v
@@ -621,18 +574,16 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
621
574
  if k.startswith(self._config_prefix)
622
575
  }
623
576
  if self._configurable_fields != "any":
624
- model_params = {
625
- k: v for k, v in model_params.items() if k in self._configurable_fields
626
- }
577
+ model_params = {k: v for k, v in model_params.items() if k in self._configurable_fields}
627
578
  return model_params
628
579
 
629
580
  def with_config(
630
581
  self,
631
- config: Optional[RunnableConfig] = None,
582
+ config: RunnableConfig | None = None,
632
583
  **kwargs: Any,
633
584
  ) -> _ConfigurableModel:
634
585
  """Bind config to a Runnable, returning a new Runnable."""
635
- config = RunnableConfig(**(config or {}), **cast(RunnableConfig, kwargs))
586
+ config = RunnableConfig(**(config or {}), **cast("RunnableConfig", kwargs))
636
587
  model_params = self._model_params(config)
637
588
  remaining_config = {k: v for k, v in config.items() if k != "configurable"}
638
589
  remaining_config["configurable"] = {
@@ -660,7 +611,7 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
660
611
 
661
612
  @property
662
613
  def InputType(self) -> TypeAlias:
663
- """Get the input type for this runnable."""
614
+ """Get the input type for this `Runnable`."""
664
615
  from langchain_core.prompt_values import (
665
616
  ChatPromptValueConcrete,
666
617
  StringPromptValue,
@@ -669,17 +620,13 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
669
620
  # This is a version of LanguageModelInput which replaces the abstract
670
621
  # base class BaseMessage with a union of its subclasses, which makes
671
622
  # for a much better schema.
672
- return Union[
673
- str,
674
- Union[StringPromptValue, ChatPromptValueConcrete],
675
- list[AnyMessage],
676
- ]
623
+ return str | StringPromptValue | ChatPromptValueConcrete | list[AnyMessage]
677
624
 
678
625
  @override
679
626
  def invoke(
680
627
  self,
681
628
  input: LanguageModelInput,
682
- config: Optional[RunnableConfig] = None,
629
+ config: RunnableConfig | None = None,
683
630
  **kwargs: Any,
684
631
  ) -> Any:
685
632
  return self._model(config).invoke(input, config=config, **kwargs)
@@ -688,7 +635,7 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
688
635
  async def ainvoke(
689
636
  self,
690
637
  input: LanguageModelInput,
691
- config: Optional[RunnableConfig] = None,
638
+ config: RunnableConfig | None = None,
692
639
  **kwargs: Any,
693
640
  ) -> Any:
694
641
  return await self._model(config).ainvoke(input, config=config, **kwargs)
@@ -697,8 +644,8 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
697
644
  def stream(
698
645
  self,
699
646
  input: LanguageModelInput,
700
- config: Optional[RunnableConfig] = None,
701
- **kwargs: Optional[Any],
647
+ config: RunnableConfig | None = None,
648
+ **kwargs: Any | None,
702
649
  ) -> Iterator[Any]:
703
650
  yield from self._model(config).stream(input, config=config, **kwargs)
704
651
 
@@ -706,8 +653,8 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
706
653
  async def astream(
707
654
  self,
708
655
  input: LanguageModelInput,
709
- config: Optional[RunnableConfig] = None,
710
- **kwargs: Optional[Any],
656
+ config: RunnableConfig | None = None,
657
+ **kwargs: Any | None,
711
658
  ) -> AsyncIterator[Any]:
712
659
  async for x in self._model(config).astream(input, config=config, **kwargs):
713
660
  yield x
@@ -715,10 +662,10 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
715
662
  def batch(
716
663
  self,
717
664
  inputs: list[LanguageModelInput],
718
- config: Optional[Union[RunnableConfig, list[RunnableConfig]]] = None,
665
+ config: RunnableConfig | list[RunnableConfig] | None = None,
719
666
  *,
720
667
  return_exceptions: bool = False,
721
- **kwargs: Optional[Any],
668
+ **kwargs: Any | None,
722
669
  ) -> list[Any]:
723
670
  config = config or None
724
671
  # If <= 1 config use the underlying models batch implementation.
@@ -743,10 +690,10 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
743
690
  async def abatch(
744
691
  self,
745
692
  inputs: list[LanguageModelInput],
746
- config: Optional[Union[RunnableConfig, list[RunnableConfig]]] = None,
693
+ config: RunnableConfig | list[RunnableConfig] | None = None,
747
694
  *,
748
695
  return_exceptions: bool = False,
749
- **kwargs: Optional[Any],
696
+ **kwargs: Any | None,
750
697
  ) -> list[Any]:
751
698
  config = config or None
752
699
  # If <= 1 config use the underlying models batch implementation.
@@ -771,17 +718,17 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
771
718
  def batch_as_completed(
772
719
  self,
773
720
  inputs: Sequence[LanguageModelInput],
774
- config: Optional[Union[RunnableConfig, Sequence[RunnableConfig]]] = None,
721
+ config: RunnableConfig | Sequence[RunnableConfig] | None = None,
775
722
  *,
776
723
  return_exceptions: bool = False,
777
724
  **kwargs: Any,
778
- ) -> Iterator[tuple[int, Union[Any, Exception]]]:
725
+ ) -> Iterator[tuple[int, Any | Exception]]:
779
726
  config = config or None
780
727
  # If <= 1 config use the underlying models batch implementation.
781
728
  if config is None or isinstance(config, dict) or len(config) <= 1:
782
729
  if isinstance(config, list):
783
730
  config = config[0]
784
- yield from self._model(cast(RunnableConfig, config)).batch_as_completed( # type: ignore[call-overload]
731
+ yield from self._model(cast("RunnableConfig", config)).batch_as_completed( # type: ignore[call-overload]
785
732
  inputs,
786
733
  config=config,
787
734
  return_exceptions=return_exceptions,
@@ -800,7 +747,7 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
800
747
  async def abatch_as_completed(
801
748
  self,
802
749
  inputs: Sequence[LanguageModelInput],
803
- config: Optional[Union[RunnableConfig, Sequence[RunnableConfig]]] = None,
750
+ config: RunnableConfig | Sequence[RunnableConfig] | None = None,
804
751
  *,
805
752
  return_exceptions: bool = False,
806
753
  **kwargs: Any,
@@ -811,7 +758,7 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
811
758
  if isinstance(config, list):
812
759
  config = config[0]
813
760
  async for x in self._model(
814
- cast(RunnableConfig, config),
761
+ cast("RunnableConfig", config),
815
762
  ).abatch_as_completed( # type: ignore[call-overload]
816
763
  inputs,
817
764
  config=config,
@@ -834,8 +781,8 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
834
781
  def transform(
835
782
  self,
836
783
  input: Iterator[LanguageModelInput],
837
- config: Optional[RunnableConfig] = None,
838
- **kwargs: Optional[Any],
784
+ config: RunnableConfig | None = None,
785
+ **kwargs: Any | None,
839
786
  ) -> Iterator[Any]:
840
787
  yield from self._model(config).transform(input, config=config, **kwargs)
841
788
 
@@ -843,8 +790,8 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
843
790
  async def atransform(
844
791
  self,
845
792
  input: AsyncIterator[LanguageModelInput],
846
- config: Optional[RunnableConfig] = None,
847
- **kwargs: Optional[Any],
793
+ config: RunnableConfig | None = None,
794
+ **kwargs: Any | None,
848
795
  ) -> AsyncIterator[Any]:
849
796
  async for x in self._model(config).atransform(input, config=config, **kwargs):
850
797
  yield x
@@ -853,16 +800,16 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
853
800
  def astream_log(
854
801
  self,
855
802
  input: Any,
856
- config: Optional[RunnableConfig] = None,
803
+ config: RunnableConfig | None = None,
857
804
  *,
858
805
  diff: Literal[True] = True,
859
806
  with_streamed_output_list: bool = True,
860
- include_names: Optional[Sequence[str]] = None,
861
- include_types: Optional[Sequence[str]] = None,
862
- include_tags: Optional[Sequence[str]] = None,
863
- exclude_names: Optional[Sequence[str]] = None,
864
- exclude_types: Optional[Sequence[str]] = None,
865
- exclude_tags: Optional[Sequence[str]] = None,
807
+ include_names: Sequence[str] | None = None,
808
+ include_types: Sequence[str] | None = None,
809
+ include_tags: Sequence[str] | None = None,
810
+ exclude_names: Sequence[str] | None = None,
811
+ exclude_types: Sequence[str] | None = None,
812
+ exclude_tags: Sequence[str] | None = None,
866
813
  **kwargs: Any,
867
814
  ) -> AsyncIterator[RunLogPatch]: ...
868
815
 
@@ -870,16 +817,16 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
870
817
  def astream_log(
871
818
  self,
872
819
  input: Any,
873
- config: Optional[RunnableConfig] = None,
820
+ config: RunnableConfig | None = None,
874
821
  *,
875
822
  diff: Literal[False],
876
823
  with_streamed_output_list: bool = True,
877
- include_names: Optional[Sequence[str]] = None,
878
- include_types: Optional[Sequence[str]] = None,
879
- include_tags: Optional[Sequence[str]] = None,
880
- exclude_names: Optional[Sequence[str]] = None,
881
- exclude_types: Optional[Sequence[str]] = None,
882
- exclude_tags: Optional[Sequence[str]] = None,
824
+ include_names: Sequence[str] | None = None,
825
+ include_types: Sequence[str] | None = None,
826
+ include_tags: Sequence[str] | None = None,
827
+ exclude_names: Sequence[str] | None = None,
828
+ exclude_types: Sequence[str] | None = None,
829
+ exclude_tags: Sequence[str] | None = None,
883
830
  **kwargs: Any,
884
831
  ) -> AsyncIterator[RunLog]: ...
885
832
 
@@ -887,18 +834,18 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
887
834
  async def astream_log(
888
835
  self,
889
836
  input: Any,
890
- config: Optional[RunnableConfig] = None,
837
+ config: RunnableConfig | None = None,
891
838
  *,
892
839
  diff: bool = True,
893
840
  with_streamed_output_list: bool = True,
894
- include_names: Optional[Sequence[str]] = None,
895
- include_types: Optional[Sequence[str]] = None,
896
- include_tags: Optional[Sequence[str]] = None,
897
- exclude_names: Optional[Sequence[str]] = None,
898
- exclude_types: Optional[Sequence[str]] = None,
899
- exclude_tags: Optional[Sequence[str]] = None,
841
+ include_names: Sequence[str] | None = None,
842
+ include_types: Sequence[str] | None = None,
843
+ include_tags: Sequence[str] | None = None,
844
+ exclude_names: Sequence[str] | None = None,
845
+ exclude_types: Sequence[str] | None = None,
846
+ exclude_tags: Sequence[str] | None = None,
900
847
  **kwargs: Any,
901
- ) -> Union[AsyncIterator[RunLogPatch], AsyncIterator[RunLog]]:
848
+ ) -> AsyncIterator[RunLogPatch] | AsyncIterator[RunLog]:
902
849
  async for x in self._model(config).astream_log( # type: ignore[call-overload, misc]
903
850
  input,
904
851
  config=config,
@@ -918,15 +865,15 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
918
865
  async def astream_events(
919
866
  self,
920
867
  input: Any,
921
- config: Optional[RunnableConfig] = None,
868
+ config: RunnableConfig | None = None,
922
869
  *,
923
870
  version: Literal["v1", "v2"] = "v2",
924
- include_names: Optional[Sequence[str]] = None,
925
- include_types: Optional[Sequence[str]] = None,
926
- include_tags: Optional[Sequence[str]] = None,
927
- exclude_names: Optional[Sequence[str]] = None,
928
- exclude_types: Optional[Sequence[str]] = None,
929
- exclude_tags: Optional[Sequence[str]] = None,
871
+ include_names: Sequence[str] | None = None,
872
+ include_types: Sequence[str] | None = None,
873
+ include_tags: Sequence[str] | None = None,
874
+ exclude_names: Sequence[str] | None = None,
875
+ exclude_types: Sequence[str] | None = None,
876
+ exclude_tags: Sequence[str] | None = None,
930
877
  **kwargs: Any,
931
878
  ) -> AsyncIterator[StreamEvent]:
932
879
  async for x in self._model(config).astream_events(
@@ -946,15 +893,15 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
946
893
  # Explicitly added to satisfy downstream linters.
947
894
  def bind_tools(
948
895
  self,
949
- tools: Sequence[Union[dict[str, Any], type[BaseModel], Callable, BaseTool]],
896
+ tools: Sequence[dict[str, Any] | type[BaseModel] | Callable | BaseTool],
950
897
  **kwargs: Any,
951
- ) -> Runnable[LanguageModelInput, BaseMessage]:
898
+ ) -> Runnable[LanguageModelInput, AIMessage]:
952
899
  return self.__getattr__("bind_tools")(tools, **kwargs)
953
900
 
954
901
  # Explicitly added to satisfy downstream linters.
955
902
  def with_structured_output(
956
903
  self,
957
- schema: Union[dict, type[BaseModel]],
904
+ schema: dict | type[BaseModel],
958
905
  **kwargs: Any,
959
- ) -> Runnable[LanguageModelInput, Union[dict, BaseModel]]:
906
+ ) -> Runnable[LanguageModelInput, dict | BaseModel]:
960
907
  return self.__getattr__("with_structured_output")(schema, **kwargs)