langchain 0.3.27__py3-none-any.whl → 1.0.0a1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of langchain might be problematic. Click here for more details.
- langchain/__init__.py +7 -434
- langchain/_internal/_documents.py +35 -0
- langchain/_internal/_lazy_import.py +36 -0
- langchain/_internal/_prompts.py +165 -0
- langchain/_internal/_typing.py +70 -0
- langchain/_internal/_utils.py +7 -0
- langchain/agents/__init__.py +5 -179
- langchain/agents/_internal/__init__.py +1 -0
- langchain/agents/_internal/_typing.py +13 -0
- langchain/agents/interrupt.py +92 -0
- langchain/agents/react_agent.py +1175 -0
- langchain/agents/structured_output.py +403 -0
- langchain/agents/tool_node.py +1174 -0
- langchain/chat_models/__init__.py +2 -75
- langchain/chat_models/base.py +133 -166
- langchain/{docstore/document.py → documents/__init__.py} +3 -1
- langchain/embeddings/__init__.py +2 -218
- langchain/embeddings/base.py +8 -13
- langchain/embeddings/cache.py +19 -22
- langchain/globals.py +4 -166
- langchain/storage/__init__.py +0 -35
- langchain/storage/encoder_backed.py +10 -19
- langchain/tools/__init__.py +8 -201
- {langchain-0.3.27.dist-info → langchain-1.0.0a1.dist-info}/METADATA +12 -28
- langchain-1.0.0a1.dist-info/RECORD +33 -0
- 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/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/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/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/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/_lc_store.py +0 -91
- langchain/storage/file_system.py +0 -176
- langchain/storage/redis.py +0 -23
- langchain/storage/upstash_redis.py +0 -27
- 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/RECORD +0 -1342
- /langchain/{adapters → _internal}/__init__.py +0 -0
- {langchain-0.3.27.dist-info → langchain-1.0.0a1.dist-info}/WHEEL +0 -0
- {langchain-0.3.27.dist-info → langchain-1.0.0a1.dist-info}/entry_points.txt +0 -0
- {langchain-0.3.27.dist-info → langchain-1.0.0a1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"""Logic for formatting intermediate steps into an agent scratchpad.
|
|
2
|
-
|
|
3
|
-
Intermediate steps refers to the list of (AgentAction, observation) tuples
|
|
4
|
-
that result from previous iterations of the agent.
|
|
5
|
-
Depending on the prompting strategy you are using, you may want to format these
|
|
6
|
-
differently before passing them into the LLM.
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
from langchain.agents.format_scratchpad.log import format_log_to_str
|
|
10
|
-
from langchain.agents.format_scratchpad.log_to_messages import format_log_to_messages
|
|
11
|
-
from langchain.agents.format_scratchpad.openai_functions import (
|
|
12
|
-
format_to_openai_function_messages,
|
|
13
|
-
format_to_openai_functions,
|
|
14
|
-
)
|
|
15
|
-
from langchain.agents.format_scratchpad.tools import format_to_tool_messages
|
|
16
|
-
from langchain.agents.format_scratchpad.xml import format_xml
|
|
17
|
-
|
|
18
|
-
__all__ = [
|
|
19
|
-
"format_log_to_messages",
|
|
20
|
-
"format_log_to_str",
|
|
21
|
-
"format_to_openai_function_messages",
|
|
22
|
-
"format_to_openai_functions",
|
|
23
|
-
"format_to_tool_messages",
|
|
24
|
-
"format_xml",
|
|
25
|
-
]
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
from langchain_core.agents import AgentAction
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
def format_log_to_str(
|
|
5
|
-
intermediate_steps: list[tuple[AgentAction, str]],
|
|
6
|
-
observation_prefix: str = "Observation: ",
|
|
7
|
-
llm_prefix: str = "Thought: ",
|
|
8
|
-
) -> str:
|
|
9
|
-
"""Construct the scratchpad that lets the agent continue its thought process.
|
|
10
|
-
|
|
11
|
-
Args:
|
|
12
|
-
intermediate_steps: List of tuples of AgentAction and observation strings.
|
|
13
|
-
observation_prefix: Prefix to append the observation with.
|
|
14
|
-
Defaults to "Observation: ".
|
|
15
|
-
llm_prefix: Prefix to append the llm call with.
|
|
16
|
-
Defaults to "Thought: ".
|
|
17
|
-
|
|
18
|
-
Returns:
|
|
19
|
-
str: The scratchpad.
|
|
20
|
-
"""
|
|
21
|
-
thoughts = ""
|
|
22
|
-
for action, observation in intermediate_steps:
|
|
23
|
-
thoughts += action.log
|
|
24
|
-
thoughts += f"\n{observation_prefix}{observation}\n{llm_prefix}"
|
|
25
|
-
return thoughts
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
from langchain_core.agents import AgentAction
|
|
2
|
-
from langchain_core.messages import AIMessage, BaseMessage, HumanMessage
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
def format_log_to_messages(
|
|
6
|
-
intermediate_steps: list[tuple[AgentAction, str]],
|
|
7
|
-
template_tool_response: str = "{observation}",
|
|
8
|
-
) -> list[BaseMessage]:
|
|
9
|
-
"""Construct the scratchpad that lets the agent continue its thought process.
|
|
10
|
-
|
|
11
|
-
Args:
|
|
12
|
-
intermediate_steps: List of tuples of AgentAction and observation strings.
|
|
13
|
-
template_tool_response: Template to format the observation with.
|
|
14
|
-
Defaults to "{observation}".
|
|
15
|
-
|
|
16
|
-
Returns:
|
|
17
|
-
List[BaseMessage]: The scratchpad.
|
|
18
|
-
"""
|
|
19
|
-
thoughts: list[BaseMessage] = []
|
|
20
|
-
for action, observation in intermediate_steps:
|
|
21
|
-
thoughts.append(AIMessage(content=action.log))
|
|
22
|
-
human_message = HumanMessage(
|
|
23
|
-
content=template_tool_response.format(observation=observation),
|
|
24
|
-
)
|
|
25
|
-
thoughts.append(human_message)
|
|
26
|
-
return thoughts
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import json
|
|
2
|
-
from collections.abc import Sequence
|
|
3
|
-
|
|
4
|
-
from langchain_core.agents import AgentAction, AgentActionMessageLog
|
|
5
|
-
from langchain_core.messages import AIMessage, BaseMessage, FunctionMessage
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def _convert_agent_action_to_messages(
|
|
9
|
-
agent_action: AgentAction,
|
|
10
|
-
observation: str,
|
|
11
|
-
) -> list[BaseMessage]:
|
|
12
|
-
"""Convert an agent action to a message.
|
|
13
|
-
|
|
14
|
-
This code is used to reconstruct the original AI message from the agent action.
|
|
15
|
-
|
|
16
|
-
Args:
|
|
17
|
-
agent_action: Agent action to convert.
|
|
18
|
-
|
|
19
|
-
Returns:
|
|
20
|
-
AIMessage or the previous messages plus a FunctionMessage that corresponds to
|
|
21
|
-
the original tool invocation
|
|
22
|
-
"""
|
|
23
|
-
if isinstance(agent_action, AgentActionMessageLog):
|
|
24
|
-
return [
|
|
25
|
-
*list(agent_action.message_log),
|
|
26
|
-
_create_function_message(agent_action, observation),
|
|
27
|
-
]
|
|
28
|
-
return [AIMessage(content=agent_action.log)]
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def _create_function_message(
|
|
32
|
-
agent_action: AgentAction,
|
|
33
|
-
observation: str,
|
|
34
|
-
) -> FunctionMessage:
|
|
35
|
-
"""Convert agent action and observation into a function message.
|
|
36
|
-
Args:
|
|
37
|
-
agent_action: the tool invocation request from the agent.
|
|
38
|
-
observation: the result of the tool invocation.
|
|
39
|
-
Returns:
|
|
40
|
-
FunctionMessage that corresponds to the original tool invocation.
|
|
41
|
-
|
|
42
|
-
Raises:
|
|
43
|
-
ValueError: if the observation cannot be converted to a string.
|
|
44
|
-
"""
|
|
45
|
-
if not isinstance(observation, str):
|
|
46
|
-
try:
|
|
47
|
-
content = json.dumps(observation, ensure_ascii=False)
|
|
48
|
-
except Exception:
|
|
49
|
-
content = str(observation)
|
|
50
|
-
else:
|
|
51
|
-
content = observation
|
|
52
|
-
return FunctionMessage(
|
|
53
|
-
name=agent_action.tool,
|
|
54
|
-
content=content,
|
|
55
|
-
)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
def format_to_openai_function_messages(
|
|
59
|
-
intermediate_steps: Sequence[tuple[AgentAction, str]],
|
|
60
|
-
) -> list[BaseMessage]:
|
|
61
|
-
"""Convert (AgentAction, tool output) tuples into FunctionMessages.
|
|
62
|
-
|
|
63
|
-
Args:
|
|
64
|
-
intermediate_steps: Steps the LLM has taken to date, along with observations
|
|
65
|
-
|
|
66
|
-
Returns:
|
|
67
|
-
list of messages to send to the LLM for the next prediction
|
|
68
|
-
Raises:
|
|
69
|
-
ValueError: if the observation cannot be converted to a string.
|
|
70
|
-
"""
|
|
71
|
-
messages = []
|
|
72
|
-
|
|
73
|
-
for agent_action, observation in intermediate_steps:
|
|
74
|
-
messages.extend(_convert_agent_action_to_messages(agent_action, observation))
|
|
75
|
-
|
|
76
|
-
return messages
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
# Backwards compatibility
|
|
80
|
-
format_to_openai_functions = format_to_openai_function_messages
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import json
|
|
2
|
-
from collections.abc import Sequence
|
|
3
|
-
|
|
4
|
-
from langchain_core.agents import AgentAction
|
|
5
|
-
from langchain_core.messages import (
|
|
6
|
-
AIMessage,
|
|
7
|
-
BaseMessage,
|
|
8
|
-
ToolMessage,
|
|
9
|
-
)
|
|
10
|
-
|
|
11
|
-
from langchain.agents.output_parsers.tools import ToolAgentAction
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def _create_tool_message(
|
|
15
|
-
agent_action: ToolAgentAction,
|
|
16
|
-
observation: str,
|
|
17
|
-
) -> ToolMessage:
|
|
18
|
-
"""Convert agent action and observation into a tool message.
|
|
19
|
-
|
|
20
|
-
Args:
|
|
21
|
-
agent_action: the tool invocation request from the agent.
|
|
22
|
-
observation: the result of the tool invocation.
|
|
23
|
-
Returns:
|
|
24
|
-
ToolMessage that corresponds to the original tool invocation.
|
|
25
|
-
|
|
26
|
-
Raises:
|
|
27
|
-
ValueError: if the observation cannot be converted to a string.
|
|
28
|
-
"""
|
|
29
|
-
if not isinstance(observation, str):
|
|
30
|
-
try:
|
|
31
|
-
content = json.dumps(observation, ensure_ascii=False)
|
|
32
|
-
except Exception:
|
|
33
|
-
content = str(observation)
|
|
34
|
-
else:
|
|
35
|
-
content = observation
|
|
36
|
-
return ToolMessage(
|
|
37
|
-
tool_call_id=agent_action.tool_call_id,
|
|
38
|
-
content=content,
|
|
39
|
-
additional_kwargs={"name": agent_action.tool},
|
|
40
|
-
)
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
def format_to_tool_messages(
|
|
44
|
-
intermediate_steps: Sequence[tuple[AgentAction, str]],
|
|
45
|
-
) -> list[BaseMessage]:
|
|
46
|
-
"""Convert (AgentAction, tool output) tuples into ToolMessages.
|
|
47
|
-
|
|
48
|
-
Args:
|
|
49
|
-
intermediate_steps: Steps the LLM has taken to date, along with observations.
|
|
50
|
-
|
|
51
|
-
Returns:
|
|
52
|
-
list of messages to send to the LLM for the next prediction.
|
|
53
|
-
|
|
54
|
-
"""
|
|
55
|
-
messages = []
|
|
56
|
-
for agent_action, observation in intermediate_steps:
|
|
57
|
-
if isinstance(agent_action, ToolAgentAction):
|
|
58
|
-
new_messages = [
|
|
59
|
-
*list(agent_action.message_log),
|
|
60
|
-
_create_tool_message(agent_action, observation),
|
|
61
|
-
]
|
|
62
|
-
messages.extend([new for new in new_messages if new not in messages])
|
|
63
|
-
else:
|
|
64
|
-
messages.append(AIMessage(content=agent_action.log))
|
|
65
|
-
return messages
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
from typing import Literal, Optional
|
|
2
|
-
|
|
3
|
-
from langchain_core.agents import AgentAction
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def _escape(xml: str) -> str:
|
|
7
|
-
"""Replace XML tags with custom safe delimiters."""
|
|
8
|
-
replacements = {
|
|
9
|
-
"<tool>": "[[tool]]",
|
|
10
|
-
"</tool>": "[[/tool]]",
|
|
11
|
-
"<tool_input>": "[[tool_input]]",
|
|
12
|
-
"</tool_input>": "[[/tool_input]]",
|
|
13
|
-
"<observation>": "[[observation]]",
|
|
14
|
-
"</observation>": "[[/observation]]",
|
|
15
|
-
}
|
|
16
|
-
for orig, repl in replacements.items():
|
|
17
|
-
xml = xml.replace(orig, repl)
|
|
18
|
-
return xml
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
def format_xml(
|
|
22
|
-
intermediate_steps: list[tuple[AgentAction, str]],
|
|
23
|
-
*,
|
|
24
|
-
escape_format: Optional[Literal["minimal"]] = "minimal",
|
|
25
|
-
) -> str:
|
|
26
|
-
"""Format the intermediate steps as XML.
|
|
27
|
-
|
|
28
|
-
Args:
|
|
29
|
-
intermediate_steps: The intermediate steps.
|
|
30
|
-
escape_format: The escaping format to use. Currently only 'minimal' is
|
|
31
|
-
supported, which replaces XML tags with custom delimiters to prevent
|
|
32
|
-
conflicts.
|
|
33
|
-
|
|
34
|
-
Returns:
|
|
35
|
-
The intermediate steps as XML.
|
|
36
|
-
"""
|
|
37
|
-
log = ""
|
|
38
|
-
for action, observation in intermediate_steps:
|
|
39
|
-
if escape_format == "minimal":
|
|
40
|
-
# Escape XML tags in tool names and inputs using custom delimiters
|
|
41
|
-
tool = _escape(action.tool)
|
|
42
|
-
tool_input = _escape(str(action.tool_input))
|
|
43
|
-
observation_ = _escape(str(observation))
|
|
44
|
-
else:
|
|
45
|
-
tool = action.tool
|
|
46
|
-
tool_input = str(action.tool_input)
|
|
47
|
-
observation_ = str(observation)
|
|
48
|
-
log += (
|
|
49
|
-
f"<tool>{tool}</tool><tool_input>{tool_input}"
|
|
50
|
-
f"</tool_input><observation>{observation_}</observation>"
|
|
51
|
-
)
|
|
52
|
-
return log
|
langchain/agents/initialize.py
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"""Load agent."""
|
|
2
|
-
|
|
3
|
-
import contextlib
|
|
4
|
-
from collections.abc import Sequence
|
|
5
|
-
from typing import Any, Optional
|
|
6
|
-
|
|
7
|
-
from langchain_core._api import deprecated
|
|
8
|
-
from langchain_core.callbacks import BaseCallbackManager
|
|
9
|
-
from langchain_core.language_models import BaseLanguageModel
|
|
10
|
-
from langchain_core.tools import BaseTool
|
|
11
|
-
|
|
12
|
-
from langchain._api.deprecation import AGENT_DEPRECATION_WARNING
|
|
13
|
-
from langchain.agents.agent import AgentExecutor
|
|
14
|
-
from langchain.agents.agent_types import AgentType
|
|
15
|
-
from langchain.agents.loading import load_agent
|
|
16
|
-
from langchain.agents.types import AGENT_TO_CLASS
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@deprecated(
|
|
20
|
-
"0.1.0",
|
|
21
|
-
message=AGENT_DEPRECATION_WARNING,
|
|
22
|
-
removal="1.0",
|
|
23
|
-
)
|
|
24
|
-
def initialize_agent(
|
|
25
|
-
tools: Sequence[BaseTool],
|
|
26
|
-
llm: BaseLanguageModel,
|
|
27
|
-
agent: Optional[AgentType] = None,
|
|
28
|
-
callback_manager: Optional[BaseCallbackManager] = None,
|
|
29
|
-
agent_path: Optional[str] = None,
|
|
30
|
-
agent_kwargs: Optional[dict] = None,
|
|
31
|
-
*,
|
|
32
|
-
tags: Optional[Sequence[str]] = None,
|
|
33
|
-
**kwargs: Any,
|
|
34
|
-
) -> AgentExecutor:
|
|
35
|
-
"""Load an agent executor given tools and LLM.
|
|
36
|
-
|
|
37
|
-
Args:
|
|
38
|
-
tools: List of tools this agent has access to.
|
|
39
|
-
llm: Language model to use as the agent.
|
|
40
|
-
agent: Agent type to use. If None and agent_path is also None, will default
|
|
41
|
-
to AgentType.ZERO_SHOT_REACT_DESCRIPTION. Defaults to None.
|
|
42
|
-
callback_manager: CallbackManager to use. Global callback manager is used if
|
|
43
|
-
not provided. Defaults to None.
|
|
44
|
-
agent_path: Path to serialized agent to use. If None and agent is also None,
|
|
45
|
-
will default to AgentType.ZERO_SHOT_REACT_DESCRIPTION. Defaults to None.
|
|
46
|
-
agent_kwargs: Additional keyword arguments to pass to the underlying agent.
|
|
47
|
-
Defaults to None.
|
|
48
|
-
tags: Tags to apply to the traced runs. Defaults to None.
|
|
49
|
-
kwargs: Additional keyword arguments passed to the agent executor.
|
|
50
|
-
|
|
51
|
-
Returns:
|
|
52
|
-
An agent executor.
|
|
53
|
-
|
|
54
|
-
Raises:
|
|
55
|
-
ValueError: If both `agent` and `agent_path` are specified.
|
|
56
|
-
ValueError: If `agent` is not a valid agent type.
|
|
57
|
-
ValueError: If both `agent` and `agent_path` are None.
|
|
58
|
-
"""
|
|
59
|
-
tags_ = list(tags) if tags else []
|
|
60
|
-
if agent is None and agent_path is None:
|
|
61
|
-
agent = AgentType.ZERO_SHOT_REACT_DESCRIPTION
|
|
62
|
-
if agent is not None and agent_path is not None:
|
|
63
|
-
msg = (
|
|
64
|
-
"Both `agent` and `agent_path` are specified, "
|
|
65
|
-
"but at most only one should be."
|
|
66
|
-
)
|
|
67
|
-
raise ValueError(msg)
|
|
68
|
-
if agent is not None:
|
|
69
|
-
if agent not in AGENT_TO_CLASS:
|
|
70
|
-
msg = (
|
|
71
|
-
f"Got unknown agent type: {agent}. "
|
|
72
|
-
f"Valid types are: {AGENT_TO_CLASS.keys()}."
|
|
73
|
-
)
|
|
74
|
-
raise ValueError(msg)
|
|
75
|
-
tags_.append(agent.value if isinstance(agent, AgentType) else agent)
|
|
76
|
-
agent_cls = AGENT_TO_CLASS[agent]
|
|
77
|
-
agent_kwargs = agent_kwargs or {}
|
|
78
|
-
agent_obj = agent_cls.from_llm_and_tools(
|
|
79
|
-
llm,
|
|
80
|
-
tools,
|
|
81
|
-
callback_manager=callback_manager,
|
|
82
|
-
**agent_kwargs,
|
|
83
|
-
)
|
|
84
|
-
elif agent_path is not None:
|
|
85
|
-
agent_obj = load_agent(
|
|
86
|
-
agent_path,
|
|
87
|
-
llm=llm,
|
|
88
|
-
tools=tools,
|
|
89
|
-
callback_manager=callback_manager,
|
|
90
|
-
)
|
|
91
|
-
with contextlib.suppress(NotImplementedError):
|
|
92
|
-
# TODO: Add tags from the serialized object directly.
|
|
93
|
-
tags_.append(agent_obj._agent_type)
|
|
94
|
-
else:
|
|
95
|
-
msg = (
|
|
96
|
-
"Somehow both `agent` and `agent_path` are None, this should never happen."
|
|
97
|
-
)
|
|
98
|
-
raise ValueError(msg)
|
|
99
|
-
return AgentExecutor.from_agent_and_tools(
|
|
100
|
-
agent=agent_obj,
|
|
101
|
-
tools=tools,
|
|
102
|
-
callback_manager=callback_manager,
|
|
103
|
-
tags=tags_,
|
|
104
|
-
**kwargs,
|
|
105
|
-
)
|
|
File without changes
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
from collections.abc import Sequence
|
|
2
|
-
from typing import Union
|
|
3
|
-
|
|
4
|
-
from langchain_core.language_models import BaseLanguageModel
|
|
5
|
-
from langchain_core.prompts.chat import ChatPromptTemplate
|
|
6
|
-
from langchain_core.runnables import Runnable, RunnablePassthrough
|
|
7
|
-
from langchain_core.tools import BaseTool
|
|
8
|
-
from langchain_core.tools.render import ToolsRenderer, render_text_description
|
|
9
|
-
|
|
10
|
-
from langchain.agents.format_scratchpad import format_log_to_messages
|
|
11
|
-
from langchain.agents.json_chat.prompt import TEMPLATE_TOOL_RESPONSE
|
|
12
|
-
from langchain.agents.output_parsers import JSONAgentOutputParser
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
def create_json_chat_agent(
|
|
16
|
-
llm: BaseLanguageModel,
|
|
17
|
-
tools: Sequence[BaseTool],
|
|
18
|
-
prompt: ChatPromptTemplate,
|
|
19
|
-
stop_sequence: Union[bool, list[str]] = True, # noqa: FBT001,FBT002
|
|
20
|
-
tools_renderer: ToolsRenderer = render_text_description,
|
|
21
|
-
template_tool_response: str = TEMPLATE_TOOL_RESPONSE,
|
|
22
|
-
) -> Runnable:
|
|
23
|
-
"""Create an agent that uses JSON to format its logic, build for Chat Models.
|
|
24
|
-
|
|
25
|
-
Args:
|
|
26
|
-
llm: LLM to use as the agent.
|
|
27
|
-
tools: Tools this agent has access to.
|
|
28
|
-
prompt: The prompt to use. See Prompt section below for more.
|
|
29
|
-
stop_sequence: bool or list of str.
|
|
30
|
-
If True, adds a stop token of "Observation:" to avoid hallucinates.
|
|
31
|
-
If False, does not add a stop token.
|
|
32
|
-
If a list of str, uses the provided list as the stop tokens.
|
|
33
|
-
|
|
34
|
-
Default is True. You may to set this to False if the LLM you are using
|
|
35
|
-
does not support stop sequences.
|
|
36
|
-
tools_renderer: This controls how the tools are converted into a string and
|
|
37
|
-
then passed into the LLM. Default is `render_text_description`.
|
|
38
|
-
template_tool_response: Template prompt that uses the tool response (observation)
|
|
39
|
-
to make the LLM generate the next action to take.
|
|
40
|
-
Default is TEMPLATE_TOOL_RESPONSE.
|
|
41
|
-
|
|
42
|
-
Returns:
|
|
43
|
-
A Runnable sequence representing an agent. It takes as input all the same input
|
|
44
|
-
variables as the prompt passed in does. It returns as output either an
|
|
45
|
-
AgentAction or AgentFinish.
|
|
46
|
-
|
|
47
|
-
Raises:
|
|
48
|
-
ValueError: If the prompt is missing required variables.
|
|
49
|
-
ValueError: If the template_tool_response is missing
|
|
50
|
-
the required variable 'observation'.
|
|
51
|
-
|
|
52
|
-
Example:
|
|
53
|
-
|
|
54
|
-
.. code-block:: python
|
|
55
|
-
|
|
56
|
-
from langchain import hub
|
|
57
|
-
from langchain_community.chat_models import ChatOpenAI
|
|
58
|
-
from langchain.agents import AgentExecutor, create_json_chat_agent
|
|
59
|
-
|
|
60
|
-
prompt = hub.pull("hwchase17/react-chat-json")
|
|
61
|
-
model = ChatOpenAI()
|
|
62
|
-
tools = ...
|
|
63
|
-
|
|
64
|
-
agent = create_json_chat_agent(model, tools, prompt)
|
|
65
|
-
agent_executor = AgentExecutor(agent=agent, tools=tools)
|
|
66
|
-
|
|
67
|
-
agent_executor.invoke({"input": "hi"})
|
|
68
|
-
|
|
69
|
-
# Using with chat history
|
|
70
|
-
from langchain_core.messages import AIMessage, HumanMessage
|
|
71
|
-
agent_executor.invoke(
|
|
72
|
-
{
|
|
73
|
-
"input": "what's my name?",
|
|
74
|
-
"chat_history": [
|
|
75
|
-
HumanMessage(content="hi! my name is bob"),
|
|
76
|
-
AIMessage(content="Hello Bob! How can I assist you today?"),
|
|
77
|
-
],
|
|
78
|
-
}
|
|
79
|
-
)
|
|
80
|
-
|
|
81
|
-
Prompt:
|
|
82
|
-
|
|
83
|
-
The prompt must have input keys:
|
|
84
|
-
* `tools`: contains descriptions and arguments for each tool.
|
|
85
|
-
* `tool_names`: contains all tool names.
|
|
86
|
-
* `agent_scratchpad`: must be a MessagesPlaceholder. Contains previous agent actions and tool outputs as messages.
|
|
87
|
-
|
|
88
|
-
Here's an example:
|
|
89
|
-
|
|
90
|
-
.. code-block:: python
|
|
91
|
-
|
|
92
|
-
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
|
|
93
|
-
|
|
94
|
-
system = '''Assistant is a large language model trained by OpenAI.
|
|
95
|
-
|
|
96
|
-
Assistant is designed to be able to assist with a wide range of tasks, from answering \
|
|
97
|
-
simple questions to providing in-depth explanations and discussions on a wide range of \
|
|
98
|
-
topics. As a language model, Assistant is able to generate human-like text based on \
|
|
99
|
-
the input it receives, allowing it to engage in natural-sounding conversations and \
|
|
100
|
-
provide responses that are coherent and relevant to the topic at hand.
|
|
101
|
-
|
|
102
|
-
Assistant is constantly learning and improving, and its capabilities are constantly \
|
|
103
|
-
evolving. It is able to process and understand large amounts of text, and can use this \
|
|
104
|
-
knowledge to provide accurate and informative responses to a wide range of questions. \
|
|
105
|
-
Additionally, Assistant is able to generate its own text based on the input it \
|
|
106
|
-
receives, allowing it to engage in discussions and provide explanations and \
|
|
107
|
-
descriptions on a wide range of topics.
|
|
108
|
-
|
|
109
|
-
Overall, Assistant is a powerful system that can help with a wide range of tasks \
|
|
110
|
-
and provide valuable insights and information on a wide range of topics. Whether \
|
|
111
|
-
you need help with a specific question or just want to have a conversation about \
|
|
112
|
-
a particular topic, Assistant is here to assist.'''
|
|
113
|
-
|
|
114
|
-
human = '''TOOLS
|
|
115
|
-
------
|
|
116
|
-
Assistant can ask the user to use tools to look up information that may be helpful in \
|
|
117
|
-
answering the users original question. The tools the human can use are:
|
|
118
|
-
|
|
119
|
-
{tools}
|
|
120
|
-
|
|
121
|
-
RESPONSE FORMAT INSTRUCTIONS
|
|
122
|
-
----------------------------
|
|
123
|
-
|
|
124
|
-
When responding to me, please output a response in one of two formats:
|
|
125
|
-
|
|
126
|
-
**Option 1:**
|
|
127
|
-
Use this if you want the human to use a tool.
|
|
128
|
-
Markdown code snippet formatted in the following schema:
|
|
129
|
-
|
|
130
|
-
```json
|
|
131
|
-
{{
|
|
132
|
-
"action": string, \\ The action to take. Must be one of {tool_names}
|
|
133
|
-
"action_input": string \\ The input to the action
|
|
134
|
-
}}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
**Option #2:**
|
|
138
|
-
Use this if you want to respond directly to the human. Markdown code snippet formatted \
|
|
139
|
-
in the following schema:
|
|
140
|
-
|
|
141
|
-
```json
|
|
142
|
-
{{
|
|
143
|
-
"action": "Final Answer",
|
|
144
|
-
"action_input": string \\ You should put what you want to return to use here
|
|
145
|
-
}}
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
USER'S INPUT
|
|
149
|
-
--------------------
|
|
150
|
-
Here is the user's input (remember to respond with a markdown code snippet of a json \
|
|
151
|
-
blob with a single action, and NOTHING else):
|
|
152
|
-
|
|
153
|
-
{input}'''
|
|
154
|
-
|
|
155
|
-
prompt = ChatPromptTemplate.from_messages(
|
|
156
|
-
[
|
|
157
|
-
("system", system),
|
|
158
|
-
MessagesPlaceholder("chat_history", optional=True),
|
|
159
|
-
("human", human),
|
|
160
|
-
MessagesPlaceholder("agent_scratchpad"),
|
|
161
|
-
]
|
|
162
|
-
)
|
|
163
|
-
""" # noqa: E501
|
|
164
|
-
missing_vars = {"tools", "tool_names", "agent_scratchpad"}.difference(
|
|
165
|
-
prompt.input_variables + list(prompt.partial_variables),
|
|
166
|
-
)
|
|
167
|
-
if missing_vars:
|
|
168
|
-
msg = f"Prompt missing required variables: {missing_vars}"
|
|
169
|
-
raise ValueError(msg)
|
|
170
|
-
|
|
171
|
-
if "{observation}" not in template_tool_response:
|
|
172
|
-
msg = "Template tool response missing required variable 'observation'"
|
|
173
|
-
raise ValueError(msg)
|
|
174
|
-
|
|
175
|
-
prompt = prompt.partial(
|
|
176
|
-
tools=tools_renderer(list(tools)),
|
|
177
|
-
tool_names=", ".join([t.name for t in tools]),
|
|
178
|
-
)
|
|
179
|
-
if stop_sequence:
|
|
180
|
-
stop = ["\nObservation"] if stop_sequence is True else stop_sequence
|
|
181
|
-
llm_to_use = llm.bind(stop=stop)
|
|
182
|
-
else:
|
|
183
|
-
llm_to_use = llm
|
|
184
|
-
|
|
185
|
-
return (
|
|
186
|
-
RunnablePassthrough.assign(
|
|
187
|
-
agent_scratchpad=lambda x: format_log_to_messages(
|
|
188
|
-
x["intermediate_steps"],
|
|
189
|
-
template_tool_response=template_tool_response,
|
|
190
|
-
),
|
|
191
|
-
)
|
|
192
|
-
| prompt
|
|
193
|
-
| llm_to_use
|
|
194
|
-
| JSONAgentOutputParser()
|
|
195
|
-
)
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
TEMPLATE_TOOL_RESPONSE = """TOOL RESPONSE:
|
|
2
|
-
---------------------
|
|
3
|
-
{observation}
|
|
4
|
-
|
|
5
|
-
USER'S INPUT
|
|
6
|
-
--------------------
|
|
7
|
-
|
|
8
|
-
Okay, so what is the response to my last comment? If using information obtained from the tools you must mention it explicitly without mentioning the tool names - I have forgotten all TOOL RESPONSES! Remember to respond with a markdown code snippet of a json blob with a single action, and NOTHING else - even if you just want to respond to the user. Do NOT respond with anything except a JSON snippet no matter what!""" # noqa: E501
|
langchain/agents/load_tools.py
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
from typing import Any
|
|
2
|
-
|
|
3
|
-
from langchain._api import create_importer
|
|
4
|
-
|
|
5
|
-
_importer = create_importer(
|
|
6
|
-
__package__,
|
|
7
|
-
fallback_module="langchain_community.agent_toolkits.load_tools",
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
def __getattr__(name: str) -> Any:
|
|
12
|
-
"""Look up attributes dynamically."""
|
|
13
|
-
return _importer(name)
|