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.
- langchain/__init__.py +2 -452
- langchain/agents/__init__.py +9 -178
- langchain/agents/factory.py +1582 -0
- langchain/agents/middleware/__init__.py +80 -0
- langchain/agents/middleware/_execution.py +388 -0
- langchain/agents/middleware/_redaction.py +350 -0
- langchain/agents/middleware/context_editing.py +274 -0
- langchain/agents/middleware/file_search.py +382 -0
- langchain/agents/middleware/human_in_the_loop.py +351 -0
- langchain/agents/middleware/model_call_limit.py +210 -0
- langchain/agents/middleware/model_fallback.py +137 -0
- langchain/agents/middleware/pii.py +317 -0
- langchain/agents/middleware/shell_tool.py +718 -0
- langchain/agents/middleware/summarization.py +249 -0
- langchain/agents/middleware/todo.py +219 -0
- langchain/agents/middleware/tool_call_limit.py +333 -0
- langchain/agents/middleware/tool_emulator.py +200 -0
- langchain/agents/middleware/tool_retry.py +384 -0
- langchain/agents/middleware/tool_selection.py +310 -0
- langchain/agents/middleware/types.py +1572 -0
- langchain/agents/structured_output.py +426 -0
- langchain/chat_models/__init__.py +7 -72
- langchain/chat_models/base.py +264 -317
- langchain/embeddings/__init__.py +7 -217
- langchain/embeddings/base.py +32 -42
- langchain/messages/__init__.py +72 -0
- langchain/rate_limiters/__init__.py +13 -0
- langchain/tools/__init__.py +17 -197
- langchain/tools/tool_node.py +1700 -0
- langchain-1.0.0.dist-info/METADATA +87 -0
- langchain-1.0.0.dist-info/RECORD +34 -0
- {langchain-0.3.27.dist-info → langchain-1.0.0.dist-info}/WHEEL +1 -1
- langchain/_api/__init__.py +0 -28
- langchain/_api/deprecation.py +0 -32
- langchain/_api/interactive_env.py +0 -5
- langchain/_api/module_import.py +0 -153
- langchain/_api/path.py +0 -3
- langchain/adapters/__init__.py +0 -0
- langchain/adapters/openai.py +0 -63
- langchain/agents/agent.py +0 -1828
- langchain/agents/agent_iterator.py +0 -431
- langchain/agents/agent_toolkits/__init__.py +0 -167
- langchain/agents/agent_toolkits/ainetwork/__init__.py +0 -1
- langchain/agents/agent_toolkits/ainetwork/toolkit.py +0 -25
- langchain/agents/agent_toolkits/amadeus/toolkit.py +0 -23
- langchain/agents/agent_toolkits/azure_cognitive_services.py +0 -29
- langchain/agents/agent_toolkits/base.py +0 -3
- langchain/agents/agent_toolkits/clickup/__init__.py +0 -0
- langchain/agents/agent_toolkits/clickup/toolkit.py +0 -25
- langchain/agents/agent_toolkits/conversational_retrieval/__init__.py +0 -0
- langchain/agents/agent_toolkits/conversational_retrieval/openai_functions.py +0 -87
- langchain/agents/agent_toolkits/conversational_retrieval/tool.py +0 -3
- langchain/agents/agent_toolkits/csv/__init__.py +0 -28
- langchain/agents/agent_toolkits/file_management/__init__.py +0 -31
- langchain/agents/agent_toolkits/file_management/toolkit.py +0 -29
- langchain/agents/agent_toolkits/github/__init__.py +0 -1
- langchain/agents/agent_toolkits/github/toolkit.py +0 -69
- langchain/agents/agent_toolkits/gitlab/__init__.py +0 -1
- langchain/agents/agent_toolkits/gitlab/toolkit.py +0 -25
- langchain/agents/agent_toolkits/gmail/__init__.py +0 -1
- langchain/agents/agent_toolkits/gmail/toolkit.py +0 -23
- langchain/agents/agent_toolkits/jira/__init__.py +0 -1
- langchain/agents/agent_toolkits/jira/toolkit.py +0 -23
- langchain/agents/agent_toolkits/json/__init__.py +0 -1
- langchain/agents/agent_toolkits/json/base.py +0 -25
- langchain/agents/agent_toolkits/json/prompt.py +0 -24
- langchain/agents/agent_toolkits/json/toolkit.py +0 -23
- langchain/agents/agent_toolkits/multion/__init__.py +0 -1
- langchain/agents/agent_toolkits/multion/toolkit.py +0 -25
- langchain/agents/agent_toolkits/nasa/__init__.py +0 -1
- langchain/agents/agent_toolkits/nasa/toolkit.py +0 -23
- langchain/agents/agent_toolkits/nla/__init__.py +0 -0
- langchain/agents/agent_toolkits/nla/tool.py +0 -23
- langchain/agents/agent_toolkits/nla/toolkit.py +0 -23
- langchain/agents/agent_toolkits/office365/__init__.py +0 -1
- langchain/agents/agent_toolkits/office365/toolkit.py +0 -25
- langchain/agents/agent_toolkits/openapi/__init__.py +0 -1
- langchain/agents/agent_toolkits/openapi/base.py +0 -25
- langchain/agents/agent_toolkits/openapi/planner.py +0 -52
- langchain/agents/agent_toolkits/openapi/planner_prompt.py +0 -103
- langchain/agents/agent_toolkits/openapi/prompt.py +0 -29
- langchain/agents/agent_toolkits/openapi/spec.py +0 -30
- langchain/agents/agent_toolkits/openapi/toolkit.py +0 -30
- langchain/agents/agent_toolkits/pandas/__init__.py +0 -28
- langchain/agents/agent_toolkits/playwright/__init__.py +0 -29
- langchain/agents/agent_toolkits/playwright/toolkit.py +0 -27
- langchain/agents/agent_toolkits/powerbi/__init__.py +0 -1
- langchain/agents/agent_toolkits/powerbi/base.py +0 -25
- langchain/agents/agent_toolkits/powerbi/chat_base.py +0 -27
- langchain/agents/agent_toolkits/powerbi/prompt.py +0 -36
- langchain/agents/agent_toolkits/powerbi/toolkit.py +0 -25
- langchain/agents/agent_toolkits/python/__init__.py +0 -28
- langchain/agents/agent_toolkits/slack/__init__.py +0 -1
- langchain/agents/agent_toolkits/slack/toolkit.py +0 -23
- langchain/agents/agent_toolkits/spark/__init__.py +0 -28
- langchain/agents/agent_toolkits/spark_sql/__init__.py +0 -1
- langchain/agents/agent_toolkits/spark_sql/base.py +0 -25
- langchain/agents/agent_toolkits/spark_sql/prompt.py +0 -27
- langchain/agents/agent_toolkits/spark_sql/toolkit.py +0 -25
- langchain/agents/agent_toolkits/sql/__init__.py +0 -1
- langchain/agents/agent_toolkits/sql/base.py +0 -23
- langchain/agents/agent_toolkits/sql/prompt.py +0 -29
- langchain/agents/agent_toolkits/sql/toolkit.py +0 -25
- langchain/agents/agent_toolkits/steam/__init__.py +0 -1
- langchain/agents/agent_toolkits/steam/toolkit.py +0 -23
- langchain/agents/agent_toolkits/vectorstore/__init__.py +0 -1
- langchain/agents/agent_toolkits/vectorstore/base.py +0 -217
- langchain/agents/agent_toolkits/vectorstore/prompt.py +0 -11
- langchain/agents/agent_toolkits/vectorstore/toolkit.py +0 -97
- langchain/agents/agent_toolkits/xorbits/__init__.py +0 -28
- langchain/agents/agent_toolkits/zapier/__init__.py +0 -1
- langchain/agents/agent_toolkits/zapier/toolkit.py +0 -25
- langchain/agents/agent_types.py +0 -57
- langchain/agents/chat/__init__.py +0 -0
- langchain/agents/chat/base.py +0 -178
- langchain/agents/chat/output_parser.py +0 -74
- langchain/agents/chat/prompt.py +0 -29
- langchain/agents/conversational/__init__.py +0 -1
- langchain/agents/conversational/base.py +0 -176
- langchain/agents/conversational/output_parser.py +0 -51
- langchain/agents/conversational/prompt.py +0 -35
- langchain/agents/conversational_chat/__init__.py +0 -1
- langchain/agents/conversational_chat/base.py +0 -181
- langchain/agents/conversational_chat/output_parser.py +0 -57
- langchain/agents/conversational_chat/prompt.py +0 -56
- langchain/agents/format_scratchpad/__init__.py +0 -25
- langchain/agents/format_scratchpad/log.py +0 -25
- langchain/agents/format_scratchpad/log_to_messages.py +0 -26
- langchain/agents/format_scratchpad/openai_functions.py +0 -80
- langchain/agents/format_scratchpad/openai_tools.py +0 -5
- langchain/agents/format_scratchpad/tools.py +0 -65
- langchain/agents/format_scratchpad/xml.py +0 -52
- langchain/agents/initialize.py +0 -105
- langchain/agents/json_chat/__init__.py +0 -0
- langchain/agents/json_chat/base.py +0 -195
- langchain/agents/json_chat/prompt.py +0 -8
- langchain/agents/load_tools.py +0 -13
- langchain/agents/loading.py +0 -148
- langchain/agents/mrkl/__init__.py +0 -1
- langchain/agents/mrkl/base.py +0 -216
- langchain/agents/mrkl/output_parser.py +0 -103
- langchain/agents/mrkl/prompt.py +0 -15
- langchain/agents/openai_assistant/__init__.py +0 -3
- langchain/agents/openai_assistant/base.py +0 -818
- langchain/agents/openai_functions_agent/__init__.py +0 -0
- langchain/agents/openai_functions_agent/agent_token_buffer_memory.py +0 -101
- langchain/agents/openai_functions_agent/base.py +0 -381
- langchain/agents/openai_functions_multi_agent/__init__.py +0 -0
- langchain/agents/openai_functions_multi_agent/base.py +0 -337
- langchain/agents/openai_tools/__init__.py +0 -0
- langchain/agents/openai_tools/base.py +0 -108
- langchain/agents/output_parsers/__init__.py +0 -35
- langchain/agents/output_parsers/json.py +0 -62
- langchain/agents/output_parsers/openai_functions.py +0 -96
- langchain/agents/output_parsers/openai_tools.py +0 -70
- langchain/agents/output_parsers/react_json_single_input.py +0 -84
- langchain/agents/output_parsers/react_single_input.py +0 -99
- langchain/agents/output_parsers/self_ask.py +0 -51
- langchain/agents/output_parsers/tools.py +0 -107
- langchain/agents/output_parsers/xml.py +0 -123
- langchain/agents/react/__init__.py +0 -1
- langchain/agents/react/agent.py +0 -144
- langchain/agents/react/base.py +0 -185
- langchain/agents/react/output_parser.py +0 -33
- langchain/agents/react/textworld_prompt.py +0 -51
- langchain/agents/react/wiki_prompt.py +0 -70
- langchain/agents/schema.py +0 -35
- langchain/agents/self_ask_with_search/__init__.py +0 -4
- langchain/agents/self_ask_with_search/base.py +0 -215
- langchain/agents/self_ask_with_search/output_parser.py +0 -4
- langchain/agents/self_ask_with_search/prompt.py +0 -43
- langchain/agents/structured_chat/__init__.py +0 -0
- langchain/agents/structured_chat/base.py +0 -304
- langchain/agents/structured_chat/output_parser.py +0 -99
- langchain/agents/structured_chat/prompt.py +0 -34
- langchain/agents/tool_calling_agent/__init__.py +0 -0
- langchain/agents/tool_calling_agent/base.py +0 -110
- langchain/agents/tools.py +0 -47
- langchain/agents/types.py +0 -27
- langchain/agents/utils.py +0 -19
- langchain/agents/xml/__init__.py +0 -0
- langchain/agents/xml/base.py +0 -231
- langchain/agents/xml/prompt.py +0 -21
- langchain/base_language.py +0 -7
- langchain/cache.py +0 -72
- langchain/callbacks/__init__.py +0 -139
- langchain/callbacks/aim_callback.py +0 -33
- langchain/callbacks/argilla_callback.py +0 -25
- langchain/callbacks/arize_callback.py +0 -25
- langchain/callbacks/arthur_callback.py +0 -25
- langchain/callbacks/base.py +0 -29
- langchain/callbacks/clearml_callback.py +0 -25
- langchain/callbacks/comet_ml_callback.py +0 -25
- langchain/callbacks/confident_callback.py +0 -25
- langchain/callbacks/context_callback.py +0 -25
- langchain/callbacks/file.py +0 -3
- langchain/callbacks/flyte_callback.py +0 -25
- langchain/callbacks/human.py +0 -33
- langchain/callbacks/infino_callback.py +0 -25
- langchain/callbacks/labelstudio_callback.py +0 -33
- langchain/callbacks/llmonitor_callback.py +0 -27
- langchain/callbacks/manager.py +0 -89
- langchain/callbacks/mlflow_callback.py +0 -38
- langchain/callbacks/openai_info.py +0 -25
- langchain/callbacks/promptlayer_callback.py +0 -27
- langchain/callbacks/sagemaker_callback.py +0 -27
- langchain/callbacks/stdout.py +0 -3
- langchain/callbacks/streaming_aiter.py +0 -75
- langchain/callbacks/streaming_aiter_final_only.py +0 -91
- langchain/callbacks/streaming_stdout.py +0 -5
- langchain/callbacks/streaming_stdout_final_only.py +0 -91
- langchain/callbacks/streamlit/__init__.py +0 -86
- langchain/callbacks/streamlit/mutable_expander.py +0 -33
- langchain/callbacks/streamlit/streamlit_callback_handler.py +0 -49
- langchain/callbacks/tracers/__init__.py +0 -38
- langchain/callbacks/tracers/base.py +0 -6
- langchain/callbacks/tracers/comet.py +0 -30
- langchain/callbacks/tracers/evaluation.py +0 -8
- langchain/callbacks/tracers/langchain.py +0 -8
- langchain/callbacks/tracers/langchain_v1.py +0 -3
- langchain/callbacks/tracers/log_stream.py +0 -9
- langchain/callbacks/tracers/logging.py +0 -46
- langchain/callbacks/tracers/root_listeners.py +0 -3
- langchain/callbacks/tracers/run_collector.py +0 -3
- langchain/callbacks/tracers/schemas.py +0 -27
- langchain/callbacks/tracers/stdout.py +0 -6
- langchain/callbacks/tracers/wandb.py +0 -27
- langchain/callbacks/trubrics_callback.py +0 -25
- langchain/callbacks/utils.py +0 -48
- langchain/callbacks/wandb_callback.py +0 -25
- langchain/callbacks/whylabs_callback.py +0 -25
- langchain/chains/__init__.py +0 -96
- langchain/chains/api/__init__.py +0 -1
- langchain/chains/api/base.py +0 -394
- langchain/chains/api/news_docs.py +0 -31
- langchain/chains/api/open_meteo_docs.py +0 -32
- langchain/chains/api/openapi/__init__.py +0 -0
- langchain/chains/api/openapi/chain.py +0 -23
- langchain/chains/api/openapi/prompts.py +0 -27
- langchain/chains/api/openapi/requests_chain.py +0 -29
- langchain/chains/api/openapi/response_chain.py +0 -29
- langchain/chains/api/podcast_docs.py +0 -27
- langchain/chains/api/prompt.py +0 -35
- langchain/chains/api/tmdb_docs.py +0 -36
- langchain/chains/base.py +0 -800
- langchain/chains/chat_vector_db/__init__.py +0 -0
- langchain/chains/chat_vector_db/prompts.py +0 -19
- langchain/chains/combine_documents/__init__.py +0 -15
- langchain/chains/combine_documents/base.py +0 -287
- langchain/chains/combine_documents/map_reduce.py +0 -300
- langchain/chains/combine_documents/map_rerank.py +0 -247
- langchain/chains/combine_documents/reduce.py +0 -381
- langchain/chains/combine_documents/refine.py +0 -236
- langchain/chains/combine_documents/stuff.py +0 -288
- langchain/chains/constitutional_ai/__init__.py +0 -2
- langchain/chains/constitutional_ai/base.py +0 -321
- langchain/chains/constitutional_ai/models.py +0 -11
- langchain/chains/constitutional_ai/principles.py +0 -278
- langchain/chains/constitutional_ai/prompts.py +0 -120
- langchain/chains/conversation/__init__.py +0 -1
- langchain/chains/conversation/base.py +0 -143
- langchain/chains/conversation/memory.py +0 -45
- langchain/chains/conversation/prompt.py +0 -28
- langchain/chains/conversational_retrieval/__init__.py +0 -1
- langchain/chains/conversational_retrieval/base.py +0 -568
- langchain/chains/conversational_retrieval/prompts.py +0 -19
- langchain/chains/elasticsearch_database/__init__.py +0 -3
- langchain/chains/elasticsearch_database/base.py +0 -211
- langchain/chains/elasticsearch_database/prompts.py +0 -35
- langchain/chains/ernie_functions/__init__.py +0 -44
- langchain/chains/ernie_functions/base.py +0 -49
- langchain/chains/example_generator.py +0 -22
- langchain/chains/flare/__init__.py +0 -1
- langchain/chains/flare/base.py +0 -282
- langchain/chains/flare/prompts.py +0 -44
- langchain/chains/graph_qa/__init__.py +0 -0
- langchain/chains/graph_qa/arangodb.py +0 -23
- langchain/chains/graph_qa/base.py +0 -23
- langchain/chains/graph_qa/cypher.py +0 -39
- langchain/chains/graph_qa/cypher_utils.py +0 -27
- langchain/chains/graph_qa/falkordb.py +0 -29
- langchain/chains/graph_qa/gremlin.py +0 -36
- langchain/chains/graph_qa/hugegraph.py +0 -23
- langchain/chains/graph_qa/kuzu.py +0 -29
- langchain/chains/graph_qa/nebulagraph.py +0 -23
- langchain/chains/graph_qa/neptune_cypher.py +0 -39
- langchain/chains/graph_qa/neptune_sparql.py +0 -36
- langchain/chains/graph_qa/ontotext_graphdb.py +0 -25
- langchain/chains/graph_qa/prompts.py +0 -96
- langchain/chains/graph_qa/sparql.py +0 -23
- langchain/chains/history_aware_retriever.py +0 -68
- langchain/chains/hyde/__init__.py +0 -4
- langchain/chains/hyde/base.py +0 -124
- langchain/chains/hyde/prompts.py +0 -46
- langchain/chains/llm.py +0 -442
- langchain/chains/llm_bash/__init__.py +0 -10
- langchain/chains/llm_checker/__init__.py +0 -4
- langchain/chains/llm_checker/base.py +0 -194
- langchain/chains/llm_checker/prompt.py +0 -30
- langchain/chains/llm_math/__init__.py +0 -4
- langchain/chains/llm_math/base.py +0 -311
- langchain/chains/llm_math/prompt.py +0 -43
- langchain/chains/llm_requests.py +0 -23
- langchain/chains/llm_summarization_checker/__init__.py +0 -7
- langchain/chains/llm_summarization_checker/base.py +0 -205
- langchain/chains/llm_summarization_checker/prompts/are_all_true_prompt.txt +0 -38
- langchain/chains/llm_summarization_checker/prompts/check_facts.txt +0 -10
- langchain/chains/llm_summarization_checker/prompts/create_facts.txt +0 -10
- langchain/chains/llm_summarization_checker/prompts/revise_summary.txt +0 -17
- langchain/chains/llm_symbolic_math/__init__.py +0 -10
- langchain/chains/loading.py +0 -732
- langchain/chains/mapreduce.py +0 -121
- langchain/chains/moderation.py +0 -132
- langchain/chains/natbot/__init__.py +0 -4
- langchain/chains/natbot/base.py +0 -163
- langchain/chains/natbot/crawler.py +0 -443
- langchain/chains/natbot/prompt.py +0 -143
- langchain/chains/openai_functions/__init__.py +0 -44
- langchain/chains/openai_functions/base.py +0 -235
- langchain/chains/openai_functions/citation_fuzzy_match.py +0 -160
- langchain/chains/openai_functions/extraction.py +0 -197
- langchain/chains/openai_functions/openapi.py +0 -405
- langchain/chains/openai_functions/qa_with_structure.py +0 -142
- langchain/chains/openai_functions/tagging.py +0 -172
- langchain/chains/openai_functions/utils.py +0 -40
- langchain/chains/openai_tools/__init__.py +0 -3
- langchain/chains/openai_tools/extraction.py +0 -79
- langchain/chains/prompt_selector.py +0 -65
- langchain/chains/qa_generation/__init__.py +0 -0
- langchain/chains/qa_generation/base.py +0 -124
- langchain/chains/qa_generation/prompt.py +0 -50
- langchain/chains/qa_with_sources/__init__.py +0 -5
- langchain/chains/qa_with_sources/base.py +0 -263
- langchain/chains/qa_with_sources/loading.py +0 -209
- langchain/chains/qa_with_sources/map_reduce_prompt.py +0 -54
- langchain/chains/qa_with_sources/refine_prompts.py +0 -37
- langchain/chains/qa_with_sources/retrieval.py +0 -75
- langchain/chains/qa_with_sources/stuff_prompt.py +0 -43
- langchain/chains/qa_with_sources/vector_db.py +0 -86
- langchain/chains/query_constructor/__init__.py +0 -3
- langchain/chains/query_constructor/base.py +0 -376
- langchain/chains/query_constructor/ir.py +0 -23
- langchain/chains/query_constructor/parser.py +0 -210
- langchain/chains/query_constructor/prompt.py +0 -226
- langchain/chains/query_constructor/schema.py +0 -14
- langchain/chains/question_answering/__init__.py +0 -6
- langchain/chains/question_answering/chain.py +0 -279
- langchain/chains/question_answering/map_reduce_prompt.py +0 -80
- langchain/chains/question_answering/map_rerank_prompt.py +0 -66
- langchain/chains/question_answering/refine_prompts.py +0 -72
- langchain/chains/question_answering/stuff_prompt.py +0 -33
- langchain/chains/retrieval.py +0 -67
- langchain/chains/retrieval_qa/__init__.py +0 -1
- langchain/chains/retrieval_qa/base.py +0 -370
- langchain/chains/retrieval_qa/prompt.py +0 -11
- langchain/chains/router/__init__.py +0 -12
- langchain/chains/router/base.py +0 -142
- langchain/chains/router/embedding_router.py +0 -93
- langchain/chains/router/llm_router.py +0 -196
- langchain/chains/router/multi_prompt.py +0 -181
- langchain/chains/router/multi_prompt_prompt.py +0 -32
- langchain/chains/router/multi_retrieval_prompt.py +0 -30
- langchain/chains/router/multi_retrieval_qa.py +0 -109
- langchain/chains/sequential.py +0 -220
- langchain/chains/sql_database/__init__.py +0 -1
- langchain/chains/sql_database/prompt.py +0 -282
- langchain/chains/sql_database/query.py +0 -166
- langchain/chains/structured_output/__init__.py +0 -6
- langchain/chains/structured_output/base.py +0 -582
- langchain/chains/summarize/__init__.py +0 -6
- langchain/chains/summarize/chain.py +0 -174
- langchain/chains/summarize/map_reduce_prompt.py +0 -10
- langchain/chains/summarize/refine_prompts.py +0 -23
- langchain/chains/summarize/stuff_prompt.py +0 -10
- langchain/chains/transform.py +0 -84
- langchain/chat_loaders/__init__.py +0 -19
- langchain/chat_loaders/base.py +0 -3
- langchain/chat_loaders/facebook_messenger.py +0 -32
- langchain/chat_loaders/gmail.py +0 -23
- langchain/chat_loaders/imessage.py +0 -23
- langchain/chat_loaders/langsmith.py +0 -30
- langchain/chat_loaders/slack.py +0 -23
- langchain/chat_loaders/telegram.py +0 -23
- langchain/chat_loaders/utils.py +0 -36
- langchain/chat_loaders/whatsapp.py +0 -23
- langchain/chat_models/anthropic.py +0 -30
- langchain/chat_models/anyscale.py +0 -23
- langchain/chat_models/azure_openai.py +0 -23
- langchain/chat_models/azureml_endpoint.py +0 -30
- langchain/chat_models/baichuan.py +0 -23
- langchain/chat_models/baidu_qianfan_endpoint.py +0 -27
- langchain/chat_models/bedrock.py +0 -27
- langchain/chat_models/cohere.py +0 -23
- langchain/chat_models/databricks.py +0 -23
- langchain/chat_models/ernie.py +0 -23
- langchain/chat_models/everlyai.py +0 -23
- langchain/chat_models/fake.py +0 -30
- langchain/chat_models/fireworks.py +0 -23
- langchain/chat_models/gigachat.py +0 -23
- langchain/chat_models/google_palm.py +0 -30
- langchain/chat_models/human.py +0 -23
- langchain/chat_models/hunyuan.py +0 -23
- langchain/chat_models/javelin_ai_gateway.py +0 -30
- langchain/chat_models/jinachat.py +0 -23
- langchain/chat_models/konko.py +0 -23
- langchain/chat_models/litellm.py +0 -30
- langchain/chat_models/meta.py +0 -25
- langchain/chat_models/minimax.py +0 -23
- langchain/chat_models/mlflow.py +0 -23
- langchain/chat_models/mlflow_ai_gateway.py +0 -30
- langchain/chat_models/ollama.py +0 -23
- langchain/chat_models/openai.py +0 -23
- langchain/chat_models/pai_eas_endpoint.py +0 -25
- langchain/chat_models/promptlayer_openai.py +0 -25
- langchain/chat_models/tongyi.py +0 -23
- langchain/chat_models/vertexai.py +0 -23
- langchain/chat_models/volcengine_maas.py +0 -30
- langchain/chat_models/yandex.py +0 -23
- langchain/docstore/__init__.py +0 -48
- langchain/docstore/arbitrary_fn.py +0 -23
- langchain/docstore/base.py +0 -27
- langchain/docstore/document.py +0 -3
- langchain/docstore/in_memory.py +0 -23
- langchain/docstore/wikipedia.py +0 -23
- langchain/document_loaders/__init__.py +0 -553
- langchain/document_loaders/acreom.py +0 -23
- langchain/document_loaders/airbyte.py +0 -48
- langchain/document_loaders/airbyte_json.py +0 -23
- langchain/document_loaders/airtable.py +0 -23
- langchain/document_loaders/apify_dataset.py +0 -23
- langchain/document_loaders/arcgis_loader.py +0 -23
- langchain/document_loaders/arxiv.py +0 -23
- langchain/document_loaders/assemblyai.py +0 -28
- langchain/document_loaders/async_html.py +0 -23
- langchain/document_loaders/azlyrics.py +0 -23
- langchain/document_loaders/azure_ai_data.py +0 -23
- langchain/document_loaders/azure_blob_storage_container.py +0 -25
- langchain/document_loaders/azure_blob_storage_file.py +0 -25
- langchain/document_loaders/baiducloud_bos_directory.py +0 -29
- langchain/document_loaders/baiducloud_bos_file.py +0 -27
- langchain/document_loaders/base.py +0 -3
- langchain/document_loaders/base_o365.py +0 -23
- langchain/document_loaders/bibtex.py +0 -23
- langchain/document_loaders/bigquery.py +0 -23
- langchain/document_loaders/bilibili.py +0 -23
- langchain/document_loaders/blackboard.py +0 -23
- langchain/document_loaders/blob_loaders/__init__.py +0 -36
- langchain/document_loaders/blob_loaders/file_system.py +0 -23
- langchain/document_loaders/blob_loaders/schema.py +0 -29
- langchain/document_loaders/blob_loaders/youtube_audio.py +0 -23
- langchain/document_loaders/blockchain.py +0 -28
- langchain/document_loaders/brave_search.py +0 -23
- langchain/document_loaders/browserless.py +0 -23
- langchain/document_loaders/chatgpt.py +0 -28
- langchain/document_loaders/chromium.py +0 -23
- langchain/document_loaders/college_confidential.py +0 -25
- langchain/document_loaders/concurrent.py +0 -23
- langchain/document_loaders/confluence.py +0 -28
- langchain/document_loaders/conllu.py +0 -23
- langchain/document_loaders/couchbase.py +0 -23
- langchain/document_loaders/csv_loader.py +0 -27
- langchain/document_loaders/cube_semantic.py +0 -23
- langchain/document_loaders/datadog_logs.py +0 -23
- langchain/document_loaders/dataframe.py +0 -28
- langchain/document_loaders/diffbot.py +0 -23
- langchain/document_loaders/directory.py +0 -23
- langchain/document_loaders/discord.py +0 -23
- langchain/document_loaders/docugami.py +0 -23
- langchain/document_loaders/docusaurus.py +0 -23
- langchain/document_loaders/dropbox.py +0 -23
- langchain/document_loaders/duckdb_loader.py +0 -23
- langchain/document_loaders/email.py +0 -30
- langchain/document_loaders/epub.py +0 -23
- langchain/document_loaders/etherscan.py +0 -23
- langchain/document_loaders/evernote.py +0 -23
- langchain/document_loaders/excel.py +0 -23
- langchain/document_loaders/facebook_chat.py +0 -28
- langchain/document_loaders/fauna.py +0 -23
- langchain/document_loaders/figma.py +0 -23
- langchain/document_loaders/gcs_directory.py +0 -23
- langchain/document_loaders/gcs_file.py +0 -23
- langchain/document_loaders/generic.py +0 -23
- langchain/document_loaders/geodataframe.py +0 -23
- langchain/document_loaders/git.py +0 -23
- langchain/document_loaders/gitbook.py +0 -23
- langchain/document_loaders/github.py +0 -28
- langchain/document_loaders/google_speech_to_text.py +0 -23
- langchain/document_loaders/googledrive.py +0 -23
- langchain/document_loaders/gutenberg.py +0 -23
- langchain/document_loaders/helpers.py +0 -30
- langchain/document_loaders/hn.py +0 -23
- langchain/document_loaders/html.py +0 -23
- langchain/document_loaders/html_bs.py +0 -23
- langchain/document_loaders/hugging_face_dataset.py +0 -23
- langchain/document_loaders/ifixit.py +0 -23
- langchain/document_loaders/image.py +0 -23
- langchain/document_loaders/image_captions.py +0 -23
- langchain/document_loaders/imsdb.py +0 -23
- langchain/document_loaders/iugu.py +0 -23
- langchain/document_loaders/joplin.py +0 -23
- langchain/document_loaders/json_loader.py +0 -23
- langchain/document_loaders/lakefs.py +0 -33
- langchain/document_loaders/larksuite.py +0 -23
- langchain/document_loaders/markdown.py +0 -25
- langchain/document_loaders/mastodon.py +0 -23
- langchain/document_loaders/max_compute.py +0 -23
- langchain/document_loaders/mediawikidump.py +0 -23
- langchain/document_loaders/merge.py +0 -23
- langchain/document_loaders/mhtml.py +0 -23
- langchain/document_loaders/modern_treasury.py +0 -23
- langchain/document_loaders/mongodb.py +0 -23
- langchain/document_loaders/news.py +0 -23
- langchain/document_loaders/notebook.py +0 -33
- langchain/document_loaders/notion.py +0 -23
- langchain/document_loaders/notiondb.py +0 -23
- langchain/document_loaders/nuclia.py +0 -23
- langchain/document_loaders/obs_directory.py +0 -23
- langchain/document_loaders/obs_file.py +0 -23
- langchain/document_loaders/obsidian.py +0 -23
- langchain/document_loaders/odt.py +0 -23
- langchain/document_loaders/onedrive.py +0 -23
- langchain/document_loaders/onedrive_file.py +0 -23
- langchain/document_loaders/onenote.py +0 -23
- langchain/document_loaders/open_city_data.py +0 -23
- langchain/document_loaders/org_mode.py +0 -25
- langchain/document_loaders/parsers/__init__.py +0 -58
- langchain/document_loaders/parsers/audio.py +0 -33
- langchain/document_loaders/parsers/docai.py +0 -30
- langchain/document_loaders/parsers/generic.py +0 -25
- langchain/document_loaders/parsers/grobid.py +0 -30
- langchain/document_loaders/parsers/html/__init__.py +0 -25
- langchain/document_loaders/parsers/html/bs4.py +0 -25
- langchain/document_loaders/parsers/language/__init__.py +0 -29
- langchain/document_loaders/parsers/language/cobol.py +0 -27
- langchain/document_loaders/parsers/language/code_segmenter.py +0 -29
- langchain/document_loaders/parsers/language/javascript.py +0 -29
- langchain/document_loaders/parsers/language/language_parser.py +0 -29
- langchain/document_loaders/parsers/language/python.py +0 -27
- langchain/document_loaders/parsers/msword.py +0 -25
- langchain/document_loaders/parsers/pdf.py +0 -50
- langchain/document_loaders/parsers/registry.py +0 -25
- langchain/document_loaders/parsers/txt.py +0 -23
- langchain/document_loaders/pdf.py +0 -65
- langchain/document_loaders/polars_dataframe.py +0 -23
- langchain/document_loaders/powerpoint.py +0 -25
- langchain/document_loaders/psychic.py +0 -23
- langchain/document_loaders/pubmed.py +0 -23
- langchain/document_loaders/pyspark_dataframe.py +0 -26
- langchain/document_loaders/python.py +0 -22
- langchain/document_loaders/quip.py +0 -23
- langchain/document_loaders/readthedocs.py +0 -23
- langchain/document_loaders/recursive_url_loader.py +0 -23
- langchain/document_loaders/reddit.py +0 -23
- langchain/document_loaders/roam.py +0 -23
- langchain/document_loaders/rocksetdb.py +0 -23
- langchain/document_loaders/rspace.py +0 -23
- langchain/document_loaders/rss.py +0 -23
- langchain/document_loaders/rst.py +0 -23
- langchain/document_loaders/rtf.py +0 -23
- langchain/document_loaders/s3_directory.py +0 -23
- langchain/document_loaders/s3_file.py +0 -23
- langchain/document_loaders/sharepoint.py +0 -23
- langchain/document_loaders/sitemap.py +0 -23
- langchain/document_loaders/slack_directory.py +0 -23
- langchain/document_loaders/snowflake_loader.py +0 -23
- langchain/document_loaders/spreedly.py +0 -23
- langchain/document_loaders/srt.py +0 -23
- langchain/document_loaders/stripe.py +0 -23
- langchain/document_loaders/telegram.py +0 -38
- langchain/document_loaders/tencent_cos_directory.py +0 -25
- langchain/document_loaders/tencent_cos_file.py +0 -23
- langchain/document_loaders/tensorflow_datasets.py +0 -23
- langchain/document_loaders/text.py +0 -23
- langchain/document_loaders/tomarkdown.py +0 -23
- langchain/document_loaders/toml.py +0 -23
- langchain/document_loaders/trello.py +0 -23
- langchain/document_loaders/tsv.py +0 -23
- langchain/document_loaders/twitter.py +0 -23
- langchain/document_loaders/unstructured.py +0 -54
- langchain/document_loaders/url.py +0 -23
- langchain/document_loaders/url_playwright.py +0 -33
- langchain/document_loaders/url_selenium.py +0 -23
- langchain/document_loaders/weather.py +0 -23
- langchain/document_loaders/web_base.py +0 -23
- langchain/document_loaders/whatsapp_chat.py +0 -28
- langchain/document_loaders/wikipedia.py +0 -23
- langchain/document_loaders/word_document.py +0 -30
- langchain/document_loaders/xml.py +0 -23
- langchain/document_loaders/xorbits.py +0 -23
- langchain/document_loaders/youtube.py +0 -33
- langchain/document_transformers/__init__.py +0 -77
- langchain/document_transformers/beautiful_soup_transformer.py +0 -25
- langchain/document_transformers/doctran_text_extract.py +0 -25
- langchain/document_transformers/doctran_text_qa.py +0 -25
- langchain/document_transformers/doctran_text_translate.py +0 -25
- langchain/document_transformers/embeddings_redundant_filter.py +0 -50
- langchain/document_transformers/google_translate.py +0 -25
- langchain/document_transformers/html2text.py +0 -25
- langchain/document_transformers/long_context_reorder.py +0 -23
- langchain/document_transformers/nuclia_text_transform.py +0 -25
- langchain/document_transformers/openai_functions.py +0 -32
- langchain/document_transformers/xsl/html_chunks_with_headers.xslt +0 -199
- langchain/embeddings/aleph_alpha.py +0 -30
- langchain/embeddings/awa.py +0 -23
- langchain/embeddings/azure_openai.py +0 -23
- langchain/embeddings/baidu_qianfan_endpoint.py +0 -23
- langchain/embeddings/bedrock.py +0 -23
- langchain/embeddings/bookend.py +0 -23
- langchain/embeddings/cache.py +0 -368
- langchain/embeddings/clarifai.py +0 -23
- langchain/embeddings/cloudflare_workersai.py +0 -29
- langchain/embeddings/cohere.py +0 -23
- langchain/embeddings/dashscope.py +0 -23
- langchain/embeddings/databricks.py +0 -23
- langchain/embeddings/deepinfra.py +0 -23
- langchain/embeddings/edenai.py +0 -23
- langchain/embeddings/elasticsearch.py +0 -23
- langchain/embeddings/embaas.py +0 -23
- langchain/embeddings/ernie.py +0 -23
- langchain/embeddings/fake.py +0 -30
- langchain/embeddings/fastembed.py +0 -23
- langchain/embeddings/google_palm.py +0 -23
- langchain/embeddings/gpt4all.py +0 -23
- langchain/embeddings/gradient_ai.py +0 -23
- langchain/embeddings/huggingface.py +0 -36
- langchain/embeddings/huggingface_hub.py +0 -23
- langchain/embeddings/infinity.py +0 -30
- langchain/embeddings/javelin_ai_gateway.py +0 -23
- langchain/embeddings/jina.py +0 -23
- langchain/embeddings/johnsnowlabs.py +0 -23
- langchain/embeddings/llamacpp.py +0 -23
- langchain/embeddings/llm_rails.py +0 -23
- langchain/embeddings/localai.py +0 -23
- langchain/embeddings/minimax.py +0 -23
- langchain/embeddings/mlflow.py +0 -23
- langchain/embeddings/mlflow_gateway.py +0 -23
- langchain/embeddings/modelscope_hub.py +0 -23
- langchain/embeddings/mosaicml.py +0 -23
- langchain/embeddings/nlpcloud.py +0 -23
- langchain/embeddings/octoai_embeddings.py +0 -23
- langchain/embeddings/ollama.py +0 -23
- langchain/embeddings/openai.py +0 -23
- langchain/embeddings/sagemaker_endpoint.py +0 -30
- langchain/embeddings/self_hosted.py +0 -23
- langchain/embeddings/self_hosted_hugging_face.py +0 -30
- langchain/embeddings/sentence_transformer.py +0 -21
- langchain/embeddings/spacy_embeddings.py +0 -23
- langchain/embeddings/tensorflow_hub.py +0 -23
- langchain/embeddings/vertexai.py +0 -23
- langchain/embeddings/voyageai.py +0 -23
- langchain/embeddings/xinference.py +0 -23
- langchain/env.py +0 -17
- langchain/evaluation/__init__.py +0 -128
- langchain/evaluation/agents/__init__.py +0 -5
- langchain/evaluation/agents/trajectory_eval_chain.py +0 -415
- langchain/evaluation/agents/trajectory_eval_prompt.py +0 -146
- langchain/evaluation/comparison/__init__.py +0 -36
- langchain/evaluation/comparison/eval_chain.py +0 -461
- langchain/evaluation/comparison/prompt.py +0 -59
- langchain/evaluation/criteria/__init__.py +0 -56
- langchain/evaluation/criteria/eval_chain.py +0 -603
- langchain/evaluation/criteria/prompt.py +0 -37
- langchain/evaluation/embedding_distance/__init__.py +0 -13
- langchain/evaluation/embedding_distance/base.py +0 -602
- langchain/evaluation/exact_match/__init__.py +0 -0
- langchain/evaluation/exact_match/base.py +0 -97
- langchain/evaluation/loading.py +0 -206
- langchain/evaluation/parsing/__init__.py +0 -0
- langchain/evaluation/parsing/base.py +0 -162
- langchain/evaluation/parsing/json_distance.py +0 -97
- langchain/evaluation/parsing/json_schema.py +0 -100
- langchain/evaluation/qa/__init__.py +0 -10
- langchain/evaluation/qa/eval_chain.py +0 -364
- langchain/evaluation/qa/eval_prompt.py +0 -78
- langchain/evaluation/qa/generate_chain.py +0 -34
- langchain/evaluation/qa/generate_prompt.py +0 -21
- langchain/evaluation/regex_match/__init__.py +0 -0
- langchain/evaluation/regex_match/base.py +0 -86
- langchain/evaluation/schema.py +0 -491
- langchain/evaluation/scoring/__init__.py +0 -31
- langchain/evaluation/scoring/eval_chain.py +0 -475
- langchain/evaluation/scoring/prompt.py +0 -53
- langchain/evaluation/string_distance/__init__.py +0 -13
- langchain/evaluation/string_distance/base.py +0 -466
- langchain/example_generator.py +0 -5
- langchain/formatting.py +0 -5
- langchain/globals.py +0 -180
- langchain/graphs/__init__.py +0 -57
- langchain/graphs/arangodb_graph.py +0 -28
- langchain/graphs/falkordb_graph.py +0 -23
- langchain/graphs/graph_document.py +0 -33
- langchain/graphs/graph_store.py +0 -23
- langchain/graphs/hugegraph.py +0 -23
- langchain/graphs/kuzu_graph.py +0 -23
- langchain/graphs/memgraph_graph.py +0 -23
- langchain/graphs/nebula_graph.py +0 -23
- langchain/graphs/neo4j_graph.py +0 -23
- langchain/graphs/neptune_graph.py +0 -23
- langchain/graphs/networkx_graph.py +0 -36
- langchain/graphs/rdf_graph.py +0 -23
- langchain/hub.py +0 -131
- langchain/indexes/__init__.py +0 -50
- langchain/indexes/_api.py +0 -5
- langchain/indexes/_sql_record_manager.py +0 -539
- langchain/indexes/graph.py +0 -28
- langchain/indexes/prompts/__init__.py +0 -13
- langchain/indexes/prompts/entity_extraction.py +0 -39
- langchain/indexes/prompts/entity_summarization.py +0 -24
- langchain/indexes/prompts/knowledge_triplet_extraction.py +0 -36
- langchain/indexes/vectorstore.py +0 -269
- langchain/input.py +0 -15
- langchain/llms/__init__.py +0 -734
- langchain/llms/ai21.py +0 -28
- langchain/llms/aleph_alpha.py +0 -23
- langchain/llms/amazon_api_gateway.py +0 -23
- langchain/llms/anthropic.py +0 -23
- langchain/llms/anyscale.py +0 -23
- langchain/llms/arcee.py +0 -23
- langchain/llms/aviary.py +0 -23
- langchain/llms/azureml_endpoint.py +0 -48
- langchain/llms/baidu_qianfan_endpoint.py +0 -23
- langchain/llms/bananadev.py +0 -23
- langchain/llms/base.py +0 -20
- langchain/llms/baseten.py +0 -23
- langchain/llms/beam.py +0 -23
- langchain/llms/bedrock.py +0 -28
- langchain/llms/bittensor.py +0 -23
- langchain/llms/cerebriumai.py +0 -23
- langchain/llms/chatglm.py +0 -23
- langchain/llms/clarifai.py +0 -23
- langchain/llms/cloudflare_workersai.py +0 -25
- langchain/llms/cohere.py +0 -23
- langchain/llms/ctransformers.py +0 -23
- langchain/llms/ctranslate2.py +0 -23
- langchain/llms/databricks.py +0 -23
- langchain/llms/deepinfra.py +0 -23
- langchain/llms/deepsparse.py +0 -23
- langchain/llms/edenai.py +0 -23
- langchain/llms/fake.py +0 -28
- langchain/llms/fireworks.py +0 -23
- langchain/llms/forefrontai.py +0 -23
- langchain/llms/gigachat.py +0 -23
- langchain/llms/google_palm.py +0 -23
- langchain/llms/gooseai.py +0 -23
- langchain/llms/gpt4all.py +0 -23
- langchain/llms/gradient_ai.py +0 -28
- langchain/llms/grammars/json.gbnf +0 -29
- langchain/llms/grammars/list.gbnf +0 -14
- langchain/llms/huggingface_endpoint.py +0 -23
- langchain/llms/huggingface_hub.py +0 -23
- langchain/llms/huggingface_pipeline.py +0 -23
- langchain/llms/huggingface_text_gen_inference.py +0 -23
- langchain/llms/human.py +0 -23
- langchain/llms/javelin_ai_gateway.py +0 -28
- langchain/llms/koboldai.py +0 -23
- langchain/llms/llamacpp.py +0 -23
- langchain/llms/loading.py +0 -27
- langchain/llms/manifest.py +0 -23
- langchain/llms/minimax.py +0 -23
- langchain/llms/mlflow.py +0 -23
- langchain/llms/mlflow_ai_gateway.py +0 -23
- langchain/llms/modal.py +0 -23
- langchain/llms/mosaicml.py +0 -23
- langchain/llms/nlpcloud.py +0 -23
- langchain/llms/octoai_endpoint.py +0 -23
- langchain/llms/ollama.py +0 -23
- langchain/llms/opaqueprompts.py +0 -23
- langchain/llms/openai.py +0 -32
- langchain/llms/openllm.py +0 -23
- langchain/llms/openlm.py +0 -23
- langchain/llms/pai_eas_endpoint.py +0 -23
- langchain/llms/petals.py +0 -23
- langchain/llms/pipelineai.py +0 -23
- langchain/llms/predibase.py +0 -23
- langchain/llms/predictionguard.py +0 -23
- langchain/llms/promptlayer_openai.py +0 -27
- langchain/llms/replicate.py +0 -23
- langchain/llms/rwkv.py +0 -23
- langchain/llms/sagemaker_endpoint.py +0 -28
- langchain/llms/self_hosted.py +0 -23
- langchain/llms/self_hosted_hugging_face.py +0 -23
- langchain/llms/stochasticai.py +0 -23
- langchain/llms/symblai_nebula.py +0 -23
- langchain/llms/textgen.py +0 -23
- langchain/llms/titan_takeoff.py +0 -23
- langchain/llms/titan_takeoff_pro.py +0 -23
- langchain/llms/together.py +0 -23
- langchain/llms/tongyi.py +0 -23
- langchain/llms/utils.py +0 -23
- langchain/llms/vertexai.py +0 -27
- langchain/llms/vllm.py +0 -27
- langchain/llms/volcengine_maas.py +0 -28
- langchain/llms/watsonxllm.py +0 -23
- langchain/llms/writer.py +0 -23
- langchain/llms/xinference.py +0 -23
- langchain/llms/yandex.py +0 -23
- langchain/load/__init__.py +0 -11
- langchain/load/dump.py +0 -3
- langchain/load/load.py +0 -3
- langchain/load/serializable.py +0 -19
- langchain/memory/__init__.py +0 -153
- langchain/memory/buffer.py +0 -173
- langchain/memory/buffer_window.py +0 -60
- langchain/memory/chat_memory.py +0 -104
- langchain/memory/chat_message_histories/__init__.py +0 -84
- langchain/memory/chat_message_histories/astradb.py +0 -25
- langchain/memory/chat_message_histories/cassandra.py +0 -25
- langchain/memory/chat_message_histories/cosmos_db.py +0 -25
- langchain/memory/chat_message_histories/dynamodb.py +0 -25
- langchain/memory/chat_message_histories/elasticsearch.py +0 -27
- langchain/memory/chat_message_histories/file.py +0 -25
- langchain/memory/chat_message_histories/firestore.py +0 -25
- langchain/memory/chat_message_histories/in_memory.py +0 -5
- langchain/memory/chat_message_histories/momento.py +0 -25
- langchain/memory/chat_message_histories/mongodb.py +0 -25
- langchain/memory/chat_message_histories/neo4j.py +0 -25
- langchain/memory/chat_message_histories/postgres.py +0 -25
- langchain/memory/chat_message_histories/redis.py +0 -25
- langchain/memory/chat_message_histories/rocksetdb.py +0 -25
- langchain/memory/chat_message_histories/singlestoredb.py +0 -27
- langchain/memory/chat_message_histories/sql.py +0 -33
- langchain/memory/chat_message_histories/streamlit.py +0 -25
- langchain/memory/chat_message_histories/upstash_redis.py +0 -27
- langchain/memory/chat_message_histories/xata.py +0 -25
- langchain/memory/chat_message_histories/zep.py +0 -25
- langchain/memory/combined.py +0 -85
- langchain/memory/entity.py +0 -564
- langchain/memory/kg.py +0 -23
- langchain/memory/motorhead_memory.py +0 -23
- langchain/memory/prompt.py +0 -164
- langchain/memory/readonly.py +0 -24
- langchain/memory/simple.py +0 -24
- langchain/memory/summary.py +0 -140
- langchain/memory/summary_buffer.py +0 -148
- langchain/memory/token_buffer.py +0 -72
- langchain/memory/utils.py +0 -21
- langchain/memory/vectorstore.py +0 -120
- langchain/memory/vectorstore_token_buffer_memory.py +0 -184
- langchain/memory/zep_memory.py +0 -23
- langchain/model_laboratory.py +0 -99
- langchain/output_parsers/__init__.py +0 -87
- langchain/output_parsers/boolean.py +0 -54
- langchain/output_parsers/combining.py +0 -57
- langchain/output_parsers/datetime.py +0 -58
- langchain/output_parsers/enum.py +0 -41
- langchain/output_parsers/ernie_functions.py +0 -45
- langchain/output_parsers/fix.py +0 -148
- langchain/output_parsers/format_instructions.py +0 -79
- langchain/output_parsers/json.py +0 -15
- langchain/output_parsers/list.py +0 -13
- langchain/output_parsers/loading.py +0 -22
- langchain/output_parsers/openai_functions.py +0 -13
- langchain/output_parsers/openai_tools.py +0 -7
- langchain/output_parsers/pandas_dataframe.py +0 -156
- langchain/output_parsers/prompts.py +0 -21
- langchain/output_parsers/pydantic.py +0 -3
- langchain/output_parsers/rail_parser.py +0 -25
- langchain/output_parsers/regex.py +0 -39
- langchain/output_parsers/regex_dict.py +0 -43
- langchain/output_parsers/retry.py +0 -296
- langchain/output_parsers/structured.py +0 -106
- langchain/output_parsers/xml.py +0 -3
- langchain/output_parsers/yaml.py +0 -73
- langchain/prompts/__init__.py +0 -102
- langchain/prompts/base.py +0 -21
- langchain/prompts/chat.py +0 -37
- langchain/prompts/example_selector/__init__.py +0 -42
- langchain/prompts/example_selector/base.py +0 -3
- langchain/prompts/example_selector/length_based.py +0 -5
- langchain/prompts/example_selector/ngram_overlap.py +0 -32
- langchain/prompts/example_selector/semantic_similarity.py +0 -11
- langchain/prompts/few_shot.py +0 -11
- langchain/prompts/few_shot_with_templates.py +0 -3
- langchain/prompts/loading.py +0 -23
- langchain/prompts/pipeline.py +0 -3
- langchain/prompts/prompt.py +0 -6
- langchain/pydantic_v1/__init__.py +0 -38
- langchain/pydantic_v1/dataclasses.py +0 -20
- langchain/pydantic_v1/main.py +0 -20
- langchain/python.py +0 -19
- langchain/requests.py +0 -35
- langchain/retrievers/__init__.py +0 -178
- langchain/retrievers/arcee.py +0 -23
- langchain/retrievers/arxiv.py +0 -23
- langchain/retrievers/azure_ai_search.py +0 -30
- langchain/retrievers/bedrock.py +0 -33
- langchain/retrievers/bm25.py +0 -28
- langchain/retrievers/chaindesk.py +0 -23
- langchain/retrievers/chatgpt_plugin_retriever.py +0 -23
- langchain/retrievers/cohere_rag_retriever.py +0 -23
- langchain/retrievers/contextual_compression.py +0 -81
- langchain/retrievers/databerry.py +0 -23
- langchain/retrievers/docarray.py +0 -28
- langchain/retrievers/document_compressors/__init__.py +0 -44
- langchain/retrievers/document_compressors/base.py +0 -82
- langchain/retrievers/document_compressors/chain_extract.py +0 -121
- langchain/retrievers/document_compressors/chain_extract_prompt.py +0 -10
- langchain/retrievers/document_compressors/chain_filter.py +0 -133
- langchain/retrievers/document_compressors/chain_filter_prompt.py +0 -8
- langchain/retrievers/document_compressors/cohere_rerank.py +0 -124
- langchain/retrievers/document_compressors/cross_encoder.py +0 -16
- langchain/retrievers/document_compressors/cross_encoder_rerank.py +0 -48
- langchain/retrievers/document_compressors/embeddings_filter.py +0 -137
- langchain/retrievers/document_compressors/flashrank_rerank.py +0 -27
- langchain/retrievers/document_compressors/listwise_rerank.py +0 -144
- langchain/retrievers/elastic_search_bm25.py +0 -23
- langchain/retrievers/embedchain.py +0 -23
- langchain/retrievers/ensemble.py +0 -336
- langchain/retrievers/google_cloud_documentai_warehouse.py +0 -25
- langchain/retrievers/google_vertex_ai_search.py +0 -33
- langchain/retrievers/kay.py +0 -23
- langchain/retrievers/kendra.py +0 -66
- langchain/retrievers/knn.py +0 -23
- langchain/retrievers/llama_index.py +0 -30
- langchain/retrievers/merger_retriever.py +0 -123
- langchain/retrievers/metal.py +0 -23
- langchain/retrievers/milvus.py +0 -28
- langchain/retrievers/multi_query.py +0 -231
- langchain/retrievers/multi_vector.py +0 -132
- langchain/retrievers/outline.py +0 -23
- langchain/retrievers/parent_document_retriever.py +0 -157
- langchain/retrievers/pinecone_hybrid_search.py +0 -23
- langchain/retrievers/pubmed.py +0 -23
- langchain/retrievers/pupmed.py +0 -23
- langchain/retrievers/re_phraser.py +0 -89
- langchain/retrievers/remote_retriever.py +0 -23
- langchain/retrievers/self_query/__init__.py +0 -0
- langchain/retrievers/self_query/astradb.py +0 -23
- langchain/retrievers/self_query/base.py +0 -397
- langchain/retrievers/self_query/chroma.py +0 -23
- langchain/retrievers/self_query/dashvector.py +0 -23
- langchain/retrievers/self_query/databricks_vector_search.py +0 -27
- langchain/retrievers/self_query/deeplake.py +0 -27
- langchain/retrievers/self_query/dingo.py +0 -23
- langchain/retrievers/self_query/elasticsearch.py +0 -25
- langchain/retrievers/self_query/milvus.py +0 -27
- langchain/retrievers/self_query/mongodb_atlas.py +0 -25
- langchain/retrievers/self_query/myscale.py +0 -23
- langchain/retrievers/self_query/opensearch.py +0 -23
- langchain/retrievers/self_query/pgvector.py +0 -23
- langchain/retrievers/self_query/pinecone.py +0 -23
- langchain/retrievers/self_query/qdrant.py +0 -23
- langchain/retrievers/self_query/redis.py +0 -23
- langchain/retrievers/self_query/supabase.py +0 -23
- langchain/retrievers/self_query/tencentvectordb.py +0 -27
- langchain/retrievers/self_query/timescalevector.py +0 -27
- langchain/retrievers/self_query/vectara.py +0 -27
- langchain/retrievers/self_query/weaviate.py +0 -23
- langchain/retrievers/svm.py +0 -23
- langchain/retrievers/tavily_search_api.py +0 -28
- langchain/retrievers/tfidf.py +0 -23
- langchain/retrievers/time_weighted_retriever.py +0 -193
- langchain/retrievers/vespa_retriever.py +0 -23
- langchain/retrievers/weaviate_hybrid_search.py +0 -23
- langchain/retrievers/web_research.py +0 -29
- langchain/retrievers/wikipedia.py +0 -23
- langchain/retrievers/you.py +0 -23
- langchain/retrievers/zep.py +0 -30
- langchain/retrievers/zilliz.py +0 -28
- langchain/runnables/__init__.py +0 -18
- langchain/runnables/hub.py +0 -32
- langchain/runnables/openai_functions.py +0 -51
- langchain/schema/__init__.py +0 -82
- langchain/schema/agent.py +0 -3
- langchain/schema/cache.py +0 -3
- langchain/schema/callbacks/__init__.py +0 -0
- langchain/schema/callbacks/base.py +0 -23
- langchain/schema/callbacks/manager.py +0 -55
- langchain/schema/callbacks/stdout.py +0 -3
- langchain/schema/callbacks/streaming_stdout.py +0 -3
- langchain/schema/callbacks/tracers/__init__.py +0 -0
- langchain/schema/callbacks/tracers/base.py +0 -4
- langchain/schema/callbacks/tracers/evaluation.py +0 -6
- langchain/schema/callbacks/tracers/langchain.py +0 -8
- langchain/schema/callbacks/tracers/langchain_v1.py +0 -3
- langchain/schema/callbacks/tracers/log_stream.py +0 -9
- langchain/schema/callbacks/tracers/root_listeners.py +0 -3
- langchain/schema/callbacks/tracers/run_collector.py +0 -3
- langchain/schema/callbacks/tracers/schemas.py +0 -27
- langchain/schema/callbacks/tracers/stdout.py +0 -13
- langchain/schema/chat.py +0 -3
- langchain/schema/chat_history.py +0 -3
- langchain/schema/document.py +0 -3
- langchain/schema/embeddings.py +0 -3
- langchain/schema/exceptions.py +0 -3
- langchain/schema/language_model.py +0 -15
- langchain/schema/memory.py +0 -3
- langchain/schema/messages.py +0 -51
- langchain/schema/output.py +0 -19
- langchain/schema/output_parser.py +0 -25
- langchain/schema/prompt.py +0 -3
- langchain/schema/prompt_template.py +0 -3
- langchain/schema/retriever.py +0 -3
- langchain/schema/runnable/__init__.py +0 -58
- langchain/schema/runnable/base.py +0 -38
- langchain/schema/runnable/branch.py +0 -3
- langchain/schema/runnable/config.py +0 -27
- langchain/schema/runnable/configurable.py +0 -15
- langchain/schema/runnable/fallbacks.py +0 -3
- langchain/schema/runnable/history.py +0 -11
- langchain/schema/runnable/passthrough.py +0 -8
- langchain/schema/runnable/retry.py +0 -3
- langchain/schema/runnable/router.py +0 -3
- langchain/schema/runnable/utils.py +0 -51
- langchain/schema/storage.py +0 -3
- langchain/schema/vectorstore.py +0 -3
- langchain/serpapi.py +0 -25
- langchain/smith/__init__.py +0 -102
- langchain/smith/evaluation/__init__.py +0 -68
- langchain/smith/evaluation/config.py +0 -382
- langchain/smith/evaluation/name_generation.py +0 -727
- langchain/smith/evaluation/progress.py +0 -137
- langchain/smith/evaluation/runner_utils.py +0 -1572
- langchain/smith/evaluation/string_run_evaluator.py +0 -440
- langchain/smith/evaluation/utils.py +0 -0
- langchain/sql_database.py +0 -25
- langchain/storage/__init__.py +0 -57
- langchain/storage/_lc_store.py +0 -91
- langchain/storage/encoder_backed.py +0 -127
- langchain/storage/exceptions.py +0 -3
- langchain/storage/file_system.py +0 -176
- langchain/storage/in_memory.py +0 -13
- langchain/storage/redis.py +0 -23
- langchain/storage/upstash_redis.py +0 -27
- langchain/text_splitter.py +0 -50
- langchain/tools/ainetwork/__init__.py +0 -0
- langchain/tools/ainetwork/app.py +0 -30
- langchain/tools/ainetwork/base.py +0 -27
- langchain/tools/ainetwork/owner.py +0 -28
- langchain/tools/ainetwork/rule.py +0 -28
- langchain/tools/ainetwork/transfer.py +0 -28
- langchain/tools/ainetwork/value.py +0 -28
- langchain/tools/amadeus/__init__.py +0 -30
- langchain/tools/amadeus/base.py +0 -23
- langchain/tools/amadeus/closest_airport.py +0 -30
- langchain/tools/amadeus/flight_search.py +0 -30
- langchain/tools/arxiv/__init__.py +0 -1
- langchain/tools/arxiv/tool.py +0 -28
- langchain/tools/azure_cognitive_services/__init__.py +0 -41
- langchain/tools/azure_cognitive_services/form_recognizer.py +0 -23
- langchain/tools/azure_cognitive_services/image_analysis.py +0 -23
- langchain/tools/azure_cognitive_services/speech2text.py +0 -23
- langchain/tools/azure_cognitive_services/text2speech.py +0 -23
- langchain/tools/azure_cognitive_services/text_analytics_health.py +0 -23
- langchain/tools/base.py +0 -19
- langchain/tools/bearly/__init__.py +0 -0
- langchain/tools/bearly/tool.py +0 -33
- langchain/tools/bing_search/__init__.py +0 -29
- langchain/tools/bing_search/tool.py +0 -27
- langchain/tools/brave_search/__init__.py +0 -0
- langchain/tools/brave_search/tool.py +0 -23
- langchain/tools/clickup/__init__.py +0 -0
- langchain/tools/clickup/tool.py +0 -23
- langchain/tools/convert_to_openai.py +0 -4
- langchain/tools/dataforseo_api_search/__init__.py +0 -34
- langchain/tools/dataforseo_api_search/tool.py +0 -32
- langchain/tools/ddg_search/__init__.py +0 -25
- langchain/tools/ddg_search/tool.py +0 -32
- langchain/tools/e2b_data_analysis/__init__.py +0 -0
- langchain/tools/e2b_data_analysis/tool.py +0 -33
- langchain/tools/edenai/__init__.py +0 -50
- langchain/tools/edenai/audio_speech_to_text.py +0 -23
- langchain/tools/edenai/audio_text_to_speech.py +0 -23
- langchain/tools/edenai/edenai_base_tool.py +0 -23
- langchain/tools/edenai/image_explicitcontent.py +0 -23
- langchain/tools/edenai/image_objectdetection.py +0 -23
- langchain/tools/edenai/ocr_identityparser.py +0 -23
- langchain/tools/edenai/ocr_invoiceparser.py +0 -23
- langchain/tools/edenai/text_moderation.py +0 -23
- langchain/tools/eleven_labs/__init__.py +0 -25
- langchain/tools/eleven_labs/models.py +0 -23
- langchain/tools/eleven_labs/text2speech.py +0 -23
- langchain/tools/file_management/__init__.py +0 -47
- langchain/tools/file_management/copy.py +0 -28
- langchain/tools/file_management/delete.py +0 -28
- langchain/tools/file_management/file_search.py +0 -28
- langchain/tools/file_management/list_dir.py +0 -28
- langchain/tools/file_management/move.py +0 -28
- langchain/tools/file_management/read.py +0 -28
- langchain/tools/file_management/write.py +0 -28
- langchain/tools/github/__init__.py +0 -1
- langchain/tools/github/tool.py +0 -23
- langchain/tools/gitlab/__init__.py +0 -1
- langchain/tools/gitlab/tool.py +0 -23
- langchain/tools/gmail/__init__.py +0 -41
- langchain/tools/gmail/base.py +0 -23
- langchain/tools/gmail/create_draft.py +0 -28
- langchain/tools/gmail/get_message.py +0 -28
- langchain/tools/gmail/get_thread.py +0 -28
- langchain/tools/gmail/search.py +0 -30
- langchain/tools/gmail/send_message.py +0 -28
- langchain/tools/golden_query/__init__.py +0 -25
- langchain/tools/golden_query/tool.py +0 -23
- langchain/tools/google_cloud/__init__.py +0 -25
- langchain/tools/google_cloud/texttospeech.py +0 -23
- langchain/tools/google_finance/__init__.py +0 -27
- langchain/tools/google_finance/tool.py +0 -25
- langchain/tools/google_jobs/__init__.py +0 -25
- langchain/tools/google_jobs/tool.py +0 -23
- langchain/tools/google_lens/__init__.py +0 -25
- langchain/tools/google_lens/tool.py +0 -23
- langchain/tools/google_places/__init__.py +0 -25
- langchain/tools/google_places/tool.py +0 -28
- langchain/tools/google_scholar/__init__.py +0 -27
- langchain/tools/google_scholar/tool.py +0 -25
- langchain/tools/google_search/__init__.py +0 -29
- langchain/tools/google_search/tool.py +0 -27
- langchain/tools/google_serper/__init__.py +0 -30
- langchain/tools/google_serper/tool.py +0 -27
- langchain/tools/google_trends/__init__.py +0 -27
- langchain/tools/google_trends/tool.py +0 -25
- langchain/tools/graphql/__init__.py +0 -1
- langchain/tools/graphql/tool.py +0 -23
- langchain/tools/human/__init__.py +0 -25
- langchain/tools/human/tool.py +0 -23
- langchain/tools/ifttt.py +0 -23
- langchain/tools/interaction/__init__.py +0 -1
- langchain/tools/interaction/tool.py +0 -23
- langchain/tools/jira/__init__.py +0 -1
- langchain/tools/jira/tool.py +0 -42
- langchain/tools/json/__init__.py +0 -1
- langchain/tools/json/tool.py +0 -52
- langchain/tools/memorize/__init__.py +0 -25
- langchain/tools/memorize/tool.py +0 -27
- langchain/tools/merriam_webster/__init__.py +0 -1
- langchain/tools/merriam_webster/tool.py +0 -23
- langchain/tools/metaphor_search/__init__.py +0 -25
- langchain/tools/metaphor_search/tool.py +0 -23
- langchain/tools/multion/__init__.py +0 -33
- langchain/tools/multion/close_session.py +0 -30
- langchain/tools/multion/create_session.py +0 -30
- langchain/tools/multion/update_session.py +0 -30
- langchain/tools/nasa/__init__.py +0 -0
- langchain/tools/nasa/tool.py +0 -23
- langchain/tools/nuclia/__init__.py +0 -23
- langchain/tools/nuclia/tool.py +0 -27
- langchain/tools/office365/__init__.py +0 -41
- langchain/tools/office365/base.py +0 -23
- langchain/tools/office365/create_draft_message.py +0 -32
- langchain/tools/office365/events_search.py +0 -28
- langchain/tools/office365/messages_search.py +0 -28
- langchain/tools/office365/send_event.py +0 -28
- langchain/tools/office365/send_message.py +0 -28
- langchain/tools/openapi/__init__.py +0 -0
- langchain/tools/openapi/utils/__init__.py +0 -0
- langchain/tools/openapi/utils/api_models.py +0 -54
- langchain/tools/openapi/utils/openapi_utils.py +0 -30
- langchain/tools/openweathermap/__init__.py +0 -25
- langchain/tools/openweathermap/tool.py +0 -23
- langchain/tools/playwright/__init__.py +0 -47
- langchain/tools/playwright/base.py +0 -23
- langchain/tools/playwright/click.py +0 -28
- langchain/tools/playwright/current_page.py +0 -23
- langchain/tools/playwright/extract_hyperlinks.py +0 -32
- langchain/tools/playwright/extract_text.py +0 -23
- langchain/tools/playwright/get_elements.py +0 -28
- langchain/tools/playwright/navigate.py +0 -28
- langchain/tools/playwright/navigate_back.py +0 -23
- langchain/tools/plugin.py +0 -32
- langchain/tools/powerbi/__init__.py +0 -1
- langchain/tools/powerbi/tool.py +0 -33
- langchain/tools/pubmed/__init__.py +0 -1
- langchain/tools/pubmed/tool.py +0 -23
- langchain/tools/python/__init__.py +0 -13
- langchain/tools/reddit_search/__init__.py +0 -0
- langchain/tools/reddit_search/tool.py +0 -27
- langchain/tools/render.py +0 -23
- langchain/tools/requests/__init__.py +0 -1
- langchain/tools/requests/tool.py +0 -42
- langchain/tools/retriever.py +0 -11
- langchain/tools/scenexplain/__init__.py +0 -1
- langchain/tools/scenexplain/tool.py +0 -28
- langchain/tools/searchapi/__init__.py +0 -30
- langchain/tools/searchapi/tool.py +0 -27
- langchain/tools/searx_search/__init__.py +0 -0
- langchain/tools/searx_search/tool.py +0 -27
- langchain/tools/shell/__init__.py +0 -25
- langchain/tools/shell/tool.py +0 -28
- langchain/tools/slack/__init__.py +0 -38
- langchain/tools/slack/base.py +0 -23
- langchain/tools/slack/get_channel.py +0 -23
- langchain/tools/slack/get_message.py +0 -28
- langchain/tools/slack/schedule_message.py +0 -28
- langchain/tools/slack/send_message.py +0 -28
- langchain/tools/sleep/__init__.py +0 -1
- langchain/tools/sleep/tool.py +0 -28
- langchain/tools/spark_sql/__init__.py +0 -1
- langchain/tools/spark_sql/tool.py +0 -39
- langchain/tools/sql_database/__init__.py +0 -1
- langchain/tools/sql_database/prompt.py +0 -24
- langchain/tools/sql_database/tool.py +0 -39
- langchain/tools/stackexchange/__init__.py +0 -1
- langchain/tools/stackexchange/tool.py +0 -23
- langchain/tools/steam/__init__.py +0 -1
- langchain/tools/steam/tool.py +0 -23
- langchain/tools/steamship_image_generation/__init__.py +0 -25
- langchain/tools/steamship_image_generation/tool.py +0 -28
- langchain/tools/tavily_search/__init__.py +0 -32
- langchain/tools/tavily_search/tool.py +0 -33
- langchain/tools/vectorstore/__init__.py +0 -1
- langchain/tools/vectorstore/tool.py +0 -30
- langchain/tools/wikipedia/__init__.py +0 -1
- langchain/tools/wikipedia/tool.py +0 -23
- langchain/tools/wolfram_alpha/__init__.py +0 -25
- langchain/tools/wolfram_alpha/tool.py +0 -23
- langchain/tools/yahoo_finance_news.py +0 -23
- langchain/tools/youtube/__init__.py +0 -0
- langchain/tools/youtube/search.py +0 -23
- langchain/tools/zapier/__init__.py +0 -29
- langchain/tools/zapier/tool.py +0 -49
- langchain/utilities/__init__.py +0 -168
- langchain/utilities/alpha_vantage.py +0 -23
- langchain/utilities/anthropic.py +0 -30
- langchain/utilities/apify.py +0 -23
- langchain/utilities/arcee.py +0 -45
- langchain/utilities/arxiv.py +0 -23
- langchain/utilities/asyncio.py +0 -11
- langchain/utilities/awslambda.py +0 -23
- langchain/utilities/bibtex.py +0 -23
- langchain/utilities/bing_search.py +0 -23
- langchain/utilities/brave_search.py +0 -23
- langchain/utilities/clickup.py +0 -45
- langchain/utilities/dalle_image_generator.py +0 -25
- langchain/utilities/dataforseo_api_search.py +0 -25
- langchain/utilities/duckduckgo_search.py +0 -23
- langchain/utilities/github.py +0 -23
- langchain/utilities/gitlab.py +0 -23
- langchain/utilities/golden_query.py +0 -23
- langchain/utilities/google_finance.py +0 -23
- langchain/utilities/google_jobs.py +0 -23
- langchain/utilities/google_lens.py +0 -23
- langchain/utilities/google_places_api.py +0 -23
- langchain/utilities/google_scholar.py +0 -23
- langchain/utilities/google_search.py +0 -23
- langchain/utilities/google_serper.py +0 -23
- langchain/utilities/google_trends.py +0 -23
- langchain/utilities/graphql.py +0 -23
- langchain/utilities/jira.py +0 -23
- langchain/utilities/loading.py +0 -4
- langchain/utilities/max_compute.py +0 -23
- langchain/utilities/merriam_webster.py +0 -23
- langchain/utilities/metaphor_search.py +0 -23
- langchain/utilities/nasa.py +0 -23
- langchain/utilities/opaqueprompts.py +0 -27
- langchain/utilities/openapi.py +0 -28
- langchain/utilities/openweathermap.py +0 -23
- langchain/utilities/outline.py +0 -23
- langchain/utilities/portkey.py +0 -23
- langchain/utilities/powerbi.py +0 -23
- langchain/utilities/pubmed.py +0 -23
- langchain/utilities/python.py +0 -19
- langchain/utilities/reddit_search.py +0 -25
- langchain/utilities/redis.py +0 -33
- langchain/utilities/requests.py +0 -27
- langchain/utilities/scenexplain.py +0 -23
- langchain/utilities/searchapi.py +0 -23
- langchain/utilities/searx_search.py +0 -28
- langchain/utilities/serpapi.py +0 -28
- langchain/utilities/spark_sql.py +0 -23
- langchain/utilities/sql_database.py +0 -28
- langchain/utilities/stackexchange.py +0 -23
- langchain/utilities/steam.py +0 -23
- langchain/utilities/tavily_search.py +0 -25
- langchain/utilities/tensorflow_datasets.py +0 -23
- langchain/utilities/twilio.py +0 -23
- langchain/utilities/vertexai.py +0 -36
- langchain/utilities/wikipedia.py +0 -23
- langchain/utilities/wolfram_alpha.py +0 -23
- langchain/utilities/zapier.py +0 -23
- langchain/utils/__init__.py +0 -77
- langchain/utils/aiter.py +0 -3
- langchain/utils/env.py +0 -3
- langchain/utils/ernie_functions.py +0 -36
- langchain/utils/formatting.py +0 -3
- langchain/utils/html.py +0 -19
- langchain/utils/input.py +0 -8
- langchain/utils/iter.py +0 -3
- langchain/utils/json_schema.py +0 -11
- langchain/utils/loading.py +0 -3
- langchain/utils/math.py +0 -32
- langchain/utils/openai.py +0 -23
- langchain/utils/openai_functions.py +0 -13
- langchain/utils/pydantic.py +0 -3
- langchain/utils/strings.py +0 -3
- langchain/utils/utils.py +0 -21
- langchain/vectorstores/__init__.py +0 -262
- langchain/vectorstores/alibabacloud_opensearch.py +0 -30
- langchain/vectorstores/analyticdb.py +0 -23
- langchain/vectorstores/annoy.py +0 -23
- langchain/vectorstores/astradb.py +0 -23
- langchain/vectorstores/atlas.py +0 -23
- langchain/vectorstores/awadb.py +0 -23
- langchain/vectorstores/azure_cosmos_db.py +0 -28
- langchain/vectorstores/azuresearch.py +0 -30
- langchain/vectorstores/bageldb.py +0 -23
- langchain/vectorstores/baiducloud_vector_search.py +0 -23
- langchain/vectorstores/base.py +0 -3
- langchain/vectorstores/cassandra.py +0 -23
- langchain/vectorstores/chroma.py +0 -23
- langchain/vectorstores/clarifai.py +0 -23
- langchain/vectorstores/clickhouse.py +0 -27
- langchain/vectorstores/dashvector.py +0 -23
- langchain/vectorstores/databricks_vector_search.py +0 -23
- langchain/vectorstores/deeplake.py +0 -23
- langchain/vectorstores/dingo.py +0 -23
- langchain/vectorstores/docarray/__init__.py +0 -30
- langchain/vectorstores/docarray/base.py +0 -23
- langchain/vectorstores/docarray/hnsw.py +0 -23
- langchain/vectorstores/docarray/in_memory.py +0 -23
- langchain/vectorstores/elastic_vector_search.py +0 -27
- langchain/vectorstores/elasticsearch.py +0 -39
- langchain/vectorstores/epsilla.py +0 -23
- langchain/vectorstores/faiss.py +0 -23
- langchain/vectorstores/hippo.py +0 -23
- langchain/vectorstores/hologres.py +0 -23
- langchain/vectorstores/lancedb.py +0 -23
- langchain/vectorstores/llm_rails.py +0 -28
- langchain/vectorstores/marqo.py +0 -23
- langchain/vectorstores/matching_engine.py +0 -23
- langchain/vectorstores/meilisearch.py +0 -23
- langchain/vectorstores/milvus.py +0 -23
- langchain/vectorstores/momento_vector_index.py +0 -23
- langchain/vectorstores/mongodb_atlas.py +0 -23
- langchain/vectorstores/myscale.py +0 -30
- langchain/vectorstores/neo4j_vector.py +0 -28
- langchain/vectorstores/nucliadb.py +0 -23
- langchain/vectorstores/opensearch_vector_search.py +0 -23
- langchain/vectorstores/pgembedding.py +0 -36
- langchain/vectorstores/pgvecto_rs.py +0 -23
- langchain/vectorstores/pgvector.py +0 -28
- langchain/vectorstores/pinecone.py +0 -23
- langchain/vectorstores/qdrant.py +0 -28
- langchain/vectorstores/redis/__init__.py +0 -42
- langchain/vectorstores/redis/base.py +0 -33
- langchain/vectorstores/redis/filters.py +0 -48
- langchain/vectorstores/redis/schema.py +0 -54
- langchain/vectorstores/rocksetdb.py +0 -23
- langchain/vectorstores/scann.py +0 -23
- langchain/vectorstores/semadb.py +0 -23
- langchain/vectorstores/singlestoredb.py +0 -23
- langchain/vectorstores/sklearn.py +0 -42
- langchain/vectorstores/sqlitevss.py +0 -23
- langchain/vectorstores/starrocks.py +0 -28
- langchain/vectorstores/supabase.py +0 -23
- langchain/vectorstores/tair.py +0 -23
- langchain/vectorstores/tencentvectordb.py +0 -33
- langchain/vectorstores/tigris.py +0 -23
- langchain/vectorstores/tiledb.py +0 -23
- langchain/vectorstores/timescalevector.py +0 -23
- langchain/vectorstores/typesense.py +0 -23
- langchain/vectorstores/usearch.py +0 -23
- langchain/vectorstores/utils.py +0 -33
- langchain/vectorstores/vald.py +0 -23
- langchain/vectorstores/vearch.py +0 -23
- langchain/vectorstores/vectara.py +0 -28
- langchain/vectorstores/vespa.py +0 -23
- langchain/vectorstores/weaviate.py +0 -23
- langchain/vectorstores/xata.py +0 -23
- langchain/vectorstores/yellowbrick.py +0 -23
- langchain/vectorstores/zep.py +0 -28
- langchain/vectorstores/zilliz.py +0 -23
- langchain-0.3.27.dist-info/METADATA +0 -144
- langchain-0.3.27.dist-info/RECORD +0 -1342
- langchain-0.3.27.dist-info/entry_points.txt +0 -4
- {langchain-0.3.27.dist-info → langchain-1.0.0.dist-info}/licenses/LICENSE +0 -0
langchain/agents/react/base.py
DELETED
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
"""Chain that implements the ReAct paper from https://arxiv.org/pdf/2210.03629.pdf."""
|
|
2
|
-
|
|
3
|
-
from __future__ import annotations
|
|
4
|
-
|
|
5
|
-
from collections.abc import Sequence
|
|
6
|
-
from typing import TYPE_CHECKING, Any, Optional
|
|
7
|
-
|
|
8
|
-
from langchain_core._api import deprecated
|
|
9
|
-
from langchain_core.documents import Document
|
|
10
|
-
from langchain_core.language_models import BaseLanguageModel
|
|
11
|
-
from langchain_core.prompts import BasePromptTemplate
|
|
12
|
-
from langchain_core.tools import BaseTool, Tool
|
|
13
|
-
from pydantic import Field
|
|
14
|
-
|
|
15
|
-
from langchain._api.deprecation import AGENT_DEPRECATION_WARNING
|
|
16
|
-
from langchain.agents.agent import Agent, AgentExecutor, AgentOutputParser
|
|
17
|
-
from langchain.agents.agent_types import AgentType
|
|
18
|
-
from langchain.agents.react.output_parser import ReActOutputParser
|
|
19
|
-
from langchain.agents.react.textworld_prompt import TEXTWORLD_PROMPT
|
|
20
|
-
from langchain.agents.react.wiki_prompt import WIKI_PROMPT
|
|
21
|
-
from langchain.agents.utils import validate_tools_single_input
|
|
22
|
-
|
|
23
|
-
if TYPE_CHECKING:
|
|
24
|
-
from langchain_community.docstore.base import Docstore
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
_LOOKUP_AND_SEARCH_TOOLS = {"Lookup", "Search"}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
@deprecated(
|
|
31
|
-
"0.1.0",
|
|
32
|
-
message=AGENT_DEPRECATION_WARNING,
|
|
33
|
-
removal="1.0",
|
|
34
|
-
)
|
|
35
|
-
class ReActDocstoreAgent(Agent):
|
|
36
|
-
"""Agent for the ReAct chain."""
|
|
37
|
-
|
|
38
|
-
output_parser: AgentOutputParser = Field(default_factory=ReActOutputParser)
|
|
39
|
-
|
|
40
|
-
@classmethod
|
|
41
|
-
def _get_default_output_parser(cls, **kwargs: Any) -> AgentOutputParser:
|
|
42
|
-
return ReActOutputParser()
|
|
43
|
-
|
|
44
|
-
@property
|
|
45
|
-
def _agent_type(self) -> str:
|
|
46
|
-
"""Return Identifier of an agent type."""
|
|
47
|
-
return AgentType.REACT_DOCSTORE
|
|
48
|
-
|
|
49
|
-
@classmethod
|
|
50
|
-
def create_prompt(cls, tools: Sequence[BaseTool]) -> BasePromptTemplate:
|
|
51
|
-
"""Return default prompt."""
|
|
52
|
-
return WIKI_PROMPT
|
|
53
|
-
|
|
54
|
-
@classmethod
|
|
55
|
-
def _validate_tools(cls, tools: Sequence[BaseTool]) -> None:
|
|
56
|
-
validate_tools_single_input(cls.__name__, tools)
|
|
57
|
-
super()._validate_tools(tools)
|
|
58
|
-
if len(tools) != len(_LOOKUP_AND_SEARCH_TOOLS):
|
|
59
|
-
msg = f"Exactly two tools must be specified, but got {tools}"
|
|
60
|
-
raise ValueError(msg)
|
|
61
|
-
tool_names = {tool.name for tool in tools}
|
|
62
|
-
if tool_names != _LOOKUP_AND_SEARCH_TOOLS:
|
|
63
|
-
msg = f"Tool names should be Lookup and Search, got {tool_names}"
|
|
64
|
-
raise ValueError(msg)
|
|
65
|
-
|
|
66
|
-
@property
|
|
67
|
-
def observation_prefix(self) -> str:
|
|
68
|
-
"""Prefix to append the observation with."""
|
|
69
|
-
return "Observation: "
|
|
70
|
-
|
|
71
|
-
@property
|
|
72
|
-
def _stop(self) -> list[str]:
|
|
73
|
-
return ["\nObservation:"]
|
|
74
|
-
|
|
75
|
-
@property
|
|
76
|
-
def llm_prefix(self) -> str:
|
|
77
|
-
"""Prefix to append the LLM call with."""
|
|
78
|
-
return "Thought:"
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
@deprecated(
|
|
82
|
-
"0.1.0",
|
|
83
|
-
message=AGENT_DEPRECATION_WARNING,
|
|
84
|
-
removal="1.0",
|
|
85
|
-
)
|
|
86
|
-
class DocstoreExplorer:
|
|
87
|
-
"""Class to assist with exploration of a document store."""
|
|
88
|
-
|
|
89
|
-
def __init__(self, docstore: Docstore):
|
|
90
|
-
"""Initialize with a docstore, and set initial document to None."""
|
|
91
|
-
self.docstore = docstore
|
|
92
|
-
self.document: Optional[Document] = None
|
|
93
|
-
self.lookup_str = ""
|
|
94
|
-
self.lookup_index = 0
|
|
95
|
-
|
|
96
|
-
def search(self, term: str) -> str:
|
|
97
|
-
"""Search for a term in the docstore, and if found save."""
|
|
98
|
-
result = self.docstore.search(term)
|
|
99
|
-
if isinstance(result, Document):
|
|
100
|
-
self.document = result
|
|
101
|
-
return self._summary
|
|
102
|
-
self.document = None
|
|
103
|
-
return result
|
|
104
|
-
|
|
105
|
-
def lookup(self, term: str) -> str:
|
|
106
|
-
"""Lookup a term in document (if saved)."""
|
|
107
|
-
if self.document is None:
|
|
108
|
-
msg = "Cannot lookup without a successful search first"
|
|
109
|
-
raise ValueError(msg)
|
|
110
|
-
if term.lower() != self.lookup_str:
|
|
111
|
-
self.lookup_str = term.lower()
|
|
112
|
-
self.lookup_index = 0
|
|
113
|
-
else:
|
|
114
|
-
self.lookup_index += 1
|
|
115
|
-
lookups = [p for p in self._paragraphs if self.lookup_str in p.lower()]
|
|
116
|
-
if len(lookups) == 0:
|
|
117
|
-
return "No Results"
|
|
118
|
-
if self.lookup_index >= len(lookups):
|
|
119
|
-
return "No More Results"
|
|
120
|
-
result_prefix = f"(Result {self.lookup_index + 1}/{len(lookups)})"
|
|
121
|
-
return f"{result_prefix} {lookups[self.lookup_index]}"
|
|
122
|
-
|
|
123
|
-
@property
|
|
124
|
-
def _summary(self) -> str:
|
|
125
|
-
return self._paragraphs[0]
|
|
126
|
-
|
|
127
|
-
@property
|
|
128
|
-
def _paragraphs(self) -> list[str]:
|
|
129
|
-
if self.document is None:
|
|
130
|
-
msg = "Cannot get paragraphs without a document"
|
|
131
|
-
raise ValueError(msg)
|
|
132
|
-
return self.document.page_content.split("\n\n")
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
@deprecated(
|
|
136
|
-
"0.1.0",
|
|
137
|
-
message=AGENT_DEPRECATION_WARNING,
|
|
138
|
-
removal="1.0",
|
|
139
|
-
)
|
|
140
|
-
class ReActTextWorldAgent(ReActDocstoreAgent):
|
|
141
|
-
"""Agent for the ReAct TextWorld chain."""
|
|
142
|
-
|
|
143
|
-
@classmethod
|
|
144
|
-
def create_prompt(cls, tools: Sequence[BaseTool]) -> BasePromptTemplate:
|
|
145
|
-
"""Return default prompt."""
|
|
146
|
-
return TEXTWORLD_PROMPT
|
|
147
|
-
|
|
148
|
-
@classmethod
|
|
149
|
-
def _validate_tools(cls, tools: Sequence[BaseTool]) -> None:
|
|
150
|
-
validate_tools_single_input(cls.__name__, tools)
|
|
151
|
-
super()._validate_tools(tools)
|
|
152
|
-
if len(tools) != 1:
|
|
153
|
-
msg = f"Exactly one tool must be specified, but got {tools}"
|
|
154
|
-
raise ValueError(msg)
|
|
155
|
-
tool_names = {tool.name for tool in tools}
|
|
156
|
-
if tool_names != {"Play"}:
|
|
157
|
-
msg = f"Tool name should be Play, got {tool_names}"
|
|
158
|
-
raise ValueError(msg)
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
@deprecated(
|
|
162
|
-
"0.1.0",
|
|
163
|
-
message=AGENT_DEPRECATION_WARNING,
|
|
164
|
-
removal="1.0",
|
|
165
|
-
)
|
|
166
|
-
class ReActChain(AgentExecutor):
|
|
167
|
-
"""[Deprecated] Chain that implements the ReAct paper."""
|
|
168
|
-
|
|
169
|
-
def __init__(self, llm: BaseLanguageModel, docstore: Docstore, **kwargs: Any):
|
|
170
|
-
"""Initialize with the LLM and a docstore."""
|
|
171
|
-
docstore_explorer = DocstoreExplorer(docstore)
|
|
172
|
-
tools = [
|
|
173
|
-
Tool(
|
|
174
|
-
name="Search",
|
|
175
|
-
func=docstore_explorer.search,
|
|
176
|
-
description="Search for a term in the docstore.",
|
|
177
|
-
),
|
|
178
|
-
Tool(
|
|
179
|
-
name="Lookup",
|
|
180
|
-
func=docstore_explorer.lookup,
|
|
181
|
-
description="Lookup a term in the docstore.",
|
|
182
|
-
),
|
|
183
|
-
]
|
|
184
|
-
agent = ReActDocstoreAgent.from_llm_and_tools(llm, tools)
|
|
185
|
-
super().__init__(agent=agent, tools=tools, **kwargs)
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import re
|
|
2
|
-
from typing import Union
|
|
3
|
-
|
|
4
|
-
from langchain_core.agents import AgentAction, AgentFinish
|
|
5
|
-
from langchain_core.exceptions import OutputParserException
|
|
6
|
-
|
|
7
|
-
from langchain.agents.agent import AgentOutputParser
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class ReActOutputParser(AgentOutputParser):
|
|
11
|
-
"""Output parser for the ReAct agent."""
|
|
12
|
-
|
|
13
|
-
def parse(self, text: str) -> Union[AgentAction, AgentFinish]:
|
|
14
|
-
action_prefix = "Action: "
|
|
15
|
-
if not text.strip().split("\n")[-1].startswith(action_prefix):
|
|
16
|
-
msg = f"Could not parse LLM Output: {text}"
|
|
17
|
-
raise OutputParserException(msg)
|
|
18
|
-
action_block = text.strip().split("\n")[-1]
|
|
19
|
-
|
|
20
|
-
action_str = action_block[len(action_prefix) :]
|
|
21
|
-
# Parse out the action and the directive.
|
|
22
|
-
re_matches = re.search(r"(.*?)\[(.*?)\]", action_str)
|
|
23
|
-
if re_matches is None:
|
|
24
|
-
msg = f"Could not parse action directive: {action_str}"
|
|
25
|
-
raise OutputParserException(msg)
|
|
26
|
-
action, action_input = re_matches.group(1), re_matches.group(2)
|
|
27
|
-
if action == "Finish":
|
|
28
|
-
return AgentFinish({"output": action_input}, text)
|
|
29
|
-
return AgentAction(action, action_input, text)
|
|
30
|
-
|
|
31
|
-
@property
|
|
32
|
-
def _type(self) -> str:
|
|
33
|
-
return "react"
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
from langchain_core.prompts.prompt import PromptTemplate
|
|
2
|
-
|
|
3
|
-
EXAMPLES = [
|
|
4
|
-
"""Setup: You are now playing a fast paced round of TextWorld! Here is your task for
|
|
5
|
-
today. First of all, you could, like, try to travel east. After that, take the
|
|
6
|
-
binder from the locker. With the binder, place the binder on the mantelpiece.
|
|
7
|
-
Alright, thanks!
|
|
8
|
-
|
|
9
|
-
-= Vault =-
|
|
10
|
-
You've just walked into a vault. You begin to take stock of what's here.
|
|
11
|
-
|
|
12
|
-
An open safe is here. What a letdown! The safe is empty! You make out a shelf.
|
|
13
|
-
But the thing hasn't got anything on it. What, you think everything in TextWorld
|
|
14
|
-
should have stuff on it?
|
|
15
|
-
|
|
16
|
-
You don't like doors? Why not try going east, that entranceway is unguarded.
|
|
17
|
-
|
|
18
|
-
Thought: I need to travel east
|
|
19
|
-
Action: Play[go east]
|
|
20
|
-
Observation: -= Office =-
|
|
21
|
-
You arrive in an office. An ordinary one.
|
|
22
|
-
|
|
23
|
-
You can make out a locker. The locker contains a binder. You see a case. The
|
|
24
|
-
case is empty, what a horrible day! You lean against the wall, inadvertently
|
|
25
|
-
pressing a secret button. The wall opens up to reveal a mantelpiece. You wonder
|
|
26
|
-
idly who left that here. The mantelpiece is standard. The mantelpiece appears to
|
|
27
|
-
be empty. If you haven't noticed it already, there seems to be something there
|
|
28
|
-
by the wall, it's a table. Unfortunately, there isn't a thing on it. Hm. Oh well
|
|
29
|
-
There is an exit to the west. Don't worry, it is unguarded.
|
|
30
|
-
|
|
31
|
-
Thought: I need to take the binder from the locker
|
|
32
|
-
Action: Play[take binder]
|
|
33
|
-
Observation: You take the binder from the locker.
|
|
34
|
-
|
|
35
|
-
Thought: I need to place the binder on the mantelpiece
|
|
36
|
-
Action: Play[put binder on mantelpiece]
|
|
37
|
-
|
|
38
|
-
Observation: You put the binder on the mantelpiece.
|
|
39
|
-
Your score has just gone up by one point.
|
|
40
|
-
*** The End ***
|
|
41
|
-
Thought: The End has occurred
|
|
42
|
-
Action: Finish[yes]
|
|
43
|
-
|
|
44
|
-
"""
|
|
45
|
-
]
|
|
46
|
-
SUFFIX = """\n\nSetup: {input}
|
|
47
|
-
{agent_scratchpad}"""
|
|
48
|
-
|
|
49
|
-
TEXTWORLD_PROMPT = PromptTemplate.from_examples(
|
|
50
|
-
EXAMPLES, SUFFIX, ["input", "agent_scratchpad"]
|
|
51
|
-
)
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
from langchain_core.prompts.prompt import PromptTemplate
|
|
2
|
-
|
|
3
|
-
EXAMPLES = [
|
|
4
|
-
"""Question: What is the elevation range for the area that the eastern sector of the Colorado orogeny extends into?
|
|
5
|
-
Thought: I need to search Colorado orogeny, find the area that the eastern sector of the Colorado orogeny extends into, then find the elevation range of the area.
|
|
6
|
-
Action: Search[Colorado orogeny]
|
|
7
|
-
Observation: The Colorado orogeny was an episode of mountain building (an orogeny) in Colorado and surrounding areas.
|
|
8
|
-
Thought: It does not mention the eastern sector. So I need to look up eastern sector.
|
|
9
|
-
Action: Lookup[eastern sector]
|
|
10
|
-
Observation: (Result 1 / 1) The eastern sector extends into the High Plains and is called the Central Plains orogeny.
|
|
11
|
-
Thought: The eastern sector of Colorado orogeny extends into the High Plains. So I need to search High Plains and find its elevation range.
|
|
12
|
-
Action: Search[High Plains]
|
|
13
|
-
Observation: High Plains refers to one of two distinct land regions
|
|
14
|
-
Thought: I need to instead search High Plains (United States).
|
|
15
|
-
Action: Search[High Plains (United States)]
|
|
16
|
-
Observation: The High Plains are a subregion of the Great Plains. From east to west, the High Plains rise in elevation from around 1,800 to 7,000 ft (550 to 2,130 m).[3]
|
|
17
|
-
Thought: High Plains rise in elevation from around 1,800 to 7,000 ft, so the answer is 1,800 to 7,000 ft.
|
|
18
|
-
Action: Finish[1,800 to 7,000 ft]""", # noqa: E501
|
|
19
|
-
"""Question: Musician and satirist Allie Goertz wrote a song about the "The Simpsons" character Milhouse, who Matt Groening named after who?
|
|
20
|
-
Thought: The question simplifies to "The Simpsons" character Milhouse is named after who. I only need to search Milhouse and find who it is named after.
|
|
21
|
-
Action: Search[Milhouse]
|
|
22
|
-
Observation: Milhouse Mussolini Van Houten is a recurring character in the Fox animated television series The Simpsons voiced by Pamela Hayden and created by Matt Groening.
|
|
23
|
-
Thought: The paragraph does not tell who Milhouse is named after, maybe I can look up "named after".
|
|
24
|
-
Action: Lookup[named after]
|
|
25
|
-
Observation: (Result 1 / 1) Milhouse was named after U.S. president Richard Nixon, whose middle name was Milhous.
|
|
26
|
-
Thought: Milhouse was named after U.S. president Richard Nixon, so the answer is Richard Nixon.
|
|
27
|
-
Action: Finish[Richard Nixon]""", # noqa: E501
|
|
28
|
-
"""Question: Which documentary is about Finnish rock groups, Adam Clayton Powell or The Saimaa Gesture?
|
|
29
|
-
Thought: I need to search Adam Clayton Powell and The Saimaa Gesture, and find which documentary is about Finnish rock groups.
|
|
30
|
-
Action: Search[Adam Clayton Powell]
|
|
31
|
-
Observation: Could not find [Adam Clayton Powell]. Similar: ['Adam Clayton Powell III', 'Seventh Avenue (Manhattan)', 'Adam Clayton Powell Jr. State Office Building', 'Isabel Washington Powell', 'Adam Powell', 'Adam Clayton Powell (film)', 'Giancarlo Esposito'].
|
|
32
|
-
Thought: To find the documentary, I can search Adam Clayton Powell (film).
|
|
33
|
-
Action: Search[Adam Clayton Powell (film)]
|
|
34
|
-
Observation: Adam Clayton Powell is a 1989 American documentary film directed by Richard Kilberg. The film is about the rise and fall of influential African-American politician Adam Clayton Powell Jr.[3][4] It was later aired as part of the PBS series The American Experience.
|
|
35
|
-
Thought: Adam Clayton Powell (film) is a documentary about an African-American politician, not Finnish rock groups. So the documentary about Finnish rock groups must instead be The Saimaa Gesture.
|
|
36
|
-
Action: Finish[The Saimaa Gesture]""", # noqa: E501
|
|
37
|
-
"""Question: What profession does Nicholas Ray and Elia Kazan have in common?
|
|
38
|
-
Thought: I need to search Nicholas Ray and Elia Kazan, find their professions, then find the profession they have in common.
|
|
39
|
-
Action: Search[Nicholas Ray]
|
|
40
|
-
Observation: Nicholas Ray (born Raymond Nicholas Kienzle Jr., August 7, 1911 - June 16, 1979) was an American film director, screenwriter, and actor best known for the 1955 film Rebel Without a Cause.
|
|
41
|
-
Thought: Professions of Nicholas Ray are director, screenwriter, and actor. I need to search Elia Kazan next and find his professions.
|
|
42
|
-
Action: Search[Elia Kazan]
|
|
43
|
-
Observation: Elia Kazan was an American film and theatre director, producer, screenwriter and actor.
|
|
44
|
-
Thought: Professions of Elia Kazan are director, producer, screenwriter, and actor. So profession Nicholas Ray and Elia Kazan have in common is director, screenwriter, and actor.
|
|
45
|
-
Action: Finish[director, screenwriter, actor]""", # noqa: E501
|
|
46
|
-
"""Question: Which magazine was started first Arthur's Magazine or First for Women?
|
|
47
|
-
Thought: I need to search Arthur's Magazine and First for Women, and find which was started first.
|
|
48
|
-
Action: Search[Arthur's Magazine]
|
|
49
|
-
Observation: Arthur's Magazine (1844-1846) was an American literary periodical published in Philadelphia in the 19th century.
|
|
50
|
-
Thought: Arthur's Magazine was started in 1844. I need to search First for Women next.
|
|
51
|
-
Action: Search[First for Women]
|
|
52
|
-
Observation: First for Women is a woman's magazine published by Bauer Media Group in the USA.[1] The magazine was started in 1989.
|
|
53
|
-
Thought: First for Women was started in 1989. 1844 (Arthur's Magazine) < 1989 (First for Women), so Arthur's Magazine was started first.
|
|
54
|
-
Action: Finish[Arthur's Magazine]""", # noqa: E501
|
|
55
|
-
"""Question: Were Pavel Urysohn and Leonid Levin known for the same type of work?
|
|
56
|
-
Thought: I need to search Pavel Urysohn and Leonid Levin, find their types of work, then find if they are the same.
|
|
57
|
-
Action: Search[Pavel Urysohn]
|
|
58
|
-
Observation: Pavel Samuilovich Urysohn (February 3, 1898 - August 17, 1924) was a Soviet mathematician who is best known for his contributions in dimension theory.
|
|
59
|
-
Thought: Pavel Urysohn is a mathematician. I need to search Leonid Levin next and find its type of work.
|
|
60
|
-
Action: Search[Leonid Levin]
|
|
61
|
-
Observation: Leonid Anatolievich Levin is a Soviet-American mathematician and computer scientist.
|
|
62
|
-
Thought: Leonid Levin is a mathematician and computer scientist. So Pavel Urysohn and Leonid Levin have the same type of work.
|
|
63
|
-
Action: Finish[yes]""", # noqa: E501
|
|
64
|
-
]
|
|
65
|
-
SUFFIX = """\nQuestion: {input}
|
|
66
|
-
{agent_scratchpad}"""
|
|
67
|
-
|
|
68
|
-
WIKI_PROMPT = PromptTemplate.from_examples(
|
|
69
|
-
EXAMPLES, SUFFIX, ["input", "agent_scratchpad"]
|
|
70
|
-
)
|
langchain/agents/schema.py
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
from typing import Any
|
|
2
|
-
|
|
3
|
-
from langchain_core.agents import AgentAction
|
|
4
|
-
from langchain_core.prompts.chat import ChatPromptTemplate
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class AgentScratchPadChatPromptTemplate(ChatPromptTemplate):
|
|
8
|
-
"""Chat prompt template for the agent scratchpad."""
|
|
9
|
-
|
|
10
|
-
@classmethod
|
|
11
|
-
def is_lc_serializable(cls) -> bool:
|
|
12
|
-
return False
|
|
13
|
-
|
|
14
|
-
def _construct_agent_scratchpad(
|
|
15
|
-
self,
|
|
16
|
-
intermediate_steps: list[tuple[AgentAction, str]],
|
|
17
|
-
) -> str:
|
|
18
|
-
if len(intermediate_steps) == 0:
|
|
19
|
-
return ""
|
|
20
|
-
thoughts = ""
|
|
21
|
-
for action, observation in intermediate_steps:
|
|
22
|
-
thoughts += action.log
|
|
23
|
-
thoughts += f"\nObservation: {observation}\nThought: "
|
|
24
|
-
return (
|
|
25
|
-
f"This was your previous work "
|
|
26
|
-
f"(but I haven't seen any of it! I only see what "
|
|
27
|
-
f"you return as final answer):\n{thoughts}"
|
|
28
|
-
)
|
|
29
|
-
|
|
30
|
-
def _merge_partial_and_user_variables(self, **kwargs: Any) -> dict[str, Any]:
|
|
31
|
-
intermediate_steps = kwargs.pop("intermediate_steps")
|
|
32
|
-
kwargs["agent_scratchpad"] = self._construct_agent_scratchpad(
|
|
33
|
-
intermediate_steps,
|
|
34
|
-
)
|
|
35
|
-
return kwargs
|
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
"""Chain that does self-ask with search."""
|
|
2
|
-
|
|
3
|
-
from __future__ import annotations
|
|
4
|
-
|
|
5
|
-
from collections.abc import Sequence
|
|
6
|
-
from typing import TYPE_CHECKING, Any, Union
|
|
7
|
-
|
|
8
|
-
from langchain_core._api import deprecated
|
|
9
|
-
from langchain_core.language_models import BaseLanguageModel
|
|
10
|
-
from langchain_core.prompts import BasePromptTemplate
|
|
11
|
-
from langchain_core.runnables import Runnable, RunnablePassthrough
|
|
12
|
-
from langchain_core.tools import BaseTool, Tool
|
|
13
|
-
from pydantic import Field
|
|
14
|
-
|
|
15
|
-
from langchain.agents.agent import Agent, AgentExecutor, AgentOutputParser
|
|
16
|
-
from langchain.agents.agent_types import AgentType
|
|
17
|
-
from langchain.agents.format_scratchpad import format_log_to_str
|
|
18
|
-
from langchain.agents.self_ask_with_search.output_parser import SelfAskOutputParser
|
|
19
|
-
from langchain.agents.self_ask_with_search.prompt import PROMPT
|
|
20
|
-
from langchain.agents.utils import validate_tools_single_input
|
|
21
|
-
|
|
22
|
-
if TYPE_CHECKING:
|
|
23
|
-
from langchain_community.utilities.google_serper import GoogleSerperAPIWrapper
|
|
24
|
-
from langchain_community.utilities.searchapi import SearchApiAPIWrapper
|
|
25
|
-
from langchain_community.utilities.serpapi import SerpAPIWrapper
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
@deprecated("0.1.0", alternative="create_self_ask_with_search", removal="1.0")
|
|
29
|
-
class SelfAskWithSearchAgent(Agent):
|
|
30
|
-
"""Agent for the self-ask-with-search paper."""
|
|
31
|
-
|
|
32
|
-
output_parser: AgentOutputParser = Field(default_factory=SelfAskOutputParser)
|
|
33
|
-
|
|
34
|
-
@classmethod
|
|
35
|
-
def _get_default_output_parser(cls, **kwargs: Any) -> AgentOutputParser:
|
|
36
|
-
return SelfAskOutputParser()
|
|
37
|
-
|
|
38
|
-
@property
|
|
39
|
-
def _agent_type(self) -> str:
|
|
40
|
-
"""Return Identifier of an agent type."""
|
|
41
|
-
return AgentType.SELF_ASK_WITH_SEARCH
|
|
42
|
-
|
|
43
|
-
@classmethod
|
|
44
|
-
def create_prompt(cls, tools: Sequence[BaseTool]) -> BasePromptTemplate:
|
|
45
|
-
"""Prompt does not depend on tools."""
|
|
46
|
-
return PROMPT
|
|
47
|
-
|
|
48
|
-
@classmethod
|
|
49
|
-
def _validate_tools(cls, tools: Sequence[BaseTool]) -> None:
|
|
50
|
-
validate_tools_single_input(cls.__name__, tools)
|
|
51
|
-
super()._validate_tools(tools)
|
|
52
|
-
if len(tools) != 1:
|
|
53
|
-
msg = f"Exactly one tool must be specified, but got {tools}"
|
|
54
|
-
raise ValueError(msg)
|
|
55
|
-
tool_names = {tool.name for tool in tools}
|
|
56
|
-
if tool_names != {"Intermediate Answer"}:
|
|
57
|
-
msg = f"Tool name should be Intermediate Answer, got {tool_names}"
|
|
58
|
-
raise ValueError(msg)
|
|
59
|
-
|
|
60
|
-
@property
|
|
61
|
-
def observation_prefix(self) -> str:
|
|
62
|
-
"""Prefix to append the observation with."""
|
|
63
|
-
return "Intermediate answer: "
|
|
64
|
-
|
|
65
|
-
@property
|
|
66
|
-
def llm_prefix(self) -> str:
|
|
67
|
-
"""Prefix to append the LLM call with."""
|
|
68
|
-
return ""
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
@deprecated("0.1.0", removal="1.0")
|
|
72
|
-
class SelfAskWithSearchChain(AgentExecutor):
|
|
73
|
-
"""[Deprecated] Chain that does self-ask with search."""
|
|
74
|
-
|
|
75
|
-
def __init__(
|
|
76
|
-
self,
|
|
77
|
-
llm: BaseLanguageModel,
|
|
78
|
-
search_chain: Union[
|
|
79
|
-
GoogleSerperAPIWrapper,
|
|
80
|
-
SearchApiAPIWrapper,
|
|
81
|
-
SerpAPIWrapper,
|
|
82
|
-
],
|
|
83
|
-
**kwargs: Any,
|
|
84
|
-
):
|
|
85
|
-
"""Initialize only with an LLM and a search chain."""
|
|
86
|
-
search_tool = Tool(
|
|
87
|
-
name="Intermediate Answer",
|
|
88
|
-
func=search_chain.run,
|
|
89
|
-
coroutine=search_chain.arun,
|
|
90
|
-
description="Search",
|
|
91
|
-
)
|
|
92
|
-
agent = SelfAskWithSearchAgent.from_llm_and_tools(llm, [search_tool])
|
|
93
|
-
super().__init__(agent=agent, tools=[search_tool], **kwargs)
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
def create_self_ask_with_search_agent(
|
|
97
|
-
llm: BaseLanguageModel,
|
|
98
|
-
tools: Sequence[BaseTool],
|
|
99
|
-
prompt: BasePromptTemplate,
|
|
100
|
-
) -> Runnable:
|
|
101
|
-
"""Create an agent that uses self-ask with search prompting.
|
|
102
|
-
|
|
103
|
-
Args:
|
|
104
|
-
llm: LLM to use as the agent.
|
|
105
|
-
tools: List of tools. Should just be of length 1, with that tool having
|
|
106
|
-
name `Intermediate Answer`
|
|
107
|
-
prompt: The prompt to use, must have input key `agent_scratchpad` which will
|
|
108
|
-
contain agent actions and tool outputs.
|
|
109
|
-
|
|
110
|
-
Returns:
|
|
111
|
-
A Runnable sequence representing an agent. It takes as input all the same input
|
|
112
|
-
variables as the prompt passed in does. It returns as output either an
|
|
113
|
-
AgentAction or AgentFinish.
|
|
114
|
-
|
|
115
|
-
Examples:
|
|
116
|
-
|
|
117
|
-
.. code-block:: python
|
|
118
|
-
|
|
119
|
-
from langchain import hub
|
|
120
|
-
from langchain_community.chat_models import ChatAnthropic
|
|
121
|
-
from langchain.agents import (
|
|
122
|
-
AgentExecutor, create_self_ask_with_search_agent
|
|
123
|
-
)
|
|
124
|
-
|
|
125
|
-
prompt = hub.pull("hwchase17/self-ask-with-search")
|
|
126
|
-
model = ChatAnthropic(model="claude-3-haiku-20240307")
|
|
127
|
-
tools = [...] # Should just be one tool with name `Intermediate Answer`
|
|
128
|
-
|
|
129
|
-
agent = create_self_ask_with_search_agent(model, tools, prompt)
|
|
130
|
-
agent_executor = AgentExecutor(agent=agent, tools=tools)
|
|
131
|
-
|
|
132
|
-
agent_executor.invoke({"input": "hi"})
|
|
133
|
-
|
|
134
|
-
Prompt:
|
|
135
|
-
|
|
136
|
-
The prompt must have input key `agent_scratchpad` which will
|
|
137
|
-
contain agent actions and tool outputs as a string.
|
|
138
|
-
|
|
139
|
-
Here's an example:
|
|
140
|
-
|
|
141
|
-
.. code-block:: python
|
|
142
|
-
|
|
143
|
-
from langchain_core.prompts import PromptTemplate
|
|
144
|
-
|
|
145
|
-
template = '''Question: Who lived longer, Muhammad Ali or Alan Turing?
|
|
146
|
-
Are follow up questions needed here: Yes.
|
|
147
|
-
Follow up: How old was Muhammad Ali when he died?
|
|
148
|
-
Intermediate answer: Muhammad Ali was 74 years old when he died.
|
|
149
|
-
Follow up: How old was Alan Turing when he died?
|
|
150
|
-
Intermediate answer: Alan Turing was 41 years old when he died.
|
|
151
|
-
So the final answer is: Muhammad Ali
|
|
152
|
-
|
|
153
|
-
Question: When was the founder of craigslist born?
|
|
154
|
-
Are follow up questions needed here: Yes.
|
|
155
|
-
Follow up: Who was the founder of craigslist?
|
|
156
|
-
Intermediate answer: Craigslist was founded by Craig Newmark.
|
|
157
|
-
Follow up: When was Craig Newmark born?
|
|
158
|
-
Intermediate answer: Craig Newmark was born on December 6, 1952.
|
|
159
|
-
So the final answer is: December 6, 1952
|
|
160
|
-
|
|
161
|
-
Question: Who was the maternal grandfather of George Washington?
|
|
162
|
-
Are follow up questions needed here: Yes.
|
|
163
|
-
Follow up: Who was the mother of George Washington?
|
|
164
|
-
Intermediate answer: The mother of George Washington was Mary Ball Washington.
|
|
165
|
-
Follow up: Who was the father of Mary Ball Washington?
|
|
166
|
-
Intermediate answer: The father of Mary Ball Washington was Joseph Ball.
|
|
167
|
-
So the final answer is: Joseph Ball
|
|
168
|
-
|
|
169
|
-
Question: Are both the directors of Jaws and Casino Royale from the same country?
|
|
170
|
-
Are follow up questions needed here: Yes.
|
|
171
|
-
Follow up: Who is the director of Jaws?
|
|
172
|
-
Intermediate answer: The director of Jaws is Steven Spielberg.
|
|
173
|
-
Follow up: Where is Steven Spielberg from?
|
|
174
|
-
Intermediate answer: The United States.
|
|
175
|
-
Follow up: Who is the director of Casino Royale?
|
|
176
|
-
Intermediate answer: The director of Casino Royale is Martin Campbell.
|
|
177
|
-
Follow up: Where is Martin Campbell from?
|
|
178
|
-
Intermediate answer: New Zealand.
|
|
179
|
-
So the final answer is: No
|
|
180
|
-
|
|
181
|
-
Question: {input}
|
|
182
|
-
Are followup questions needed here:{agent_scratchpad}'''
|
|
183
|
-
|
|
184
|
-
prompt = PromptTemplate.from_template(template)
|
|
185
|
-
""" # noqa: E501
|
|
186
|
-
missing_vars = {"agent_scratchpad"}.difference(
|
|
187
|
-
prompt.input_variables + list(prompt.partial_variables),
|
|
188
|
-
)
|
|
189
|
-
if missing_vars:
|
|
190
|
-
msg = f"Prompt missing required variables: {missing_vars}"
|
|
191
|
-
raise ValueError(msg)
|
|
192
|
-
|
|
193
|
-
if len(tools) != 1:
|
|
194
|
-
msg = "This agent expects exactly one tool"
|
|
195
|
-
raise ValueError(msg)
|
|
196
|
-
tool = next(iter(tools))
|
|
197
|
-
if tool.name != "Intermediate Answer":
|
|
198
|
-
msg = "This agent expects the tool to be named `Intermediate Answer`"
|
|
199
|
-
raise ValueError(msg)
|
|
200
|
-
|
|
201
|
-
llm_with_stop = llm.bind(stop=["\nIntermediate answer:"])
|
|
202
|
-
return (
|
|
203
|
-
RunnablePassthrough.assign(
|
|
204
|
-
agent_scratchpad=lambda x: format_log_to_str(
|
|
205
|
-
x["intermediate_steps"],
|
|
206
|
-
observation_prefix="\nIntermediate answer: ",
|
|
207
|
-
llm_prefix="",
|
|
208
|
-
),
|
|
209
|
-
# Give it a default
|
|
210
|
-
chat_history=lambda x: x.get("chat_history", ""),
|
|
211
|
-
)
|
|
212
|
-
| prompt
|
|
213
|
-
| llm_with_stop
|
|
214
|
-
| SelfAskOutputParser()
|
|
215
|
-
)
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
from langchain_core.prompts.prompt import PromptTemplate
|
|
2
|
-
|
|
3
|
-
_DEFAULT_TEMPLATE = """Question: Who lived longer, Muhammad Ali or Alan Turing?
|
|
4
|
-
Are follow up questions needed here: Yes.
|
|
5
|
-
Follow up: How old was Muhammad Ali when he died?
|
|
6
|
-
Intermediate answer: Muhammad Ali was 74 years old when he died.
|
|
7
|
-
Follow up: How old was Alan Turing when he died?
|
|
8
|
-
Intermediate answer: Alan Turing was 41 years old when he died.
|
|
9
|
-
So the final answer is: Muhammad Ali
|
|
10
|
-
|
|
11
|
-
Question: When was the founder of craigslist born?
|
|
12
|
-
Are follow up questions needed here: Yes.
|
|
13
|
-
Follow up: Who was the founder of craigslist?
|
|
14
|
-
Intermediate answer: Craigslist was founded by Craig Newmark.
|
|
15
|
-
Follow up: When was Craig Newmark born?
|
|
16
|
-
Intermediate answer: Craig Newmark was born on December 6, 1952.
|
|
17
|
-
So the final answer is: December 6, 1952
|
|
18
|
-
|
|
19
|
-
Question: Who was the maternal grandfather of George Washington?
|
|
20
|
-
Are follow up questions needed here: Yes.
|
|
21
|
-
Follow up: Who was the mother of George Washington?
|
|
22
|
-
Intermediate answer: The mother of George Washington was Mary Ball Washington.
|
|
23
|
-
Follow up: Who was the father of Mary Ball Washington?
|
|
24
|
-
Intermediate answer: The father of Mary Ball Washington was Joseph Ball.
|
|
25
|
-
So the final answer is: Joseph Ball
|
|
26
|
-
|
|
27
|
-
Question: Are both the directors of Jaws and Casino Royale from the same country?
|
|
28
|
-
Are follow up questions needed here: Yes.
|
|
29
|
-
Follow up: Who is the director of Jaws?
|
|
30
|
-
Intermediate answer: The director of Jaws is Steven Spielberg.
|
|
31
|
-
Follow up: Where is Steven Spielberg from?
|
|
32
|
-
Intermediate answer: The United States.
|
|
33
|
-
Follow up: Who is the director of Casino Royale?
|
|
34
|
-
Intermediate answer: The director of Casino Royale is Martin Campbell.
|
|
35
|
-
Follow up: Where is Martin Campbell from?
|
|
36
|
-
Intermediate answer: New Zealand.
|
|
37
|
-
So the final answer is: No
|
|
38
|
-
|
|
39
|
-
Question: {input}
|
|
40
|
-
Are followup questions needed here:{agent_scratchpad}"""
|
|
41
|
-
PROMPT = PromptTemplate(
|
|
42
|
-
input_variables=["input", "agent_scratchpad"], template=_DEFAULT_TEMPLATE
|
|
43
|
-
)
|
|
File without changes
|