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,568 +0,0 @@
1
- """Chain for chatting with a vector database."""
2
-
3
- from __future__ import annotations
4
-
5
- import inspect
6
- import warnings
7
- from abc import abstractmethod
8
- from pathlib import Path
9
- from typing import Any, Callable, Optional, Union
10
-
11
- from langchain_core._api import deprecated
12
- from langchain_core.callbacks import (
13
- AsyncCallbackManagerForChainRun,
14
- CallbackManagerForChainRun,
15
- Callbacks,
16
- )
17
- from langchain_core.documents import Document
18
- from langchain_core.language_models import BaseLanguageModel
19
- from langchain_core.messages import BaseMessage
20
- from langchain_core.prompts import BasePromptTemplate
21
- from langchain_core.retrievers import BaseRetriever
22
- from langchain_core.runnables import RunnableConfig
23
- from langchain_core.vectorstores import VectorStore
24
- from pydantic import BaseModel, ConfigDict, Field, model_validator
25
-
26
- from langchain.chains.base import Chain
27
- from langchain.chains.combine_documents.base import BaseCombineDocumentsChain
28
- from langchain.chains.combine_documents.stuff import StuffDocumentsChain
29
- from langchain.chains.conversational_retrieval.prompts import CONDENSE_QUESTION_PROMPT
30
- from langchain.chains.llm import LLMChain
31
- from langchain.chains.question_answering import load_qa_chain
32
-
33
- # Depending on the memory type and configuration, the chat history format may differ.
34
- # This needs to be consolidated.
35
- CHAT_TURN_TYPE = Union[tuple[str, str], BaseMessage]
36
-
37
-
38
- _ROLE_MAP = {"human": "Human: ", "ai": "Assistant: "}
39
-
40
-
41
- def _get_chat_history(chat_history: list[CHAT_TURN_TYPE]) -> str:
42
- buffer = ""
43
- for dialogue_turn in chat_history:
44
- if isinstance(dialogue_turn, BaseMessage):
45
- if len(dialogue_turn.content) > 0:
46
- role_prefix = _ROLE_MAP.get(
47
- dialogue_turn.type,
48
- f"{dialogue_turn.type}: ",
49
- )
50
- buffer += f"\n{role_prefix}{dialogue_turn.content}"
51
- elif isinstance(dialogue_turn, tuple):
52
- human = "Human: " + dialogue_turn[0]
53
- ai = "Assistant: " + dialogue_turn[1]
54
- buffer += f"\n{human}\n{ai}"
55
- else:
56
- msg = (
57
- f"Unsupported chat history format: {type(dialogue_turn)}."
58
- f" Full chat history: {chat_history} "
59
- )
60
- raise ValueError(msg) # noqa: TRY004
61
- return buffer
62
-
63
-
64
- class InputType(BaseModel):
65
- """Input type for ConversationalRetrievalChain."""
66
-
67
- question: str
68
- """The question to answer."""
69
- chat_history: list[CHAT_TURN_TYPE] = Field(default_factory=list)
70
- """The chat history to use for retrieval."""
71
-
72
-
73
- class BaseConversationalRetrievalChain(Chain):
74
- """Chain for chatting with an index."""
75
-
76
- combine_docs_chain: BaseCombineDocumentsChain
77
- """The chain used to combine any retrieved documents."""
78
- question_generator: LLMChain
79
- """The chain used to generate a new question for the sake of retrieval.
80
- This chain will take in the current question (with variable `question`)
81
- and any chat history (with variable `chat_history`) and will produce
82
- a new standalone question to be used later on."""
83
- output_key: str = "answer"
84
- """The output key to return the final answer of this chain in."""
85
- rephrase_question: bool = True
86
- """Whether or not to pass the new generated question to the combine_docs_chain.
87
- If True, will pass the new generated question along.
88
- If False, will only use the new generated question for retrieval and pass the
89
- original question along to the combine_docs_chain."""
90
- return_source_documents: bool = False
91
- """Return the retrieved source documents as part of the final result."""
92
- return_generated_question: bool = False
93
- """Return the generated question as part of the final result."""
94
- get_chat_history: Optional[Callable[[list[CHAT_TURN_TYPE]], str]] = None
95
- """An optional function to get a string of the chat history.
96
- If None is provided, will use a default."""
97
- response_if_no_docs_found: Optional[str] = None
98
- """If specified, the chain will return a fixed response if no docs
99
- are found for the question. """
100
-
101
- model_config = ConfigDict(
102
- populate_by_name=True,
103
- arbitrary_types_allowed=True,
104
- extra="forbid",
105
- )
106
-
107
- @property
108
- def input_keys(self) -> list[str]:
109
- """Input keys."""
110
- return ["question", "chat_history"]
111
-
112
- def get_input_schema(
113
- self,
114
- config: Optional[RunnableConfig] = None,
115
- ) -> type[BaseModel]:
116
- return InputType
117
-
118
- @property
119
- def output_keys(self) -> list[str]:
120
- """Return the output keys.
121
-
122
- :meta private:
123
- """
124
- _output_keys = [self.output_key]
125
- if self.return_source_documents:
126
- _output_keys = [*_output_keys, "source_documents"]
127
- if self.return_generated_question:
128
- _output_keys = [*_output_keys, "generated_question"]
129
- return _output_keys
130
-
131
- @abstractmethod
132
- def _get_docs(
133
- self,
134
- question: str,
135
- inputs: dict[str, Any],
136
- *,
137
- run_manager: CallbackManagerForChainRun,
138
- ) -> list[Document]:
139
- """Get docs."""
140
-
141
- def _call(
142
- self,
143
- inputs: dict[str, Any],
144
- run_manager: Optional[CallbackManagerForChainRun] = None,
145
- ) -> dict[str, Any]:
146
- _run_manager = run_manager or CallbackManagerForChainRun.get_noop_manager()
147
- question = inputs["question"]
148
- get_chat_history = self.get_chat_history or _get_chat_history
149
- chat_history_str = get_chat_history(inputs["chat_history"])
150
-
151
- if chat_history_str:
152
- callbacks = _run_manager.get_child()
153
- new_question = self.question_generator.run(
154
- question=question,
155
- chat_history=chat_history_str,
156
- callbacks=callbacks,
157
- )
158
- else:
159
- new_question = question
160
- accepts_run_manager = (
161
- "run_manager" in inspect.signature(self._get_docs).parameters
162
- )
163
- if accepts_run_manager:
164
- docs = self._get_docs(new_question, inputs, run_manager=_run_manager)
165
- else:
166
- docs = self._get_docs(new_question, inputs) # type: ignore[call-arg]
167
- output: dict[str, Any] = {}
168
- if self.response_if_no_docs_found is not None and len(docs) == 0:
169
- output[self.output_key] = self.response_if_no_docs_found
170
- else:
171
- new_inputs = inputs.copy()
172
- if self.rephrase_question:
173
- new_inputs["question"] = new_question
174
- new_inputs["chat_history"] = chat_history_str
175
- answer = self.combine_docs_chain.run(
176
- input_documents=docs,
177
- callbacks=_run_manager.get_child(),
178
- **new_inputs,
179
- )
180
- output[self.output_key] = answer
181
-
182
- if self.return_source_documents:
183
- output["source_documents"] = docs
184
- if self.return_generated_question:
185
- output["generated_question"] = new_question
186
- return output
187
-
188
- @abstractmethod
189
- async def _aget_docs(
190
- self,
191
- question: str,
192
- inputs: dict[str, Any],
193
- *,
194
- run_manager: AsyncCallbackManagerForChainRun,
195
- ) -> list[Document]:
196
- """Get docs."""
197
-
198
- async def _acall(
199
- self,
200
- inputs: dict[str, Any],
201
- run_manager: Optional[AsyncCallbackManagerForChainRun] = None,
202
- ) -> dict[str, Any]:
203
- _run_manager = run_manager or AsyncCallbackManagerForChainRun.get_noop_manager()
204
- question = inputs["question"]
205
- get_chat_history = self.get_chat_history or _get_chat_history
206
- chat_history_str = get_chat_history(inputs["chat_history"])
207
- if chat_history_str:
208
- callbacks = _run_manager.get_child()
209
- new_question = await self.question_generator.arun(
210
- question=question,
211
- chat_history=chat_history_str,
212
- callbacks=callbacks,
213
- )
214
- else:
215
- new_question = question
216
- accepts_run_manager = (
217
- "run_manager" in inspect.signature(self._aget_docs).parameters
218
- )
219
- if accepts_run_manager:
220
- docs = await self._aget_docs(new_question, inputs, run_manager=_run_manager)
221
- else:
222
- docs = await self._aget_docs(new_question, inputs) # type: ignore[call-arg]
223
-
224
- output: dict[str, Any] = {}
225
- if self.response_if_no_docs_found is not None and len(docs) == 0:
226
- output[self.output_key] = self.response_if_no_docs_found
227
- else:
228
- new_inputs = inputs.copy()
229
- if self.rephrase_question:
230
- new_inputs["question"] = new_question
231
- new_inputs["chat_history"] = chat_history_str
232
- answer = await self.combine_docs_chain.arun(
233
- input_documents=docs,
234
- callbacks=_run_manager.get_child(),
235
- **new_inputs,
236
- )
237
- output[self.output_key] = answer
238
-
239
- if self.return_source_documents:
240
- output["source_documents"] = docs
241
- if self.return_generated_question:
242
- output["generated_question"] = new_question
243
- return output
244
-
245
- def save(self, file_path: Union[Path, str]) -> None:
246
- if self.get_chat_history:
247
- msg = "Chain not saveable when `get_chat_history` is not None."
248
- raise ValueError(msg)
249
- super().save(file_path)
250
-
251
-
252
- @deprecated(
253
- since="0.1.17",
254
- alternative=(
255
- "create_history_aware_retriever together with create_retrieval_chain "
256
- "(see example in docstring)"
257
- ),
258
- removal="1.0",
259
- )
260
- class ConversationalRetrievalChain(BaseConversationalRetrievalChain):
261
- """Chain for having a conversation based on retrieved documents.
262
-
263
- This class is deprecated. See below for an example implementation using
264
- `create_retrieval_chain`. Additional walkthroughs can be found at
265
- https://python.langchain.com/docs/use_cases/question_answering/chat_history
266
-
267
- .. code-block:: python
268
-
269
- from langchain.chains import (
270
- create_history_aware_retriever,
271
- create_retrieval_chain,
272
- )
273
- from langchain.chains.combine_documents import create_stuff_documents_chain
274
- from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
275
- from langchain_openai import ChatOpenAI
276
-
277
-
278
- retriever = ... # Your retriever
279
-
280
- llm = ChatOpenAI()
281
-
282
- # Contextualize question
283
- contextualize_q_system_prompt = (
284
- "Given a chat history and the latest user question "
285
- "which might reference context in the chat history, "
286
- "formulate a standalone question which can be understood "
287
- "without the chat history. Do NOT answer the question, just "
288
- "reformulate it if needed and otherwise return it as is."
289
- )
290
- contextualize_q_prompt = ChatPromptTemplate.from_messages(
291
- [
292
- ("system", contextualize_q_system_prompt),
293
- MessagesPlaceholder("chat_history"),
294
- ("human", "{input}"),
295
- ]
296
- )
297
- history_aware_retriever = create_history_aware_retriever(
298
- llm, retriever, contextualize_q_prompt
299
- )
300
-
301
- # Answer question
302
- qa_system_prompt = (
303
- "You are an assistant for question-answering tasks. Use "
304
- "the following pieces of retrieved context to answer the "
305
- "question. If you don't know the answer, just say that you "
306
- "don't know. Use three sentences maximum and keep the answer "
307
- "concise."
308
- "\n\n"
309
- "{context}"
310
- )
311
- qa_prompt = ChatPromptTemplate.from_messages(
312
- [
313
- ("system", qa_system_prompt),
314
- MessagesPlaceholder("chat_history"),
315
- ("human", "{input}"),
316
- ]
317
- )
318
- # Below we use create_stuff_documents_chain to feed all retrieved context
319
- # into the LLM. Note that we can also use StuffDocumentsChain and other
320
- # instances of BaseCombineDocumentsChain.
321
- question_answer_chain = create_stuff_documents_chain(llm, qa_prompt)
322
- rag_chain = create_retrieval_chain(
323
- history_aware_retriever, question_answer_chain
324
- )
325
-
326
- # Usage:
327
- chat_history = [] # Collect chat history here (a sequence of messages)
328
- rag_chain.invoke({"input": query, "chat_history": chat_history})
329
-
330
- This chain takes in chat history (a list of messages) and new questions,
331
- and then returns an answer to that question.
332
- The algorithm for this chain consists of three parts:
333
-
334
- 1. Use the chat history and the new question to create a "standalone question".
335
- This is done so that this question can be passed into the retrieval step to fetch
336
- relevant documents. If only the new question was passed in, then relevant context
337
- may be lacking. If the whole conversation was passed into retrieval, there may
338
- be unnecessary information there that would distract from retrieval.
339
-
340
- 2. This new question is passed to the retriever and relevant documents are
341
- returned.
342
-
343
- 3. The retrieved documents are passed to an LLM along with either the new question
344
- (default behavior) or the original question and chat history to generate a final
345
- response.
346
-
347
- Example:
348
- .. code-block:: python
349
-
350
- from langchain.chains import (
351
- StuffDocumentsChain, LLMChain, ConversationalRetrievalChain
352
- )
353
- from langchain_core.prompts import PromptTemplate
354
- from langchain_community.llms import OpenAI
355
-
356
- combine_docs_chain = StuffDocumentsChain(...)
357
- vectorstore = ...
358
- retriever = vectorstore.as_retriever()
359
-
360
- # This controls how the standalone question is generated.
361
- # Should take `chat_history` and `question` as input variables.
362
- template = (
363
- "Combine the chat history and follow up question into "
364
- "a standalone question. Chat History: {chat_history}"
365
- "Follow up question: {question}"
366
- )
367
- prompt = PromptTemplate.from_template(template)
368
- llm = OpenAI()
369
- question_generator_chain = LLMChain(llm=llm, prompt=prompt)
370
- chain = ConversationalRetrievalChain(
371
- combine_docs_chain=combine_docs_chain,
372
- retriever=retriever,
373
- question_generator=question_generator_chain,
374
- )
375
- """
376
-
377
- retriever: BaseRetriever
378
- """Retriever to use to fetch documents."""
379
- max_tokens_limit: Optional[int] = None
380
- """If set, enforces that the documents returned are less than this limit.
381
- This is only enforced if `combine_docs_chain` is of type StuffDocumentsChain."""
382
-
383
- def _reduce_tokens_below_limit(self, docs: list[Document]) -> list[Document]:
384
- num_docs = len(docs)
385
-
386
- if self.max_tokens_limit and isinstance(
387
- self.combine_docs_chain,
388
- StuffDocumentsChain,
389
- ):
390
- tokens = [
391
- self.combine_docs_chain.llm_chain._get_num_tokens(doc.page_content)
392
- for doc in docs
393
- ]
394
- token_count = sum(tokens[:num_docs])
395
- while token_count > self.max_tokens_limit:
396
- num_docs -= 1
397
- token_count -= tokens[num_docs]
398
-
399
- return docs[:num_docs]
400
-
401
- def _get_docs(
402
- self,
403
- question: str,
404
- inputs: dict[str, Any],
405
- *,
406
- run_manager: CallbackManagerForChainRun,
407
- ) -> list[Document]:
408
- """Get docs."""
409
- docs = self.retriever.invoke(
410
- question,
411
- config={"callbacks": run_manager.get_child()},
412
- )
413
- return self._reduce_tokens_below_limit(docs)
414
-
415
- async def _aget_docs(
416
- self,
417
- question: str,
418
- inputs: dict[str, Any],
419
- *,
420
- run_manager: AsyncCallbackManagerForChainRun,
421
- ) -> list[Document]:
422
- """Get docs."""
423
- docs = await self.retriever.ainvoke(
424
- question,
425
- config={"callbacks": run_manager.get_child()},
426
- )
427
- return self._reduce_tokens_below_limit(docs)
428
-
429
- @classmethod
430
- def from_llm(
431
- cls,
432
- llm: BaseLanguageModel,
433
- retriever: BaseRetriever,
434
- condense_question_prompt: BasePromptTemplate = CONDENSE_QUESTION_PROMPT,
435
- chain_type: str = "stuff",
436
- verbose: bool = False, # noqa: FBT001,FBT002
437
- condense_question_llm: Optional[BaseLanguageModel] = None,
438
- combine_docs_chain_kwargs: Optional[dict] = None,
439
- callbacks: Callbacks = None,
440
- **kwargs: Any,
441
- ) -> BaseConversationalRetrievalChain:
442
- """Convenience method to load chain from LLM and retriever.
443
-
444
- This provides some logic to create the `question_generator` chain
445
- as well as the combine_docs_chain.
446
-
447
- Args:
448
- llm: The default language model to use at every part of this chain
449
- (eg in both the question generation and the answering)
450
- retriever: The retriever to use to fetch relevant documents from.
451
- condense_question_prompt: The prompt to use to condense the chat history
452
- and new question into a standalone question.
453
- chain_type: The chain type to use to create the combine_docs_chain, will
454
- be sent to `load_qa_chain`.
455
- verbose: Verbosity flag for logging to stdout.
456
- condense_question_llm: The language model to use for condensing the chat
457
- history and new question into a standalone question. If none is
458
- provided, will default to `llm`.
459
- combine_docs_chain_kwargs: Parameters to pass as kwargs to `load_qa_chain`
460
- when constructing the combine_docs_chain.
461
- callbacks: Callbacks to pass to all subchains.
462
- kwargs: Additional parameters to pass when initializing
463
- ConversationalRetrievalChain
464
- """
465
- combine_docs_chain_kwargs = combine_docs_chain_kwargs or {}
466
- doc_chain = load_qa_chain(
467
- llm,
468
- chain_type=chain_type,
469
- verbose=verbose,
470
- callbacks=callbacks,
471
- **combine_docs_chain_kwargs,
472
- )
473
-
474
- _llm = condense_question_llm or llm
475
- condense_question_chain = LLMChain(
476
- llm=_llm,
477
- prompt=condense_question_prompt,
478
- verbose=verbose,
479
- callbacks=callbacks,
480
- )
481
- return cls(
482
- retriever=retriever,
483
- combine_docs_chain=doc_chain,
484
- question_generator=condense_question_chain,
485
- callbacks=callbacks,
486
- **kwargs,
487
- )
488
-
489
-
490
- class ChatVectorDBChain(BaseConversationalRetrievalChain):
491
- """Chain for chatting with a vector database."""
492
-
493
- vectorstore: VectorStore = Field(alias="vectorstore")
494
- top_k_docs_for_context: int = 4
495
- search_kwargs: dict = Field(default_factory=dict)
496
-
497
- @property
498
- def _chain_type(self) -> str:
499
- return "chat-vector-db"
500
-
501
- @model_validator(mode="before")
502
- @classmethod
503
- def raise_deprecation(cls, values: dict) -> Any:
504
- warnings.warn(
505
- "`ChatVectorDBChain` is deprecated - "
506
- "please use `from langchain.chains import ConversationalRetrievalChain`",
507
- stacklevel=4,
508
- )
509
- return values
510
-
511
- def _get_docs(
512
- self,
513
- question: str,
514
- inputs: dict[str, Any],
515
- *,
516
- run_manager: CallbackManagerForChainRun,
517
- ) -> list[Document]:
518
- """Get docs."""
519
- vectordbkwargs = inputs.get("vectordbkwargs", {})
520
- full_kwargs = {**self.search_kwargs, **vectordbkwargs}
521
- return self.vectorstore.similarity_search(
522
- question,
523
- k=self.top_k_docs_for_context,
524
- **full_kwargs,
525
- )
526
-
527
- async def _aget_docs(
528
- self,
529
- question: str,
530
- inputs: dict[str, Any],
531
- *,
532
- run_manager: AsyncCallbackManagerForChainRun,
533
- ) -> list[Document]:
534
- """Get docs."""
535
- msg = "ChatVectorDBChain does not support async"
536
- raise NotImplementedError(msg)
537
-
538
- @classmethod
539
- def from_llm(
540
- cls,
541
- llm: BaseLanguageModel,
542
- vectorstore: VectorStore,
543
- condense_question_prompt: BasePromptTemplate = CONDENSE_QUESTION_PROMPT,
544
- chain_type: str = "stuff",
545
- combine_docs_chain_kwargs: Optional[dict] = None,
546
- callbacks: Callbacks = None,
547
- **kwargs: Any,
548
- ) -> BaseConversationalRetrievalChain:
549
- """Load chain from LLM."""
550
- combine_docs_chain_kwargs = combine_docs_chain_kwargs or {}
551
- doc_chain = load_qa_chain(
552
- llm,
553
- chain_type=chain_type,
554
- callbacks=callbacks,
555
- **combine_docs_chain_kwargs,
556
- )
557
- condense_question_chain = LLMChain(
558
- llm=llm,
559
- prompt=condense_question_prompt,
560
- callbacks=callbacks,
561
- )
562
- return cls(
563
- vectorstore=vectorstore,
564
- combine_docs_chain=doc_chain,
565
- question_generator=condense_question_chain,
566
- callbacks=callbacks,
567
- **kwargs,
568
- )
@@ -1,19 +0,0 @@
1
- from langchain_core.prompts.prompt import PromptTemplate
2
-
3
- _template = """Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question, in its original language.
4
-
5
- Chat History:
6
- {chat_history}
7
- Follow Up Input: {question}
8
- Standalone question:""" # noqa: E501
9
- CONDENSE_QUESTION_PROMPT = PromptTemplate.from_template(_template)
10
-
11
- prompt_template = """Use the following pieces of context to answer the question at the end. If you don't know the answer, just say that you don't know, don't try to make up an answer.
12
-
13
- {context}
14
-
15
- Question: {question}
16
- Helpful Answer:""" # noqa: E501
17
- QA_PROMPT = PromptTemplate(
18
- template=prompt_template, input_variables=["context", "question"]
19
- )
@@ -1,3 +0,0 @@
1
- from langchain.chains.elasticsearch_database.base import ElasticsearchDatabaseChain
2
-
3
- __all__ = ["ElasticsearchDatabaseChain"]