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

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

Potentially problematic release.


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

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