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

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

Potentially problematic release.


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

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