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

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

Potentially problematic release.


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

Files changed (1350) hide show
  1. langchain/__init__.py +7 -434
  2. langchain/_internal/_documents.py +35 -0
  3. langchain/_internal/_lazy_import.py +36 -0
  4. langchain/_internal/_prompts.py +165 -0
  5. langchain/_internal/_typing.py +70 -0
  6. langchain/_internal/_utils.py +7 -0
  7. langchain/agents/__init__.py +5 -179
  8. langchain/agents/_internal/__init__.py +1 -0
  9. langchain/agents/_internal/_typing.py +13 -0
  10. langchain/agents/interrupt.py +92 -0
  11. langchain/agents/react_agent.py +1175 -0
  12. langchain/agents/structured_output.py +403 -0
  13. langchain/agents/tool_node.py +1174 -0
  14. langchain/chat_models/__init__.py +2 -75
  15. langchain/chat_models/base.py +133 -166
  16. langchain/{docstore/document.py → documents/__init__.py} +3 -1
  17. langchain/embeddings/__init__.py +2 -218
  18. langchain/embeddings/base.py +8 -13
  19. langchain/embeddings/cache.py +19 -22
  20. langchain/globals.py +4 -166
  21. langchain/storage/__init__.py +0 -35
  22. langchain/storage/encoder_backed.py +10 -19
  23. langchain/tools/__init__.py +8 -201
  24. {langchain-0.3.27.dist-info → langchain-1.0.0a1.dist-info}/METADATA +12 -28
  25. langchain-1.0.0a1.dist-info/RECORD +33 -0
  26. langchain/_api/__init__.py +0 -28
  27. langchain/_api/deprecation.py +0 -32
  28. langchain/_api/interactive_env.py +0 -5
  29. langchain/_api/module_import.py +0 -153
  30. langchain/_api/path.py +0 -3
  31. langchain/adapters/openai.py +0 -63
  32. langchain/agents/agent.py +0 -1828
  33. langchain/agents/agent_iterator.py +0 -431
  34. langchain/agents/agent_toolkits/__init__.py +0 -167
  35. langchain/agents/agent_toolkits/ainetwork/__init__.py +0 -1
  36. langchain/agents/agent_toolkits/ainetwork/toolkit.py +0 -25
  37. langchain/agents/agent_toolkits/amadeus/toolkit.py +0 -23
  38. langchain/agents/agent_toolkits/azure_cognitive_services.py +0 -29
  39. langchain/agents/agent_toolkits/base.py +0 -3
  40. langchain/agents/agent_toolkits/clickup/__init__.py +0 -0
  41. langchain/agents/agent_toolkits/clickup/toolkit.py +0 -25
  42. langchain/agents/agent_toolkits/conversational_retrieval/__init__.py +0 -0
  43. langchain/agents/agent_toolkits/conversational_retrieval/openai_functions.py +0 -87
  44. langchain/agents/agent_toolkits/conversational_retrieval/tool.py +0 -3
  45. langchain/agents/agent_toolkits/csv/__init__.py +0 -28
  46. langchain/agents/agent_toolkits/file_management/__init__.py +0 -31
  47. langchain/agents/agent_toolkits/file_management/toolkit.py +0 -29
  48. langchain/agents/agent_toolkits/github/__init__.py +0 -1
  49. langchain/agents/agent_toolkits/github/toolkit.py +0 -69
  50. langchain/agents/agent_toolkits/gitlab/__init__.py +0 -1
  51. langchain/agents/agent_toolkits/gitlab/toolkit.py +0 -25
  52. langchain/agents/agent_toolkits/gmail/__init__.py +0 -1
  53. langchain/agents/agent_toolkits/gmail/toolkit.py +0 -23
  54. langchain/agents/agent_toolkits/jira/__init__.py +0 -1
  55. langchain/agents/agent_toolkits/jira/toolkit.py +0 -23
  56. langchain/agents/agent_toolkits/json/__init__.py +0 -1
  57. langchain/agents/agent_toolkits/json/base.py +0 -25
  58. langchain/agents/agent_toolkits/json/prompt.py +0 -24
  59. langchain/agents/agent_toolkits/json/toolkit.py +0 -23
  60. langchain/agents/agent_toolkits/multion/__init__.py +0 -1
  61. langchain/agents/agent_toolkits/multion/toolkit.py +0 -25
  62. langchain/agents/agent_toolkits/nasa/__init__.py +0 -1
  63. langchain/agents/agent_toolkits/nasa/toolkit.py +0 -23
  64. langchain/agents/agent_toolkits/nla/__init__.py +0 -0
  65. langchain/agents/agent_toolkits/nla/tool.py +0 -23
  66. langchain/agents/agent_toolkits/nla/toolkit.py +0 -23
  67. langchain/agents/agent_toolkits/office365/__init__.py +0 -1
  68. langchain/agents/agent_toolkits/office365/toolkit.py +0 -25
  69. langchain/agents/agent_toolkits/openapi/__init__.py +0 -1
  70. langchain/agents/agent_toolkits/openapi/base.py +0 -25
  71. langchain/agents/agent_toolkits/openapi/planner.py +0 -52
  72. langchain/agents/agent_toolkits/openapi/planner_prompt.py +0 -103
  73. langchain/agents/agent_toolkits/openapi/prompt.py +0 -29
  74. langchain/agents/agent_toolkits/openapi/spec.py +0 -30
  75. langchain/agents/agent_toolkits/openapi/toolkit.py +0 -30
  76. langchain/agents/agent_toolkits/pandas/__init__.py +0 -28
  77. langchain/agents/agent_toolkits/playwright/__init__.py +0 -29
  78. langchain/agents/agent_toolkits/playwright/toolkit.py +0 -27
  79. langchain/agents/agent_toolkits/powerbi/__init__.py +0 -1
  80. langchain/agents/agent_toolkits/powerbi/base.py +0 -25
  81. langchain/agents/agent_toolkits/powerbi/chat_base.py +0 -27
  82. langchain/agents/agent_toolkits/powerbi/prompt.py +0 -36
  83. langchain/agents/agent_toolkits/powerbi/toolkit.py +0 -25
  84. langchain/agents/agent_toolkits/python/__init__.py +0 -28
  85. langchain/agents/agent_toolkits/slack/__init__.py +0 -1
  86. langchain/agents/agent_toolkits/slack/toolkit.py +0 -23
  87. langchain/agents/agent_toolkits/spark/__init__.py +0 -28
  88. langchain/agents/agent_toolkits/spark_sql/__init__.py +0 -1
  89. langchain/agents/agent_toolkits/spark_sql/base.py +0 -25
  90. langchain/agents/agent_toolkits/spark_sql/prompt.py +0 -27
  91. langchain/agents/agent_toolkits/spark_sql/toolkit.py +0 -25
  92. langchain/agents/agent_toolkits/sql/__init__.py +0 -1
  93. langchain/agents/agent_toolkits/sql/base.py +0 -23
  94. langchain/agents/agent_toolkits/sql/prompt.py +0 -29
  95. langchain/agents/agent_toolkits/sql/toolkit.py +0 -25
  96. langchain/agents/agent_toolkits/steam/__init__.py +0 -1
  97. langchain/agents/agent_toolkits/steam/toolkit.py +0 -23
  98. langchain/agents/agent_toolkits/vectorstore/__init__.py +0 -1
  99. langchain/agents/agent_toolkits/vectorstore/base.py +0 -217
  100. langchain/agents/agent_toolkits/vectorstore/prompt.py +0 -11
  101. langchain/agents/agent_toolkits/vectorstore/toolkit.py +0 -97
  102. langchain/agents/agent_toolkits/xorbits/__init__.py +0 -28
  103. langchain/agents/agent_toolkits/zapier/__init__.py +0 -1
  104. langchain/agents/agent_toolkits/zapier/toolkit.py +0 -25
  105. langchain/agents/agent_types.py +0 -57
  106. langchain/agents/chat/__init__.py +0 -0
  107. langchain/agents/chat/base.py +0 -178
  108. langchain/agents/chat/output_parser.py +0 -74
  109. langchain/agents/chat/prompt.py +0 -29
  110. langchain/agents/conversational/__init__.py +0 -1
  111. langchain/agents/conversational/base.py +0 -176
  112. langchain/agents/conversational/output_parser.py +0 -51
  113. langchain/agents/conversational/prompt.py +0 -35
  114. langchain/agents/conversational_chat/__init__.py +0 -1
  115. langchain/agents/conversational_chat/base.py +0 -181
  116. langchain/agents/conversational_chat/output_parser.py +0 -57
  117. langchain/agents/conversational_chat/prompt.py +0 -56
  118. langchain/agents/format_scratchpad/__init__.py +0 -25
  119. langchain/agents/format_scratchpad/log.py +0 -25
  120. langchain/agents/format_scratchpad/log_to_messages.py +0 -26
  121. langchain/agents/format_scratchpad/openai_functions.py +0 -80
  122. langchain/agents/format_scratchpad/openai_tools.py +0 -5
  123. langchain/agents/format_scratchpad/tools.py +0 -65
  124. langchain/agents/format_scratchpad/xml.py +0 -52
  125. langchain/agents/initialize.py +0 -105
  126. langchain/agents/json_chat/__init__.py +0 -0
  127. langchain/agents/json_chat/base.py +0 -195
  128. langchain/agents/json_chat/prompt.py +0 -8
  129. langchain/agents/load_tools.py +0 -13
  130. langchain/agents/loading.py +0 -148
  131. langchain/agents/mrkl/__init__.py +0 -1
  132. langchain/agents/mrkl/base.py +0 -216
  133. langchain/agents/mrkl/output_parser.py +0 -103
  134. langchain/agents/mrkl/prompt.py +0 -15
  135. langchain/agents/openai_assistant/__init__.py +0 -3
  136. langchain/agents/openai_assistant/base.py +0 -818
  137. langchain/agents/openai_functions_agent/__init__.py +0 -0
  138. langchain/agents/openai_functions_agent/agent_token_buffer_memory.py +0 -101
  139. langchain/agents/openai_functions_agent/base.py +0 -381
  140. langchain/agents/openai_functions_multi_agent/__init__.py +0 -0
  141. langchain/agents/openai_functions_multi_agent/base.py +0 -337
  142. langchain/agents/openai_tools/__init__.py +0 -0
  143. langchain/agents/openai_tools/base.py +0 -108
  144. langchain/agents/output_parsers/__init__.py +0 -35
  145. langchain/agents/output_parsers/json.py +0 -62
  146. langchain/agents/output_parsers/openai_functions.py +0 -96
  147. langchain/agents/output_parsers/openai_tools.py +0 -70
  148. langchain/agents/output_parsers/react_json_single_input.py +0 -84
  149. langchain/agents/output_parsers/react_single_input.py +0 -99
  150. langchain/agents/output_parsers/self_ask.py +0 -51
  151. langchain/agents/output_parsers/tools.py +0 -107
  152. langchain/agents/output_parsers/xml.py +0 -123
  153. langchain/agents/react/__init__.py +0 -1
  154. langchain/agents/react/agent.py +0 -144
  155. langchain/agents/react/base.py +0 -185
  156. langchain/agents/react/output_parser.py +0 -33
  157. langchain/agents/react/textworld_prompt.py +0 -51
  158. langchain/agents/react/wiki_prompt.py +0 -70
  159. langchain/agents/schema.py +0 -35
  160. langchain/agents/self_ask_with_search/__init__.py +0 -4
  161. langchain/agents/self_ask_with_search/base.py +0 -215
  162. langchain/agents/self_ask_with_search/output_parser.py +0 -4
  163. langchain/agents/self_ask_with_search/prompt.py +0 -43
  164. langchain/agents/structured_chat/__init__.py +0 -0
  165. langchain/agents/structured_chat/base.py +0 -304
  166. langchain/agents/structured_chat/output_parser.py +0 -99
  167. langchain/agents/structured_chat/prompt.py +0 -34
  168. langchain/agents/tool_calling_agent/__init__.py +0 -0
  169. langchain/agents/tool_calling_agent/base.py +0 -110
  170. langchain/agents/tools.py +0 -47
  171. langchain/agents/types.py +0 -27
  172. langchain/agents/utils.py +0 -19
  173. langchain/agents/xml/__init__.py +0 -0
  174. langchain/agents/xml/base.py +0 -231
  175. langchain/agents/xml/prompt.py +0 -21
  176. langchain/base_language.py +0 -7
  177. langchain/cache.py +0 -72
  178. langchain/callbacks/__init__.py +0 -139
  179. langchain/callbacks/aim_callback.py +0 -33
  180. langchain/callbacks/argilla_callback.py +0 -25
  181. langchain/callbacks/arize_callback.py +0 -25
  182. langchain/callbacks/arthur_callback.py +0 -25
  183. langchain/callbacks/base.py +0 -29
  184. langchain/callbacks/clearml_callback.py +0 -25
  185. langchain/callbacks/comet_ml_callback.py +0 -25
  186. langchain/callbacks/confident_callback.py +0 -25
  187. langchain/callbacks/context_callback.py +0 -25
  188. langchain/callbacks/file.py +0 -3
  189. langchain/callbacks/flyte_callback.py +0 -25
  190. langchain/callbacks/human.py +0 -33
  191. langchain/callbacks/infino_callback.py +0 -25
  192. langchain/callbacks/labelstudio_callback.py +0 -33
  193. langchain/callbacks/llmonitor_callback.py +0 -27
  194. langchain/callbacks/manager.py +0 -89
  195. langchain/callbacks/mlflow_callback.py +0 -38
  196. langchain/callbacks/openai_info.py +0 -25
  197. langchain/callbacks/promptlayer_callback.py +0 -27
  198. langchain/callbacks/sagemaker_callback.py +0 -27
  199. langchain/callbacks/stdout.py +0 -3
  200. langchain/callbacks/streaming_aiter.py +0 -75
  201. langchain/callbacks/streaming_aiter_final_only.py +0 -91
  202. langchain/callbacks/streaming_stdout.py +0 -5
  203. langchain/callbacks/streaming_stdout_final_only.py +0 -91
  204. langchain/callbacks/streamlit/__init__.py +0 -86
  205. langchain/callbacks/streamlit/mutable_expander.py +0 -33
  206. langchain/callbacks/streamlit/streamlit_callback_handler.py +0 -49
  207. langchain/callbacks/tracers/__init__.py +0 -38
  208. langchain/callbacks/tracers/base.py +0 -6
  209. langchain/callbacks/tracers/comet.py +0 -30
  210. langchain/callbacks/tracers/evaluation.py +0 -8
  211. langchain/callbacks/tracers/langchain.py +0 -8
  212. langchain/callbacks/tracers/langchain_v1.py +0 -3
  213. langchain/callbacks/tracers/log_stream.py +0 -9
  214. langchain/callbacks/tracers/logging.py +0 -46
  215. langchain/callbacks/tracers/root_listeners.py +0 -3
  216. langchain/callbacks/tracers/run_collector.py +0 -3
  217. langchain/callbacks/tracers/schemas.py +0 -27
  218. langchain/callbacks/tracers/stdout.py +0 -6
  219. langchain/callbacks/tracers/wandb.py +0 -27
  220. langchain/callbacks/trubrics_callback.py +0 -25
  221. langchain/callbacks/utils.py +0 -48
  222. langchain/callbacks/wandb_callback.py +0 -25
  223. langchain/callbacks/whylabs_callback.py +0 -25
  224. langchain/chains/__init__.py +0 -96
  225. langchain/chains/api/__init__.py +0 -1
  226. langchain/chains/api/base.py +0 -394
  227. langchain/chains/api/news_docs.py +0 -31
  228. langchain/chains/api/open_meteo_docs.py +0 -32
  229. langchain/chains/api/openapi/__init__.py +0 -0
  230. langchain/chains/api/openapi/chain.py +0 -23
  231. langchain/chains/api/openapi/prompts.py +0 -27
  232. langchain/chains/api/openapi/requests_chain.py +0 -29
  233. langchain/chains/api/openapi/response_chain.py +0 -29
  234. langchain/chains/api/podcast_docs.py +0 -27
  235. langchain/chains/api/prompt.py +0 -35
  236. langchain/chains/api/tmdb_docs.py +0 -36
  237. langchain/chains/base.py +0 -800
  238. langchain/chains/chat_vector_db/__init__.py +0 -0
  239. langchain/chains/chat_vector_db/prompts.py +0 -19
  240. langchain/chains/combine_documents/__init__.py +0 -15
  241. langchain/chains/combine_documents/base.py +0 -287
  242. langchain/chains/combine_documents/map_reduce.py +0 -300
  243. langchain/chains/combine_documents/map_rerank.py +0 -247
  244. langchain/chains/combine_documents/reduce.py +0 -381
  245. langchain/chains/combine_documents/refine.py +0 -236
  246. langchain/chains/combine_documents/stuff.py +0 -288
  247. langchain/chains/constitutional_ai/__init__.py +0 -2
  248. langchain/chains/constitutional_ai/base.py +0 -321
  249. langchain/chains/constitutional_ai/models.py +0 -11
  250. langchain/chains/constitutional_ai/principles.py +0 -278
  251. langchain/chains/constitutional_ai/prompts.py +0 -120
  252. langchain/chains/conversation/__init__.py +0 -1
  253. langchain/chains/conversation/base.py +0 -143
  254. langchain/chains/conversation/memory.py +0 -45
  255. langchain/chains/conversation/prompt.py +0 -28
  256. langchain/chains/conversational_retrieval/__init__.py +0 -1
  257. langchain/chains/conversational_retrieval/base.py +0 -568
  258. langchain/chains/conversational_retrieval/prompts.py +0 -19
  259. langchain/chains/elasticsearch_database/__init__.py +0 -3
  260. langchain/chains/elasticsearch_database/base.py +0 -211
  261. langchain/chains/elasticsearch_database/prompts.py +0 -35
  262. langchain/chains/ernie_functions/__init__.py +0 -44
  263. langchain/chains/ernie_functions/base.py +0 -49
  264. langchain/chains/example_generator.py +0 -22
  265. langchain/chains/flare/__init__.py +0 -1
  266. langchain/chains/flare/base.py +0 -282
  267. langchain/chains/flare/prompts.py +0 -44
  268. langchain/chains/graph_qa/__init__.py +0 -0
  269. langchain/chains/graph_qa/arangodb.py +0 -23
  270. langchain/chains/graph_qa/base.py +0 -23
  271. langchain/chains/graph_qa/cypher.py +0 -39
  272. langchain/chains/graph_qa/cypher_utils.py +0 -27
  273. langchain/chains/graph_qa/falkordb.py +0 -29
  274. langchain/chains/graph_qa/gremlin.py +0 -36
  275. langchain/chains/graph_qa/hugegraph.py +0 -23
  276. langchain/chains/graph_qa/kuzu.py +0 -29
  277. langchain/chains/graph_qa/nebulagraph.py +0 -23
  278. langchain/chains/graph_qa/neptune_cypher.py +0 -39
  279. langchain/chains/graph_qa/neptune_sparql.py +0 -36
  280. langchain/chains/graph_qa/ontotext_graphdb.py +0 -25
  281. langchain/chains/graph_qa/prompts.py +0 -96
  282. langchain/chains/graph_qa/sparql.py +0 -23
  283. langchain/chains/history_aware_retriever.py +0 -68
  284. langchain/chains/hyde/__init__.py +0 -4
  285. langchain/chains/hyde/base.py +0 -124
  286. langchain/chains/hyde/prompts.py +0 -46
  287. langchain/chains/llm.py +0 -442
  288. langchain/chains/llm_bash/__init__.py +0 -10
  289. langchain/chains/llm_checker/__init__.py +0 -4
  290. langchain/chains/llm_checker/base.py +0 -194
  291. langchain/chains/llm_checker/prompt.py +0 -30
  292. langchain/chains/llm_math/__init__.py +0 -4
  293. langchain/chains/llm_math/base.py +0 -311
  294. langchain/chains/llm_math/prompt.py +0 -43
  295. langchain/chains/llm_requests.py +0 -23
  296. langchain/chains/llm_summarization_checker/__init__.py +0 -7
  297. langchain/chains/llm_summarization_checker/base.py +0 -205
  298. langchain/chains/llm_summarization_checker/prompts/are_all_true_prompt.txt +0 -38
  299. langchain/chains/llm_summarization_checker/prompts/check_facts.txt +0 -10
  300. langchain/chains/llm_summarization_checker/prompts/create_facts.txt +0 -10
  301. langchain/chains/llm_summarization_checker/prompts/revise_summary.txt +0 -17
  302. langchain/chains/llm_symbolic_math/__init__.py +0 -10
  303. langchain/chains/loading.py +0 -732
  304. langchain/chains/mapreduce.py +0 -121
  305. langchain/chains/moderation.py +0 -132
  306. langchain/chains/natbot/__init__.py +0 -4
  307. langchain/chains/natbot/base.py +0 -163
  308. langchain/chains/natbot/crawler.py +0 -443
  309. langchain/chains/natbot/prompt.py +0 -143
  310. langchain/chains/openai_functions/__init__.py +0 -44
  311. langchain/chains/openai_functions/base.py +0 -235
  312. langchain/chains/openai_functions/citation_fuzzy_match.py +0 -160
  313. langchain/chains/openai_functions/extraction.py +0 -197
  314. langchain/chains/openai_functions/openapi.py +0 -405
  315. langchain/chains/openai_functions/qa_with_structure.py +0 -142
  316. langchain/chains/openai_functions/tagging.py +0 -172
  317. langchain/chains/openai_functions/utils.py +0 -40
  318. langchain/chains/openai_tools/__init__.py +0 -3
  319. langchain/chains/openai_tools/extraction.py +0 -79
  320. langchain/chains/prompt_selector.py +0 -65
  321. langchain/chains/qa_generation/__init__.py +0 -0
  322. langchain/chains/qa_generation/base.py +0 -124
  323. langchain/chains/qa_generation/prompt.py +0 -50
  324. langchain/chains/qa_with_sources/__init__.py +0 -5
  325. langchain/chains/qa_with_sources/base.py +0 -263
  326. langchain/chains/qa_with_sources/loading.py +0 -209
  327. langchain/chains/qa_with_sources/map_reduce_prompt.py +0 -54
  328. langchain/chains/qa_with_sources/refine_prompts.py +0 -37
  329. langchain/chains/qa_with_sources/retrieval.py +0 -75
  330. langchain/chains/qa_with_sources/stuff_prompt.py +0 -43
  331. langchain/chains/qa_with_sources/vector_db.py +0 -86
  332. langchain/chains/query_constructor/__init__.py +0 -3
  333. langchain/chains/query_constructor/base.py +0 -376
  334. langchain/chains/query_constructor/ir.py +0 -23
  335. langchain/chains/query_constructor/parser.py +0 -210
  336. langchain/chains/query_constructor/prompt.py +0 -226
  337. langchain/chains/query_constructor/schema.py +0 -14
  338. langchain/chains/question_answering/__init__.py +0 -6
  339. langchain/chains/question_answering/chain.py +0 -279
  340. langchain/chains/question_answering/map_reduce_prompt.py +0 -80
  341. langchain/chains/question_answering/map_rerank_prompt.py +0 -66
  342. langchain/chains/question_answering/refine_prompts.py +0 -72
  343. langchain/chains/question_answering/stuff_prompt.py +0 -33
  344. langchain/chains/retrieval.py +0 -67
  345. langchain/chains/retrieval_qa/__init__.py +0 -1
  346. langchain/chains/retrieval_qa/base.py +0 -370
  347. langchain/chains/retrieval_qa/prompt.py +0 -11
  348. langchain/chains/router/__init__.py +0 -12
  349. langchain/chains/router/base.py +0 -142
  350. langchain/chains/router/embedding_router.py +0 -93
  351. langchain/chains/router/llm_router.py +0 -196
  352. langchain/chains/router/multi_prompt.py +0 -181
  353. langchain/chains/router/multi_prompt_prompt.py +0 -32
  354. langchain/chains/router/multi_retrieval_prompt.py +0 -30
  355. langchain/chains/router/multi_retrieval_qa.py +0 -109
  356. langchain/chains/sequential.py +0 -220
  357. langchain/chains/sql_database/__init__.py +0 -1
  358. langchain/chains/sql_database/prompt.py +0 -282
  359. langchain/chains/sql_database/query.py +0 -166
  360. langchain/chains/structured_output/__init__.py +0 -6
  361. langchain/chains/structured_output/base.py +0 -582
  362. langchain/chains/summarize/__init__.py +0 -6
  363. langchain/chains/summarize/chain.py +0 -174
  364. langchain/chains/summarize/map_reduce_prompt.py +0 -10
  365. langchain/chains/summarize/refine_prompts.py +0 -23
  366. langchain/chains/summarize/stuff_prompt.py +0 -10
  367. langchain/chains/transform.py +0 -84
  368. langchain/chat_loaders/__init__.py +0 -19
  369. langchain/chat_loaders/base.py +0 -3
  370. langchain/chat_loaders/facebook_messenger.py +0 -32
  371. langchain/chat_loaders/gmail.py +0 -23
  372. langchain/chat_loaders/imessage.py +0 -23
  373. langchain/chat_loaders/langsmith.py +0 -30
  374. langchain/chat_loaders/slack.py +0 -23
  375. langchain/chat_loaders/telegram.py +0 -23
  376. langchain/chat_loaders/utils.py +0 -36
  377. langchain/chat_loaders/whatsapp.py +0 -23
  378. langchain/chat_models/anthropic.py +0 -30
  379. langchain/chat_models/anyscale.py +0 -23
  380. langchain/chat_models/azure_openai.py +0 -23
  381. langchain/chat_models/azureml_endpoint.py +0 -30
  382. langchain/chat_models/baichuan.py +0 -23
  383. langchain/chat_models/baidu_qianfan_endpoint.py +0 -27
  384. langchain/chat_models/bedrock.py +0 -27
  385. langchain/chat_models/cohere.py +0 -23
  386. langchain/chat_models/databricks.py +0 -23
  387. langchain/chat_models/ernie.py +0 -23
  388. langchain/chat_models/everlyai.py +0 -23
  389. langchain/chat_models/fake.py +0 -30
  390. langchain/chat_models/fireworks.py +0 -23
  391. langchain/chat_models/gigachat.py +0 -23
  392. langchain/chat_models/google_palm.py +0 -30
  393. langchain/chat_models/human.py +0 -23
  394. langchain/chat_models/hunyuan.py +0 -23
  395. langchain/chat_models/javelin_ai_gateway.py +0 -30
  396. langchain/chat_models/jinachat.py +0 -23
  397. langchain/chat_models/konko.py +0 -23
  398. langchain/chat_models/litellm.py +0 -30
  399. langchain/chat_models/meta.py +0 -25
  400. langchain/chat_models/minimax.py +0 -23
  401. langchain/chat_models/mlflow.py +0 -23
  402. langchain/chat_models/mlflow_ai_gateway.py +0 -30
  403. langchain/chat_models/ollama.py +0 -23
  404. langchain/chat_models/openai.py +0 -23
  405. langchain/chat_models/pai_eas_endpoint.py +0 -25
  406. langchain/chat_models/promptlayer_openai.py +0 -25
  407. langchain/chat_models/tongyi.py +0 -23
  408. langchain/chat_models/vertexai.py +0 -23
  409. langchain/chat_models/volcengine_maas.py +0 -30
  410. langchain/chat_models/yandex.py +0 -23
  411. langchain/docstore/__init__.py +0 -48
  412. langchain/docstore/arbitrary_fn.py +0 -23
  413. langchain/docstore/base.py +0 -27
  414. langchain/docstore/in_memory.py +0 -23
  415. langchain/docstore/wikipedia.py +0 -23
  416. langchain/document_loaders/__init__.py +0 -553
  417. langchain/document_loaders/acreom.py +0 -23
  418. langchain/document_loaders/airbyte.py +0 -48
  419. langchain/document_loaders/airbyte_json.py +0 -23
  420. langchain/document_loaders/airtable.py +0 -23
  421. langchain/document_loaders/apify_dataset.py +0 -23
  422. langchain/document_loaders/arcgis_loader.py +0 -23
  423. langchain/document_loaders/arxiv.py +0 -23
  424. langchain/document_loaders/assemblyai.py +0 -28
  425. langchain/document_loaders/async_html.py +0 -23
  426. langchain/document_loaders/azlyrics.py +0 -23
  427. langchain/document_loaders/azure_ai_data.py +0 -23
  428. langchain/document_loaders/azure_blob_storage_container.py +0 -25
  429. langchain/document_loaders/azure_blob_storage_file.py +0 -25
  430. langchain/document_loaders/baiducloud_bos_directory.py +0 -29
  431. langchain/document_loaders/baiducloud_bos_file.py +0 -27
  432. langchain/document_loaders/base.py +0 -3
  433. langchain/document_loaders/base_o365.py +0 -23
  434. langchain/document_loaders/bibtex.py +0 -23
  435. langchain/document_loaders/bigquery.py +0 -23
  436. langchain/document_loaders/bilibili.py +0 -23
  437. langchain/document_loaders/blackboard.py +0 -23
  438. langchain/document_loaders/blob_loaders/__init__.py +0 -36
  439. langchain/document_loaders/blob_loaders/file_system.py +0 -23
  440. langchain/document_loaders/blob_loaders/schema.py +0 -29
  441. langchain/document_loaders/blob_loaders/youtube_audio.py +0 -23
  442. langchain/document_loaders/blockchain.py +0 -28
  443. langchain/document_loaders/brave_search.py +0 -23
  444. langchain/document_loaders/browserless.py +0 -23
  445. langchain/document_loaders/chatgpt.py +0 -28
  446. langchain/document_loaders/chromium.py +0 -23
  447. langchain/document_loaders/college_confidential.py +0 -25
  448. langchain/document_loaders/concurrent.py +0 -23
  449. langchain/document_loaders/confluence.py +0 -28
  450. langchain/document_loaders/conllu.py +0 -23
  451. langchain/document_loaders/couchbase.py +0 -23
  452. langchain/document_loaders/csv_loader.py +0 -27
  453. langchain/document_loaders/cube_semantic.py +0 -23
  454. langchain/document_loaders/datadog_logs.py +0 -23
  455. langchain/document_loaders/dataframe.py +0 -28
  456. langchain/document_loaders/diffbot.py +0 -23
  457. langchain/document_loaders/directory.py +0 -23
  458. langchain/document_loaders/discord.py +0 -23
  459. langchain/document_loaders/docugami.py +0 -23
  460. langchain/document_loaders/docusaurus.py +0 -23
  461. langchain/document_loaders/dropbox.py +0 -23
  462. langchain/document_loaders/duckdb_loader.py +0 -23
  463. langchain/document_loaders/email.py +0 -30
  464. langchain/document_loaders/epub.py +0 -23
  465. langchain/document_loaders/etherscan.py +0 -23
  466. langchain/document_loaders/evernote.py +0 -23
  467. langchain/document_loaders/excel.py +0 -23
  468. langchain/document_loaders/facebook_chat.py +0 -28
  469. langchain/document_loaders/fauna.py +0 -23
  470. langchain/document_loaders/figma.py +0 -23
  471. langchain/document_loaders/gcs_directory.py +0 -23
  472. langchain/document_loaders/gcs_file.py +0 -23
  473. langchain/document_loaders/generic.py +0 -23
  474. langchain/document_loaders/geodataframe.py +0 -23
  475. langchain/document_loaders/git.py +0 -23
  476. langchain/document_loaders/gitbook.py +0 -23
  477. langchain/document_loaders/github.py +0 -28
  478. langchain/document_loaders/google_speech_to_text.py +0 -23
  479. langchain/document_loaders/googledrive.py +0 -23
  480. langchain/document_loaders/gutenberg.py +0 -23
  481. langchain/document_loaders/helpers.py +0 -30
  482. langchain/document_loaders/hn.py +0 -23
  483. langchain/document_loaders/html.py +0 -23
  484. langchain/document_loaders/html_bs.py +0 -23
  485. langchain/document_loaders/hugging_face_dataset.py +0 -23
  486. langchain/document_loaders/ifixit.py +0 -23
  487. langchain/document_loaders/image.py +0 -23
  488. langchain/document_loaders/image_captions.py +0 -23
  489. langchain/document_loaders/imsdb.py +0 -23
  490. langchain/document_loaders/iugu.py +0 -23
  491. langchain/document_loaders/joplin.py +0 -23
  492. langchain/document_loaders/json_loader.py +0 -23
  493. langchain/document_loaders/lakefs.py +0 -33
  494. langchain/document_loaders/larksuite.py +0 -23
  495. langchain/document_loaders/markdown.py +0 -25
  496. langchain/document_loaders/mastodon.py +0 -23
  497. langchain/document_loaders/max_compute.py +0 -23
  498. langchain/document_loaders/mediawikidump.py +0 -23
  499. langchain/document_loaders/merge.py +0 -23
  500. langchain/document_loaders/mhtml.py +0 -23
  501. langchain/document_loaders/modern_treasury.py +0 -23
  502. langchain/document_loaders/mongodb.py +0 -23
  503. langchain/document_loaders/news.py +0 -23
  504. langchain/document_loaders/notebook.py +0 -33
  505. langchain/document_loaders/notion.py +0 -23
  506. langchain/document_loaders/notiondb.py +0 -23
  507. langchain/document_loaders/nuclia.py +0 -23
  508. langchain/document_loaders/obs_directory.py +0 -23
  509. langchain/document_loaders/obs_file.py +0 -23
  510. langchain/document_loaders/obsidian.py +0 -23
  511. langchain/document_loaders/odt.py +0 -23
  512. langchain/document_loaders/onedrive.py +0 -23
  513. langchain/document_loaders/onedrive_file.py +0 -23
  514. langchain/document_loaders/onenote.py +0 -23
  515. langchain/document_loaders/open_city_data.py +0 -23
  516. langchain/document_loaders/org_mode.py +0 -25
  517. langchain/document_loaders/parsers/__init__.py +0 -58
  518. langchain/document_loaders/parsers/audio.py +0 -33
  519. langchain/document_loaders/parsers/docai.py +0 -30
  520. langchain/document_loaders/parsers/generic.py +0 -25
  521. langchain/document_loaders/parsers/grobid.py +0 -30
  522. langchain/document_loaders/parsers/html/__init__.py +0 -25
  523. langchain/document_loaders/parsers/html/bs4.py +0 -25
  524. langchain/document_loaders/parsers/language/__init__.py +0 -29
  525. langchain/document_loaders/parsers/language/cobol.py +0 -27
  526. langchain/document_loaders/parsers/language/code_segmenter.py +0 -29
  527. langchain/document_loaders/parsers/language/javascript.py +0 -29
  528. langchain/document_loaders/parsers/language/language_parser.py +0 -29
  529. langchain/document_loaders/parsers/language/python.py +0 -27
  530. langchain/document_loaders/parsers/msword.py +0 -25
  531. langchain/document_loaders/parsers/pdf.py +0 -50
  532. langchain/document_loaders/parsers/registry.py +0 -25
  533. langchain/document_loaders/parsers/txt.py +0 -23
  534. langchain/document_loaders/pdf.py +0 -65
  535. langchain/document_loaders/polars_dataframe.py +0 -23
  536. langchain/document_loaders/powerpoint.py +0 -25
  537. langchain/document_loaders/psychic.py +0 -23
  538. langchain/document_loaders/pubmed.py +0 -23
  539. langchain/document_loaders/pyspark_dataframe.py +0 -26
  540. langchain/document_loaders/python.py +0 -22
  541. langchain/document_loaders/quip.py +0 -23
  542. langchain/document_loaders/readthedocs.py +0 -23
  543. langchain/document_loaders/recursive_url_loader.py +0 -23
  544. langchain/document_loaders/reddit.py +0 -23
  545. langchain/document_loaders/roam.py +0 -23
  546. langchain/document_loaders/rocksetdb.py +0 -23
  547. langchain/document_loaders/rspace.py +0 -23
  548. langchain/document_loaders/rss.py +0 -23
  549. langchain/document_loaders/rst.py +0 -23
  550. langchain/document_loaders/rtf.py +0 -23
  551. langchain/document_loaders/s3_directory.py +0 -23
  552. langchain/document_loaders/s3_file.py +0 -23
  553. langchain/document_loaders/sharepoint.py +0 -23
  554. langchain/document_loaders/sitemap.py +0 -23
  555. langchain/document_loaders/slack_directory.py +0 -23
  556. langchain/document_loaders/snowflake_loader.py +0 -23
  557. langchain/document_loaders/spreedly.py +0 -23
  558. langchain/document_loaders/srt.py +0 -23
  559. langchain/document_loaders/stripe.py +0 -23
  560. langchain/document_loaders/telegram.py +0 -38
  561. langchain/document_loaders/tencent_cos_directory.py +0 -25
  562. langchain/document_loaders/tencent_cos_file.py +0 -23
  563. langchain/document_loaders/tensorflow_datasets.py +0 -23
  564. langchain/document_loaders/text.py +0 -23
  565. langchain/document_loaders/tomarkdown.py +0 -23
  566. langchain/document_loaders/toml.py +0 -23
  567. langchain/document_loaders/trello.py +0 -23
  568. langchain/document_loaders/tsv.py +0 -23
  569. langchain/document_loaders/twitter.py +0 -23
  570. langchain/document_loaders/unstructured.py +0 -54
  571. langchain/document_loaders/url.py +0 -23
  572. langchain/document_loaders/url_playwright.py +0 -33
  573. langchain/document_loaders/url_selenium.py +0 -23
  574. langchain/document_loaders/weather.py +0 -23
  575. langchain/document_loaders/web_base.py +0 -23
  576. langchain/document_loaders/whatsapp_chat.py +0 -28
  577. langchain/document_loaders/wikipedia.py +0 -23
  578. langchain/document_loaders/word_document.py +0 -30
  579. langchain/document_loaders/xml.py +0 -23
  580. langchain/document_loaders/xorbits.py +0 -23
  581. langchain/document_loaders/youtube.py +0 -33
  582. langchain/document_transformers/__init__.py +0 -77
  583. langchain/document_transformers/beautiful_soup_transformer.py +0 -25
  584. langchain/document_transformers/doctran_text_extract.py +0 -25
  585. langchain/document_transformers/doctran_text_qa.py +0 -25
  586. langchain/document_transformers/doctran_text_translate.py +0 -25
  587. langchain/document_transformers/embeddings_redundant_filter.py +0 -50
  588. langchain/document_transformers/google_translate.py +0 -25
  589. langchain/document_transformers/html2text.py +0 -25
  590. langchain/document_transformers/long_context_reorder.py +0 -23
  591. langchain/document_transformers/nuclia_text_transform.py +0 -25
  592. langchain/document_transformers/openai_functions.py +0 -32
  593. langchain/document_transformers/xsl/html_chunks_with_headers.xslt +0 -199
  594. langchain/embeddings/aleph_alpha.py +0 -30
  595. langchain/embeddings/awa.py +0 -23
  596. langchain/embeddings/azure_openai.py +0 -23
  597. langchain/embeddings/baidu_qianfan_endpoint.py +0 -23
  598. langchain/embeddings/bedrock.py +0 -23
  599. langchain/embeddings/bookend.py +0 -23
  600. langchain/embeddings/clarifai.py +0 -23
  601. langchain/embeddings/cloudflare_workersai.py +0 -29
  602. langchain/embeddings/cohere.py +0 -23
  603. langchain/embeddings/dashscope.py +0 -23
  604. langchain/embeddings/databricks.py +0 -23
  605. langchain/embeddings/deepinfra.py +0 -23
  606. langchain/embeddings/edenai.py +0 -23
  607. langchain/embeddings/elasticsearch.py +0 -23
  608. langchain/embeddings/embaas.py +0 -23
  609. langchain/embeddings/ernie.py +0 -23
  610. langchain/embeddings/fake.py +0 -30
  611. langchain/embeddings/fastembed.py +0 -23
  612. langchain/embeddings/google_palm.py +0 -23
  613. langchain/embeddings/gpt4all.py +0 -23
  614. langchain/embeddings/gradient_ai.py +0 -23
  615. langchain/embeddings/huggingface.py +0 -36
  616. langchain/embeddings/huggingface_hub.py +0 -23
  617. langchain/embeddings/infinity.py +0 -30
  618. langchain/embeddings/javelin_ai_gateway.py +0 -23
  619. langchain/embeddings/jina.py +0 -23
  620. langchain/embeddings/johnsnowlabs.py +0 -23
  621. langchain/embeddings/llamacpp.py +0 -23
  622. langchain/embeddings/llm_rails.py +0 -23
  623. langchain/embeddings/localai.py +0 -23
  624. langchain/embeddings/minimax.py +0 -23
  625. langchain/embeddings/mlflow.py +0 -23
  626. langchain/embeddings/mlflow_gateway.py +0 -23
  627. langchain/embeddings/modelscope_hub.py +0 -23
  628. langchain/embeddings/mosaicml.py +0 -23
  629. langchain/embeddings/nlpcloud.py +0 -23
  630. langchain/embeddings/octoai_embeddings.py +0 -23
  631. langchain/embeddings/ollama.py +0 -23
  632. langchain/embeddings/openai.py +0 -23
  633. langchain/embeddings/sagemaker_endpoint.py +0 -30
  634. langchain/embeddings/self_hosted.py +0 -23
  635. langchain/embeddings/self_hosted_hugging_face.py +0 -30
  636. langchain/embeddings/sentence_transformer.py +0 -21
  637. langchain/embeddings/spacy_embeddings.py +0 -23
  638. langchain/embeddings/tensorflow_hub.py +0 -23
  639. langchain/embeddings/vertexai.py +0 -23
  640. langchain/embeddings/voyageai.py +0 -23
  641. langchain/embeddings/xinference.py +0 -23
  642. langchain/env.py +0 -17
  643. langchain/evaluation/__init__.py +0 -128
  644. langchain/evaluation/agents/__init__.py +0 -5
  645. langchain/evaluation/agents/trajectory_eval_chain.py +0 -415
  646. langchain/evaluation/agents/trajectory_eval_prompt.py +0 -146
  647. langchain/evaluation/comparison/__init__.py +0 -36
  648. langchain/evaluation/comparison/eval_chain.py +0 -461
  649. langchain/evaluation/comparison/prompt.py +0 -59
  650. langchain/evaluation/criteria/__init__.py +0 -56
  651. langchain/evaluation/criteria/eval_chain.py +0 -603
  652. langchain/evaluation/criteria/prompt.py +0 -37
  653. langchain/evaluation/embedding_distance/__init__.py +0 -13
  654. langchain/evaluation/embedding_distance/base.py +0 -602
  655. langchain/evaluation/exact_match/__init__.py +0 -0
  656. langchain/evaluation/exact_match/base.py +0 -97
  657. langchain/evaluation/loading.py +0 -206
  658. langchain/evaluation/parsing/__init__.py +0 -0
  659. langchain/evaluation/parsing/base.py +0 -162
  660. langchain/evaluation/parsing/json_distance.py +0 -97
  661. langchain/evaluation/parsing/json_schema.py +0 -100
  662. langchain/evaluation/qa/__init__.py +0 -10
  663. langchain/evaluation/qa/eval_chain.py +0 -364
  664. langchain/evaluation/qa/eval_prompt.py +0 -78
  665. langchain/evaluation/qa/generate_chain.py +0 -34
  666. langchain/evaluation/qa/generate_prompt.py +0 -21
  667. langchain/evaluation/regex_match/__init__.py +0 -0
  668. langchain/evaluation/regex_match/base.py +0 -86
  669. langchain/evaluation/schema.py +0 -491
  670. langchain/evaluation/scoring/__init__.py +0 -31
  671. langchain/evaluation/scoring/eval_chain.py +0 -475
  672. langchain/evaluation/scoring/prompt.py +0 -53
  673. langchain/evaluation/string_distance/__init__.py +0 -13
  674. langchain/evaluation/string_distance/base.py +0 -466
  675. langchain/example_generator.py +0 -5
  676. langchain/formatting.py +0 -5
  677. langchain/graphs/__init__.py +0 -57
  678. langchain/graphs/arangodb_graph.py +0 -28
  679. langchain/graphs/falkordb_graph.py +0 -23
  680. langchain/graphs/graph_document.py +0 -33
  681. langchain/graphs/graph_store.py +0 -23
  682. langchain/graphs/hugegraph.py +0 -23
  683. langchain/graphs/kuzu_graph.py +0 -23
  684. langchain/graphs/memgraph_graph.py +0 -23
  685. langchain/graphs/nebula_graph.py +0 -23
  686. langchain/graphs/neo4j_graph.py +0 -23
  687. langchain/graphs/neptune_graph.py +0 -23
  688. langchain/graphs/networkx_graph.py +0 -36
  689. langchain/graphs/rdf_graph.py +0 -23
  690. langchain/hub.py +0 -131
  691. langchain/indexes/__init__.py +0 -50
  692. langchain/indexes/_api.py +0 -5
  693. langchain/indexes/_sql_record_manager.py +0 -539
  694. langchain/indexes/graph.py +0 -28
  695. langchain/indexes/prompts/__init__.py +0 -13
  696. langchain/indexes/prompts/entity_extraction.py +0 -39
  697. langchain/indexes/prompts/entity_summarization.py +0 -24
  698. langchain/indexes/prompts/knowledge_triplet_extraction.py +0 -36
  699. langchain/indexes/vectorstore.py +0 -269
  700. langchain/input.py +0 -15
  701. langchain/llms/__init__.py +0 -734
  702. langchain/llms/ai21.py +0 -28
  703. langchain/llms/aleph_alpha.py +0 -23
  704. langchain/llms/amazon_api_gateway.py +0 -23
  705. langchain/llms/anthropic.py +0 -23
  706. langchain/llms/anyscale.py +0 -23
  707. langchain/llms/arcee.py +0 -23
  708. langchain/llms/aviary.py +0 -23
  709. langchain/llms/azureml_endpoint.py +0 -48
  710. langchain/llms/baidu_qianfan_endpoint.py +0 -23
  711. langchain/llms/bananadev.py +0 -23
  712. langchain/llms/base.py +0 -20
  713. langchain/llms/baseten.py +0 -23
  714. langchain/llms/beam.py +0 -23
  715. langchain/llms/bedrock.py +0 -28
  716. langchain/llms/bittensor.py +0 -23
  717. langchain/llms/cerebriumai.py +0 -23
  718. langchain/llms/chatglm.py +0 -23
  719. langchain/llms/clarifai.py +0 -23
  720. langchain/llms/cloudflare_workersai.py +0 -25
  721. langchain/llms/cohere.py +0 -23
  722. langchain/llms/ctransformers.py +0 -23
  723. langchain/llms/ctranslate2.py +0 -23
  724. langchain/llms/databricks.py +0 -23
  725. langchain/llms/deepinfra.py +0 -23
  726. langchain/llms/deepsparse.py +0 -23
  727. langchain/llms/edenai.py +0 -23
  728. langchain/llms/fake.py +0 -28
  729. langchain/llms/fireworks.py +0 -23
  730. langchain/llms/forefrontai.py +0 -23
  731. langchain/llms/gigachat.py +0 -23
  732. langchain/llms/google_palm.py +0 -23
  733. langchain/llms/gooseai.py +0 -23
  734. langchain/llms/gpt4all.py +0 -23
  735. langchain/llms/gradient_ai.py +0 -28
  736. langchain/llms/grammars/json.gbnf +0 -29
  737. langchain/llms/grammars/list.gbnf +0 -14
  738. langchain/llms/huggingface_endpoint.py +0 -23
  739. langchain/llms/huggingface_hub.py +0 -23
  740. langchain/llms/huggingface_pipeline.py +0 -23
  741. langchain/llms/huggingface_text_gen_inference.py +0 -23
  742. langchain/llms/human.py +0 -23
  743. langchain/llms/javelin_ai_gateway.py +0 -28
  744. langchain/llms/koboldai.py +0 -23
  745. langchain/llms/llamacpp.py +0 -23
  746. langchain/llms/loading.py +0 -27
  747. langchain/llms/manifest.py +0 -23
  748. langchain/llms/minimax.py +0 -23
  749. langchain/llms/mlflow.py +0 -23
  750. langchain/llms/mlflow_ai_gateway.py +0 -23
  751. langchain/llms/modal.py +0 -23
  752. langchain/llms/mosaicml.py +0 -23
  753. langchain/llms/nlpcloud.py +0 -23
  754. langchain/llms/octoai_endpoint.py +0 -23
  755. langchain/llms/ollama.py +0 -23
  756. langchain/llms/opaqueprompts.py +0 -23
  757. langchain/llms/openai.py +0 -32
  758. langchain/llms/openllm.py +0 -23
  759. langchain/llms/openlm.py +0 -23
  760. langchain/llms/pai_eas_endpoint.py +0 -23
  761. langchain/llms/petals.py +0 -23
  762. langchain/llms/pipelineai.py +0 -23
  763. langchain/llms/predibase.py +0 -23
  764. langchain/llms/predictionguard.py +0 -23
  765. langchain/llms/promptlayer_openai.py +0 -27
  766. langchain/llms/replicate.py +0 -23
  767. langchain/llms/rwkv.py +0 -23
  768. langchain/llms/sagemaker_endpoint.py +0 -28
  769. langchain/llms/self_hosted.py +0 -23
  770. langchain/llms/self_hosted_hugging_face.py +0 -23
  771. langchain/llms/stochasticai.py +0 -23
  772. langchain/llms/symblai_nebula.py +0 -23
  773. langchain/llms/textgen.py +0 -23
  774. langchain/llms/titan_takeoff.py +0 -23
  775. langchain/llms/titan_takeoff_pro.py +0 -23
  776. langchain/llms/together.py +0 -23
  777. langchain/llms/tongyi.py +0 -23
  778. langchain/llms/utils.py +0 -23
  779. langchain/llms/vertexai.py +0 -27
  780. langchain/llms/vllm.py +0 -27
  781. langchain/llms/volcengine_maas.py +0 -28
  782. langchain/llms/watsonxllm.py +0 -23
  783. langchain/llms/writer.py +0 -23
  784. langchain/llms/xinference.py +0 -23
  785. langchain/llms/yandex.py +0 -23
  786. langchain/load/__init__.py +0 -11
  787. langchain/load/dump.py +0 -3
  788. langchain/load/load.py +0 -3
  789. langchain/load/serializable.py +0 -19
  790. langchain/memory/__init__.py +0 -153
  791. langchain/memory/buffer.py +0 -173
  792. langchain/memory/buffer_window.py +0 -60
  793. langchain/memory/chat_memory.py +0 -104
  794. langchain/memory/chat_message_histories/__init__.py +0 -84
  795. langchain/memory/chat_message_histories/astradb.py +0 -25
  796. langchain/memory/chat_message_histories/cassandra.py +0 -25
  797. langchain/memory/chat_message_histories/cosmos_db.py +0 -25
  798. langchain/memory/chat_message_histories/dynamodb.py +0 -25
  799. langchain/memory/chat_message_histories/elasticsearch.py +0 -27
  800. langchain/memory/chat_message_histories/file.py +0 -25
  801. langchain/memory/chat_message_histories/firestore.py +0 -25
  802. langchain/memory/chat_message_histories/in_memory.py +0 -5
  803. langchain/memory/chat_message_histories/momento.py +0 -25
  804. langchain/memory/chat_message_histories/mongodb.py +0 -25
  805. langchain/memory/chat_message_histories/neo4j.py +0 -25
  806. langchain/memory/chat_message_histories/postgres.py +0 -25
  807. langchain/memory/chat_message_histories/redis.py +0 -25
  808. langchain/memory/chat_message_histories/rocksetdb.py +0 -25
  809. langchain/memory/chat_message_histories/singlestoredb.py +0 -27
  810. langchain/memory/chat_message_histories/sql.py +0 -33
  811. langchain/memory/chat_message_histories/streamlit.py +0 -25
  812. langchain/memory/chat_message_histories/upstash_redis.py +0 -27
  813. langchain/memory/chat_message_histories/xata.py +0 -25
  814. langchain/memory/chat_message_histories/zep.py +0 -25
  815. langchain/memory/combined.py +0 -85
  816. langchain/memory/entity.py +0 -564
  817. langchain/memory/kg.py +0 -23
  818. langchain/memory/motorhead_memory.py +0 -23
  819. langchain/memory/prompt.py +0 -164
  820. langchain/memory/readonly.py +0 -24
  821. langchain/memory/simple.py +0 -24
  822. langchain/memory/summary.py +0 -140
  823. langchain/memory/summary_buffer.py +0 -148
  824. langchain/memory/token_buffer.py +0 -72
  825. langchain/memory/utils.py +0 -21
  826. langchain/memory/vectorstore.py +0 -120
  827. langchain/memory/vectorstore_token_buffer_memory.py +0 -184
  828. langchain/memory/zep_memory.py +0 -23
  829. langchain/model_laboratory.py +0 -99
  830. langchain/output_parsers/__init__.py +0 -87
  831. langchain/output_parsers/boolean.py +0 -54
  832. langchain/output_parsers/combining.py +0 -57
  833. langchain/output_parsers/datetime.py +0 -58
  834. langchain/output_parsers/enum.py +0 -41
  835. langchain/output_parsers/ernie_functions.py +0 -45
  836. langchain/output_parsers/fix.py +0 -148
  837. langchain/output_parsers/format_instructions.py +0 -79
  838. langchain/output_parsers/json.py +0 -15
  839. langchain/output_parsers/list.py +0 -13
  840. langchain/output_parsers/loading.py +0 -22
  841. langchain/output_parsers/openai_functions.py +0 -13
  842. langchain/output_parsers/openai_tools.py +0 -7
  843. langchain/output_parsers/pandas_dataframe.py +0 -156
  844. langchain/output_parsers/prompts.py +0 -21
  845. langchain/output_parsers/pydantic.py +0 -3
  846. langchain/output_parsers/rail_parser.py +0 -25
  847. langchain/output_parsers/regex.py +0 -39
  848. langchain/output_parsers/regex_dict.py +0 -43
  849. langchain/output_parsers/retry.py +0 -296
  850. langchain/output_parsers/structured.py +0 -106
  851. langchain/output_parsers/xml.py +0 -3
  852. langchain/output_parsers/yaml.py +0 -73
  853. langchain/prompts/__init__.py +0 -102
  854. langchain/prompts/base.py +0 -21
  855. langchain/prompts/chat.py +0 -37
  856. langchain/prompts/example_selector/__init__.py +0 -42
  857. langchain/prompts/example_selector/base.py +0 -3
  858. langchain/prompts/example_selector/length_based.py +0 -5
  859. langchain/prompts/example_selector/ngram_overlap.py +0 -32
  860. langchain/prompts/example_selector/semantic_similarity.py +0 -11
  861. langchain/prompts/few_shot.py +0 -11
  862. langchain/prompts/few_shot_with_templates.py +0 -3
  863. langchain/prompts/loading.py +0 -23
  864. langchain/prompts/pipeline.py +0 -3
  865. langchain/prompts/prompt.py +0 -6
  866. langchain/pydantic_v1/__init__.py +0 -38
  867. langchain/pydantic_v1/dataclasses.py +0 -20
  868. langchain/pydantic_v1/main.py +0 -20
  869. langchain/python.py +0 -19
  870. langchain/requests.py +0 -35
  871. langchain/retrievers/__init__.py +0 -178
  872. langchain/retrievers/arcee.py +0 -23
  873. langchain/retrievers/arxiv.py +0 -23
  874. langchain/retrievers/azure_ai_search.py +0 -30
  875. langchain/retrievers/bedrock.py +0 -33
  876. langchain/retrievers/bm25.py +0 -28
  877. langchain/retrievers/chaindesk.py +0 -23
  878. langchain/retrievers/chatgpt_plugin_retriever.py +0 -23
  879. langchain/retrievers/cohere_rag_retriever.py +0 -23
  880. langchain/retrievers/contextual_compression.py +0 -81
  881. langchain/retrievers/databerry.py +0 -23
  882. langchain/retrievers/docarray.py +0 -28
  883. langchain/retrievers/document_compressors/__init__.py +0 -44
  884. langchain/retrievers/document_compressors/base.py +0 -82
  885. langchain/retrievers/document_compressors/chain_extract.py +0 -121
  886. langchain/retrievers/document_compressors/chain_extract_prompt.py +0 -10
  887. langchain/retrievers/document_compressors/chain_filter.py +0 -133
  888. langchain/retrievers/document_compressors/chain_filter_prompt.py +0 -8
  889. langchain/retrievers/document_compressors/cohere_rerank.py +0 -124
  890. langchain/retrievers/document_compressors/cross_encoder.py +0 -16
  891. langchain/retrievers/document_compressors/cross_encoder_rerank.py +0 -48
  892. langchain/retrievers/document_compressors/embeddings_filter.py +0 -137
  893. langchain/retrievers/document_compressors/flashrank_rerank.py +0 -27
  894. langchain/retrievers/document_compressors/listwise_rerank.py +0 -144
  895. langchain/retrievers/elastic_search_bm25.py +0 -23
  896. langchain/retrievers/embedchain.py +0 -23
  897. langchain/retrievers/ensemble.py +0 -336
  898. langchain/retrievers/google_cloud_documentai_warehouse.py +0 -25
  899. langchain/retrievers/google_vertex_ai_search.py +0 -33
  900. langchain/retrievers/kay.py +0 -23
  901. langchain/retrievers/kendra.py +0 -66
  902. langchain/retrievers/knn.py +0 -23
  903. langchain/retrievers/llama_index.py +0 -30
  904. langchain/retrievers/merger_retriever.py +0 -123
  905. langchain/retrievers/metal.py +0 -23
  906. langchain/retrievers/milvus.py +0 -28
  907. langchain/retrievers/multi_query.py +0 -231
  908. langchain/retrievers/multi_vector.py +0 -132
  909. langchain/retrievers/outline.py +0 -23
  910. langchain/retrievers/parent_document_retriever.py +0 -157
  911. langchain/retrievers/pinecone_hybrid_search.py +0 -23
  912. langchain/retrievers/pubmed.py +0 -23
  913. langchain/retrievers/pupmed.py +0 -23
  914. langchain/retrievers/re_phraser.py +0 -89
  915. langchain/retrievers/remote_retriever.py +0 -23
  916. langchain/retrievers/self_query/__init__.py +0 -0
  917. langchain/retrievers/self_query/astradb.py +0 -23
  918. langchain/retrievers/self_query/base.py +0 -397
  919. langchain/retrievers/self_query/chroma.py +0 -23
  920. langchain/retrievers/self_query/dashvector.py +0 -23
  921. langchain/retrievers/self_query/databricks_vector_search.py +0 -27
  922. langchain/retrievers/self_query/deeplake.py +0 -27
  923. langchain/retrievers/self_query/dingo.py +0 -23
  924. langchain/retrievers/self_query/elasticsearch.py +0 -25
  925. langchain/retrievers/self_query/milvus.py +0 -27
  926. langchain/retrievers/self_query/mongodb_atlas.py +0 -25
  927. langchain/retrievers/self_query/myscale.py +0 -23
  928. langchain/retrievers/self_query/opensearch.py +0 -23
  929. langchain/retrievers/self_query/pgvector.py +0 -23
  930. langchain/retrievers/self_query/pinecone.py +0 -23
  931. langchain/retrievers/self_query/qdrant.py +0 -23
  932. langchain/retrievers/self_query/redis.py +0 -23
  933. langchain/retrievers/self_query/supabase.py +0 -23
  934. langchain/retrievers/self_query/tencentvectordb.py +0 -27
  935. langchain/retrievers/self_query/timescalevector.py +0 -27
  936. langchain/retrievers/self_query/vectara.py +0 -27
  937. langchain/retrievers/self_query/weaviate.py +0 -23
  938. langchain/retrievers/svm.py +0 -23
  939. langchain/retrievers/tavily_search_api.py +0 -28
  940. langchain/retrievers/tfidf.py +0 -23
  941. langchain/retrievers/time_weighted_retriever.py +0 -193
  942. langchain/retrievers/vespa_retriever.py +0 -23
  943. langchain/retrievers/weaviate_hybrid_search.py +0 -23
  944. langchain/retrievers/web_research.py +0 -29
  945. langchain/retrievers/wikipedia.py +0 -23
  946. langchain/retrievers/you.py +0 -23
  947. langchain/retrievers/zep.py +0 -30
  948. langchain/retrievers/zilliz.py +0 -28
  949. langchain/runnables/__init__.py +0 -18
  950. langchain/runnables/hub.py +0 -32
  951. langchain/runnables/openai_functions.py +0 -51
  952. langchain/schema/__init__.py +0 -82
  953. langchain/schema/agent.py +0 -3
  954. langchain/schema/cache.py +0 -3
  955. langchain/schema/callbacks/__init__.py +0 -0
  956. langchain/schema/callbacks/base.py +0 -23
  957. langchain/schema/callbacks/manager.py +0 -55
  958. langchain/schema/callbacks/stdout.py +0 -3
  959. langchain/schema/callbacks/streaming_stdout.py +0 -3
  960. langchain/schema/callbacks/tracers/__init__.py +0 -0
  961. langchain/schema/callbacks/tracers/base.py +0 -4
  962. langchain/schema/callbacks/tracers/evaluation.py +0 -6
  963. langchain/schema/callbacks/tracers/langchain.py +0 -8
  964. langchain/schema/callbacks/tracers/langchain_v1.py +0 -3
  965. langchain/schema/callbacks/tracers/log_stream.py +0 -9
  966. langchain/schema/callbacks/tracers/root_listeners.py +0 -3
  967. langchain/schema/callbacks/tracers/run_collector.py +0 -3
  968. langchain/schema/callbacks/tracers/schemas.py +0 -27
  969. langchain/schema/callbacks/tracers/stdout.py +0 -13
  970. langchain/schema/chat.py +0 -3
  971. langchain/schema/chat_history.py +0 -3
  972. langchain/schema/document.py +0 -3
  973. langchain/schema/embeddings.py +0 -3
  974. langchain/schema/exceptions.py +0 -3
  975. langchain/schema/language_model.py +0 -15
  976. langchain/schema/memory.py +0 -3
  977. langchain/schema/messages.py +0 -51
  978. langchain/schema/output.py +0 -19
  979. langchain/schema/output_parser.py +0 -25
  980. langchain/schema/prompt.py +0 -3
  981. langchain/schema/prompt_template.py +0 -3
  982. langchain/schema/retriever.py +0 -3
  983. langchain/schema/runnable/__init__.py +0 -58
  984. langchain/schema/runnable/base.py +0 -38
  985. langchain/schema/runnable/branch.py +0 -3
  986. langchain/schema/runnable/config.py +0 -27
  987. langchain/schema/runnable/configurable.py +0 -15
  988. langchain/schema/runnable/fallbacks.py +0 -3
  989. langchain/schema/runnable/history.py +0 -11
  990. langchain/schema/runnable/passthrough.py +0 -8
  991. langchain/schema/runnable/retry.py +0 -3
  992. langchain/schema/runnable/router.py +0 -3
  993. langchain/schema/runnable/utils.py +0 -51
  994. langchain/schema/storage.py +0 -3
  995. langchain/schema/vectorstore.py +0 -3
  996. langchain/serpapi.py +0 -25
  997. langchain/smith/__init__.py +0 -102
  998. langchain/smith/evaluation/__init__.py +0 -68
  999. langchain/smith/evaluation/config.py +0 -382
  1000. langchain/smith/evaluation/name_generation.py +0 -727
  1001. langchain/smith/evaluation/progress.py +0 -137
  1002. langchain/smith/evaluation/runner_utils.py +0 -1572
  1003. langchain/smith/evaluation/string_run_evaluator.py +0 -440
  1004. langchain/smith/evaluation/utils.py +0 -0
  1005. langchain/sql_database.py +0 -25
  1006. langchain/storage/_lc_store.py +0 -91
  1007. langchain/storage/file_system.py +0 -176
  1008. langchain/storage/redis.py +0 -23
  1009. langchain/storage/upstash_redis.py +0 -27
  1010. langchain/tools/ainetwork/__init__.py +0 -0
  1011. langchain/tools/ainetwork/app.py +0 -30
  1012. langchain/tools/ainetwork/base.py +0 -27
  1013. langchain/tools/ainetwork/owner.py +0 -28
  1014. langchain/tools/ainetwork/rule.py +0 -28
  1015. langchain/tools/ainetwork/transfer.py +0 -28
  1016. langchain/tools/ainetwork/value.py +0 -28
  1017. langchain/tools/amadeus/__init__.py +0 -30
  1018. langchain/tools/amadeus/base.py +0 -23
  1019. langchain/tools/amadeus/closest_airport.py +0 -30
  1020. langchain/tools/amadeus/flight_search.py +0 -30
  1021. langchain/tools/arxiv/__init__.py +0 -1
  1022. langchain/tools/arxiv/tool.py +0 -28
  1023. langchain/tools/azure_cognitive_services/__init__.py +0 -41
  1024. langchain/tools/azure_cognitive_services/form_recognizer.py +0 -23
  1025. langchain/tools/azure_cognitive_services/image_analysis.py +0 -23
  1026. langchain/tools/azure_cognitive_services/speech2text.py +0 -23
  1027. langchain/tools/azure_cognitive_services/text2speech.py +0 -23
  1028. langchain/tools/azure_cognitive_services/text_analytics_health.py +0 -23
  1029. langchain/tools/base.py +0 -19
  1030. langchain/tools/bearly/__init__.py +0 -0
  1031. langchain/tools/bearly/tool.py +0 -33
  1032. langchain/tools/bing_search/__init__.py +0 -29
  1033. langchain/tools/bing_search/tool.py +0 -27
  1034. langchain/tools/brave_search/__init__.py +0 -0
  1035. langchain/tools/brave_search/tool.py +0 -23
  1036. langchain/tools/clickup/__init__.py +0 -0
  1037. langchain/tools/clickup/tool.py +0 -23
  1038. langchain/tools/convert_to_openai.py +0 -4
  1039. langchain/tools/dataforseo_api_search/__init__.py +0 -34
  1040. langchain/tools/dataforseo_api_search/tool.py +0 -32
  1041. langchain/tools/ddg_search/__init__.py +0 -25
  1042. langchain/tools/ddg_search/tool.py +0 -32
  1043. langchain/tools/e2b_data_analysis/__init__.py +0 -0
  1044. langchain/tools/e2b_data_analysis/tool.py +0 -33
  1045. langchain/tools/edenai/__init__.py +0 -50
  1046. langchain/tools/edenai/audio_speech_to_text.py +0 -23
  1047. langchain/tools/edenai/audio_text_to_speech.py +0 -23
  1048. langchain/tools/edenai/edenai_base_tool.py +0 -23
  1049. langchain/tools/edenai/image_explicitcontent.py +0 -23
  1050. langchain/tools/edenai/image_objectdetection.py +0 -23
  1051. langchain/tools/edenai/ocr_identityparser.py +0 -23
  1052. langchain/tools/edenai/ocr_invoiceparser.py +0 -23
  1053. langchain/tools/edenai/text_moderation.py +0 -23
  1054. langchain/tools/eleven_labs/__init__.py +0 -25
  1055. langchain/tools/eleven_labs/models.py +0 -23
  1056. langchain/tools/eleven_labs/text2speech.py +0 -23
  1057. langchain/tools/file_management/__init__.py +0 -47
  1058. langchain/tools/file_management/copy.py +0 -28
  1059. langchain/tools/file_management/delete.py +0 -28
  1060. langchain/tools/file_management/file_search.py +0 -28
  1061. langchain/tools/file_management/list_dir.py +0 -28
  1062. langchain/tools/file_management/move.py +0 -28
  1063. langchain/tools/file_management/read.py +0 -28
  1064. langchain/tools/file_management/write.py +0 -28
  1065. langchain/tools/github/__init__.py +0 -1
  1066. langchain/tools/github/tool.py +0 -23
  1067. langchain/tools/gitlab/__init__.py +0 -1
  1068. langchain/tools/gitlab/tool.py +0 -23
  1069. langchain/tools/gmail/__init__.py +0 -41
  1070. langchain/tools/gmail/base.py +0 -23
  1071. langchain/tools/gmail/create_draft.py +0 -28
  1072. langchain/tools/gmail/get_message.py +0 -28
  1073. langchain/tools/gmail/get_thread.py +0 -28
  1074. langchain/tools/gmail/search.py +0 -30
  1075. langchain/tools/gmail/send_message.py +0 -28
  1076. langchain/tools/golden_query/__init__.py +0 -25
  1077. langchain/tools/golden_query/tool.py +0 -23
  1078. langchain/tools/google_cloud/__init__.py +0 -25
  1079. langchain/tools/google_cloud/texttospeech.py +0 -23
  1080. langchain/tools/google_finance/__init__.py +0 -27
  1081. langchain/tools/google_finance/tool.py +0 -25
  1082. langchain/tools/google_jobs/__init__.py +0 -25
  1083. langchain/tools/google_jobs/tool.py +0 -23
  1084. langchain/tools/google_lens/__init__.py +0 -25
  1085. langchain/tools/google_lens/tool.py +0 -23
  1086. langchain/tools/google_places/__init__.py +0 -25
  1087. langchain/tools/google_places/tool.py +0 -28
  1088. langchain/tools/google_scholar/__init__.py +0 -27
  1089. langchain/tools/google_scholar/tool.py +0 -25
  1090. langchain/tools/google_search/__init__.py +0 -29
  1091. langchain/tools/google_search/tool.py +0 -27
  1092. langchain/tools/google_serper/__init__.py +0 -30
  1093. langchain/tools/google_serper/tool.py +0 -27
  1094. langchain/tools/google_trends/__init__.py +0 -27
  1095. langchain/tools/google_trends/tool.py +0 -25
  1096. langchain/tools/graphql/__init__.py +0 -1
  1097. langchain/tools/graphql/tool.py +0 -23
  1098. langchain/tools/human/__init__.py +0 -25
  1099. langchain/tools/human/tool.py +0 -23
  1100. langchain/tools/ifttt.py +0 -23
  1101. langchain/tools/interaction/__init__.py +0 -1
  1102. langchain/tools/interaction/tool.py +0 -23
  1103. langchain/tools/jira/__init__.py +0 -1
  1104. langchain/tools/jira/tool.py +0 -42
  1105. langchain/tools/json/__init__.py +0 -1
  1106. langchain/tools/json/tool.py +0 -52
  1107. langchain/tools/memorize/__init__.py +0 -25
  1108. langchain/tools/memorize/tool.py +0 -27
  1109. langchain/tools/merriam_webster/__init__.py +0 -1
  1110. langchain/tools/merriam_webster/tool.py +0 -23
  1111. langchain/tools/metaphor_search/__init__.py +0 -25
  1112. langchain/tools/metaphor_search/tool.py +0 -23
  1113. langchain/tools/multion/__init__.py +0 -33
  1114. langchain/tools/multion/close_session.py +0 -30
  1115. langchain/tools/multion/create_session.py +0 -30
  1116. langchain/tools/multion/update_session.py +0 -30
  1117. langchain/tools/nasa/__init__.py +0 -0
  1118. langchain/tools/nasa/tool.py +0 -23
  1119. langchain/tools/nuclia/__init__.py +0 -23
  1120. langchain/tools/nuclia/tool.py +0 -27
  1121. langchain/tools/office365/__init__.py +0 -41
  1122. langchain/tools/office365/base.py +0 -23
  1123. langchain/tools/office365/create_draft_message.py +0 -32
  1124. langchain/tools/office365/events_search.py +0 -28
  1125. langchain/tools/office365/messages_search.py +0 -28
  1126. langchain/tools/office365/send_event.py +0 -28
  1127. langchain/tools/office365/send_message.py +0 -28
  1128. langchain/tools/openapi/__init__.py +0 -0
  1129. langchain/tools/openapi/utils/__init__.py +0 -0
  1130. langchain/tools/openapi/utils/api_models.py +0 -54
  1131. langchain/tools/openapi/utils/openapi_utils.py +0 -30
  1132. langchain/tools/openweathermap/__init__.py +0 -25
  1133. langchain/tools/openweathermap/tool.py +0 -23
  1134. langchain/tools/playwright/__init__.py +0 -47
  1135. langchain/tools/playwright/base.py +0 -23
  1136. langchain/tools/playwright/click.py +0 -28
  1137. langchain/tools/playwright/current_page.py +0 -23
  1138. langchain/tools/playwright/extract_hyperlinks.py +0 -32
  1139. langchain/tools/playwright/extract_text.py +0 -23
  1140. langchain/tools/playwright/get_elements.py +0 -28
  1141. langchain/tools/playwright/navigate.py +0 -28
  1142. langchain/tools/playwright/navigate_back.py +0 -23
  1143. langchain/tools/plugin.py +0 -32
  1144. langchain/tools/powerbi/__init__.py +0 -1
  1145. langchain/tools/powerbi/tool.py +0 -33
  1146. langchain/tools/pubmed/__init__.py +0 -1
  1147. langchain/tools/pubmed/tool.py +0 -23
  1148. langchain/tools/python/__init__.py +0 -13
  1149. langchain/tools/reddit_search/__init__.py +0 -0
  1150. langchain/tools/reddit_search/tool.py +0 -27
  1151. langchain/tools/render.py +0 -23
  1152. langchain/tools/requests/__init__.py +0 -1
  1153. langchain/tools/requests/tool.py +0 -42
  1154. langchain/tools/retriever.py +0 -11
  1155. langchain/tools/scenexplain/__init__.py +0 -1
  1156. langchain/tools/scenexplain/tool.py +0 -28
  1157. langchain/tools/searchapi/__init__.py +0 -30
  1158. langchain/tools/searchapi/tool.py +0 -27
  1159. langchain/tools/searx_search/__init__.py +0 -0
  1160. langchain/tools/searx_search/tool.py +0 -27
  1161. langchain/tools/shell/__init__.py +0 -25
  1162. langchain/tools/shell/tool.py +0 -28
  1163. langchain/tools/slack/__init__.py +0 -38
  1164. langchain/tools/slack/base.py +0 -23
  1165. langchain/tools/slack/get_channel.py +0 -23
  1166. langchain/tools/slack/get_message.py +0 -28
  1167. langchain/tools/slack/schedule_message.py +0 -28
  1168. langchain/tools/slack/send_message.py +0 -28
  1169. langchain/tools/sleep/__init__.py +0 -1
  1170. langchain/tools/sleep/tool.py +0 -28
  1171. langchain/tools/spark_sql/__init__.py +0 -1
  1172. langchain/tools/spark_sql/tool.py +0 -39
  1173. langchain/tools/sql_database/__init__.py +0 -1
  1174. langchain/tools/sql_database/prompt.py +0 -24
  1175. langchain/tools/sql_database/tool.py +0 -39
  1176. langchain/tools/stackexchange/__init__.py +0 -1
  1177. langchain/tools/stackexchange/tool.py +0 -23
  1178. langchain/tools/steam/__init__.py +0 -1
  1179. langchain/tools/steam/tool.py +0 -23
  1180. langchain/tools/steamship_image_generation/__init__.py +0 -25
  1181. langchain/tools/steamship_image_generation/tool.py +0 -28
  1182. langchain/tools/tavily_search/__init__.py +0 -32
  1183. langchain/tools/tavily_search/tool.py +0 -33
  1184. langchain/tools/vectorstore/__init__.py +0 -1
  1185. langchain/tools/vectorstore/tool.py +0 -30
  1186. langchain/tools/wikipedia/__init__.py +0 -1
  1187. langchain/tools/wikipedia/tool.py +0 -23
  1188. langchain/tools/wolfram_alpha/__init__.py +0 -25
  1189. langchain/tools/wolfram_alpha/tool.py +0 -23
  1190. langchain/tools/yahoo_finance_news.py +0 -23
  1191. langchain/tools/youtube/__init__.py +0 -0
  1192. langchain/tools/youtube/search.py +0 -23
  1193. langchain/tools/zapier/__init__.py +0 -29
  1194. langchain/tools/zapier/tool.py +0 -49
  1195. langchain/utilities/__init__.py +0 -168
  1196. langchain/utilities/alpha_vantage.py +0 -23
  1197. langchain/utilities/anthropic.py +0 -30
  1198. langchain/utilities/apify.py +0 -23
  1199. langchain/utilities/arcee.py +0 -45
  1200. langchain/utilities/arxiv.py +0 -23
  1201. langchain/utilities/asyncio.py +0 -11
  1202. langchain/utilities/awslambda.py +0 -23
  1203. langchain/utilities/bibtex.py +0 -23
  1204. langchain/utilities/bing_search.py +0 -23
  1205. langchain/utilities/brave_search.py +0 -23
  1206. langchain/utilities/clickup.py +0 -45
  1207. langchain/utilities/dalle_image_generator.py +0 -25
  1208. langchain/utilities/dataforseo_api_search.py +0 -25
  1209. langchain/utilities/duckduckgo_search.py +0 -23
  1210. langchain/utilities/github.py +0 -23
  1211. langchain/utilities/gitlab.py +0 -23
  1212. langchain/utilities/golden_query.py +0 -23
  1213. langchain/utilities/google_finance.py +0 -23
  1214. langchain/utilities/google_jobs.py +0 -23
  1215. langchain/utilities/google_lens.py +0 -23
  1216. langchain/utilities/google_places_api.py +0 -23
  1217. langchain/utilities/google_scholar.py +0 -23
  1218. langchain/utilities/google_search.py +0 -23
  1219. langchain/utilities/google_serper.py +0 -23
  1220. langchain/utilities/google_trends.py +0 -23
  1221. langchain/utilities/graphql.py +0 -23
  1222. langchain/utilities/jira.py +0 -23
  1223. langchain/utilities/loading.py +0 -4
  1224. langchain/utilities/max_compute.py +0 -23
  1225. langchain/utilities/merriam_webster.py +0 -23
  1226. langchain/utilities/metaphor_search.py +0 -23
  1227. langchain/utilities/nasa.py +0 -23
  1228. langchain/utilities/opaqueprompts.py +0 -27
  1229. langchain/utilities/openapi.py +0 -28
  1230. langchain/utilities/openweathermap.py +0 -23
  1231. langchain/utilities/outline.py +0 -23
  1232. langchain/utilities/portkey.py +0 -23
  1233. langchain/utilities/powerbi.py +0 -23
  1234. langchain/utilities/pubmed.py +0 -23
  1235. langchain/utilities/python.py +0 -19
  1236. langchain/utilities/reddit_search.py +0 -25
  1237. langchain/utilities/redis.py +0 -33
  1238. langchain/utilities/requests.py +0 -27
  1239. langchain/utilities/scenexplain.py +0 -23
  1240. langchain/utilities/searchapi.py +0 -23
  1241. langchain/utilities/searx_search.py +0 -28
  1242. langchain/utilities/serpapi.py +0 -28
  1243. langchain/utilities/spark_sql.py +0 -23
  1244. langchain/utilities/sql_database.py +0 -28
  1245. langchain/utilities/stackexchange.py +0 -23
  1246. langchain/utilities/steam.py +0 -23
  1247. langchain/utilities/tavily_search.py +0 -25
  1248. langchain/utilities/tensorflow_datasets.py +0 -23
  1249. langchain/utilities/twilio.py +0 -23
  1250. langchain/utilities/vertexai.py +0 -36
  1251. langchain/utilities/wikipedia.py +0 -23
  1252. langchain/utilities/wolfram_alpha.py +0 -23
  1253. langchain/utilities/zapier.py +0 -23
  1254. langchain/utils/__init__.py +0 -77
  1255. langchain/utils/aiter.py +0 -3
  1256. langchain/utils/env.py +0 -3
  1257. langchain/utils/ernie_functions.py +0 -36
  1258. langchain/utils/formatting.py +0 -3
  1259. langchain/utils/html.py +0 -19
  1260. langchain/utils/input.py +0 -8
  1261. langchain/utils/iter.py +0 -3
  1262. langchain/utils/json_schema.py +0 -11
  1263. langchain/utils/loading.py +0 -3
  1264. langchain/utils/math.py +0 -32
  1265. langchain/utils/openai.py +0 -23
  1266. langchain/utils/openai_functions.py +0 -13
  1267. langchain/utils/pydantic.py +0 -3
  1268. langchain/utils/strings.py +0 -3
  1269. langchain/utils/utils.py +0 -21
  1270. langchain/vectorstores/__init__.py +0 -262
  1271. langchain/vectorstores/alibabacloud_opensearch.py +0 -30
  1272. langchain/vectorstores/analyticdb.py +0 -23
  1273. langchain/vectorstores/annoy.py +0 -23
  1274. langchain/vectorstores/astradb.py +0 -23
  1275. langchain/vectorstores/atlas.py +0 -23
  1276. langchain/vectorstores/awadb.py +0 -23
  1277. langchain/vectorstores/azure_cosmos_db.py +0 -28
  1278. langchain/vectorstores/azuresearch.py +0 -30
  1279. langchain/vectorstores/bageldb.py +0 -23
  1280. langchain/vectorstores/baiducloud_vector_search.py +0 -23
  1281. langchain/vectorstores/base.py +0 -3
  1282. langchain/vectorstores/cassandra.py +0 -23
  1283. langchain/vectorstores/chroma.py +0 -23
  1284. langchain/vectorstores/clarifai.py +0 -23
  1285. langchain/vectorstores/clickhouse.py +0 -27
  1286. langchain/vectorstores/dashvector.py +0 -23
  1287. langchain/vectorstores/databricks_vector_search.py +0 -23
  1288. langchain/vectorstores/deeplake.py +0 -23
  1289. langchain/vectorstores/dingo.py +0 -23
  1290. langchain/vectorstores/docarray/__init__.py +0 -30
  1291. langchain/vectorstores/docarray/base.py +0 -23
  1292. langchain/vectorstores/docarray/hnsw.py +0 -23
  1293. langchain/vectorstores/docarray/in_memory.py +0 -23
  1294. langchain/vectorstores/elastic_vector_search.py +0 -27
  1295. langchain/vectorstores/elasticsearch.py +0 -39
  1296. langchain/vectorstores/epsilla.py +0 -23
  1297. langchain/vectorstores/faiss.py +0 -23
  1298. langchain/vectorstores/hippo.py +0 -23
  1299. langchain/vectorstores/hologres.py +0 -23
  1300. langchain/vectorstores/lancedb.py +0 -23
  1301. langchain/vectorstores/llm_rails.py +0 -28
  1302. langchain/vectorstores/marqo.py +0 -23
  1303. langchain/vectorstores/matching_engine.py +0 -23
  1304. langchain/vectorstores/meilisearch.py +0 -23
  1305. langchain/vectorstores/milvus.py +0 -23
  1306. langchain/vectorstores/momento_vector_index.py +0 -23
  1307. langchain/vectorstores/mongodb_atlas.py +0 -23
  1308. langchain/vectorstores/myscale.py +0 -30
  1309. langchain/vectorstores/neo4j_vector.py +0 -28
  1310. langchain/vectorstores/nucliadb.py +0 -23
  1311. langchain/vectorstores/opensearch_vector_search.py +0 -23
  1312. langchain/vectorstores/pgembedding.py +0 -36
  1313. langchain/vectorstores/pgvecto_rs.py +0 -23
  1314. langchain/vectorstores/pgvector.py +0 -28
  1315. langchain/vectorstores/pinecone.py +0 -23
  1316. langchain/vectorstores/qdrant.py +0 -28
  1317. langchain/vectorstores/redis/__init__.py +0 -42
  1318. langchain/vectorstores/redis/base.py +0 -33
  1319. langchain/vectorstores/redis/filters.py +0 -48
  1320. langchain/vectorstores/redis/schema.py +0 -54
  1321. langchain/vectorstores/rocksetdb.py +0 -23
  1322. langchain/vectorstores/scann.py +0 -23
  1323. langchain/vectorstores/semadb.py +0 -23
  1324. langchain/vectorstores/singlestoredb.py +0 -23
  1325. langchain/vectorstores/sklearn.py +0 -42
  1326. langchain/vectorstores/sqlitevss.py +0 -23
  1327. langchain/vectorstores/starrocks.py +0 -28
  1328. langchain/vectorstores/supabase.py +0 -23
  1329. langchain/vectorstores/tair.py +0 -23
  1330. langchain/vectorstores/tencentvectordb.py +0 -33
  1331. langchain/vectorstores/tigris.py +0 -23
  1332. langchain/vectorstores/tiledb.py +0 -23
  1333. langchain/vectorstores/timescalevector.py +0 -23
  1334. langchain/vectorstores/typesense.py +0 -23
  1335. langchain/vectorstores/usearch.py +0 -23
  1336. langchain/vectorstores/utils.py +0 -33
  1337. langchain/vectorstores/vald.py +0 -23
  1338. langchain/vectorstores/vearch.py +0 -23
  1339. langchain/vectorstores/vectara.py +0 -28
  1340. langchain/vectorstores/vespa.py +0 -23
  1341. langchain/vectorstores/weaviate.py +0 -23
  1342. langchain/vectorstores/xata.py +0 -23
  1343. langchain/vectorstores/yellowbrick.py +0 -23
  1344. langchain/vectorstores/zep.py +0 -28
  1345. langchain/vectorstores/zilliz.py +0 -23
  1346. langchain-0.3.27.dist-info/RECORD +0 -1342
  1347. /langchain/{adapters → _internal}/__init__.py +0 -0
  1348. {langchain-0.3.27.dist-info → langchain-1.0.0a1.dist-info}/WHEEL +0 -0
  1349. {langchain-0.3.27.dist-info → langchain-1.0.0a1.dist-info}/entry_points.txt +0 -0
  1350. {langchain-0.3.27.dist-info → langchain-1.0.0a1.dist-info}/licenses/LICENSE +0 -0
@@ -1,211 +0,0 @@
1
- """Chain for interacting with Elasticsearch Database."""
2
-
3
- from __future__ import annotations
4
-
5
- from typing import TYPE_CHECKING, Any, Optional
6
-
7
- from langchain_core.callbacks import CallbackManagerForChainRun
8
- from langchain_core.language_models import BaseLanguageModel
9
- from langchain_core.output_parsers import BaseOutputParser, StrOutputParser
10
- from langchain_core.output_parsers.json import SimpleJsonOutputParser
11
- from langchain_core.prompts import BasePromptTemplate
12
- from langchain_core.runnables import Runnable
13
- from pydantic import ConfigDict, model_validator
14
- from typing_extensions import Self
15
-
16
- from langchain.chains.base import Chain
17
- from langchain.chains.elasticsearch_database.prompts import ANSWER_PROMPT, DSL_PROMPT
18
-
19
- if TYPE_CHECKING:
20
- from elasticsearch import Elasticsearch
21
-
22
- INTERMEDIATE_STEPS_KEY = "intermediate_steps"
23
-
24
-
25
- class ElasticsearchDatabaseChain(Chain):
26
- """Chain for interacting with Elasticsearch Database.
27
-
28
- Example:
29
- .. code-block:: python
30
-
31
- from langchain.chains import ElasticsearchDatabaseChain
32
- from langchain_community.llms import OpenAI
33
- from elasticsearch import Elasticsearch
34
-
35
- database = Elasticsearch("http://localhost:9200")
36
- db_chain = ElasticsearchDatabaseChain.from_llm(OpenAI(), database)
37
- """
38
-
39
- query_chain: Runnable
40
- """Chain for creating the ES query."""
41
- answer_chain: Runnable
42
- """Chain for answering the user question."""
43
- database: Any = None
44
- """Elasticsearch database to connect to of type elasticsearch.Elasticsearch."""
45
- top_k: int = 10
46
- """Number of results to return from the query"""
47
- ignore_indices: Optional[list[str]] = None
48
- include_indices: Optional[list[str]] = None
49
- input_key: str = "question" #: :meta private:
50
- output_key: str = "result" #: :meta private:
51
- sample_documents_in_index_info: int = 3
52
- return_intermediate_steps: bool = False
53
- """Whether or not to return the intermediate steps along with the final answer."""
54
-
55
- model_config = ConfigDict(
56
- arbitrary_types_allowed=True,
57
- extra="forbid",
58
- )
59
-
60
- @model_validator(mode="after")
61
- def validate_indices(self) -> Self:
62
- if self.include_indices and self.ignore_indices:
63
- msg = "Cannot specify both 'include_indices' and 'ignore_indices'."
64
- raise ValueError(msg)
65
- return self
66
-
67
- @property
68
- def input_keys(self) -> list[str]:
69
- """Return the singular input key.
70
-
71
- :meta private:
72
- """
73
- return [self.input_key]
74
-
75
- @property
76
- def output_keys(self) -> list[str]:
77
- """Return the singular output key.
78
-
79
- :meta private:
80
- """
81
- if not self.return_intermediate_steps:
82
- return [self.output_key]
83
- return [self.output_key, INTERMEDIATE_STEPS_KEY]
84
-
85
- def _list_indices(self) -> list[str]:
86
- all_indices = [
87
- index["index"] for index in self.database.cat.indices(format="json")
88
- ]
89
-
90
- if self.include_indices:
91
- all_indices = [i for i in all_indices if i in self.include_indices]
92
- if self.ignore_indices:
93
- all_indices = [i for i in all_indices if i not in self.ignore_indices]
94
-
95
- return all_indices
96
-
97
- def _get_indices_infos(self, indices: list[str]) -> str:
98
- mappings = self.database.indices.get_mapping(index=",".join(indices))
99
- if self.sample_documents_in_index_info > 0:
100
- for k, v in mappings.items():
101
- hits = self.database.search(
102
- index=k,
103
- query={"match_all": {}},
104
- size=self.sample_documents_in_index_info,
105
- )["hits"]["hits"]
106
- hits = [str(hit["_source"]) for hit in hits]
107
- mappings[k]["mappings"] = str(v) + "\n\n/*\n" + "\n".join(hits) + "\n*/"
108
- return "\n\n".join(
109
- [
110
- "Mapping for index {}:\n{}".format(index, mappings[index]["mappings"])
111
- for index in mappings
112
- ],
113
- )
114
-
115
- def _search(self, indices: list[str], query: str) -> str:
116
- result = self.database.search(index=",".join(indices), body=query)
117
- return str(result)
118
-
119
- def _call(
120
- self,
121
- inputs: dict[str, Any],
122
- run_manager: Optional[CallbackManagerForChainRun] = None,
123
- ) -> dict[str, Any]:
124
- _run_manager = run_manager or CallbackManagerForChainRun.get_noop_manager()
125
- input_text = f"{inputs[self.input_key]}\nESQuery:"
126
- _run_manager.on_text(input_text, verbose=self.verbose)
127
- indices = self._list_indices()
128
- indices_info = self._get_indices_infos(indices)
129
- query_inputs: dict = {
130
- "input": input_text,
131
- "top_k": str(self.top_k),
132
- "indices_info": indices_info,
133
- "stop": ["\nESResult:"],
134
- }
135
- intermediate_steps: list = []
136
- try:
137
- intermediate_steps.append(query_inputs) # input: es generation
138
- es_cmd = self.query_chain.invoke(
139
- query_inputs,
140
- config={"callbacks": _run_manager.get_child()},
141
- )
142
-
143
- _run_manager.on_text(es_cmd, color="green", verbose=self.verbose)
144
- intermediate_steps.append(
145
- es_cmd,
146
- ) # output: elasticsearch dsl generation (no checker)
147
- intermediate_steps.append({"es_cmd": es_cmd}) # input: ES search
148
- result = self._search(indices=indices, query=es_cmd)
149
- intermediate_steps.append(str(result)) # output: ES search
150
-
151
- _run_manager.on_text("\nESResult: ", verbose=self.verbose)
152
- _run_manager.on_text(result, color="yellow", verbose=self.verbose)
153
-
154
- _run_manager.on_text("\nAnswer:", verbose=self.verbose)
155
- answer_inputs: dict = {"data": result, "input": input_text}
156
- intermediate_steps.append(answer_inputs) # input: final answer
157
- final_result = self.answer_chain.invoke(
158
- answer_inputs,
159
- config={"callbacks": _run_manager.get_child()},
160
- )
161
-
162
- intermediate_steps.append(final_result) # output: final answer
163
- _run_manager.on_text(final_result, color="green", verbose=self.verbose)
164
- chain_result: dict[str, Any] = {self.output_key: final_result}
165
- if self.return_intermediate_steps:
166
- chain_result[INTERMEDIATE_STEPS_KEY] = intermediate_steps
167
- except Exception as exc:
168
- # Append intermediate steps to exception, to aid in logging and later
169
- # improvement of few shot prompt seeds
170
- exc.intermediate_steps = intermediate_steps # type: ignore[attr-defined]
171
- raise
172
-
173
- return chain_result
174
-
175
- @property
176
- def _chain_type(self) -> str:
177
- return "elasticsearch_database_chain"
178
-
179
- @classmethod
180
- def from_llm(
181
- cls,
182
- llm: BaseLanguageModel,
183
- database: Elasticsearch,
184
- *,
185
- query_prompt: Optional[BasePromptTemplate] = None,
186
- answer_prompt: Optional[BasePromptTemplate] = None,
187
- query_output_parser: Optional[BaseOutputParser] = None,
188
- **kwargs: Any,
189
- ) -> ElasticsearchDatabaseChain:
190
- """Convenience method to construct ElasticsearchDatabaseChain from an LLM.
191
-
192
- Args:
193
- llm: The language model to use.
194
- database: The Elasticsearch db.
195
- query_prompt: The prompt to use for query construction.
196
- answer_prompt: The prompt to use for answering user question given data.
197
- query_output_parser: The output parser to use for parsing model-generated
198
- ES query. Defaults to SimpleJsonOutputParser.
199
- kwargs: Additional arguments to pass to the constructor.
200
- """
201
- query_prompt = query_prompt or DSL_PROMPT
202
- query_output_parser = query_output_parser or SimpleJsonOutputParser()
203
- query_chain = query_prompt | llm | query_output_parser
204
- answer_prompt = answer_prompt or ANSWER_PROMPT
205
- answer_chain = answer_prompt | llm | StrOutputParser()
206
- return cls(
207
- query_chain=query_chain,
208
- answer_chain=answer_chain,
209
- database=database,
210
- **kwargs,
211
- )
@@ -1,35 +0,0 @@
1
- from langchain_core.prompts.prompt import PromptTemplate
2
-
3
- PROMPT_SUFFIX = """Only use the following Elasticsearch indices:
4
- {indices_info}
5
-
6
- Question: {input}
7
- ESQuery:"""
8
-
9
- DEFAULT_DSL_TEMPLATE = """Given an input question, create a syntactically correct Elasticsearch query to run. Unless the user specifies in their question a specific number of examples they wish to obtain, always limit your query to at most {top_k} results. You can order the results by a relevant column to return the most interesting examples in the database.
10
-
11
- Unless told to do not query for all the columns from a specific index, only ask for a few relevant columns given the question.
12
-
13
- Pay attention to use only the column names that you can see in the mapping description. Be careful to not query for columns that do not exist. Also, pay attention to which column is in which index. Return the query as valid json.
14
-
15
- Use the following format:
16
-
17
- Question: Question here
18
- ESQuery: Elasticsearch Query formatted as json
19
- """ # noqa: E501
20
-
21
- DSL_PROMPT = PromptTemplate.from_template(DEFAULT_DSL_TEMPLATE + PROMPT_SUFFIX)
22
-
23
- DEFAULT_ANSWER_TEMPLATE = """Given an input question and relevant data from a database, answer the user question.
24
-
25
- Use the following format:
26
-
27
- Question: Question here
28
- Data: Relevant data here
29
- Answer: Final answer here
30
-
31
- Question: {input}
32
- Data: {data}
33
- Answer:""" # noqa: E501
34
-
35
- ANSWER_PROMPT = PromptTemplate.from_template(DEFAULT_ANSWER_TEMPLATE)
@@ -1,44 +0,0 @@
1
- from typing import TYPE_CHECKING, Any
2
-
3
- from langchain._api import create_importer
4
-
5
- if TYPE_CHECKING:
6
- from langchain_community.chains.ernie_functions.base import (
7
- convert_to_ernie_function,
8
- create_ernie_fn_chain,
9
- create_ernie_fn_runnable,
10
- create_structured_output_chain,
11
- create_structured_output_runnable,
12
- get_ernie_output_parser,
13
- )
14
-
15
- # Create a way to dynamically look up deprecated imports.
16
- # Used to consolidate logic for raising deprecation warnings and
17
- # handling optional imports.
18
- DEPRECATED_LOOKUP = {
19
- "convert_to_ernie_function": "langchain_community.chains.ernie_functions.base",
20
- "create_ernie_fn_chain": "langchain_community.chains.ernie_functions.base",
21
- "create_ernie_fn_runnable": "langchain_community.chains.ernie_functions.base",
22
- "create_structured_output_chain": "langchain_community.chains.ernie_functions.base",
23
- "create_structured_output_runnable": (
24
- "langchain_community.chains.ernie_functions.base"
25
- ),
26
- "get_ernie_output_parser": "langchain_community.chains.ernie_functions.base",
27
- }
28
-
29
- _import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
30
-
31
-
32
- def __getattr__(name: str) -> Any:
33
- """Look up attributes dynamically."""
34
- return _import_attribute(name)
35
-
36
-
37
- __all__ = [
38
- "convert_to_ernie_function",
39
- "create_ernie_fn_chain",
40
- "create_ernie_fn_runnable",
41
- "create_structured_output_chain",
42
- "create_structured_output_runnable",
43
- "get_ernie_output_parser",
44
- ]
@@ -1,49 +0,0 @@
1
- from typing import TYPE_CHECKING, Any
2
-
3
- from langchain._api import create_importer
4
-
5
- if TYPE_CHECKING:
6
- from langchain_community.chains.ernie_functions.base import (
7
- convert_python_function_to_ernie_function,
8
- convert_to_ernie_function,
9
- create_ernie_fn_chain,
10
- create_ernie_fn_runnable,
11
- create_structured_output_chain,
12
- create_structured_output_runnable,
13
- get_ernie_output_parser,
14
- )
15
-
16
- # Create a way to dynamically look up deprecated imports.
17
- # Used to consolidate logic for raising deprecation warnings and
18
- # handling optional imports.
19
- DEPRECATED_LOOKUP = {
20
- "convert_python_function_to_ernie_function": (
21
- "langchain_community.chains.ernie_functions.base"
22
- ),
23
- "convert_to_ernie_function": "langchain_community.chains.ernie_functions.base",
24
- "create_ernie_fn_chain": "langchain_community.chains.ernie_functions.base",
25
- "create_ernie_fn_runnable": "langchain_community.chains.ernie_functions.base",
26
- "create_structured_output_chain": "langchain_community.chains.ernie_functions.base",
27
- "create_structured_output_runnable": (
28
- "langchain_community.chains.ernie_functions.base"
29
- ),
30
- "get_ernie_output_parser": "langchain_community.chains.ernie_functions.base",
31
- }
32
-
33
- _import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
34
-
35
-
36
- def __getattr__(name: str) -> Any:
37
- """Look up attributes dynamically."""
38
- return _import_attribute(name)
39
-
40
-
41
- __all__ = [
42
- "convert_python_function_to_ernie_function",
43
- "convert_to_ernie_function",
44
- "create_ernie_fn_chain",
45
- "create_ernie_fn_runnable",
46
- "create_structured_output_chain",
47
- "create_structured_output_runnable",
48
- "get_ernie_output_parser",
49
- ]
@@ -1,22 +0,0 @@
1
- from langchain_core.language_models import BaseLanguageModel
2
- from langchain_core.output_parsers import StrOutputParser
3
- from langchain_core.prompts.few_shot import FewShotPromptTemplate
4
- from langchain_core.prompts.prompt import PromptTemplate
5
-
6
- TEST_GEN_TEMPLATE_SUFFIX = "Add another example."
7
-
8
-
9
- def generate_example(
10
- examples: list[dict],
11
- llm: BaseLanguageModel,
12
- prompt_template: PromptTemplate,
13
- ) -> str:
14
- """Return another example given a list of examples for a prompt."""
15
- prompt = FewShotPromptTemplate(
16
- examples=examples,
17
- suffix=TEST_GEN_TEMPLATE_SUFFIX,
18
- input_variables=[],
19
- example_prompt=prompt_template,
20
- )
21
- chain = prompt | llm | StrOutputParser()
22
- return chain.invoke({})
@@ -1 +0,0 @@
1
- """Adapted from https://github.com/jzbjyb/FLARE"""
@@ -1,282 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import logging
4
- import re
5
- from collections.abc import Sequence
6
- from typing import Any, Optional
7
-
8
- from langchain_core.callbacks import (
9
- CallbackManagerForChainRun,
10
- )
11
- from langchain_core.language_models import BaseLanguageModel
12
- from langchain_core.messages import AIMessage
13
- from langchain_core.output_parsers import StrOutputParser
14
- from langchain_core.prompts import BasePromptTemplate
15
- from langchain_core.retrievers import BaseRetriever
16
- from langchain_core.runnables import Runnable
17
- from pydantic import Field
18
-
19
- from langchain.chains.base import Chain
20
- from langchain.chains.flare.prompts import (
21
- PROMPT,
22
- QUESTION_GENERATOR_PROMPT,
23
- FinishedOutputParser,
24
- )
25
- from langchain.chains.llm import LLMChain
26
-
27
- logger = logging.getLogger(__name__)
28
-
29
-
30
- def _extract_tokens_and_log_probs(response: AIMessage) -> tuple[list[str], list[float]]:
31
- """Extract tokens and log probabilities from chat model response."""
32
- tokens = []
33
- log_probs = []
34
- for token in response.response_metadata["logprobs"]["content"]:
35
- tokens.append(token["token"])
36
- log_probs.append(token["logprob"])
37
- return tokens, log_probs
38
-
39
-
40
- class QuestionGeneratorChain(LLMChain):
41
- """Chain that generates questions from uncertain spans."""
42
-
43
- prompt: BasePromptTemplate = QUESTION_GENERATOR_PROMPT
44
- """Prompt template for the chain."""
45
-
46
- @classmethod
47
- def is_lc_serializable(cls) -> bool:
48
- return False
49
-
50
- @property
51
- def input_keys(self) -> list[str]:
52
- """Input keys for the chain."""
53
- return ["user_input", "context", "response"]
54
-
55
-
56
- def _low_confidence_spans(
57
- tokens: Sequence[str],
58
- log_probs: Sequence[float],
59
- min_prob: float,
60
- min_token_gap: int,
61
- num_pad_tokens: int,
62
- ) -> list[str]:
63
- try:
64
- import numpy as np
65
-
66
- _low_idx = np.where(np.exp(log_probs) < min_prob)[0]
67
- except ImportError:
68
- logger.warning(
69
- "NumPy not found in the current Python environment. FlareChain will use a "
70
- "pure Python implementation for internal calculations, which may "
71
- "significantly impact performance, especially for large datasets. For "
72
- "optimal speed and efficiency, consider installing NumPy: pip install "
73
- "numpy",
74
- )
75
- import math
76
-
77
- _low_idx = [ # type: ignore[assignment]
78
- idx
79
- for idx, log_prob in enumerate(log_probs)
80
- if math.exp(log_prob) < min_prob
81
- ]
82
- low_idx = [i for i in _low_idx if re.search(r"\w", tokens[i])]
83
- if len(low_idx) == 0:
84
- return []
85
- spans = [[low_idx[0], low_idx[0] + num_pad_tokens + 1]]
86
- for i, idx in enumerate(low_idx[1:]):
87
- end = idx + num_pad_tokens + 1
88
- if idx - low_idx[i] < min_token_gap:
89
- spans[-1][1] = end
90
- else:
91
- spans.append([idx, end])
92
- return ["".join(tokens[start:end]) for start, end in spans]
93
-
94
-
95
- class FlareChain(Chain):
96
- """Chain that combines a retriever, a question generator,
97
- and a response generator.
98
-
99
- See [Active Retrieval Augmented Generation](https://arxiv.org/abs/2305.06983) paper.
100
- """
101
-
102
- question_generator_chain: Runnable
103
- """Chain that generates questions from uncertain spans."""
104
- response_chain: Runnable
105
- """Chain that generates responses from user input and context."""
106
- output_parser: FinishedOutputParser = Field(default_factory=FinishedOutputParser)
107
- """Parser that determines whether the chain is finished."""
108
- retriever: BaseRetriever
109
- """Retriever that retrieves relevant documents from a user input."""
110
- min_prob: float = 0.2
111
- """Minimum probability for a token to be considered low confidence."""
112
- min_token_gap: int = 5
113
- """Minimum number of tokens between two low confidence spans."""
114
- num_pad_tokens: int = 2
115
- """Number of tokens to pad around a low confidence span."""
116
- max_iter: int = 10
117
- """Maximum number of iterations."""
118
- start_with_retrieval: bool = True
119
- """Whether to start with retrieval."""
120
-
121
- @property
122
- def input_keys(self) -> list[str]:
123
- """Input keys for the chain."""
124
- return ["user_input"]
125
-
126
- @property
127
- def output_keys(self) -> list[str]:
128
- """Output keys for the chain."""
129
- return ["response"]
130
-
131
- def _do_generation(
132
- self,
133
- questions: list[str],
134
- user_input: str,
135
- response: str,
136
- _run_manager: CallbackManagerForChainRun,
137
- ) -> tuple[str, bool]:
138
- callbacks = _run_manager.get_child()
139
- docs = []
140
- for question in questions:
141
- docs.extend(self.retriever.invoke(question))
142
- context = "\n\n".join(d.page_content for d in docs)
143
- result = self.response_chain.invoke(
144
- {
145
- "user_input": user_input,
146
- "context": context,
147
- "response": response,
148
- },
149
- {"callbacks": callbacks},
150
- )
151
- if isinstance(result, AIMessage):
152
- result = result.content
153
- marginal, finished = self.output_parser.parse(result)
154
- return marginal, finished
155
-
156
- def _do_retrieval(
157
- self,
158
- low_confidence_spans: list[str],
159
- _run_manager: CallbackManagerForChainRun,
160
- user_input: str,
161
- response: str,
162
- initial_response: str,
163
- ) -> tuple[str, bool]:
164
- question_gen_inputs = [
165
- {
166
- "user_input": user_input,
167
- "current_response": initial_response,
168
- "uncertain_span": span,
169
- }
170
- for span in low_confidence_spans
171
- ]
172
- callbacks = _run_manager.get_child()
173
- if isinstance(self.question_generator_chain, LLMChain):
174
- question_gen_outputs = self.question_generator_chain.apply(
175
- question_gen_inputs,
176
- callbacks=callbacks,
177
- )
178
- questions = [
179
- output[self.question_generator_chain.output_keys[0]]
180
- for output in question_gen_outputs
181
- ]
182
- else:
183
- questions = self.question_generator_chain.batch(
184
- question_gen_inputs,
185
- config={"callbacks": callbacks},
186
- )
187
- _run_manager.on_text(
188
- f"Generated Questions: {questions}",
189
- color="yellow",
190
- end="\n",
191
- )
192
- return self._do_generation(questions, user_input, response, _run_manager)
193
-
194
- def _call(
195
- self,
196
- inputs: dict[str, Any],
197
- run_manager: Optional[CallbackManagerForChainRun] = None,
198
- ) -> dict[str, Any]:
199
- _run_manager = run_manager or CallbackManagerForChainRun.get_noop_manager()
200
-
201
- user_input = inputs[self.input_keys[0]]
202
-
203
- response = ""
204
-
205
- for _i in range(self.max_iter):
206
- _run_manager.on_text(
207
- f"Current Response: {response}",
208
- color="blue",
209
- end="\n",
210
- )
211
- _input = {"user_input": user_input, "context": "", "response": response}
212
- tokens, log_probs = _extract_tokens_and_log_probs(
213
- self.response_chain.invoke(
214
- _input,
215
- {"callbacks": _run_manager.get_child()},
216
- ),
217
- )
218
- low_confidence_spans = _low_confidence_spans(
219
- tokens,
220
- log_probs,
221
- self.min_prob,
222
- self.min_token_gap,
223
- self.num_pad_tokens,
224
- )
225
- initial_response = response.strip() + " " + "".join(tokens)
226
- if not low_confidence_spans:
227
- response = initial_response
228
- final_response, finished = self.output_parser.parse(response)
229
- if finished:
230
- return {self.output_keys[0]: final_response}
231
- continue
232
-
233
- marginal, finished = self._do_retrieval(
234
- low_confidence_spans,
235
- _run_manager,
236
- user_input,
237
- response,
238
- initial_response,
239
- )
240
- response = response.strip() + " " + marginal
241
- if finished:
242
- break
243
- return {self.output_keys[0]: response}
244
-
245
- @classmethod
246
- def from_llm(
247
- cls,
248
- llm: BaseLanguageModel,
249
- max_generation_len: int = 32,
250
- **kwargs: Any,
251
- ) -> FlareChain:
252
- """Creates a FlareChain from a language model.
253
-
254
- Args:
255
- llm: Language model to use.
256
- max_generation_len: Maximum length of the generated response.
257
- kwargs: Additional arguments to pass to the constructor.
258
-
259
- Returns:
260
- FlareChain class with the given language model.
261
- """
262
- try:
263
- from langchain_openai import ChatOpenAI
264
- except ImportError as e:
265
- msg = (
266
- "OpenAI is required for FlareChain. "
267
- "Please install langchain-openai."
268
- "pip install langchain-openai"
269
- )
270
- raise ImportError(msg) from e
271
- llm = ChatOpenAI(
272
- max_completion_tokens=max_generation_len,
273
- logprobs=True,
274
- temperature=0,
275
- )
276
- response_chain = PROMPT | llm
277
- question_gen_chain = QUESTION_GENERATOR_PROMPT | llm | StrOutputParser()
278
- return cls(
279
- question_generator_chain=question_gen_chain,
280
- response_chain=response_chain,
281
- **kwargs,
282
- )
@@ -1,44 +0,0 @@
1
- from langchain_core.output_parsers import BaseOutputParser
2
- from langchain_core.prompts import PromptTemplate
3
-
4
-
5
- class FinishedOutputParser(BaseOutputParser[tuple[str, bool]]):
6
- """Output parser that checks if the output is finished."""
7
-
8
- finished_value: str = "FINISHED"
9
- """Value that indicates the output is finished."""
10
-
11
- def parse(self, text: str) -> tuple[str, bool]:
12
- cleaned = text.strip()
13
- finished = self.finished_value in cleaned
14
- return cleaned.replace(self.finished_value, ""), finished
15
-
16
-
17
- PROMPT_TEMPLATE = """\
18
- Respond to the user message using any relevant context. \
19
- If context is provided, you should ground your answer in that context. \
20
- Once you're done responding return FINISHED.
21
-
22
- >>> CONTEXT: {context}
23
- >>> USER INPUT: {user_input}
24
- >>> RESPONSE: {response}\
25
- """
26
-
27
- PROMPT = PromptTemplate(
28
- template=PROMPT_TEMPLATE,
29
- input_variables=["user_input", "context", "response"],
30
- )
31
-
32
-
33
- QUESTION_GENERATOR_PROMPT_TEMPLATE = """\
34
- Given a user input and an existing partial response as context, \
35
- ask a question to which the answer is the given term/entity/phrase:
36
-
37
- >>> USER INPUT: {user_input}
38
- >>> EXISTING PARTIAL RESPONSE: {current_response}
39
-
40
- The question to which the answer is the term/entity/phrase "{uncertain_span}" is:"""
41
- QUESTION_GENERATOR_PROMPT = PromptTemplate(
42
- template=QUESTION_GENERATOR_PROMPT_TEMPLATE,
43
- input_variables=["user_input", "current_response", "uncertain_span"],
44
- )