langchain 0.4.0.dev0__py3-none-any.whl → 1.0.0__py3-none-any.whl

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

Potentially problematic release.


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

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