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

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

Potentially problematic release.


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

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