langchain 0.4.0.dev0__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 (1349) 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 +138 -208
  16. langchain/{docstore/document.py → documents/__init__.py} +3 -1
  17. langchain/embeddings/__init__.py +2 -218
  18. langchain/embeddings/base.py +6 -13
  19. langchain/embeddings/cache.py +16 -19
  20. langchain/globals.py +4 -166
  21. langchain/storage/__init__.py +0 -35
  22. langchain/storage/encoder_backed.py +9 -19
  23. langchain/tools/__init__.py +8 -201
  24. {langchain-0.4.0.dev0.dist-info → langchain-1.0.0a1.dist-info}/METADATA +20 -26
  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 -1824
  33. langchain/agents/agent_iterator.py +0 -438
  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 -219
  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 -180
  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 -178
  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 -183
  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 -196
  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 -218
  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 -103
  139. langchain/agents/openai_functions_agent/base.py +0 -382
  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 -109
  144. langchain/agents/output_parsers/__init__.py +0 -35
  145. langchain/agents/output_parsers/json.py +0 -64
  146. langchain/agents/output_parsers/openai_functions.py +0 -103
  147. langchain/agents/output_parsers/openai_tools.py +0 -77
  148. langchain/agents/output_parsers/react_json_single_input.py +0 -87
  149. langchain/agents/output_parsers/react_single_input.py +0 -102
  150. langchain/agents/output_parsers/self_ask.py +0 -53
  151. langchain/agents/output_parsers/tools.py +0 -121
  152. langchain/agents/output_parsers/xml.py +0 -126
  153. langchain/agents/react/__init__.py +0 -1
  154. langchain/agents/react/agent.py +0 -145
  155. langchain/agents/react/base.py +0 -189
  156. langchain/agents/react/output_parser.py +0 -35
  157. langchain/agents/react/textworld_prompt.py +0 -51
  158. langchain/agents/react/wiki_prompt.py +0 -70
  159. langchain/agents/schema.py +0 -37
  160. langchain/agents/self_ask_with_search/__init__.py +0 -4
  161. langchain/agents/self_ask_with_search/base.py +0 -219
  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 -309
  166. langchain/agents/structured_chat/output_parser.py +0 -112
  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 -111
  170. langchain/agents/tools.py +0 -50
  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 -237
  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 -86
  201. langchain/callbacks/streaming_aiter_final_only.py +0 -100
  202. langchain/callbacks/streaming_stdout.py +0 -5
  203. langchain/callbacks/streaming_stdout_final_only.py +0 -96
  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 -57
  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 -398
  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 -806
  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 -293
  242. langchain/chains/combine_documents/map_reduce.py +0 -303
  243. langchain/chains/combine_documents/map_rerank.py +0 -249
  244. langchain/chains/combine_documents/reduce.py +0 -382
  245. langchain/chains/combine_documents/refine.py +0 -237
  246. langchain/chains/combine_documents/stuff.py +0 -292
  247. langchain/chains/constitutional_ai/__init__.py +0 -2
  248. langchain/chains/constitutional_ai/base.py +0 -328
  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 -146
  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 -576
  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 -212
  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 -284
  267. langchain/chains/flare/prompts.py +0 -46
  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 -447
  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 -205
  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 -319
  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 -217
  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 -734
  304. langchain/chains/mapreduce.py +0 -121
  305. langchain/chains/moderation.py +0 -135
  306. langchain/chains/natbot/__init__.py +0 -4
  307. langchain/chains/natbot/base.py +0 -165
  308. langchain/chains/natbot/crawler.py +0 -472
  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 -237
  312. langchain/chains/openai_functions/citation_fuzzy_match.py +0 -169
  313. langchain/chains/openai_functions/extraction.py +0 -197
  314. langchain/chains/openai_functions/openapi.py +0 -409
  315. langchain/chains/openai_functions/qa_with_structure.py +0 -142
  316. langchain/chains/openai_functions/tagging.py +0 -174
  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 -128
  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 -266
  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 -88
  332. langchain/chains/query_constructor/__init__.py +0 -3
  333. langchain/chains/query_constructor/base.py +0 -378
  334. langchain/chains/query_constructor/ir.py +0 -23
  335. langchain/chains/query_constructor/parser.py +0 -272
  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 -374
  347. langchain/chains/retrieval_qa/prompt.py +0 -11
  348. langchain/chains/router/__init__.py +0 -12
  349. langchain/chains/router/base.py +0 -154
  350. langchain/chains/router/embedding_router.py +0 -96
  351. langchain/chains/router/llm_router.py +0 -198
  352. langchain/chains/router/multi_prompt.py +0 -184
  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 -127
  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 -167
  360. langchain/chains/structured_output/__init__.py +0 -6
  361. langchain/chains/structured_output/base.py +0 -584
  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 -88
  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 -26
  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 -416
  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 -462
  649. langchain/evaluation/comparison/prompt.py +0 -59
  650. langchain/evaluation/criteria/__init__.py +0 -56
  651. langchain/evaluation/criteria/eval_chain.py +0 -606
  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 -613
  655. langchain/evaluation/exact_match/__init__.py +0 -0
  656. langchain/evaluation/exact_match/base.py +0 -110
  657. langchain/evaluation/loading.py +0 -207
  658. langchain/evaluation/parsing/__init__.py +0 -0
  659. langchain/evaluation/parsing/base.py +0 -175
  660. langchain/evaluation/parsing/json_distance.py +0 -108
  661. langchain/evaluation/parsing/json_schema.py +0 -97
  662. langchain/evaluation/qa/__init__.py +0 -10
  663. langchain/evaluation/qa/eval_chain.py +0 -372
  664. langchain/evaluation/qa/eval_prompt.py +0 -78
  665. langchain/evaluation/qa/generate_chain.py +0 -36
  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 -94
  669. langchain/evaluation/schema.py +0 -491
  670. langchain/evaluation/scoring/__init__.py +0 -31
  671. langchain/evaluation/scoring/eval_chain.py +0 -476
  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 -472
  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 -178
  792. langchain/memory/buffer_window.py +0 -62
  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 -611
  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 -27
  822. langchain/memory/summary.py +0 -170
  823. langchain/memory/summary_buffer.py +0 -151
  824. langchain/memory/token_buffer.py +0 -74
  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 -59
  833. langchain/output_parsers/datetime.py +0 -58
  834. langchain/output_parsers/enum.py +0 -45
  835. langchain/output_parsers/ernie_functions.py +0 -45
  836. langchain/output_parsers/fix.py +0 -155
  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 -171
  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 -41
  848. langchain/output_parsers/regex_dict.py +0 -43
  849. langchain/output_parsers/retry.py +0 -316
  850. langchain/output_parsers/structured.py +0 -116
  851. langchain/output_parsers/xml.py +0 -3
  852. langchain/output_parsers/yaml.py +0 -77
  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 -123
  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 -126
  890. langchain/retrievers/document_compressors/cross_encoder.py +0 -16
  891. langchain/retrievers/document_compressors/cross_encoder_rerank.py +0 -50
  892. langchain/retrievers/document_compressors/embeddings_filter.py +0 -140
  893. langchain/retrievers/document_compressors/flashrank_rerank.py +0 -27
  894. langchain/retrievers/document_compressors/listwise_rerank.py +0 -145
  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 -233
  908. langchain/retrievers/multi_vector.py +0 -135
  909. langchain/retrievers/outline.py +0 -23
  910. langchain/retrievers/parent_document_retriever.py +0 -172
  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 -416
  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 -196
  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 -44
  951. langchain/runnables/openai_functions.py +0 -57
  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 -103
  998. langchain/smith/evaluation/__init__.py +0 -68
  999. langchain/smith/evaluation/config.py +0 -365
  1000. langchain/smith/evaluation/name_generation.py +0 -727
  1001. langchain/smith/evaluation/progress.py +0 -146
  1002. langchain/smith/evaluation/runner_utils.py +0 -1689
  1003. langchain/smith/evaluation/string_run_evaluator.py +0 -467
  1004. langchain/sql_database.py +0 -25
  1005. langchain/storage/_lc_store.py +0 -91
  1006. langchain/storage/file_system.py +0 -176
  1007. langchain/storage/redis.py +0 -23
  1008. langchain/storage/upstash_redis.py +0 -27
  1009. langchain/tools/ainetwork/__init__.py +0 -0
  1010. langchain/tools/ainetwork/app.py +0 -30
  1011. langchain/tools/ainetwork/base.py +0 -27
  1012. langchain/tools/ainetwork/owner.py +0 -28
  1013. langchain/tools/ainetwork/rule.py +0 -28
  1014. langchain/tools/ainetwork/transfer.py +0 -28
  1015. langchain/tools/ainetwork/value.py +0 -28
  1016. langchain/tools/amadeus/__init__.py +0 -30
  1017. langchain/tools/amadeus/base.py +0 -23
  1018. langchain/tools/amadeus/closest_airport.py +0 -30
  1019. langchain/tools/amadeus/flight_search.py +0 -30
  1020. langchain/tools/arxiv/__init__.py +0 -1
  1021. langchain/tools/arxiv/tool.py +0 -28
  1022. langchain/tools/azure_cognitive_services/__init__.py +0 -41
  1023. langchain/tools/azure_cognitive_services/form_recognizer.py +0 -23
  1024. langchain/tools/azure_cognitive_services/image_analysis.py +0 -23
  1025. langchain/tools/azure_cognitive_services/speech2text.py +0 -23
  1026. langchain/tools/azure_cognitive_services/text2speech.py +0 -23
  1027. langchain/tools/azure_cognitive_services/text_analytics_health.py +0 -23
  1028. langchain/tools/base.py +0 -19
  1029. langchain/tools/bearly/__init__.py +0 -0
  1030. langchain/tools/bearly/tool.py +0 -33
  1031. langchain/tools/bing_search/__init__.py +0 -29
  1032. langchain/tools/bing_search/tool.py +0 -27
  1033. langchain/tools/brave_search/__init__.py +0 -0
  1034. langchain/tools/brave_search/tool.py +0 -23
  1035. langchain/tools/clickup/__init__.py +0 -0
  1036. langchain/tools/clickup/tool.py +0 -23
  1037. langchain/tools/convert_to_openai.py +0 -4
  1038. langchain/tools/dataforseo_api_search/__init__.py +0 -34
  1039. langchain/tools/dataforseo_api_search/tool.py +0 -32
  1040. langchain/tools/ddg_search/__init__.py +0 -25
  1041. langchain/tools/ddg_search/tool.py +0 -32
  1042. langchain/tools/e2b_data_analysis/__init__.py +0 -0
  1043. langchain/tools/e2b_data_analysis/tool.py +0 -33
  1044. langchain/tools/edenai/__init__.py +0 -50
  1045. langchain/tools/edenai/audio_speech_to_text.py +0 -23
  1046. langchain/tools/edenai/audio_text_to_speech.py +0 -23
  1047. langchain/tools/edenai/edenai_base_tool.py +0 -23
  1048. langchain/tools/edenai/image_explicitcontent.py +0 -23
  1049. langchain/tools/edenai/image_objectdetection.py +0 -23
  1050. langchain/tools/edenai/ocr_identityparser.py +0 -23
  1051. langchain/tools/edenai/ocr_invoiceparser.py +0 -23
  1052. langchain/tools/edenai/text_moderation.py +0 -23
  1053. langchain/tools/eleven_labs/__init__.py +0 -25
  1054. langchain/tools/eleven_labs/models.py +0 -23
  1055. langchain/tools/eleven_labs/text2speech.py +0 -23
  1056. langchain/tools/file_management/__init__.py +0 -47
  1057. langchain/tools/file_management/copy.py +0 -28
  1058. langchain/tools/file_management/delete.py +0 -28
  1059. langchain/tools/file_management/file_search.py +0 -28
  1060. langchain/tools/file_management/list_dir.py +0 -28
  1061. langchain/tools/file_management/move.py +0 -28
  1062. langchain/tools/file_management/read.py +0 -28
  1063. langchain/tools/file_management/write.py +0 -28
  1064. langchain/tools/github/__init__.py +0 -1
  1065. langchain/tools/github/tool.py +0 -23
  1066. langchain/tools/gitlab/__init__.py +0 -1
  1067. langchain/tools/gitlab/tool.py +0 -23
  1068. langchain/tools/gmail/__init__.py +0 -41
  1069. langchain/tools/gmail/base.py +0 -23
  1070. langchain/tools/gmail/create_draft.py +0 -28
  1071. langchain/tools/gmail/get_message.py +0 -28
  1072. langchain/tools/gmail/get_thread.py +0 -28
  1073. langchain/tools/gmail/search.py +0 -30
  1074. langchain/tools/gmail/send_message.py +0 -28
  1075. langchain/tools/golden_query/__init__.py +0 -25
  1076. langchain/tools/golden_query/tool.py +0 -23
  1077. langchain/tools/google_cloud/__init__.py +0 -25
  1078. langchain/tools/google_cloud/texttospeech.py +0 -23
  1079. langchain/tools/google_finance/__init__.py +0 -27
  1080. langchain/tools/google_finance/tool.py +0 -25
  1081. langchain/tools/google_jobs/__init__.py +0 -25
  1082. langchain/tools/google_jobs/tool.py +0 -23
  1083. langchain/tools/google_lens/__init__.py +0 -25
  1084. langchain/tools/google_lens/tool.py +0 -23
  1085. langchain/tools/google_places/__init__.py +0 -25
  1086. langchain/tools/google_places/tool.py +0 -28
  1087. langchain/tools/google_scholar/__init__.py +0 -27
  1088. langchain/tools/google_scholar/tool.py +0 -25
  1089. langchain/tools/google_search/__init__.py +0 -29
  1090. langchain/tools/google_search/tool.py +0 -27
  1091. langchain/tools/google_serper/__init__.py +0 -30
  1092. langchain/tools/google_serper/tool.py +0 -27
  1093. langchain/tools/google_trends/__init__.py +0 -27
  1094. langchain/tools/google_trends/tool.py +0 -25
  1095. langchain/tools/graphql/__init__.py +0 -1
  1096. langchain/tools/graphql/tool.py +0 -23
  1097. langchain/tools/human/__init__.py +0 -25
  1098. langchain/tools/human/tool.py +0 -23
  1099. langchain/tools/ifttt.py +0 -23
  1100. langchain/tools/interaction/__init__.py +0 -1
  1101. langchain/tools/interaction/tool.py +0 -23
  1102. langchain/tools/jira/__init__.py +0 -1
  1103. langchain/tools/jira/tool.py +0 -42
  1104. langchain/tools/json/__init__.py +0 -1
  1105. langchain/tools/json/tool.py +0 -52
  1106. langchain/tools/memorize/__init__.py +0 -25
  1107. langchain/tools/memorize/tool.py +0 -27
  1108. langchain/tools/merriam_webster/__init__.py +0 -1
  1109. langchain/tools/merriam_webster/tool.py +0 -23
  1110. langchain/tools/metaphor_search/__init__.py +0 -25
  1111. langchain/tools/metaphor_search/tool.py +0 -23
  1112. langchain/tools/multion/__init__.py +0 -33
  1113. langchain/tools/multion/close_session.py +0 -30
  1114. langchain/tools/multion/create_session.py +0 -30
  1115. langchain/tools/multion/update_session.py +0 -30
  1116. langchain/tools/nasa/__init__.py +0 -0
  1117. langchain/tools/nasa/tool.py +0 -23
  1118. langchain/tools/nuclia/__init__.py +0 -23
  1119. langchain/tools/nuclia/tool.py +0 -27
  1120. langchain/tools/office365/__init__.py +0 -41
  1121. langchain/tools/office365/base.py +0 -23
  1122. langchain/tools/office365/create_draft_message.py +0 -32
  1123. langchain/tools/office365/events_search.py +0 -28
  1124. langchain/tools/office365/messages_search.py +0 -28
  1125. langchain/tools/office365/send_event.py +0 -28
  1126. langchain/tools/office365/send_message.py +0 -28
  1127. langchain/tools/openapi/__init__.py +0 -0
  1128. langchain/tools/openapi/utils/__init__.py +0 -0
  1129. langchain/tools/openapi/utils/api_models.py +0 -54
  1130. langchain/tools/openapi/utils/openapi_utils.py +0 -30
  1131. langchain/tools/openweathermap/__init__.py +0 -25
  1132. langchain/tools/openweathermap/tool.py +0 -23
  1133. langchain/tools/playwright/__init__.py +0 -47
  1134. langchain/tools/playwright/base.py +0 -23
  1135. langchain/tools/playwright/click.py +0 -28
  1136. langchain/tools/playwright/current_page.py +0 -23
  1137. langchain/tools/playwright/extract_hyperlinks.py +0 -32
  1138. langchain/tools/playwright/extract_text.py +0 -23
  1139. langchain/tools/playwright/get_elements.py +0 -28
  1140. langchain/tools/playwright/navigate.py +0 -28
  1141. langchain/tools/playwright/navigate_back.py +0 -23
  1142. langchain/tools/plugin.py +0 -32
  1143. langchain/tools/powerbi/__init__.py +0 -1
  1144. langchain/tools/powerbi/tool.py +0 -33
  1145. langchain/tools/pubmed/__init__.py +0 -1
  1146. langchain/tools/pubmed/tool.py +0 -23
  1147. langchain/tools/python/__init__.py +0 -13
  1148. langchain/tools/reddit_search/__init__.py +0 -0
  1149. langchain/tools/reddit_search/tool.py +0 -27
  1150. langchain/tools/render.py +0 -23
  1151. langchain/tools/requests/__init__.py +0 -1
  1152. langchain/tools/requests/tool.py +0 -42
  1153. langchain/tools/retriever.py +0 -11
  1154. langchain/tools/scenexplain/__init__.py +0 -1
  1155. langchain/tools/scenexplain/tool.py +0 -28
  1156. langchain/tools/searchapi/__init__.py +0 -30
  1157. langchain/tools/searchapi/tool.py +0 -27
  1158. langchain/tools/searx_search/__init__.py +0 -0
  1159. langchain/tools/searx_search/tool.py +0 -27
  1160. langchain/tools/shell/__init__.py +0 -25
  1161. langchain/tools/shell/tool.py +0 -28
  1162. langchain/tools/slack/__init__.py +0 -38
  1163. langchain/tools/slack/base.py +0 -23
  1164. langchain/tools/slack/get_channel.py +0 -23
  1165. langchain/tools/slack/get_message.py +0 -28
  1166. langchain/tools/slack/schedule_message.py +0 -28
  1167. langchain/tools/slack/send_message.py +0 -28
  1168. langchain/tools/sleep/__init__.py +0 -1
  1169. langchain/tools/sleep/tool.py +0 -28
  1170. langchain/tools/spark_sql/__init__.py +0 -1
  1171. langchain/tools/spark_sql/tool.py +0 -39
  1172. langchain/tools/sql_database/__init__.py +0 -1
  1173. langchain/tools/sql_database/prompt.py +0 -24
  1174. langchain/tools/sql_database/tool.py +0 -39
  1175. langchain/tools/stackexchange/__init__.py +0 -1
  1176. langchain/tools/stackexchange/tool.py +0 -23
  1177. langchain/tools/steam/__init__.py +0 -1
  1178. langchain/tools/steam/tool.py +0 -23
  1179. langchain/tools/steamship_image_generation/__init__.py +0 -25
  1180. langchain/tools/steamship_image_generation/tool.py +0 -28
  1181. langchain/tools/tavily_search/__init__.py +0 -32
  1182. langchain/tools/tavily_search/tool.py +0 -33
  1183. langchain/tools/vectorstore/__init__.py +0 -1
  1184. langchain/tools/vectorstore/tool.py +0 -30
  1185. langchain/tools/wikipedia/__init__.py +0 -1
  1186. langchain/tools/wikipedia/tool.py +0 -23
  1187. langchain/tools/wolfram_alpha/__init__.py +0 -25
  1188. langchain/tools/wolfram_alpha/tool.py +0 -23
  1189. langchain/tools/yahoo_finance_news.py +0 -23
  1190. langchain/tools/youtube/__init__.py +0 -0
  1191. langchain/tools/youtube/search.py +0 -23
  1192. langchain/tools/zapier/__init__.py +0 -29
  1193. langchain/tools/zapier/tool.py +0 -49
  1194. langchain/utilities/__init__.py +0 -168
  1195. langchain/utilities/alpha_vantage.py +0 -23
  1196. langchain/utilities/anthropic.py +0 -30
  1197. langchain/utilities/apify.py +0 -23
  1198. langchain/utilities/arcee.py +0 -45
  1199. langchain/utilities/arxiv.py +0 -23
  1200. langchain/utilities/asyncio.py +0 -11
  1201. langchain/utilities/awslambda.py +0 -23
  1202. langchain/utilities/bibtex.py +0 -23
  1203. langchain/utilities/bing_search.py +0 -23
  1204. langchain/utilities/brave_search.py +0 -23
  1205. langchain/utilities/clickup.py +0 -45
  1206. langchain/utilities/dalle_image_generator.py +0 -25
  1207. langchain/utilities/dataforseo_api_search.py +0 -25
  1208. langchain/utilities/duckduckgo_search.py +0 -23
  1209. langchain/utilities/github.py +0 -23
  1210. langchain/utilities/gitlab.py +0 -23
  1211. langchain/utilities/golden_query.py +0 -23
  1212. langchain/utilities/google_finance.py +0 -23
  1213. langchain/utilities/google_jobs.py +0 -23
  1214. langchain/utilities/google_lens.py +0 -23
  1215. langchain/utilities/google_places_api.py +0 -23
  1216. langchain/utilities/google_scholar.py +0 -23
  1217. langchain/utilities/google_search.py +0 -23
  1218. langchain/utilities/google_serper.py +0 -23
  1219. langchain/utilities/google_trends.py +0 -23
  1220. langchain/utilities/graphql.py +0 -23
  1221. langchain/utilities/jira.py +0 -23
  1222. langchain/utilities/loading.py +0 -4
  1223. langchain/utilities/max_compute.py +0 -23
  1224. langchain/utilities/merriam_webster.py +0 -23
  1225. langchain/utilities/metaphor_search.py +0 -23
  1226. langchain/utilities/nasa.py +0 -23
  1227. langchain/utilities/opaqueprompts.py +0 -27
  1228. langchain/utilities/openapi.py +0 -28
  1229. langchain/utilities/openweathermap.py +0 -23
  1230. langchain/utilities/outline.py +0 -23
  1231. langchain/utilities/portkey.py +0 -23
  1232. langchain/utilities/powerbi.py +0 -23
  1233. langchain/utilities/pubmed.py +0 -23
  1234. langchain/utilities/python.py +0 -19
  1235. langchain/utilities/reddit_search.py +0 -25
  1236. langchain/utilities/redis.py +0 -33
  1237. langchain/utilities/requests.py +0 -27
  1238. langchain/utilities/scenexplain.py +0 -23
  1239. langchain/utilities/searchapi.py +0 -23
  1240. langchain/utilities/searx_search.py +0 -28
  1241. langchain/utilities/serpapi.py +0 -28
  1242. langchain/utilities/spark_sql.py +0 -23
  1243. langchain/utilities/sql_database.py +0 -28
  1244. langchain/utilities/stackexchange.py +0 -23
  1245. langchain/utilities/steam.py +0 -23
  1246. langchain/utilities/tavily_search.py +0 -25
  1247. langchain/utilities/tensorflow_datasets.py +0 -23
  1248. langchain/utilities/twilio.py +0 -23
  1249. langchain/utilities/vertexai.py +0 -36
  1250. langchain/utilities/wikipedia.py +0 -23
  1251. langchain/utilities/wolfram_alpha.py +0 -23
  1252. langchain/utilities/zapier.py +0 -23
  1253. langchain/utils/__init__.py +0 -77
  1254. langchain/utils/aiter.py +0 -3
  1255. langchain/utils/env.py +0 -3
  1256. langchain/utils/ernie_functions.py +0 -36
  1257. langchain/utils/formatting.py +0 -3
  1258. langchain/utils/html.py +0 -19
  1259. langchain/utils/input.py +0 -8
  1260. langchain/utils/iter.py +0 -3
  1261. langchain/utils/json_schema.py +0 -11
  1262. langchain/utils/loading.py +0 -3
  1263. langchain/utils/math.py +0 -32
  1264. langchain/utils/openai.py +0 -23
  1265. langchain/utils/openai_functions.py +0 -13
  1266. langchain/utils/pydantic.py +0 -3
  1267. langchain/utils/strings.py +0 -3
  1268. langchain/utils/utils.py +0 -21
  1269. langchain/vectorstores/__init__.py +0 -262
  1270. langchain/vectorstores/alibabacloud_opensearch.py +0 -30
  1271. langchain/vectorstores/analyticdb.py +0 -23
  1272. langchain/vectorstores/annoy.py +0 -23
  1273. langchain/vectorstores/astradb.py +0 -23
  1274. langchain/vectorstores/atlas.py +0 -23
  1275. langchain/vectorstores/awadb.py +0 -23
  1276. langchain/vectorstores/azure_cosmos_db.py +0 -28
  1277. langchain/vectorstores/azuresearch.py +0 -30
  1278. langchain/vectorstores/bageldb.py +0 -23
  1279. langchain/vectorstores/baiducloud_vector_search.py +0 -23
  1280. langchain/vectorstores/base.py +0 -3
  1281. langchain/vectorstores/cassandra.py +0 -23
  1282. langchain/vectorstores/chroma.py +0 -23
  1283. langchain/vectorstores/clarifai.py +0 -23
  1284. langchain/vectorstores/clickhouse.py +0 -27
  1285. langchain/vectorstores/dashvector.py +0 -23
  1286. langchain/vectorstores/databricks_vector_search.py +0 -23
  1287. langchain/vectorstores/deeplake.py +0 -23
  1288. langchain/vectorstores/dingo.py +0 -23
  1289. langchain/vectorstores/docarray/__init__.py +0 -30
  1290. langchain/vectorstores/docarray/base.py +0 -23
  1291. langchain/vectorstores/docarray/hnsw.py +0 -23
  1292. langchain/vectorstores/docarray/in_memory.py +0 -23
  1293. langchain/vectorstores/elastic_vector_search.py +0 -27
  1294. langchain/vectorstores/elasticsearch.py +0 -39
  1295. langchain/vectorstores/epsilla.py +0 -23
  1296. langchain/vectorstores/faiss.py +0 -23
  1297. langchain/vectorstores/hippo.py +0 -23
  1298. langchain/vectorstores/hologres.py +0 -23
  1299. langchain/vectorstores/lancedb.py +0 -23
  1300. langchain/vectorstores/llm_rails.py +0 -28
  1301. langchain/vectorstores/marqo.py +0 -23
  1302. langchain/vectorstores/matching_engine.py +0 -23
  1303. langchain/vectorstores/meilisearch.py +0 -23
  1304. langchain/vectorstores/milvus.py +0 -23
  1305. langchain/vectorstores/momento_vector_index.py +0 -23
  1306. langchain/vectorstores/mongodb_atlas.py +0 -23
  1307. langchain/vectorstores/myscale.py +0 -30
  1308. langchain/vectorstores/neo4j_vector.py +0 -28
  1309. langchain/vectorstores/nucliadb.py +0 -23
  1310. langchain/vectorstores/opensearch_vector_search.py +0 -23
  1311. langchain/vectorstores/pgembedding.py +0 -36
  1312. langchain/vectorstores/pgvecto_rs.py +0 -23
  1313. langchain/vectorstores/pgvector.py +0 -28
  1314. langchain/vectorstores/pinecone.py +0 -23
  1315. langchain/vectorstores/qdrant.py +0 -28
  1316. langchain/vectorstores/redis/__init__.py +0 -42
  1317. langchain/vectorstores/redis/base.py +0 -33
  1318. langchain/vectorstores/redis/filters.py +0 -48
  1319. langchain/vectorstores/redis/schema.py +0 -54
  1320. langchain/vectorstores/rocksetdb.py +0 -23
  1321. langchain/vectorstores/scann.py +0 -23
  1322. langchain/vectorstores/semadb.py +0 -23
  1323. langchain/vectorstores/singlestoredb.py +0 -23
  1324. langchain/vectorstores/sklearn.py +0 -42
  1325. langchain/vectorstores/sqlitevss.py +0 -23
  1326. langchain/vectorstores/starrocks.py +0 -28
  1327. langchain/vectorstores/supabase.py +0 -23
  1328. langchain/vectorstores/tair.py +0 -23
  1329. langchain/vectorstores/tencentvectordb.py +0 -33
  1330. langchain/vectorstores/tigris.py +0 -23
  1331. langchain/vectorstores/tiledb.py +0 -23
  1332. langchain/vectorstores/timescalevector.py +0 -23
  1333. langchain/vectorstores/typesense.py +0 -23
  1334. langchain/vectorstores/usearch.py +0 -23
  1335. langchain/vectorstores/utils.py +0 -33
  1336. langchain/vectorstores/vald.py +0 -23
  1337. langchain/vectorstores/vearch.py +0 -23
  1338. langchain/vectorstores/vectara.py +0 -28
  1339. langchain/vectorstores/vespa.py +0 -23
  1340. langchain/vectorstores/weaviate.py +0 -23
  1341. langchain/vectorstores/xata.py +0 -23
  1342. langchain/vectorstores/yellowbrick.py +0 -23
  1343. langchain/vectorstores/zep.py +0 -28
  1344. langchain/vectorstores/zilliz.py +0 -23
  1345. langchain-0.4.0.dev0.dist-info/RECORD +0 -1341
  1346. /langchain/{adapters → _internal}/__init__.py +0 -0
  1347. {langchain-0.4.0.dev0.dist-info → langchain-1.0.0a1.dist-info}/WHEEL +0 -0
  1348. {langchain-0.4.0.dev0.dist-info → langchain-1.0.0a1.dist-info}/entry_points.txt +0 -0
  1349. {langchain-0.4.0.dev0.dist-info → langchain-1.0.0a1.dist-info}/licenses/LICENSE +0 -0
@@ -1,219 +0,0 @@
1
- """Chain that does self-ask with search."""
2
-
3
- from __future__ import annotations
4
-
5
- from collections.abc import Sequence
6
- from typing import TYPE_CHECKING, Any, Union
7
-
8
- from langchain_core._api import deprecated
9
- from langchain_core.language_models import BaseLanguageModel
10
- from langchain_core.prompts import BasePromptTemplate
11
- from langchain_core.runnables import Runnable, RunnablePassthrough
12
- from langchain_core.tools import BaseTool, Tool
13
- from pydantic import Field
14
- from typing_extensions import override
15
-
16
- from langchain.agents.agent import Agent, AgentExecutor, AgentOutputParser
17
- from langchain.agents.agent_types import AgentType
18
- from langchain.agents.format_scratchpad import format_log_to_str
19
- from langchain.agents.self_ask_with_search.output_parser import SelfAskOutputParser
20
- from langchain.agents.self_ask_with_search.prompt import PROMPT
21
- from langchain.agents.utils import validate_tools_single_input
22
-
23
- if TYPE_CHECKING:
24
- from langchain_community.utilities.google_serper import GoogleSerperAPIWrapper
25
- from langchain_community.utilities.searchapi import SearchApiAPIWrapper
26
- from langchain_community.utilities.serpapi import SerpAPIWrapper
27
-
28
-
29
- @deprecated("0.1.0", alternative="create_self_ask_with_search", removal="1.0")
30
- class SelfAskWithSearchAgent(Agent):
31
- """Agent for the self-ask-with-search paper."""
32
-
33
- output_parser: AgentOutputParser = Field(default_factory=SelfAskOutputParser)
34
-
35
- @classmethod
36
- @override
37
- def _get_default_output_parser(cls, **kwargs: Any) -> AgentOutputParser:
38
- return SelfAskOutputParser()
39
-
40
- @property
41
- def _agent_type(self) -> str:
42
- """Return Identifier of an agent type."""
43
- return AgentType.SELF_ASK_WITH_SEARCH
44
-
45
- @classmethod
46
- @override
47
- def create_prompt(cls, tools: Sequence[BaseTool]) -> BasePromptTemplate:
48
- """Prompt does not depend on tools."""
49
- return PROMPT
50
-
51
- @classmethod
52
- def _validate_tools(cls, tools: Sequence[BaseTool]) -> None:
53
- validate_tools_single_input(cls.__name__, tools)
54
- super()._validate_tools(tools)
55
- if len(tools) != 1:
56
- msg = f"Exactly one tool must be specified, but got {tools}"
57
- raise ValueError(msg)
58
- tool_names = {tool.name for tool in tools}
59
- if tool_names != {"Intermediate Answer"}:
60
- msg = f"Tool name should be Intermediate Answer, got {tool_names}"
61
- raise ValueError(msg)
62
-
63
- @property
64
- def observation_prefix(self) -> str:
65
- """Prefix to append the observation with."""
66
- return "Intermediate answer: "
67
-
68
- @property
69
- def llm_prefix(self) -> str:
70
- """Prefix to append the LLM call with."""
71
- return ""
72
-
73
-
74
- @deprecated("0.1.0", removal="1.0")
75
- class SelfAskWithSearchChain(AgentExecutor):
76
- """[Deprecated] Chain that does self-ask with search."""
77
-
78
- def __init__(
79
- self,
80
- llm: BaseLanguageModel,
81
- search_chain: Union[
82
- GoogleSerperAPIWrapper,
83
- SearchApiAPIWrapper,
84
- SerpAPIWrapper,
85
- ],
86
- **kwargs: Any,
87
- ):
88
- """Initialize only with an LLM and a search chain."""
89
- search_tool = Tool(
90
- name="Intermediate Answer",
91
- func=search_chain.run,
92
- coroutine=search_chain.arun,
93
- description="Search",
94
- )
95
- agent = SelfAskWithSearchAgent.from_llm_and_tools(llm, [search_tool])
96
- super().__init__(agent=agent, tools=[search_tool], **kwargs)
97
-
98
-
99
- def create_self_ask_with_search_agent(
100
- llm: BaseLanguageModel,
101
- tools: Sequence[BaseTool],
102
- prompt: BasePromptTemplate,
103
- ) -> Runnable:
104
- """Create an agent that uses self-ask with search prompting.
105
-
106
- Args:
107
- llm: LLM to use as the agent.
108
- tools: List of tools. Should just be of length 1, with that tool having
109
- name `Intermediate Answer`
110
- prompt: The prompt to use, must have input key `agent_scratchpad` which will
111
- contain agent actions and tool outputs.
112
-
113
- Returns:
114
- A Runnable sequence representing an agent. It takes as input all the same input
115
- variables as the prompt passed in does. It returns as output either an
116
- AgentAction or AgentFinish.
117
-
118
- Examples:
119
-
120
- .. code-block:: python
121
-
122
- from langchain import hub
123
- from langchain_community.chat_models import ChatAnthropic
124
- from langchain.agents import (
125
- AgentExecutor, create_self_ask_with_search_agent
126
- )
127
-
128
- prompt = hub.pull("hwchase17/self-ask-with-search")
129
- model = ChatAnthropic(model="claude-3-haiku-20240307")
130
- tools = [...] # Should just be one tool with name `Intermediate Answer`
131
-
132
- agent = create_self_ask_with_search_agent(model, tools, prompt)
133
- agent_executor = AgentExecutor(agent=agent, tools=tools)
134
-
135
- agent_executor.invoke({"input": "hi"})
136
-
137
- Prompt:
138
-
139
- The prompt must have input key `agent_scratchpad` which will
140
- contain agent actions and tool outputs as a string.
141
-
142
- Here's an example:
143
-
144
- .. code-block:: python
145
-
146
- from langchain_core.prompts import PromptTemplate
147
-
148
- template = '''Question: Who lived longer, Muhammad Ali or Alan Turing?
149
- Are follow up questions needed here: Yes.
150
- Follow up: How old was Muhammad Ali when he died?
151
- Intermediate answer: Muhammad Ali was 74 years old when he died.
152
- Follow up: How old was Alan Turing when he died?
153
- Intermediate answer: Alan Turing was 41 years old when he died.
154
- So the final answer is: Muhammad Ali
155
-
156
- Question: When was the founder of craigslist born?
157
- Are follow up questions needed here: Yes.
158
- Follow up: Who was the founder of craigslist?
159
- Intermediate answer: Craigslist was founded by Craig Newmark.
160
- Follow up: When was Craig Newmark born?
161
- Intermediate answer: Craig Newmark was born on December 6, 1952.
162
- So the final answer is: December 6, 1952
163
-
164
- Question: Who was the maternal grandfather of George Washington?
165
- Are follow up questions needed here: Yes.
166
- Follow up: Who was the mother of George Washington?
167
- Intermediate answer: The mother of George Washington was Mary Ball Washington.
168
- Follow up: Who was the father of Mary Ball Washington?
169
- Intermediate answer: The father of Mary Ball Washington was Joseph Ball.
170
- So the final answer is: Joseph Ball
171
-
172
- Question: Are both the directors of Jaws and Casino Royale from the same country?
173
- Are follow up questions needed here: Yes.
174
- Follow up: Who is the director of Jaws?
175
- Intermediate answer: The director of Jaws is Steven Spielberg.
176
- Follow up: Where is Steven Spielberg from?
177
- Intermediate answer: The United States.
178
- Follow up: Who is the director of Casino Royale?
179
- Intermediate answer: The director of Casino Royale is Martin Campbell.
180
- Follow up: Where is Martin Campbell from?
181
- Intermediate answer: New Zealand.
182
- So the final answer is: No
183
-
184
- Question: {input}
185
- Are followup questions needed here:{agent_scratchpad}'''
186
-
187
- prompt = PromptTemplate.from_template(template)
188
-
189
- """ # noqa: E501
190
- missing_vars = {"agent_scratchpad"}.difference(
191
- prompt.input_variables + list(prompt.partial_variables),
192
- )
193
- if missing_vars:
194
- msg = f"Prompt missing required variables: {missing_vars}"
195
- raise ValueError(msg)
196
-
197
- if len(tools) != 1:
198
- msg = "This agent expects exactly one tool"
199
- raise ValueError(msg)
200
- tool = next(iter(tools))
201
- if tool.name != "Intermediate Answer":
202
- msg = "This agent expects the tool to be named `Intermediate Answer`"
203
- raise ValueError(msg)
204
-
205
- llm_with_stop = llm.bind(stop=["\nIntermediate answer:"])
206
- return (
207
- RunnablePassthrough.assign(
208
- agent_scratchpad=lambda x: format_log_to_str(
209
- x["intermediate_steps"],
210
- observation_prefix="\nIntermediate answer: ",
211
- llm_prefix="",
212
- ),
213
- # Give it a default
214
- chat_history=lambda x: x.get("chat_history", ""),
215
- )
216
- | prompt
217
- | llm_with_stop
218
- | SelfAskOutputParser()
219
- )
@@ -1,4 +0,0 @@
1
- from langchain.agents.output_parsers.self_ask import SelfAskOutputParser
2
-
3
- # For backwards compatibility
4
- __all__ = ["SelfAskOutputParser"]
@@ -1,43 +0,0 @@
1
- from langchain_core.prompts.prompt import PromptTemplate
2
-
3
- _DEFAULT_TEMPLATE = """Question: Who lived longer, Muhammad Ali or Alan Turing?
4
- Are follow up questions needed here: Yes.
5
- Follow up: How old was Muhammad Ali when he died?
6
- Intermediate answer: Muhammad Ali was 74 years old when he died.
7
- Follow up: How old was Alan Turing when he died?
8
- Intermediate answer: Alan Turing was 41 years old when he died.
9
- So the final answer is: Muhammad Ali
10
-
11
- Question: When was the founder of craigslist born?
12
- Are follow up questions needed here: Yes.
13
- Follow up: Who was the founder of craigslist?
14
- Intermediate answer: Craigslist was founded by Craig Newmark.
15
- Follow up: When was Craig Newmark born?
16
- Intermediate answer: Craig Newmark was born on December 6, 1952.
17
- So the final answer is: December 6, 1952
18
-
19
- Question: Who was the maternal grandfather of George Washington?
20
- Are follow up questions needed here: Yes.
21
- Follow up: Who was the mother of George Washington?
22
- Intermediate answer: The mother of George Washington was Mary Ball Washington.
23
- Follow up: Who was the father of Mary Ball Washington?
24
- Intermediate answer: The father of Mary Ball Washington was Joseph Ball.
25
- So the final answer is: Joseph Ball
26
-
27
- Question: Are both the directors of Jaws and Casino Royale from the same country?
28
- Are follow up questions needed here: Yes.
29
- Follow up: Who is the director of Jaws?
30
- Intermediate answer: The director of Jaws is Steven Spielberg.
31
- Follow up: Where is Steven Spielberg from?
32
- Intermediate answer: The United States.
33
- Follow up: Who is the director of Casino Royale?
34
- Intermediate answer: The director of Casino Royale is Martin Campbell.
35
- Follow up: Where is Martin Campbell from?
36
- Intermediate answer: New Zealand.
37
- So the final answer is: No
38
-
39
- Question: {input}
40
- Are followup questions needed here:{agent_scratchpad}"""
41
- PROMPT = PromptTemplate(
42
- input_variables=["input", "agent_scratchpad"], template=_DEFAULT_TEMPLATE
43
- )
File without changes
@@ -1,309 +0,0 @@
1
- import re
2
- from collections.abc import Sequence
3
- from typing import Any, Optional, Union
4
-
5
- from langchain_core._api import deprecated
6
- from langchain_core.agents import AgentAction
7
- from langchain_core.callbacks import BaseCallbackManager
8
- from langchain_core.language_models import BaseLanguageModel
9
- from langchain_core.prompts import BasePromptTemplate
10
- from langchain_core.prompts.chat import (
11
- ChatPromptTemplate,
12
- HumanMessagePromptTemplate,
13
- SystemMessagePromptTemplate,
14
- )
15
- from langchain_core.runnables import Runnable, RunnablePassthrough
16
- from langchain_core.tools import BaseTool
17
- from langchain_core.tools.render import ToolsRenderer
18
- from pydantic import Field
19
- from typing_extensions import override
20
-
21
- from langchain.agents.agent import Agent, AgentOutputParser
22
- from langchain.agents.format_scratchpad import format_log_to_str
23
- from langchain.agents.output_parsers import JSONAgentOutputParser
24
- from langchain.agents.structured_chat.output_parser import (
25
- StructuredChatOutputParserWithRetries,
26
- )
27
- from langchain.agents.structured_chat.prompt import FORMAT_INSTRUCTIONS, PREFIX, SUFFIX
28
- from langchain.chains.llm import LLMChain
29
- from langchain.tools.render import render_text_description_and_args
30
-
31
- HUMAN_MESSAGE_TEMPLATE = "{input}\n\n{agent_scratchpad}"
32
-
33
-
34
- @deprecated("0.1.0", alternative="create_structured_chat_agent", removal="1.0")
35
- class StructuredChatAgent(Agent):
36
- """Structured Chat Agent."""
37
-
38
- output_parser: AgentOutputParser = Field(
39
- default_factory=StructuredChatOutputParserWithRetries,
40
- )
41
- """Output parser for the agent."""
42
-
43
- @property
44
- def observation_prefix(self) -> str:
45
- """Prefix to append the observation with."""
46
- return "Observation: "
47
-
48
- @property
49
- def llm_prefix(self) -> str:
50
- """Prefix to append the llm call with."""
51
- return "Thought:"
52
-
53
- def _construct_scratchpad(
54
- self,
55
- intermediate_steps: list[tuple[AgentAction, str]],
56
- ) -> str:
57
- agent_scratchpad = super()._construct_scratchpad(intermediate_steps)
58
- if not isinstance(agent_scratchpad, str):
59
- msg = "agent_scratchpad should be of type string."
60
- raise ValueError(msg) # noqa: TRY004
61
- if agent_scratchpad:
62
- return (
63
- f"This was your previous work "
64
- f"(but I haven't seen any of it! I only see what "
65
- f"you return as final answer):\n{agent_scratchpad}"
66
- )
67
- return agent_scratchpad
68
-
69
- @classmethod
70
- def _validate_tools(cls, tools: Sequence[BaseTool]) -> None:
71
- pass
72
-
73
- @classmethod
74
- @override
75
- def _get_default_output_parser(
76
- cls,
77
- llm: Optional[BaseLanguageModel] = None,
78
- **kwargs: Any,
79
- ) -> AgentOutputParser:
80
- return StructuredChatOutputParserWithRetries.from_llm(llm=llm)
81
-
82
- @property
83
- @override
84
- def _stop(self) -> list[str]:
85
- return ["Observation:"]
86
-
87
- @classmethod
88
- @override
89
- def create_prompt(
90
- cls,
91
- tools: Sequence[BaseTool],
92
- prefix: str = PREFIX,
93
- suffix: str = SUFFIX,
94
- human_message_template: str = HUMAN_MESSAGE_TEMPLATE,
95
- format_instructions: str = FORMAT_INSTRUCTIONS,
96
- input_variables: Optional[list[str]] = None,
97
- memory_prompts: Optional[list[BasePromptTemplate]] = None,
98
- ) -> BasePromptTemplate:
99
- tool_strings = []
100
- for tool in tools:
101
- args_schema = re.sub("}", "}}", re.sub("{", "{{", str(tool.args)))
102
- tool_strings.append(f"{tool.name}: {tool.description}, args: {args_schema}")
103
- formatted_tools = "\n".join(tool_strings)
104
- tool_names = ", ".join([tool.name for tool in tools])
105
- format_instructions = format_instructions.format(tool_names=tool_names)
106
- template = f"{prefix}\n\n{formatted_tools}\n\n{format_instructions}\n\n{suffix}"
107
- if input_variables is None:
108
- input_variables = ["input", "agent_scratchpad"]
109
- _memory_prompts = memory_prompts or []
110
- messages = [
111
- SystemMessagePromptTemplate.from_template(template),
112
- *_memory_prompts,
113
- HumanMessagePromptTemplate.from_template(human_message_template),
114
- ]
115
- return ChatPromptTemplate(input_variables=input_variables, messages=messages) # type: ignore[arg-type]
116
-
117
- @classmethod
118
- def from_llm_and_tools(
119
- cls,
120
- llm: BaseLanguageModel,
121
- tools: Sequence[BaseTool],
122
- callback_manager: Optional[BaseCallbackManager] = None,
123
- output_parser: Optional[AgentOutputParser] = None,
124
- prefix: str = PREFIX,
125
- suffix: str = SUFFIX,
126
- human_message_template: str = HUMAN_MESSAGE_TEMPLATE,
127
- format_instructions: str = FORMAT_INSTRUCTIONS,
128
- input_variables: Optional[list[str]] = None,
129
- memory_prompts: Optional[list[BasePromptTemplate]] = None,
130
- **kwargs: Any,
131
- ) -> Agent:
132
- """Construct an agent from an LLM and tools."""
133
- cls._validate_tools(tools)
134
- prompt = cls.create_prompt(
135
- tools,
136
- prefix=prefix,
137
- suffix=suffix,
138
- human_message_template=human_message_template,
139
- format_instructions=format_instructions,
140
- input_variables=input_variables,
141
- memory_prompts=memory_prompts,
142
- )
143
- llm_chain = LLMChain(
144
- llm=llm,
145
- prompt=prompt,
146
- callback_manager=callback_manager,
147
- )
148
- tool_names = [tool.name for tool in tools]
149
- _output_parser = output_parser or cls._get_default_output_parser(llm=llm)
150
- return cls(
151
- llm_chain=llm_chain,
152
- allowed_tools=tool_names,
153
- output_parser=_output_parser,
154
- **kwargs,
155
- )
156
-
157
- @property
158
- def _agent_type(self) -> str:
159
- raise ValueError
160
-
161
-
162
- def create_structured_chat_agent(
163
- llm: BaseLanguageModel,
164
- tools: Sequence[BaseTool],
165
- prompt: ChatPromptTemplate,
166
- tools_renderer: ToolsRenderer = render_text_description_and_args,
167
- *,
168
- stop_sequence: Union[bool, list[str]] = True,
169
- ) -> Runnable:
170
- """Create an agent aimed at supporting tools with multiple inputs.
171
-
172
- Args:
173
- llm: LLM to use as the agent.
174
- tools: Tools this agent has access to.
175
- prompt: The prompt to use. See Prompt section below for more.
176
- stop_sequence: bool or list of str.
177
- If True, adds a stop token of "Observation:" to avoid hallucinates.
178
- If False, does not add a stop token.
179
- If a list of str, uses the provided list as the stop tokens.
180
-
181
- Default is True. You may to set this to False if the LLM you are using
182
- does not support stop sequences.
183
- tools_renderer: This controls how the tools are converted into a string and
184
- then passed into the LLM. Default is `render_text_description`.
185
-
186
- Returns:
187
- A Runnable sequence representing an agent. It takes as input all the same input
188
- variables as the prompt passed in does. It returns as output either an
189
- AgentAction or AgentFinish.
190
-
191
- Examples:
192
-
193
- .. code-block:: python
194
-
195
- from langchain import hub
196
- from langchain_community.chat_models import ChatOpenAI
197
- from langchain.agents import AgentExecutor, create_structured_chat_agent
198
-
199
- prompt = hub.pull("hwchase17/structured-chat-agent")
200
- model = ChatOpenAI()
201
- tools = ...
202
-
203
- agent = create_structured_chat_agent(model, tools, prompt)
204
- agent_executor = AgentExecutor(agent=agent, tools=tools)
205
-
206
- agent_executor.invoke({"input": "hi"})
207
-
208
- # Using with chat history
209
- from langchain_core.messages import AIMessage, HumanMessage
210
- agent_executor.invoke(
211
- {
212
- "input": "what's my name?",
213
- "chat_history": [
214
- HumanMessage(content="hi! my name is bob"),
215
- AIMessage(content="Hello Bob! How can I assist you today?"),
216
- ],
217
- }
218
- )
219
-
220
- Prompt:
221
-
222
- The prompt must have input keys:
223
- * `tools`: contains descriptions and arguments for each tool.
224
- * `tool_names`: contains all tool names.
225
- * `agent_scratchpad`: contains previous agent actions and tool outputs as a string.
226
-
227
- Here's an example:
228
-
229
- .. code-block:: python
230
-
231
- from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
232
-
233
- system = '''Respond to the human as helpfully and accurately as possible. You have access to the following tools:
234
-
235
- {tools}
236
-
237
- Use a json blob to specify a tool by providing an action key (tool name) and an action_input key (tool input).
238
-
239
- Valid "action" values: "Final Answer" or {tool_names}
240
-
241
- Provide only ONE action per $JSON_BLOB, as shown:
242
-
243
- ```
244
- {{
245
- "action": $TOOL_NAME,
246
- "action_input": $INPUT
247
- }}
248
- ```
249
-
250
- Follow this format:
251
-
252
- Question: input question to answer
253
- Thought: consider previous and subsequent steps
254
- Action:
255
- ```
256
- $JSON_BLOB
257
- ```
258
- Observation: action result
259
- ... (repeat Thought/Action/Observation N times)
260
- Thought: I know what to respond
261
- Action:
262
- ```
263
- {{
264
- "action": "Final Answer",
265
- "action_input": "Final response to human"
266
- }}
267
-
268
- Begin! Reminder to ALWAYS respond with a valid json blob of a single action. Use tools if necessary. Respond directly if appropriate. Format is Action:```$JSON_BLOB```then Observation'''
269
-
270
- human = '''{input}
271
-
272
- {agent_scratchpad}
273
-
274
- (reminder to respond in a JSON blob no matter what)'''
275
-
276
- prompt = ChatPromptTemplate.from_messages(
277
- [
278
- ("system", system),
279
- MessagesPlaceholder("chat_history", optional=True),
280
- ("human", human),
281
- ]
282
- )
283
-
284
- """ # noqa: E501
285
- missing_vars = {"tools", "tool_names", "agent_scratchpad"}.difference(
286
- prompt.input_variables + list(prompt.partial_variables),
287
- )
288
- if missing_vars:
289
- msg = f"Prompt missing required variables: {missing_vars}"
290
- raise ValueError(msg)
291
-
292
- prompt = prompt.partial(
293
- tools=tools_renderer(list(tools)),
294
- tool_names=", ".join([t.name for t in tools]),
295
- )
296
- if stop_sequence:
297
- stop = ["\nObservation"] if stop_sequence is True else stop_sequence
298
- llm_with_stop = llm.bind(stop=stop)
299
- else:
300
- llm_with_stop = llm
301
-
302
- return (
303
- RunnablePassthrough.assign(
304
- agent_scratchpad=lambda x: format_log_to_str(x["intermediate_steps"]),
305
- )
306
- | prompt
307
- | llm_with_stop
308
- | JSONAgentOutputParser()
309
- )
@@ -1,112 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import json
4
- import logging
5
- import re
6
- from re import Pattern
7
- from typing import Optional, Union
8
-
9
- from langchain_core.agents import AgentAction, AgentFinish
10
- from langchain_core.exceptions import OutputParserException
11
- from langchain_core.language_models import BaseLanguageModel
12
- from pydantic import Field
13
- from typing_extensions import override
14
-
15
- from langchain.agents.agent import AgentOutputParser
16
- from langchain.agents.structured_chat.prompt import FORMAT_INSTRUCTIONS
17
- from langchain.output_parsers import OutputFixingParser
18
-
19
- logger = logging.getLogger(__name__)
20
-
21
-
22
- class StructuredChatOutputParser(AgentOutputParser):
23
- """Output parser for the structured chat agent."""
24
-
25
- format_instructions: str = FORMAT_INSTRUCTIONS
26
- """Default formatting instructions"""
27
-
28
- pattern: Pattern = re.compile(r"```(?:json\s+)?(\W.*?)```", re.DOTALL)
29
- """Regex pattern to parse the output."""
30
-
31
- @override
32
- def get_format_instructions(self) -> str:
33
- """Returns formatting instructions for the given output parser."""
34
- return self.format_instructions
35
-
36
- @override
37
- def parse(self, text: str) -> Union[AgentAction, AgentFinish]:
38
- try:
39
- action_match = self.pattern.search(text)
40
- if action_match is not None:
41
- response = json.loads(action_match.group(1).strip(), strict=False)
42
- if isinstance(response, list):
43
- # gpt turbo frequently ignores the directive to emit a single action
44
- logger.warning("Got multiple action responses: %s", response)
45
- response = response[0]
46
- if response["action"] == "Final Answer":
47
- return AgentFinish({"output": response["action_input"]}, text)
48
- return AgentAction(
49
- response["action"],
50
- response.get("action_input", {}),
51
- text,
52
- )
53
- return AgentFinish({"output": text}, text)
54
- except Exception as e:
55
- msg = f"Could not parse LLM output: {text}"
56
- raise OutputParserException(msg) from e
57
-
58
- @property
59
- def _type(self) -> str:
60
- return "structured_chat"
61
-
62
-
63
- class StructuredChatOutputParserWithRetries(AgentOutputParser):
64
- """Output parser with retries for the structured chat agent."""
65
-
66
- base_parser: AgentOutputParser = Field(default_factory=StructuredChatOutputParser)
67
- """The base parser to use."""
68
- output_fixing_parser: Optional[OutputFixingParser] = None
69
- """The output fixing parser to use."""
70
-
71
- @override
72
- def get_format_instructions(self) -> str:
73
- return FORMAT_INSTRUCTIONS
74
-
75
- @override
76
- def parse(self, text: str) -> Union[AgentAction, AgentFinish]:
77
- try:
78
- if self.output_fixing_parser is not None:
79
- return self.output_fixing_parser.parse(text)
80
- return self.base_parser.parse(text)
81
- except Exception as e:
82
- msg = f"Could not parse LLM output: {text}"
83
- raise OutputParserException(msg) from e
84
-
85
- @classmethod
86
- def from_llm(
87
- cls,
88
- llm: Optional[BaseLanguageModel] = None,
89
- base_parser: Optional[StructuredChatOutputParser] = None,
90
- ) -> StructuredChatOutputParserWithRetries:
91
- """Create a StructuredChatOutputParserWithRetries from a language model.
92
-
93
- Args:
94
- llm: The language model to use.
95
- base_parser: An optional StructuredChatOutputParser to use.
96
- Returns:
97
- An instance of StructuredChatOutputParserWithRetries.
98
- """
99
- if llm is not None:
100
- base_parser = base_parser or StructuredChatOutputParser()
101
- output_fixing_parser: OutputFixingParser = OutputFixingParser.from_llm(
102
- llm=llm,
103
- parser=base_parser,
104
- )
105
- return cls(output_fixing_parser=output_fixing_parser)
106
- if base_parser is not None:
107
- return cls(base_parser=base_parser)
108
- return cls()
109
-
110
- @property
111
- def _type(self) -> str:
112
- return "structured_chat_with_retries"