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,818 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import asyncio
4
- import json
5
- from collections.abc import Sequence
6
- from json import JSONDecodeError
7
- from time import sleep
8
- from typing import (
9
- TYPE_CHECKING,
10
- Any,
11
- Callable,
12
- Optional,
13
- Union,
14
- )
15
-
16
- from langchain_core.agents import AgentAction, AgentFinish
17
- from langchain_core.callbacks import CallbackManager
18
- from langchain_core.load import dumpd
19
- from langchain_core.runnables import RunnableConfig, RunnableSerializable, ensure_config
20
- from langchain_core.tools import BaseTool
21
- from langchain_core.utils.function_calling import convert_to_openai_tool
22
- from pydantic import BaseModel, Field, model_validator
23
- from typing_extensions import Self, override
24
-
25
- if TYPE_CHECKING:
26
- import openai
27
- from openai.types.beta.threads import ThreadMessage # type: ignore[attr-defined]
28
- from openai.types.beta.threads.required_action_function_tool_call import (
29
- RequiredActionFunctionToolCall,
30
- )
31
-
32
-
33
- class OpenAIAssistantFinish(AgentFinish):
34
- """AgentFinish with run and thread metadata.
35
-
36
- Parameters:
37
- run_id: Run id.
38
- thread_id: Thread id.
39
- """
40
-
41
- run_id: str
42
- thread_id: str
43
-
44
- @classmethod
45
- def is_lc_serializable(cls) -> bool:
46
- """Check if the class is serializable by LangChain.
47
-
48
- Returns:
49
- False
50
- """
51
- return False
52
-
53
-
54
- class OpenAIAssistantAction(AgentAction):
55
- """AgentAction with info needed to submit custom tool output to existing run.
56
-
57
- Parameters:
58
- tool_call_id: Tool call id.
59
- run_id: Run id.
60
- thread_id: Thread id
61
- """
62
-
63
- tool_call_id: str
64
- run_id: str
65
- thread_id: str
66
-
67
- @classmethod
68
- def is_lc_serializable(cls) -> bool:
69
- """Check if the class is serializable by LangChain.
70
-
71
- Returns:
72
- False
73
- """
74
- return False
75
-
76
-
77
- def _get_openai_client() -> openai.OpenAI:
78
- try:
79
- import openai
80
-
81
- return openai.OpenAI()
82
- except ImportError as e:
83
- msg = "Unable to import openai, please install with `pip install openai`."
84
- raise ImportError(msg) from e
85
- except AttributeError as e:
86
- msg = (
87
- "Please make sure you are using a v1.1-compatible version of openai. You "
88
- 'can install with `pip install "openai>=1.1"`.'
89
- )
90
- raise AttributeError(msg) from e
91
-
92
-
93
- def _get_openai_async_client() -> openai.AsyncOpenAI:
94
- try:
95
- import openai
96
-
97
- return openai.AsyncOpenAI()
98
- except ImportError as e:
99
- msg = "Unable to import openai, please install with `pip install openai`."
100
- raise ImportError(msg) from e
101
- except AttributeError as e:
102
- msg = (
103
- "Please make sure you are using a v1.1-compatible version of openai. You "
104
- 'can install with `pip install "openai>=1.1"`.'
105
- )
106
- raise AttributeError(msg) from e
107
-
108
-
109
- def _is_assistants_builtin_tool(
110
- tool: Union[dict[str, Any], type[BaseModel], Callable, BaseTool],
111
- ) -> bool:
112
- """Determine if tool corresponds to OpenAI Assistants built-in."""
113
- assistants_builtin_tools = ("code_interpreter", "file_search")
114
- return (
115
- isinstance(tool, dict)
116
- and ("type" in tool)
117
- and (tool["type"] in assistants_builtin_tools)
118
- )
119
-
120
-
121
- def _get_assistants_tool(
122
- tool: Union[dict[str, Any], type[BaseModel], Callable, BaseTool],
123
- ) -> dict[str, Any]:
124
- """Convert a raw function/class to an OpenAI tool.
125
-
126
- Note that OpenAI assistants supports several built-in tools,
127
- such as "code_interpreter" and "file_search".
128
- """
129
- if _is_assistants_builtin_tool(tool):
130
- return tool # type: ignore[return-value]
131
- return convert_to_openai_tool(tool)
132
-
133
-
134
- OutputType = Union[
135
- list[OpenAIAssistantAction],
136
- OpenAIAssistantFinish,
137
- list["ThreadMessage"],
138
- list["RequiredActionFunctionToolCall"],
139
- ]
140
-
141
-
142
- class OpenAIAssistantRunnable(RunnableSerializable[dict, OutputType]):
143
- """Run an OpenAI Assistant.
144
-
145
- Example using OpenAI tools:
146
- .. code-block:: python
147
-
148
- from langchain_experimental.openai_assistant import OpenAIAssistantRunnable
149
-
150
- interpreter_assistant = OpenAIAssistantRunnable.create_assistant(
151
- name="langchain assistant",
152
- instructions="You are a personal math tutor. Write and run code to answer math questions.",
153
- tools=[{"type": "code_interpreter"}],
154
- model="gpt-4-1106-preview"
155
- )
156
- output = interpreter_assistant.invoke({"content": "What's 10 - 4 raised to the 2.7"})
157
-
158
- Example using custom tools and AgentExecutor:
159
- .. code-block:: python
160
-
161
- from langchain_experimental.openai_assistant import OpenAIAssistantRunnable
162
- from langchain.agents import AgentExecutor
163
- from langchain.tools import E2BDataAnalysisTool
164
-
165
-
166
- tools = [E2BDataAnalysisTool(api_key="...")]
167
- agent = OpenAIAssistantRunnable.create_assistant(
168
- name="langchain assistant e2b tool",
169
- instructions="You are a personal math tutor. Write and run code to answer math questions.",
170
- tools=tools,
171
- model="gpt-4-1106-preview",
172
- as_agent=True
173
- )
174
-
175
- agent_executor = AgentExecutor(agent=agent, tools=tools)
176
- agent_executor.invoke({"content": "What's 10 - 4 raised to the 2.7"})
177
-
178
-
179
- Example using custom tools and custom execution:
180
- .. code-block:: python
181
-
182
- from langchain_experimental.openai_assistant import OpenAIAssistantRunnable
183
- from langchain.agents import AgentExecutor
184
- from langchain_core.agents import AgentFinish
185
- from langchain.tools import E2BDataAnalysisTool
186
-
187
-
188
- tools = [E2BDataAnalysisTool(api_key="...")]
189
- agent = OpenAIAssistantRunnable.create_assistant(
190
- name="langchain assistant e2b tool",
191
- instructions="You are a personal math tutor. Write and run code to answer math questions.",
192
- tools=tools,
193
- model="gpt-4-1106-preview",
194
- as_agent=True
195
- )
196
-
197
- def execute_agent(agent, tools, input):
198
- tool_map = {tool.name: tool for tool in tools}
199
- response = agent.invoke(input)
200
- while not isinstance(response, AgentFinish):
201
- tool_outputs = []
202
- for action in response:
203
- tool_output = tool_map[action.tool].invoke(action.tool_input)
204
- tool_outputs.append({"output": tool_output, "tool_call_id": action.tool_call_id})
205
- response = agent.invoke(
206
- {
207
- "tool_outputs": tool_outputs,
208
- "run_id": action.run_id,
209
- "thread_id": action.thread_id
210
- }
211
- )
212
-
213
- return response
214
-
215
- response = execute_agent(agent, tools, {"content": "What's 10 - 4 raised to the 2.7"})
216
- next_response = execute_agent(agent, tools, {"content": "now add 17.241", "thread_id": response.thread_id})
217
-
218
- """ # noqa: E501
219
-
220
- client: Any = Field(default_factory=_get_openai_client)
221
- """OpenAI or AzureOpenAI client."""
222
- async_client: Any = None
223
- """OpenAI or AzureOpenAI async client."""
224
- assistant_id: str
225
- """OpenAI assistant id."""
226
- check_every_ms: float = 1_000.0
227
- """Frequency with which to check run progress in ms."""
228
- as_agent: bool = False
229
- """Use as a LangChain agent, compatible with the AgentExecutor."""
230
-
231
- @model_validator(mode="after")
232
- def _validate_async_client(self) -> Self:
233
- if self.async_client is None:
234
- import openai
235
-
236
- api_key = self.client.api_key
237
- self.async_client = openai.AsyncOpenAI(api_key=api_key)
238
- return self
239
-
240
- @classmethod
241
- def create_assistant(
242
- cls,
243
- name: str,
244
- instructions: str,
245
- tools: Sequence[Union[BaseTool, dict]],
246
- model: str,
247
- *,
248
- client: Optional[Union[openai.OpenAI, openai.AzureOpenAI]] = None,
249
- **kwargs: Any,
250
- ) -> OpenAIAssistantRunnable:
251
- """Create an OpenAI Assistant and instantiate the Runnable.
252
-
253
- Args:
254
- name: Assistant name.
255
- instructions: Assistant instructions.
256
- tools: Assistant tools. Can be passed in OpenAI format or as BaseTools.
257
- model: Assistant model to use.
258
- client: OpenAI or AzureOpenAI client.
259
- Will create a default OpenAI client if not specified.
260
- kwargs: Additional arguments.
261
-
262
- Returns:
263
- OpenAIAssistantRunnable configured to run using the created assistant.
264
- """
265
- client = client or _get_openai_client()
266
- assistant = client.beta.assistants.create(
267
- name=name,
268
- instructions=instructions,
269
- tools=[_get_assistants_tool(tool) for tool in tools], # type: ignore[misc]
270
- model=model,
271
- )
272
- return cls(assistant_id=assistant.id, client=client, **kwargs)
273
-
274
- @override
275
- def invoke(
276
- self,
277
- input: dict,
278
- config: Optional[RunnableConfig] = None,
279
- **kwargs: Any,
280
- ) -> OutputType:
281
- """Invoke assistant.
282
-
283
- Args:
284
- input: Runnable input dict that can have:
285
- content: User message when starting a new run.
286
- thread_id: Existing thread to use.
287
- run_id: Existing run to use. Should only be supplied when providing
288
- the tool output for a required action after an initial invocation.
289
- message_metadata: Metadata to associate with new message.
290
- thread_metadata: Metadata to associate with new thread. Only relevant
291
- when new thread being created.
292
- instructions: Additional run instructions.
293
- model: Override Assistant model for this run.
294
- tools: Override Assistant tools for this run.
295
- parallel_tool_calls: Allow Assistant to set parallel_tool_calls
296
- for this run.
297
- top_p: Override Assistant top_p for this run.
298
- temperature: Override Assistant temperature for this run.
299
- max_completion_tokens: Allow setting max_completion_tokens for this run.
300
- max_prompt_tokens: Allow setting max_prompt_tokens for this run.
301
- run_metadata: Metadata to associate with new run.
302
- attachments: A list of files attached to the message, and the
303
- tools they should be added to.
304
- config: Runnable config. Defaults to None.
305
-
306
- Return:
307
- If self.as_agent, will return
308
- Union[List[OpenAIAssistantAction], OpenAIAssistantFinish].
309
- Otherwise, will return OpenAI types
310
- Union[List[ThreadMessage], List[RequiredActionFunctionToolCall]].
311
- """
312
-
313
- config = ensure_config(config)
314
- callback_manager = CallbackManager.configure(
315
- inheritable_callbacks=config.get("callbacks"),
316
- inheritable_tags=config.get("tags"),
317
- inheritable_metadata=config.get("metadata"),
318
- )
319
- run_manager = callback_manager.on_chain_start(
320
- dumpd(self),
321
- input,
322
- name=config.get("run_name") or self.get_name(),
323
- )
324
- try:
325
- # Being run within AgentExecutor and there are tool outputs to submit.
326
- if self.as_agent and input.get("intermediate_steps"):
327
- tool_outputs = self._parse_intermediate_steps(
328
- input["intermediate_steps"],
329
- )
330
- run = self.client.beta.threads.runs.submit_tool_outputs(**tool_outputs)
331
- # Starting a new thread and a new run.
332
- elif "thread_id" not in input:
333
- thread = {
334
- "messages": [
335
- {
336
- "role": "user",
337
- "content": input["content"],
338
- "metadata": input.get("message_metadata"),
339
- "attachments": input.get("attachments"),
340
- },
341
- ],
342
- "metadata": input.get("thread_metadata"),
343
- }
344
- run = self._create_thread_and_run(input, thread)
345
- # Starting a new run in an existing thread.
346
- elif "run_id" not in input:
347
- _ = self.client.beta.threads.messages.create(
348
- input["thread_id"],
349
- content=input["content"],
350
- role="user",
351
- metadata=input.get("message_metadata"),
352
- )
353
- run = self._create_run(input)
354
- # Submitting tool outputs to an existing run, outside the AgentExecutor
355
- # framework.
356
- else:
357
- run = self.client.beta.threads.runs.submit_tool_outputs(**input)
358
- run = self._wait_for_run(run.id, run.thread_id)
359
- except BaseException as e:
360
- run_manager.on_chain_error(e)
361
- raise
362
- try:
363
- response = self._get_response(run)
364
- except BaseException as e:
365
- run_manager.on_chain_error(e, metadata=run.dict())
366
- raise
367
- else:
368
- run_manager.on_chain_end(response)
369
- return response
370
-
371
- @classmethod
372
- async def acreate_assistant(
373
- cls,
374
- name: str,
375
- instructions: str,
376
- tools: Sequence[Union[BaseTool, dict]],
377
- model: str,
378
- *,
379
- async_client: Optional[
380
- Union[openai.AsyncOpenAI, openai.AsyncAzureOpenAI]
381
- ] = None,
382
- **kwargs: Any,
383
- ) -> OpenAIAssistantRunnable:
384
- """Async create an AsyncOpenAI Assistant and instantiate the Runnable.
385
-
386
- Args:
387
- name: Assistant name.
388
- instructions: Assistant instructions.
389
- tools: Assistant tools. Can be passed in OpenAI format or as BaseTools.
390
- model: Assistant model to use.
391
- async_client: AsyncOpenAI client.
392
- Will create default async_client if not specified.
393
-
394
- Returns:
395
- AsyncOpenAIAssistantRunnable configured to run using the created assistant.
396
- """
397
- async_client = async_client or _get_openai_async_client()
398
- openai_tools = [_get_assistants_tool(tool) for tool in tools]
399
- assistant = await async_client.beta.assistants.create(
400
- name=name,
401
- instructions=instructions,
402
- tools=openai_tools, # type: ignore[arg-type]
403
- model=model,
404
- )
405
- return cls(assistant_id=assistant.id, async_client=async_client, **kwargs)
406
-
407
- @override
408
- async def ainvoke(
409
- self,
410
- input: dict,
411
- config: Optional[RunnableConfig] = None,
412
- **kwargs: Any,
413
- ) -> OutputType:
414
- """Async invoke assistant.
415
-
416
- Args:
417
- input: Runnable input dict that can have:
418
- content: User message when starting a new run.
419
- thread_id: Existing thread to use.
420
- run_id: Existing run to use. Should only be supplied when providing
421
- the tool output for a required action after an initial invocation.
422
- message_metadata: Metadata to associate with a new message.
423
- thread_metadata: Metadata to associate with new thread. Only relevant
424
- when a new thread is created.
425
- instructions: Overrides the instructions of the assistant.
426
- additional_instructions: Appends additional instructions.
427
- model: Override Assistant model for this run.
428
- tools: Override Assistant tools for this run.
429
- parallel_tool_calls: Allow Assistant to set parallel_tool_calls
430
- for this run.
431
- top_p: Override Assistant top_p for this run.
432
- temperature: Override Assistant temperature for this run.
433
- max_completion_tokens: Allow setting max_completion_tokens for this run.
434
- max_prompt_tokens: Allow setting max_prompt_tokens for this run.
435
- run_metadata: Metadata to associate with new run.
436
- config: Runnable config. Defaults to None.
437
- kwargs: Additional arguments.
438
-
439
- Return:
440
- If self.as_agent, will return
441
- Union[List[OpenAIAssistantAction], OpenAIAssistantFinish].
442
- Otherwise, will return OpenAI types
443
- Union[List[ThreadMessage], List[RequiredActionFunctionToolCall]].
444
- """
445
-
446
- config = config or {}
447
- callback_manager = CallbackManager.configure(
448
- inheritable_callbacks=config.get("callbacks"),
449
- inheritable_tags=config.get("tags"),
450
- inheritable_metadata=config.get("metadata"),
451
- )
452
- run_manager = callback_manager.on_chain_start(
453
- dumpd(self),
454
- input,
455
- name=config.get("run_name") or self.get_name(),
456
- )
457
- try:
458
- # Being run within AgentExecutor and there are tool outputs to submit.
459
- if self.as_agent and input.get("intermediate_steps"):
460
- tool_outputs = await self._aparse_intermediate_steps(
461
- input["intermediate_steps"],
462
- )
463
- run = await self.async_client.beta.threads.runs.submit_tool_outputs(
464
- **tool_outputs,
465
- )
466
- # Starting a new thread and a new run.
467
- elif "thread_id" not in input:
468
- thread = {
469
- "messages": [
470
- {
471
- "role": "user",
472
- "content": input["content"],
473
- "metadata": input.get("message_metadata"),
474
- },
475
- ],
476
- "metadata": input.get("thread_metadata"),
477
- }
478
- run = await self._acreate_thread_and_run(input, thread)
479
- # Starting a new run in an existing thread.
480
- elif "run_id" not in input:
481
- _ = await self.async_client.beta.threads.messages.create(
482
- input["thread_id"],
483
- content=input["content"],
484
- role="user",
485
- metadata=input.get("message_metadata"),
486
- )
487
- run = await self._acreate_run(input)
488
- # Submitting tool outputs to an existing run, outside the AgentExecutor
489
- # framework.
490
- else:
491
- run = await self.async_client.beta.threads.runs.submit_tool_outputs(
492
- **input,
493
- )
494
- run = await self._await_for_run(run.id, run.thread_id)
495
- except BaseException as e:
496
- run_manager.on_chain_error(e)
497
- raise
498
- try:
499
- response = self._get_response(run)
500
- except BaseException as e:
501
- run_manager.on_chain_error(e, metadata=run.dict())
502
- raise
503
- else:
504
- run_manager.on_chain_end(response)
505
- return response
506
-
507
- def _parse_intermediate_steps(
508
- self,
509
- intermediate_steps: list[tuple[OpenAIAssistantAction, str]],
510
- ) -> dict:
511
- last_action, last_output = intermediate_steps[-1]
512
- run = self._wait_for_run(last_action.run_id, last_action.thread_id)
513
- required_tool_call_ids = set()
514
- if run.required_action:
515
- required_tool_call_ids = {
516
- tc.id for tc in run.required_action.submit_tool_outputs.tool_calls
517
- }
518
- tool_outputs = [
519
- {"output": str(output), "tool_call_id": action.tool_call_id}
520
- for action, output in intermediate_steps
521
- if action.tool_call_id in required_tool_call_ids
522
- ]
523
- return {
524
- "tool_outputs": tool_outputs,
525
- "run_id": last_action.run_id,
526
- "thread_id": last_action.thread_id,
527
- }
528
-
529
- def _create_run(self, input_dict: dict) -> Any:
530
- params = {
531
- k: v
532
- for k, v in input_dict.items()
533
- if k
534
- in (
535
- "instructions",
536
- "model",
537
- "tools",
538
- "additional_instructions",
539
- "parallel_tool_calls",
540
- "top_p",
541
- "temperature",
542
- "max_completion_tokens",
543
- "max_prompt_tokens",
544
- "run_metadata",
545
- )
546
- }
547
- return self.client.beta.threads.runs.create(
548
- input_dict["thread_id"],
549
- assistant_id=self.assistant_id,
550
- **params,
551
- )
552
-
553
- def _create_thread_and_run(self, input_dict: dict, thread: dict) -> Any:
554
- params = {
555
- k: v
556
- for k, v in input_dict.items()
557
- if k
558
- in (
559
- "instructions",
560
- "model",
561
- "tools",
562
- "parallel_tool_calls",
563
- "top_p",
564
- "temperature",
565
- "max_completion_tokens",
566
- "max_prompt_tokens",
567
- "run_metadata",
568
- )
569
- }
570
- return self.client.beta.threads.create_and_run(
571
- assistant_id=self.assistant_id,
572
- thread=thread,
573
- **params,
574
- )
575
-
576
- def _get_response(self, run: Any) -> Any:
577
- # TODO: Pagination
578
-
579
- if run.status == "completed":
580
- import openai
581
-
582
- major_version = int(openai.version.VERSION.split(".")[0])
583
- minor_version = int(openai.version.VERSION.split(".")[1])
584
- version_gte_1_14 = (major_version > 1) or (
585
- major_version == 1 and minor_version >= 14 # noqa: PLR2004
586
- )
587
-
588
- messages = self.client.beta.threads.messages.list(
589
- run.thread_id,
590
- order="asc",
591
- )
592
- new_messages = [msg for msg in messages if msg.run_id == run.id]
593
- if not self.as_agent:
594
- return new_messages
595
- answer: Any = [
596
- msg_content for msg in new_messages for msg_content in msg.content
597
- ]
598
- attachments = [
599
- attachment for msg in new_messages for attachment in msg.attachments
600
- ]
601
- if all(
602
- (
603
- isinstance(content, openai.types.beta.threads.TextContentBlock)
604
- if version_gte_1_14
605
- else isinstance(
606
- content,
607
- openai.types.beta.threads.MessageContentText, # type: ignore[attr-defined]
608
- )
609
- )
610
- for content in answer
611
- ):
612
- answer = "\n".join(content.text.value for content in answer)
613
- return OpenAIAssistantFinish(
614
- return_values={
615
- "output": answer,
616
- "thread_id": run.thread_id,
617
- "run_id": run.id,
618
- "attachments": attachments,
619
- },
620
- log="",
621
- run_id=run.id,
622
- thread_id=run.thread_id,
623
- )
624
- if run.status == "requires_action":
625
- if not self.as_agent:
626
- return run.required_action.submit_tool_outputs.tool_calls
627
- actions = []
628
- for tool_call in run.required_action.submit_tool_outputs.tool_calls:
629
- function = tool_call.function
630
- try:
631
- args = json.loads(function.arguments, strict=False)
632
- except JSONDecodeError as e:
633
- msg = (
634
- f"Received invalid JSON function arguments: "
635
- f"{function.arguments} for function {function.name}"
636
- )
637
- raise ValueError(msg) from e
638
- if len(args) == 1 and "__arg1" in args:
639
- args = args["__arg1"]
640
- actions.append(
641
- OpenAIAssistantAction(
642
- tool=function.name,
643
- tool_input=args,
644
- tool_call_id=tool_call.id,
645
- log="",
646
- run_id=run.id,
647
- thread_id=run.thread_id,
648
- ),
649
- )
650
- return actions
651
- run_info = json.dumps(run.dict(), indent=2)
652
- msg = f"Unexpected run status: {run.status}. Full run info:\n\n{run_info}"
653
- raise ValueError(msg)
654
-
655
- def _wait_for_run(self, run_id: str, thread_id: str) -> Any:
656
- in_progress = True
657
- while in_progress:
658
- run = self.client.beta.threads.runs.retrieve(run_id, thread_id=thread_id)
659
- in_progress = run.status in ("in_progress", "queued")
660
- if in_progress:
661
- sleep(self.check_every_ms / 1000)
662
- return run
663
-
664
- async def _aparse_intermediate_steps(
665
- self,
666
- intermediate_steps: list[tuple[OpenAIAssistantAction, str]],
667
- ) -> dict:
668
- last_action, last_output = intermediate_steps[-1]
669
- run = self._wait_for_run(last_action.run_id, last_action.thread_id)
670
- required_tool_call_ids = set()
671
- if run.required_action:
672
- required_tool_call_ids = {
673
- tc.id for tc in run.required_action.submit_tool_outputs.tool_calls
674
- }
675
- tool_outputs = [
676
- {"output": str(output), "tool_call_id": action.tool_call_id}
677
- for action, output in intermediate_steps
678
- if action.tool_call_id in required_tool_call_ids
679
- ]
680
- return {
681
- "tool_outputs": tool_outputs,
682
- "run_id": last_action.run_id,
683
- "thread_id": last_action.thread_id,
684
- }
685
-
686
- async def _acreate_run(self, input_dict: dict) -> Any:
687
- params = {
688
- k: v
689
- for k, v in input_dict.items()
690
- if k
691
- in (
692
- "instructions",
693
- "model",
694
- "tools",
695
- "additional_instructions",
696
- "parallel_tool_calls",
697
- "top_p",
698
- "temperature",
699
- "max_completion_tokens",
700
- "max_prompt_tokens",
701
- "run_metadata",
702
- )
703
- }
704
- return await self.async_client.beta.threads.runs.create(
705
- input_dict["thread_id"],
706
- assistant_id=self.assistant_id,
707
- **params,
708
- )
709
-
710
- async def _acreate_thread_and_run(self, input_dict: dict, thread: dict) -> Any:
711
- params = {
712
- k: v
713
- for k, v in input_dict.items()
714
- if k
715
- in (
716
- "instructions",
717
- "model",
718
- "tools",
719
- "parallel_tool_calls",
720
- "top_p",
721
- "temperature",
722
- "max_completion_tokens",
723
- "max_prompt_tokens",
724
- "run_metadata",
725
- )
726
- }
727
- return await self.async_client.beta.threads.create_and_run(
728
- assistant_id=self.assistant_id,
729
- thread=thread,
730
- **params,
731
- )
732
-
733
- async def _aget_response(self, run: Any) -> Any:
734
- # TODO: Pagination
735
-
736
- if run.status == "completed":
737
- import openai
738
-
739
- major_version = int(openai.version.VERSION.split(".")[0])
740
- minor_version = int(openai.version.VERSION.split(".")[1])
741
- version_gte_1_14 = (major_version > 1) or (
742
- major_version == 1 and minor_version >= 14 # noqa: PLR2004
743
- )
744
-
745
- messages = await self.async_client.beta.threads.messages.list(
746
- run.thread_id,
747
- order="asc",
748
- )
749
- new_messages = [msg for msg in messages if msg.run_id == run.id]
750
- if not self.as_agent:
751
- return new_messages
752
- answer: Any = [
753
- msg_content for msg in new_messages for msg_content in msg.content
754
- ]
755
- if all(
756
- (
757
- isinstance(content, openai.types.beta.threads.TextContentBlock)
758
- if version_gte_1_14
759
- else isinstance(
760
- content,
761
- openai.types.beta.threads.MessageContentText, # type: ignore[attr-defined]
762
- )
763
- )
764
- for content in answer
765
- ):
766
- answer = "\n".join(content.text.value for content in answer)
767
- return OpenAIAssistantFinish(
768
- return_values={
769
- "output": answer,
770
- "thread_id": run.thread_id,
771
- "run_id": run.id,
772
- },
773
- log="",
774
- run_id=run.id,
775
- thread_id=run.thread_id,
776
- )
777
- if run.status == "requires_action":
778
- if not self.as_agent:
779
- return run.required_action.submit_tool_outputs.tool_calls
780
- actions = []
781
- for tool_call in run.required_action.submit_tool_outputs.tool_calls:
782
- function = tool_call.function
783
- try:
784
- args = json.loads(function.arguments, strict=False)
785
- except JSONDecodeError as e:
786
- msg = (
787
- f"Received invalid JSON function arguments: "
788
- f"{function.arguments} for function {function.name}"
789
- )
790
- raise ValueError(msg) from e
791
- if len(args) == 1 and "__arg1" in args:
792
- args = args["__arg1"]
793
- actions.append(
794
- OpenAIAssistantAction(
795
- tool=function.name,
796
- tool_input=args,
797
- tool_call_id=tool_call.id,
798
- log="",
799
- run_id=run.id,
800
- thread_id=run.thread_id,
801
- ),
802
- )
803
- return actions
804
- run_info = json.dumps(run.dict(), indent=2)
805
- msg = f"Unexpected run status: {run.status}. Full run info:\n\n{run_info}"
806
- raise ValueError(msg)
807
-
808
- async def _await_for_run(self, run_id: str, thread_id: str) -> Any:
809
- in_progress = True
810
- while in_progress:
811
- run = await self.async_client.beta.threads.runs.retrieve(
812
- run_id,
813
- thread_id=thread_id,
814
- )
815
- in_progress = run.status in ("in_progress", "queued")
816
- if in_progress:
817
- await asyncio.sleep(self.check_every_ms / 1000)
818
- return run