langchain 0.3.26__py3-none-any.whl → 0.3.27__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 +110 -96
- langchain/_api/__init__.py +2 -2
- langchain/_api/deprecation.py +3 -3
- langchain/_api/module_import.py +51 -46
- langchain/_api/path.py +1 -1
- langchain/adapters/openai.py +8 -8
- langchain/agents/__init__.py +15 -12
- langchain/agents/agent.py +160 -133
- langchain/agents/agent_iterator.py +31 -14
- langchain/agents/agent_toolkits/__init__.py +7 -6
- langchain/agents/agent_toolkits/ainetwork/toolkit.py +1 -1
- langchain/agents/agent_toolkits/amadeus/toolkit.py +1 -1
- langchain/agents/agent_toolkits/azure_cognitive_services.py +1 -1
- langchain/agents/agent_toolkits/clickup/toolkit.py +1 -1
- langchain/agents/agent_toolkits/conversational_retrieval/openai_functions.py +6 -4
- langchain/agents/agent_toolkits/csv/__init__.py +4 -2
- langchain/agents/agent_toolkits/file_management/__init__.py +1 -1
- langchain/agents/agent_toolkits/file_management/toolkit.py +1 -1
- langchain/agents/agent_toolkits/github/toolkit.py +9 -9
- langchain/agents/agent_toolkits/gitlab/toolkit.py +1 -1
- langchain/agents/agent_toolkits/json/base.py +1 -1
- langchain/agents/agent_toolkits/multion/toolkit.py +1 -1
- langchain/agents/agent_toolkits/office365/toolkit.py +1 -1
- langchain/agents/agent_toolkits/openapi/base.py +1 -1
- langchain/agents/agent_toolkits/openapi/planner.py +2 -2
- langchain/agents/agent_toolkits/openapi/planner_prompt.py +10 -10
- langchain/agents/agent_toolkits/openapi/prompt.py +1 -1
- langchain/agents/agent_toolkits/openapi/toolkit.py +1 -1
- langchain/agents/agent_toolkits/pandas/__init__.py +4 -2
- langchain/agents/agent_toolkits/playwright/__init__.py +1 -1
- langchain/agents/agent_toolkits/playwright/toolkit.py +1 -1
- langchain/agents/agent_toolkits/powerbi/base.py +1 -1
- langchain/agents/agent_toolkits/powerbi/chat_base.py +1 -1
- langchain/agents/agent_toolkits/powerbi/prompt.py +2 -2
- langchain/agents/agent_toolkits/powerbi/toolkit.py +1 -1
- langchain/agents/agent_toolkits/python/__init__.py +4 -2
- langchain/agents/agent_toolkits/spark/__init__.py +4 -2
- langchain/agents/agent_toolkits/spark_sql/base.py +1 -1
- langchain/agents/agent_toolkits/spark_sql/toolkit.py +1 -1
- langchain/agents/agent_toolkits/sql/prompt.py +1 -1
- langchain/agents/agent_toolkits/sql/toolkit.py +1 -1
- langchain/agents/agent_toolkits/vectorstore/base.py +2 -2
- langchain/agents/agent_toolkits/vectorstore/prompt.py +2 -4
- langchain/agents/agent_toolkits/vectorstore/toolkit.py +12 -11
- langchain/agents/agent_toolkits/xorbits/__init__.py +4 -2
- langchain/agents/agent_toolkits/zapier/toolkit.py +1 -1
- langchain/agents/agent_types.py +6 -6
- langchain/agents/chat/base.py +6 -12
- langchain/agents/chat/output_parser.py +9 -6
- langchain/agents/chat/prompt.py +3 -4
- langchain/agents/conversational/base.py +9 -5
- langchain/agents/conversational/output_parser.py +4 -2
- langchain/agents/conversational/prompt.py +2 -3
- langchain/agents/conversational_chat/base.py +7 -5
- langchain/agents/conversational_chat/output_parser.py +9 -11
- langchain/agents/conversational_chat/prompt.py +5 -6
- langchain/agents/format_scratchpad/__init__.py +3 -3
- langchain/agents/format_scratchpad/log_to_messages.py +1 -1
- langchain/agents/format_scratchpad/openai_functions.py +8 -6
- langchain/agents/format_scratchpad/tools.py +5 -3
- langchain/agents/format_scratchpad/xml.py +33 -2
- langchain/agents/initialize.py +16 -8
- langchain/agents/json_chat/base.py +18 -18
- langchain/agents/json_chat/prompt.py +2 -3
- langchain/agents/load_tools.py +2 -1
- langchain/agents/loading.py +28 -18
- langchain/agents/mrkl/base.py +9 -4
- langchain/agents/mrkl/output_parser.py +17 -13
- langchain/agents/mrkl/prompt.py +1 -2
- langchain/agents/openai_assistant/base.py +80 -70
- langchain/agents/openai_functions_agent/base.py +46 -37
- langchain/agents/openai_functions_multi_agent/base.py +39 -26
- langchain/agents/openai_tools/base.py +8 -8
- langchain/agents/output_parsers/__init__.py +3 -3
- langchain/agents/output_parsers/json.py +6 -6
- langchain/agents/output_parsers/openai_functions.py +15 -7
- langchain/agents/output_parsers/openai_tools.py +9 -4
- langchain/agents/output_parsers/react_json_single_input.py +10 -5
- langchain/agents/output_parsers/react_single_input.py +15 -11
- langchain/agents/output_parsers/self_ask.py +3 -2
- langchain/agents/output_parsers/tools.py +18 -13
- langchain/agents/output_parsers/xml.py +99 -28
- langchain/agents/react/agent.py +4 -4
- langchain/agents/react/base.py +22 -17
- langchain/agents/react/output_parser.py +5 -6
- langchain/agents/react/textworld_prompt.py +0 -1
- langchain/agents/react/wiki_prompt.py +14 -15
- langchain/agents/schema.py +3 -2
- langchain/agents/self_ask_with_search/base.py +19 -15
- langchain/agents/self_ask_with_search/prompt.py +0 -1
- langchain/agents/structured_chat/base.py +14 -11
- langchain/agents/structured_chat/output_parser.py +16 -18
- langchain/agents/structured_chat/prompt.py +3 -4
- langchain/agents/tool_calling_agent/base.py +7 -6
- langchain/agents/tools.py +2 -2
- langchain/agents/utils.py +2 -3
- langchain/agents/xml/base.py +5 -5
- langchain/agents/xml/prompt.py +1 -2
- langchain/cache.py +12 -12
- langchain/callbacks/__init__.py +11 -11
- langchain/callbacks/aim_callback.py +2 -2
- langchain/callbacks/argilla_callback.py +1 -1
- langchain/callbacks/arize_callback.py +1 -1
- langchain/callbacks/arthur_callback.py +1 -1
- langchain/callbacks/base.py +7 -7
- langchain/callbacks/clearml_callback.py +1 -1
- langchain/callbacks/comet_ml_callback.py +1 -1
- langchain/callbacks/confident_callback.py +1 -1
- langchain/callbacks/context_callback.py +1 -1
- langchain/callbacks/flyte_callback.py +1 -1
- langchain/callbacks/human.py +2 -2
- langchain/callbacks/infino_callback.py +1 -1
- langchain/callbacks/labelstudio_callback.py +1 -1
- langchain/callbacks/llmonitor_callback.py +1 -1
- langchain/callbacks/manager.py +5 -5
- langchain/callbacks/mlflow_callback.py +2 -2
- langchain/callbacks/openai_info.py +1 -1
- langchain/callbacks/promptlayer_callback.py +1 -1
- langchain/callbacks/sagemaker_callback.py +1 -1
- langchain/callbacks/streaming_aiter.py +4 -1
- langchain/callbacks/streaming_aiter_final_only.py +5 -3
- langchain/callbacks/streaming_stdout_final_only.py +5 -3
- langchain/callbacks/streamlit/__init__.py +3 -2
- langchain/callbacks/streamlit/mutable_expander.py +1 -1
- langchain/callbacks/streamlit/streamlit_callback_handler.py +3 -3
- langchain/callbacks/tracers/__init__.py +1 -1
- langchain/callbacks/tracers/comet.py +1 -1
- langchain/callbacks/tracers/evaluation.py +1 -1
- langchain/callbacks/tracers/log_stream.py +1 -1
- langchain/callbacks/tracers/logging.py +1 -1
- langchain/callbacks/tracers/stdout.py +1 -1
- langchain/callbacks/trubrics_callback.py +1 -1
- langchain/callbacks/utils.py +4 -4
- langchain/callbacks/wandb_callback.py +1 -1
- langchain/callbacks/whylabs_callback.py +1 -1
- langchain/chains/api/base.py +36 -22
- langchain/chains/api/news_docs.py +1 -2
- langchain/chains/api/open_meteo_docs.py +1 -2
- langchain/chains/api/openapi/requests_chain.py +1 -1
- langchain/chains/api/openapi/response_chain.py +1 -1
- langchain/chains/api/podcast_docs.py +1 -2
- langchain/chains/api/prompt.py +1 -2
- langchain/chains/api/tmdb_docs.py +1 -2
- langchain/chains/base.py +88 -54
- langchain/chains/chat_vector_db/prompts.py +2 -3
- langchain/chains/combine_documents/__init__.py +1 -1
- langchain/chains/combine_documents/base.py +23 -10
- langchain/chains/combine_documents/map_reduce.py +38 -30
- langchain/chains/combine_documents/map_rerank.py +33 -20
- langchain/chains/combine_documents/reduce.py +47 -26
- langchain/chains/combine_documents/refine.py +26 -17
- langchain/chains/combine_documents/stuff.py +19 -12
- langchain/chains/constitutional_ai/base.py +4 -4
- langchain/chains/constitutional_ai/principles.py +22 -25
- langchain/chains/constitutional_ai/prompts.py +25 -28
- langchain/chains/conversation/base.py +5 -3
- langchain/chains/conversation/memory.py +5 -5
- langchain/chains/conversation/prompt.py +5 -5
- langchain/chains/conversational_retrieval/base.py +41 -20
- langchain/chains/conversational_retrieval/prompts.py +2 -3
- langchain/chains/elasticsearch_database/base.py +8 -9
- langchain/chains/elasticsearch_database/prompts.py +2 -3
- langchain/chains/ernie_functions/__init__.py +2 -2
- langchain/chains/example_generator.py +3 -1
- langchain/chains/flare/base.py +26 -12
- langchain/chains/graph_qa/cypher.py +2 -2
- langchain/chains/graph_qa/falkordb.py +1 -1
- langchain/chains/graph_qa/gremlin.py +1 -1
- langchain/chains/graph_qa/neptune_sparql.py +1 -1
- langchain/chains/graph_qa/prompts.py +2 -2
- langchain/chains/history_aware_retriever.py +2 -1
- langchain/chains/hyde/base.py +6 -5
- langchain/chains/hyde/prompts.py +5 -6
- langchain/chains/llm.py +77 -61
- langchain/chains/llm_bash/__init__.py +2 -1
- langchain/chains/llm_checker/base.py +7 -5
- langchain/chains/llm_checker/prompt.py +3 -4
- langchain/chains/llm_math/base.py +16 -9
- langchain/chains/llm_math/prompt.py +1 -2
- langchain/chains/llm_summarization_checker/base.py +9 -6
- langchain/chains/llm_symbolic_math/__init__.py +2 -1
- langchain/chains/loading.py +151 -95
- langchain/chains/mapreduce.py +4 -3
- langchain/chains/moderation.py +8 -9
- langchain/chains/natbot/base.py +8 -8
- langchain/chains/natbot/crawler.py +73 -76
- langchain/chains/natbot/prompt.py +2 -3
- langchain/chains/openai_functions/__init__.py +7 -7
- langchain/chains/openai_functions/base.py +13 -10
- langchain/chains/openai_functions/citation_fuzzy_match.py +12 -11
- langchain/chains/openai_functions/extraction.py +19 -19
- langchain/chains/openai_functions/openapi.py +35 -35
- langchain/chains/openai_functions/qa_with_structure.py +19 -12
- langchain/chains/openai_functions/tagging.py +2 -4
- langchain/chains/openai_tools/extraction.py +7 -8
- langchain/chains/qa_generation/base.py +4 -3
- langchain/chains/qa_generation/prompt.py +5 -5
- langchain/chains/qa_with_sources/base.py +14 -6
- langchain/chains/qa_with_sources/loading.py +16 -8
- langchain/chains/qa_with_sources/map_reduce_prompt.py +8 -9
- langchain/chains/qa_with_sources/refine_prompts.py +0 -1
- langchain/chains/qa_with_sources/retrieval.py +14 -5
- langchain/chains/qa_with_sources/stuff_prompt.py +6 -7
- langchain/chains/qa_with_sources/vector_db.py +17 -6
- langchain/chains/query_constructor/base.py +34 -33
- langchain/chains/query_constructor/ir.py +4 -4
- langchain/chains/query_constructor/parser.py +37 -32
- langchain/chains/query_constructor/prompt.py +5 -6
- langchain/chains/question_answering/chain.py +21 -10
- langchain/chains/question_answering/map_reduce_prompt.py +14 -14
- langchain/chains/question_answering/map_rerank_prompt.py +3 -3
- langchain/chains/question_answering/refine_prompts.py +2 -5
- langchain/chains/question_answering/stuff_prompt.py +5 -5
- langchain/chains/retrieval.py +1 -3
- langchain/chains/retrieval_qa/base.py +34 -27
- langchain/chains/retrieval_qa/prompt.py +1 -2
- langchain/chains/router/__init__.py +3 -3
- langchain/chains/router/base.py +24 -20
- langchain/chains/router/embedding_router.py +12 -8
- langchain/chains/router/llm_router.py +17 -16
- langchain/chains/router/multi_prompt.py +2 -2
- langchain/chains/router/multi_retrieval_qa.py +10 -5
- langchain/chains/sequential.py +30 -18
- langchain/chains/sql_database/prompt.py +14 -16
- langchain/chains/sql_database/query.py +6 -5
- langchain/chains/structured_output/__init__.py +1 -1
- langchain/chains/structured_output/base.py +75 -67
- langchain/chains/summarize/chain.py +11 -5
- langchain/chains/summarize/map_reduce_prompt.py +0 -1
- langchain/chains/summarize/stuff_prompt.py +0 -1
- langchain/chains/transform.py +5 -6
- langchain/chat_loaders/facebook_messenger.py +1 -1
- langchain/chat_loaders/langsmith.py +1 -1
- langchain/chat_loaders/utils.py +3 -3
- langchain/chat_models/__init__.py +20 -19
- langchain/chat_models/anthropic.py +1 -1
- langchain/chat_models/azureml_endpoint.py +1 -1
- langchain/chat_models/baidu_qianfan_endpoint.py +1 -1
- langchain/chat_models/base.py +160 -123
- langchain/chat_models/bedrock.py +1 -1
- langchain/chat_models/fake.py +1 -1
- langchain/chat_models/meta.py +1 -1
- langchain/chat_models/pai_eas_endpoint.py +1 -1
- langchain/chat_models/promptlayer_openai.py +1 -1
- langchain/chat_models/volcengine_maas.py +1 -1
- langchain/docstore/base.py +1 -1
- langchain/document_loaders/__init__.py +9 -9
- langchain/document_loaders/airbyte.py +3 -3
- langchain/document_loaders/assemblyai.py +1 -1
- langchain/document_loaders/azure_blob_storage_container.py +1 -1
- langchain/document_loaders/azure_blob_storage_file.py +1 -1
- langchain/document_loaders/baiducloud_bos_file.py +1 -1
- langchain/document_loaders/base.py +1 -1
- langchain/document_loaders/blob_loaders/__init__.py +1 -1
- langchain/document_loaders/blockchain.py +1 -1
- langchain/document_loaders/chatgpt.py +1 -1
- langchain/document_loaders/college_confidential.py +1 -1
- langchain/document_loaders/confluence.py +1 -1
- langchain/document_loaders/email.py +1 -1
- langchain/document_loaders/facebook_chat.py +1 -1
- langchain/document_loaders/markdown.py +1 -1
- langchain/document_loaders/notebook.py +1 -1
- langchain/document_loaders/org_mode.py +1 -1
- langchain/document_loaders/parsers/__init__.py +1 -1
- langchain/document_loaders/parsers/docai.py +1 -1
- langchain/document_loaders/parsers/generic.py +1 -1
- langchain/document_loaders/parsers/html/__init__.py +1 -1
- langchain/document_loaders/parsers/html/bs4.py +1 -1
- langchain/document_loaders/parsers/language/cobol.py +1 -1
- langchain/document_loaders/parsers/language/python.py +1 -1
- langchain/document_loaders/parsers/msword.py +1 -1
- langchain/document_loaders/parsers/pdf.py +5 -5
- langchain/document_loaders/parsers/registry.py +1 -1
- langchain/document_loaders/pdf.py +8 -8
- langchain/document_loaders/powerpoint.py +1 -1
- langchain/document_loaders/pyspark_dataframe.py +1 -1
- langchain/document_loaders/telegram.py +2 -2
- langchain/document_loaders/tencent_cos_directory.py +1 -1
- langchain/document_loaders/unstructured.py +5 -5
- langchain/document_loaders/url_playwright.py +1 -1
- langchain/document_loaders/whatsapp_chat.py +1 -1
- langchain/document_loaders/youtube.py +2 -2
- langchain/document_transformers/__init__.py +3 -3
- langchain/document_transformers/beautiful_soup_transformer.py +1 -1
- langchain/document_transformers/doctran_text_extract.py +1 -1
- langchain/document_transformers/doctran_text_qa.py +1 -1
- langchain/document_transformers/doctran_text_translate.py +1 -1
- langchain/document_transformers/embeddings_redundant_filter.py +3 -3
- langchain/document_transformers/google_translate.py +1 -1
- langchain/document_transformers/html2text.py +1 -1
- langchain/document_transformers/nuclia_text_transform.py +1 -1
- langchain/embeddings/__init__.py +5 -5
- langchain/embeddings/base.py +33 -24
- langchain/embeddings/cache.py +36 -31
- langchain/embeddings/fake.py +1 -1
- langchain/embeddings/huggingface.py +2 -2
- langchain/evaluation/__init__.py +22 -22
- langchain/evaluation/agents/trajectory_eval_chain.py +23 -23
- langchain/evaluation/agents/trajectory_eval_prompt.py +6 -9
- langchain/evaluation/comparison/__init__.py +1 -1
- langchain/evaluation/comparison/eval_chain.py +20 -13
- langchain/evaluation/comparison/prompt.py +1 -2
- langchain/evaluation/criteria/__init__.py +1 -1
- langchain/evaluation/criteria/eval_chain.py +20 -11
- langchain/evaluation/criteria/prompt.py +2 -3
- langchain/evaluation/embedding_distance/base.py +23 -20
- langchain/evaluation/loading.py +15 -11
- langchain/evaluation/parsing/base.py +4 -1
- langchain/evaluation/parsing/json_distance.py +5 -2
- langchain/evaluation/parsing/json_schema.py +12 -8
- langchain/evaluation/qa/__init__.py +1 -1
- langchain/evaluation/qa/eval_chain.py +12 -5
- langchain/evaluation/qa/eval_prompt.py +7 -8
- langchain/evaluation/qa/generate_chain.py +2 -1
- langchain/evaluation/qa/generate_prompt.py +2 -4
- langchain/evaluation/schema.py +38 -30
- langchain/evaluation/scoring/__init__.py +1 -1
- langchain/evaluation/scoring/eval_chain.py +22 -15
- langchain/evaluation/scoring/prompt.py +0 -1
- langchain/evaluation/string_distance/base.py +14 -9
- langchain/globals.py +12 -11
- langchain/graphs/__init__.py +6 -6
- langchain/graphs/graph_document.py +1 -1
- langchain/graphs/networkx_graph.py +2 -2
- langchain/hub.py +9 -11
- langchain/indexes/__init__.py +3 -3
- langchain/indexes/_sql_record_manager.py +63 -46
- langchain/indexes/prompts/entity_extraction.py +1 -2
- langchain/indexes/prompts/entity_summarization.py +1 -2
- langchain/indexes/prompts/knowledge_triplet_extraction.py +1 -3
- langchain/indexes/vectorstore.py +35 -19
- langchain/llms/__init__.py +13 -13
- langchain/llms/ai21.py +1 -1
- langchain/llms/azureml_endpoint.py +4 -4
- langchain/llms/base.py +15 -7
- langchain/llms/bedrock.py +1 -1
- langchain/llms/cloudflare_workersai.py +1 -1
- langchain/llms/gradient_ai.py +1 -1
- langchain/llms/loading.py +1 -1
- langchain/llms/openai.py +1 -1
- langchain/llms/sagemaker_endpoint.py +1 -1
- langchain/load/dump.py +1 -1
- langchain/load/load.py +1 -1
- langchain/load/serializable.py +3 -3
- langchain/memory/__init__.py +3 -3
- langchain/memory/buffer.py +9 -7
- langchain/memory/chat_memory.py +14 -8
- langchain/memory/chat_message_histories/__init__.py +1 -1
- langchain/memory/chat_message_histories/astradb.py +1 -1
- langchain/memory/chat_message_histories/cassandra.py +1 -1
- langchain/memory/chat_message_histories/cosmos_db.py +1 -1
- langchain/memory/chat_message_histories/dynamodb.py +1 -1
- langchain/memory/chat_message_histories/elasticsearch.py +1 -1
- langchain/memory/chat_message_histories/file.py +1 -1
- langchain/memory/chat_message_histories/firestore.py +1 -1
- langchain/memory/chat_message_histories/momento.py +1 -1
- langchain/memory/chat_message_histories/mongodb.py +1 -1
- langchain/memory/chat_message_histories/neo4j.py +1 -1
- langchain/memory/chat_message_histories/postgres.py +1 -1
- langchain/memory/chat_message_histories/redis.py +1 -1
- langchain/memory/chat_message_histories/rocksetdb.py +1 -1
- langchain/memory/chat_message_histories/singlestoredb.py +1 -1
- langchain/memory/chat_message_histories/streamlit.py +1 -1
- langchain/memory/chat_message_histories/upstash_redis.py +1 -1
- langchain/memory/chat_message_histories/xata.py +1 -1
- langchain/memory/chat_message_histories/zep.py +1 -1
- langchain/memory/combined.py +13 -12
- langchain/memory/entity.py +84 -61
- langchain/memory/prompt.py +10 -11
- langchain/memory/readonly.py +0 -2
- langchain/memory/simple.py +1 -3
- langchain/memory/summary.py +13 -11
- langchain/memory/summary_buffer.py +17 -8
- langchain/memory/utils.py +3 -2
- langchain/memory/vectorstore.py +12 -5
- langchain/memory/vectorstore_token_buffer_memory.py +5 -5
- langchain/model_laboratory.py +12 -11
- langchain/output_parsers/__init__.py +4 -4
- langchain/output_parsers/boolean.py +7 -4
- langchain/output_parsers/combining.py +10 -5
- langchain/output_parsers/datetime.py +32 -31
- langchain/output_parsers/enum.py +5 -3
- langchain/output_parsers/fix.py +52 -52
- langchain/output_parsers/format_instructions.py +6 -8
- langchain/output_parsers/json.py +2 -2
- langchain/output_parsers/list.py +2 -2
- langchain/output_parsers/loading.py +9 -9
- langchain/output_parsers/openai_functions.py +3 -3
- langchain/output_parsers/openai_tools.py +1 -1
- langchain/output_parsers/pandas_dataframe.py +43 -47
- langchain/output_parsers/prompts.py +1 -2
- langchain/output_parsers/rail_parser.py +1 -1
- langchain/output_parsers/regex.py +7 -8
- langchain/output_parsers/regex_dict.py +7 -10
- langchain/output_parsers/retry.py +77 -78
- langchain/output_parsers/structured.py +11 -6
- langchain/output_parsers/yaml.py +15 -11
- langchain/prompts/__init__.py +5 -3
- langchain/prompts/base.py +5 -5
- langchain/prompts/chat.py +8 -8
- langchain/prompts/example_selector/__init__.py +3 -1
- langchain/prompts/example_selector/semantic_similarity.py +2 -2
- langchain/prompts/few_shot.py +1 -1
- langchain/prompts/loading.py +3 -3
- langchain/prompts/prompt.py +1 -1
- langchain/retrievers/__init__.py +5 -5
- langchain/retrievers/bedrock.py +2 -2
- langchain/retrievers/bm25.py +1 -1
- langchain/retrievers/contextual_compression.py +14 -8
- langchain/retrievers/docarray.py +1 -1
- langchain/retrievers/document_compressors/__init__.py +5 -4
- langchain/retrievers/document_compressors/base.py +12 -6
- langchain/retrievers/document_compressors/chain_extract.py +2 -2
- langchain/retrievers/document_compressors/chain_extract_prompt.py +2 -3
- langchain/retrievers/document_compressors/chain_filter.py +9 -9
- langchain/retrievers/document_compressors/chain_filter_prompt.py +1 -2
- langchain/retrievers/document_compressors/cohere_rerank.py +15 -15
- langchain/retrievers/document_compressors/embeddings_filter.py +21 -17
- langchain/retrievers/document_compressors/flashrank_rerank.py +1 -1
- langchain/retrievers/document_compressors/listwise_rerank.py +7 -5
- langchain/retrievers/ensemble.py +28 -25
- langchain/retrievers/google_cloud_documentai_warehouse.py +1 -1
- langchain/retrievers/google_vertex_ai_search.py +2 -2
- langchain/retrievers/kendra.py +10 -10
- langchain/retrievers/llama_index.py +1 -1
- langchain/retrievers/merger_retriever.py +11 -11
- langchain/retrievers/milvus.py +1 -1
- langchain/retrievers/multi_query.py +32 -26
- langchain/retrievers/multi_vector.py +20 -8
- langchain/retrievers/parent_document_retriever.py +18 -9
- langchain/retrievers/re_phraser.py +6 -5
- langchain/retrievers/self_query/base.py +138 -127
- langchain/retrievers/time_weighted_retriever.py +18 -7
- langchain/retrievers/zilliz.py +1 -1
- langchain/runnables/openai_functions.py +6 -2
- langchain/schema/__init__.py +23 -23
- langchain/schema/cache.py +1 -1
- langchain/schema/callbacks/base.py +7 -7
- langchain/schema/callbacks/manager.py +19 -19
- langchain/schema/callbacks/tracers/base.py +1 -1
- langchain/schema/callbacks/tracers/evaluation.py +1 -1
- langchain/schema/callbacks/tracers/langchain.py +1 -1
- langchain/schema/callbacks/tracers/langchain_v1.py +1 -1
- langchain/schema/callbacks/tracers/log_stream.py +1 -1
- langchain/schema/callbacks/tracers/schemas.py +8 -8
- langchain/schema/callbacks/tracers/stdout.py +3 -3
- langchain/schema/document.py +1 -1
- langchain/schema/language_model.py +2 -2
- langchain/schema/messages.py +12 -12
- langchain/schema/output.py +3 -3
- langchain/schema/output_parser.py +3 -3
- langchain/schema/runnable/__init__.py +3 -3
- langchain/schema/runnable/base.py +9 -9
- langchain/schema/runnable/config.py +5 -5
- langchain/schema/runnable/configurable.py +1 -1
- langchain/schema/runnable/history.py +1 -1
- langchain/schema/runnable/passthrough.py +1 -1
- langchain/schema/runnable/utils.py +16 -16
- langchain/schema/vectorstore.py +1 -1
- langchain/smith/__init__.py +1 -1
- langchain/smith/evaluation/__init__.py +2 -2
- langchain/smith/evaluation/config.py +10 -7
- langchain/smith/evaluation/name_generation.py +3 -3
- langchain/smith/evaluation/progress.py +11 -2
- langchain/smith/evaluation/runner_utils.py +179 -127
- langchain/smith/evaluation/string_run_evaluator.py +75 -68
- langchain/storage/__init__.py +2 -2
- langchain/storage/_lc_store.py +4 -2
- langchain/storage/encoder_backed.py +6 -2
- langchain/storage/file_system.py +19 -16
- langchain/storage/in_memory.py +1 -1
- langchain/storage/upstash_redis.py +1 -1
- langchain/text_splitter.py +15 -15
- langchain/tools/__init__.py +28 -26
- langchain/tools/ainetwork/app.py +1 -1
- langchain/tools/ainetwork/base.py +1 -1
- langchain/tools/ainetwork/owner.py +1 -1
- langchain/tools/ainetwork/rule.py +1 -1
- langchain/tools/ainetwork/transfer.py +1 -1
- langchain/tools/ainetwork/value.py +1 -1
- langchain/tools/amadeus/closest_airport.py +1 -1
- langchain/tools/amadeus/flight_search.py +1 -1
- langchain/tools/azure_cognitive_services/__init__.py +1 -1
- langchain/tools/base.py +4 -4
- langchain/tools/bearly/tool.py +1 -1
- langchain/tools/bing_search/__init__.py +1 -1
- langchain/tools/bing_search/tool.py +1 -1
- langchain/tools/dataforseo_api_search/__init__.py +1 -1
- langchain/tools/dataforseo_api_search/tool.py +1 -1
- langchain/tools/ddg_search/tool.py +1 -1
- langchain/tools/e2b_data_analysis/tool.py +2 -2
- langchain/tools/edenai/__init__.py +1 -1
- langchain/tools/file_management/__init__.py +1 -1
- langchain/tools/file_management/copy.py +1 -1
- langchain/tools/file_management/delete.py +1 -1
- langchain/tools/gmail/__init__.py +2 -2
- langchain/tools/gmail/get_message.py +1 -1
- langchain/tools/gmail/search.py +1 -1
- langchain/tools/gmail/send_message.py +1 -1
- langchain/tools/google_finance/__init__.py +1 -1
- langchain/tools/google_finance/tool.py +1 -1
- langchain/tools/google_scholar/__init__.py +1 -1
- langchain/tools/google_scholar/tool.py +1 -1
- langchain/tools/google_search/__init__.py +1 -1
- langchain/tools/google_search/tool.py +1 -1
- langchain/tools/google_serper/__init__.py +1 -1
- langchain/tools/google_serper/tool.py +1 -1
- langchain/tools/google_trends/__init__.py +1 -1
- langchain/tools/google_trends/tool.py +1 -1
- langchain/tools/jira/tool.py +20 -1
- langchain/tools/json/tool.py +25 -3
- langchain/tools/memorize/tool.py +1 -1
- langchain/tools/multion/__init__.py +1 -1
- langchain/tools/multion/update_session.py +1 -1
- langchain/tools/office365/__init__.py +2 -2
- langchain/tools/office365/events_search.py +1 -1
- langchain/tools/office365/messages_search.py +1 -1
- langchain/tools/office365/send_event.py +1 -1
- langchain/tools/office365/send_message.py +1 -1
- langchain/tools/openapi/utils/api_models.py +6 -6
- langchain/tools/playwright/__init__.py +5 -5
- langchain/tools/playwright/click.py +1 -1
- langchain/tools/playwright/extract_hyperlinks.py +1 -1
- langchain/tools/playwright/get_elements.py +1 -1
- langchain/tools/playwright/navigate.py +1 -1
- langchain/tools/plugin.py +2 -2
- langchain/tools/powerbi/tool.py +1 -1
- langchain/tools/python/__init__.py +2 -1
- langchain/tools/reddit_search/tool.py +1 -1
- langchain/tools/render.py +2 -2
- langchain/tools/requests/tool.py +2 -2
- langchain/tools/searchapi/tool.py +1 -1
- langchain/tools/searx_search/tool.py +1 -1
- langchain/tools/slack/get_message.py +1 -1
- langchain/tools/spark_sql/tool.py +1 -1
- langchain/tools/sql_database/tool.py +1 -1
- langchain/tools/tavily_search/__init__.py +1 -1
- langchain/tools/tavily_search/tool.py +1 -1
- langchain/tools/zapier/__init__.py +1 -1
- langchain/tools/zapier/tool.py +24 -2
- langchain/utilities/__init__.py +4 -4
- langchain/utilities/arcee.py +4 -4
- langchain/utilities/clickup.py +4 -4
- langchain/utilities/dalle_image_generator.py +1 -1
- langchain/utilities/dataforseo_api_search.py +1 -1
- langchain/utilities/opaqueprompts.py +1 -1
- langchain/utilities/reddit_search.py +1 -1
- langchain/utilities/sql_database.py +1 -1
- langchain/utilities/tavily_search.py +1 -1
- langchain/utilities/vertexai.py +2 -2
- langchain/utils/__init__.py +1 -1
- langchain/utils/aiter.py +1 -1
- langchain/utils/html.py +3 -3
- langchain/utils/input.py +1 -1
- langchain/utils/iter.py +1 -1
- langchain/utils/json_schema.py +1 -3
- langchain/utils/strings.py +1 -1
- langchain/utils/utils.py +6 -6
- langchain/vectorstores/__init__.py +5 -5
- langchain/vectorstores/alibabacloud_opensearch.py +1 -1
- langchain/vectorstores/azure_cosmos_db.py +1 -1
- langchain/vectorstores/clickhouse.py +1 -1
- langchain/vectorstores/elastic_vector_search.py +1 -1
- langchain/vectorstores/elasticsearch.py +2 -2
- langchain/vectorstores/myscale.py +1 -1
- langchain/vectorstores/neo4j_vector.py +1 -1
- langchain/vectorstores/pgembedding.py +1 -1
- langchain/vectorstores/qdrant.py +1 -1
- langchain/vectorstores/redis/__init__.py +1 -1
- langchain/vectorstores/redis/base.py +1 -1
- langchain/vectorstores/redis/filters.py +4 -4
- langchain/vectorstores/redis/schema.py +6 -6
- langchain/vectorstores/sklearn.py +2 -2
- langchain/vectorstores/starrocks.py +1 -1
- langchain/vectorstores/utils.py +1 -1
- {langchain-0.3.26.dist-info → langchain-0.3.27.dist-info}/METADATA +4 -4
- {langchain-0.3.26.dist-info → langchain-0.3.27.dist-info}/RECORD +580 -580
- {langchain-0.3.26.dist-info → langchain-0.3.27.dist-info}/WHEEL +1 -1
- {langchain-0.3.26.dist-info → langchain-0.3.27.dist-info}/entry_points.txt +0 -0
- {langchain-0.3.26.dist-info → langchain-0.3.27.dist-info}/licenses/LICENSE +0 -0
|
@@ -147,7 +147,9 @@ class AgentExecutorIterator:
|
|
|
147
147
|
self.iterations += 1
|
|
148
148
|
self.time_elapsed = time.time() - self.start_time
|
|
149
149
|
logger.debug(
|
|
150
|
-
|
|
150
|
+
"Agent Iterations: %s (%.2fs elapsed)",
|
|
151
|
+
self.iterations,
|
|
152
|
+
self.time_elapsed,
|
|
151
153
|
)
|
|
152
154
|
|
|
153
155
|
def make_final_outputs(
|
|
@@ -160,8 +162,10 @@ class AgentExecutorIterator:
|
|
|
160
162
|
|
|
161
163
|
prepared_outputs = AddableDict(
|
|
162
164
|
self.agent_executor.prep_outputs(
|
|
163
|
-
self.inputs,
|
|
164
|
-
|
|
165
|
+
self.inputs,
|
|
166
|
+
outputs,
|
|
167
|
+
return_only_outputs=True,
|
|
168
|
+
),
|
|
165
169
|
)
|
|
166
170
|
if self.include_run_info:
|
|
167
171
|
prepared_outputs[RUN_KEY] = RunInfo(run_id=run_manager.run_id)
|
|
@@ -187,7 +191,8 @@ class AgentExecutorIterator:
|
|
|
187
191
|
)
|
|
188
192
|
try:
|
|
189
193
|
while self.agent_executor._should_continue(
|
|
190
|
-
self.iterations,
|
|
194
|
+
self.iterations,
|
|
195
|
+
self.time_elapsed,
|
|
191
196
|
):
|
|
192
197
|
# take the next step: this plans next action, executes it,
|
|
193
198
|
# yielding action and observation as they are generated
|
|
@@ -254,7 +259,8 @@ class AgentExecutorIterator:
|
|
|
254
259
|
try:
|
|
255
260
|
async with asyncio_timeout(self.agent_executor.max_execution_time):
|
|
256
261
|
while self.agent_executor._should_continue(
|
|
257
|
-
self.iterations,
|
|
262
|
+
self.iterations,
|
|
263
|
+
self.time_elapsed,
|
|
258
264
|
):
|
|
259
265
|
# take the next step: this plans next action, executes it,
|
|
260
266
|
# yielding action and observation as they are generated
|
|
@@ -272,11 +278,13 @@ class AgentExecutorIterator:
|
|
|
272
278
|
if self.yield_actions:
|
|
273
279
|
if isinstance(chunk, AgentAction):
|
|
274
280
|
yield AddableDict(
|
|
275
|
-
actions=[chunk],
|
|
281
|
+
actions=[chunk],
|
|
282
|
+
messages=chunk.messages,
|
|
276
283
|
)
|
|
277
284
|
elif isinstance(chunk, AgentStep):
|
|
278
285
|
yield AddableDict(
|
|
279
|
-
steps=[chunk],
|
|
286
|
+
steps=[chunk],
|
|
287
|
+
messages=chunk.messages,
|
|
280
288
|
)
|
|
281
289
|
|
|
282
290
|
# convert iterator output to format handled by _process_next_step
|
|
@@ -285,7 +293,8 @@ class AgentExecutorIterator:
|
|
|
285
293
|
self.update_iterations()
|
|
286
294
|
# decide if this is the final output
|
|
287
295
|
output = await self._aprocess_next_step_output(
|
|
288
|
-
next_step,
|
|
296
|
+
next_step,
|
|
297
|
+
run_manager,
|
|
289
298
|
)
|
|
290
299
|
is_final = "intermediate_step" not in output
|
|
291
300
|
# yield the final output always
|
|
@@ -317,7 +326,7 @@ class AgentExecutorIterator:
|
|
|
317
326
|
logger.debug("Processing output of Agent loop step")
|
|
318
327
|
if isinstance(next_step_output, AgentFinish):
|
|
319
328
|
logger.debug(
|
|
320
|
-
"Hit AgentFinish: _return -> on_chain_end -> run final output logic"
|
|
329
|
+
"Hit AgentFinish: _return -> on_chain_end -> run final output logic",
|
|
321
330
|
)
|
|
322
331
|
return self._return(next_step_output, run_manager=run_manager)
|
|
323
332
|
|
|
@@ -345,7 +354,7 @@ class AgentExecutorIterator:
|
|
|
345
354
|
logger.debug("Processing output of async Agent loop step")
|
|
346
355
|
if isinstance(next_step_output, AgentFinish):
|
|
347
356
|
logger.debug(
|
|
348
|
-
"Hit AgentFinish: _areturn -> on_chain_end -> run final output logic"
|
|
357
|
+
"Hit AgentFinish: _areturn -> on_chain_end -> run final output logic",
|
|
349
358
|
)
|
|
350
359
|
return await self._areturn(next_step_output, run_manager=run_manager)
|
|
351
360
|
|
|
@@ -388,26 +397,34 @@ class AgentExecutorIterator:
|
|
|
388
397
|
return await self._areturn(output, run_manager=run_manager)
|
|
389
398
|
|
|
390
399
|
def _return(
|
|
391
|
-
self,
|
|
400
|
+
self,
|
|
401
|
+
output: AgentFinish,
|
|
402
|
+
run_manager: CallbackManagerForChainRun,
|
|
392
403
|
) -> AddableDict:
|
|
393
404
|
"""
|
|
394
405
|
Return the final output of the iterator.
|
|
395
406
|
"""
|
|
396
407
|
returned_output = self.agent_executor._return(
|
|
397
|
-
output,
|
|
408
|
+
output,
|
|
409
|
+
self.intermediate_steps,
|
|
410
|
+
run_manager=run_manager,
|
|
398
411
|
)
|
|
399
412
|
returned_output["messages"] = output.messages
|
|
400
413
|
run_manager.on_chain_end(returned_output)
|
|
401
414
|
return self.make_final_outputs(returned_output, run_manager)
|
|
402
415
|
|
|
403
416
|
async def _areturn(
|
|
404
|
-
self,
|
|
417
|
+
self,
|
|
418
|
+
output: AgentFinish,
|
|
419
|
+
run_manager: AsyncCallbackManagerForChainRun,
|
|
405
420
|
) -> AddableDict:
|
|
406
421
|
"""
|
|
407
422
|
Return the final output of the async iterator.
|
|
408
423
|
"""
|
|
409
424
|
returned_output = await self.agent_executor._areturn(
|
|
410
|
-
output,
|
|
425
|
+
output,
|
|
426
|
+
self.intermediate_steps,
|
|
427
|
+
run_manager=run_manager,
|
|
411
428
|
)
|
|
412
429
|
returned_output["messages"] = output.messages
|
|
413
430
|
await run_manager.on_chain_end(returned_output)
|
|
@@ -121,12 +121,13 @@ def __getattr__(name: str) -> Any:
|
|
|
121
121
|
relative_path = as_import_path(Path(__file__).parent, suffix=name)
|
|
122
122
|
old_path = "langchain." + relative_path
|
|
123
123
|
new_path = "langchain_experimental." + relative_path
|
|
124
|
-
|
|
124
|
+
msg = (
|
|
125
125
|
f"{name} has been moved to langchain experimental. "
|
|
126
126
|
"See https://github.com/langchain-ai/langchain/discussions/11680"
|
|
127
127
|
"for more information.\n"
|
|
128
128
|
f"Please update your import statement from: `{old_path}` to `{new_path}`."
|
|
129
129
|
)
|
|
130
|
+
raise ImportError(msg)
|
|
130
131
|
return _import_attribute(name)
|
|
131
132
|
|
|
132
133
|
|
|
@@ -139,28 +140,28 @@ __all__ = [
|
|
|
139
140
|
"JiraToolkit",
|
|
140
141
|
"JsonToolkit",
|
|
141
142
|
"MultionToolkit",
|
|
142
|
-
"NasaToolkit",
|
|
143
143
|
"NLAToolkit",
|
|
144
|
+
"NasaToolkit",
|
|
144
145
|
"O365Toolkit",
|
|
145
146
|
"OpenAPIToolkit",
|
|
146
147
|
"PlayWrightBrowserToolkit",
|
|
147
148
|
"PowerBIToolkit",
|
|
148
|
-
"SlackToolkit",
|
|
149
|
-
"SteamToolkit",
|
|
150
149
|
"SQLDatabaseToolkit",
|
|
150
|
+
"SlackToolkit",
|
|
151
151
|
"SparkSQLToolkit",
|
|
152
|
+
"SteamToolkit",
|
|
152
153
|
"VectorStoreInfo",
|
|
153
154
|
"VectorStoreRouterToolkit",
|
|
154
155
|
"VectorStoreToolkit",
|
|
155
156
|
"ZapierToolkit",
|
|
157
|
+
"create_conversational_retrieval_agent",
|
|
156
158
|
"create_json_agent",
|
|
157
159
|
"create_openapi_agent",
|
|
158
160
|
"create_pbi_agent",
|
|
159
161
|
"create_pbi_chat_agent",
|
|
162
|
+
"create_retriever_tool",
|
|
160
163
|
"create_spark_sql_agent",
|
|
161
164
|
"create_sql_agent",
|
|
162
165
|
"create_vectorstore_agent",
|
|
163
166
|
"create_vectorstore_router_agent",
|
|
164
|
-
"create_conversational_retrieval_agent",
|
|
165
|
-
"create_retriever_tool",
|
|
166
167
|
]
|
|
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
|
|
|
9
9
|
# Used to consolidate logic for raising deprecation warnings and
|
|
10
10
|
# handling optional imports.
|
|
11
11
|
DEPRECATED_LOOKUP = {
|
|
12
|
-
"AINetworkToolkit": "langchain_community.agent_toolkits.ainetwork.toolkit"
|
|
12
|
+
"AINetworkToolkit": "langchain_community.agent_toolkits.ainetwork.toolkit",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
|
|
|
9
9
|
# Used to consolidate logic for raising deprecation warnings and
|
|
10
10
|
# handling optional imports.
|
|
11
11
|
DEPRECATED_LOOKUP = {
|
|
12
|
-
"AmadeusToolkit": "langchain_community.agent_toolkits.amadeus.toolkit"
|
|
12
|
+
"AmadeusToolkit": "langchain_community.agent_toolkits.amadeus.toolkit",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
|
|
|
9
9
|
# Used to consolidate logic for raising deprecation warnings and
|
|
10
10
|
# handling optional imports.
|
|
11
11
|
DEPRECATED_LOOKUP = {
|
|
12
|
-
"ClickupToolkit": "langchain_community.agent_toolkits.clickup.toolkit"
|
|
12
|
+
"ClickupToolkit": "langchain_community.agent_toolkits.clickup.toolkit",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -20,17 +20,17 @@ def _get_default_system_message() -> SystemMessage:
|
|
|
20
20
|
"Do your best to answer the questions. "
|
|
21
21
|
"Feel free to use any tools available to look up "
|
|
22
22
|
"relevant information, only if necessary"
|
|
23
|
-
)
|
|
23
|
+
),
|
|
24
24
|
)
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
def create_conversational_retrieval_agent(
|
|
28
28
|
llm: BaseLanguageModel,
|
|
29
29
|
tools: list[BaseTool],
|
|
30
|
-
remember_intermediate_steps: bool = True,
|
|
30
|
+
remember_intermediate_steps: bool = True, # noqa: FBT001,FBT002
|
|
31
31
|
memory_key: str = "chat_history",
|
|
32
32
|
system_message: Optional[SystemMessage] = None,
|
|
33
|
-
verbose: bool = False,
|
|
33
|
+
verbose: bool = False, # noqa: FBT001,FBT002
|
|
34
34
|
max_token_limit: int = 2000,
|
|
35
35
|
**kwargs: Any,
|
|
36
36
|
) -> AgentExecutor:
|
|
@@ -58,7 +58,9 @@ def create_conversational_retrieval_agent(
|
|
|
58
58
|
|
|
59
59
|
if remember_intermediate_steps:
|
|
60
60
|
memory: BaseMemory = AgentTokenBufferMemory(
|
|
61
|
-
memory_key=memory_key,
|
|
61
|
+
memory_key=memory_key,
|
|
62
|
+
llm=llm,
|
|
63
|
+
max_token_limit=max_token_limit,
|
|
62
64
|
)
|
|
63
65
|
else:
|
|
64
66
|
memory = ConversationTokenBufferMemory(
|
|
@@ -14,7 +14,7 @@ def __getattr__(name: str) -> Any:
|
|
|
14
14
|
|
|
15
15
|
old_path = "langchain." + here + "." + name
|
|
16
16
|
new_path = "langchain_experimental." + here + "." + name
|
|
17
|
-
|
|
17
|
+
msg = (
|
|
18
18
|
"This agent has been moved to langchain experiment. "
|
|
19
19
|
"This agent relies on python REPL tool under the hood, so to use it "
|
|
20
20
|
"safely please sandbox the python REPL. "
|
|
@@ -23,4 +23,6 @@ def __getattr__(name: str) -> Any:
|
|
|
23
23
|
"To keep using this code as is, install langchain experimental and "
|
|
24
24
|
f"update your import statement from:\n `{old_path}` to `{new_path}`."
|
|
25
25
|
)
|
|
26
|
-
|
|
26
|
+
raise ImportError(msg)
|
|
27
|
+
msg = f"{name} does not exist"
|
|
28
|
+
raise AttributeError(msg)
|
|
@@ -51,19 +51,19 @@ def __getattr__(name: str) -> Any:
|
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
__all__ = [
|
|
54
|
-
"
|
|
55
|
-
"GetIssue",
|
|
54
|
+
"BranchName",
|
|
56
55
|
"CommentOnIssue",
|
|
57
|
-
"GetPR",
|
|
58
|
-
"CreatePR",
|
|
59
56
|
"CreateFile",
|
|
60
|
-
"
|
|
61
|
-
"
|
|
57
|
+
"CreatePR",
|
|
58
|
+
"CreateReviewRequest",
|
|
62
59
|
"DeleteFile",
|
|
63
60
|
"DirectoryPath",
|
|
64
|
-
"
|
|
61
|
+
"GetIssue",
|
|
62
|
+
"GetPR",
|
|
63
|
+
"GitHubToolkit",
|
|
64
|
+
"NoInput",
|
|
65
|
+
"ReadFile",
|
|
65
66
|
"SearchCode",
|
|
66
|
-
"CreateReviewRequest",
|
|
67
67
|
"SearchIssuesAndPRs",
|
|
68
|
-
"
|
|
68
|
+
"UpdateFile",
|
|
69
69
|
]
|
|
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
|
|
|
9
9
|
# Used to consolidate logic for raising deprecation warnings and
|
|
10
10
|
# handling optional imports.
|
|
11
11
|
DEPRECATED_LOOKUP = {
|
|
12
|
-
"GitLabToolkit": "langchain_community.agent_toolkits.gitlab.toolkit"
|
|
12
|
+
"GitLabToolkit": "langchain_community.agent_toolkits.gitlab.toolkit",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
|
|
|
9
9
|
# Used to consolidate logic for raising deprecation warnings and
|
|
10
10
|
# handling optional imports.
|
|
11
11
|
DEPRECATED_LOOKUP = {
|
|
12
|
-
"create_json_agent": "langchain_community.agent_toolkits.json.base"
|
|
12
|
+
"create_json_agent": "langchain_community.agent_toolkits.json.base",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
|
|
|
9
9
|
# Used to consolidate logic for raising deprecation warnings and
|
|
10
10
|
# handling optional imports.
|
|
11
11
|
DEPRECATED_LOOKUP = {
|
|
12
|
-
"MultionToolkit": "langchain_community.agent_toolkits.multion.toolkit"
|
|
12
|
+
"MultionToolkit": "langchain_community.agent_toolkits.multion.toolkit",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
|
|
|
9
9
|
# Used to consolidate logic for raising deprecation warnings and
|
|
10
10
|
# handling optional imports.
|
|
11
11
|
DEPRECATED_LOOKUP = {
|
|
12
|
-
"O365Toolkit": "langchain_community.agent_toolkits.office365.toolkit"
|
|
12
|
+
"O365Toolkit": "langchain_community.agent_toolkits.office365.toolkit",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
|
|
|
9
9
|
# Used to consolidate logic for raising deprecation warnings and
|
|
10
10
|
# handling optional imports.
|
|
11
11
|
DEPRECATED_LOOKUP = {
|
|
12
|
-
"create_openapi_agent": "langchain_community.agent_toolkits.openapi.base"
|
|
12
|
+
"create_openapi_agent": "langchain_community.agent_toolkits.openapi.base",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -43,10 +43,10 @@ def __getattr__(name: str) -> Any:
|
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
__all__ = [
|
|
46
|
+
"RequestsDeleteToolWithParsing",
|
|
46
47
|
"RequestsGetToolWithParsing",
|
|
47
|
-
"RequestsPostToolWithParsing",
|
|
48
48
|
"RequestsPatchToolWithParsing",
|
|
49
|
+
"RequestsPostToolWithParsing",
|
|
49
50
|
"RequestsPutToolWithParsing",
|
|
50
|
-
"RequestsDeleteToolWithParsing",
|
|
51
51
|
"create_openapi_agent",
|
|
52
52
|
]
|
|
@@ -83,21 +83,21 @@ def __getattr__(name: str) -> Any:
|
|
|
83
83
|
|
|
84
84
|
|
|
85
85
|
__all__ = [
|
|
86
|
-
"API_PLANNER_PROMPT",
|
|
87
|
-
"API_PLANNER_TOOL_NAME",
|
|
88
|
-
"API_PLANNER_TOOL_DESCRIPTION",
|
|
89
86
|
"API_CONTROLLER_PROMPT",
|
|
90
|
-
"API_CONTROLLER_TOOL_NAME",
|
|
91
87
|
"API_CONTROLLER_TOOL_DESCRIPTION",
|
|
88
|
+
"API_CONTROLLER_TOOL_NAME",
|
|
92
89
|
"API_ORCHESTRATOR_PROMPT",
|
|
93
|
-
"
|
|
90
|
+
"API_PLANNER_PROMPT",
|
|
91
|
+
"API_PLANNER_TOOL_DESCRIPTION",
|
|
92
|
+
"API_PLANNER_TOOL_NAME",
|
|
93
|
+
"PARSING_DELETE_PROMPT",
|
|
94
94
|
"PARSING_GET_PROMPT",
|
|
95
|
-
"REQUESTS_POST_TOOL_DESCRIPTION",
|
|
96
|
-
"PARSING_POST_PROMPT",
|
|
97
|
-
"REQUESTS_PATCH_TOOL_DESCRIPTION",
|
|
98
95
|
"PARSING_PATCH_PROMPT",
|
|
99
|
-
"
|
|
96
|
+
"PARSING_POST_PROMPT",
|
|
100
97
|
"PARSING_PUT_PROMPT",
|
|
101
98
|
"REQUESTS_DELETE_TOOL_DESCRIPTION",
|
|
102
|
-
"
|
|
99
|
+
"REQUESTS_GET_TOOL_DESCRIPTION",
|
|
100
|
+
"REQUESTS_PATCH_TOOL_DESCRIPTION",
|
|
101
|
+
"REQUESTS_POST_TOOL_DESCRIPTION",
|
|
102
|
+
"REQUESTS_PUT_TOOL_DESCRIPTION",
|
|
103
103
|
]
|
|
@@ -14,7 +14,7 @@ def __getattr__(name: str) -> Any:
|
|
|
14
14
|
|
|
15
15
|
old_path = "langchain." + here + "." + name
|
|
16
16
|
new_path = "langchain_experimental." + here + "." + name
|
|
17
|
-
|
|
17
|
+
msg = (
|
|
18
18
|
"This agent has been moved to langchain experiment. "
|
|
19
19
|
"This agent relies on python REPL tool under the hood, so to use it "
|
|
20
20
|
"safely please sandbox the python REPL. "
|
|
@@ -23,4 +23,6 @@ def __getattr__(name: str) -> Any:
|
|
|
23
23
|
"To keep using this code as is, install langchain experimental and "
|
|
24
24
|
f"update your import statement from:\n `{old_path}` to `{new_path}`."
|
|
25
25
|
)
|
|
26
|
-
|
|
26
|
+
raise ImportError(msg)
|
|
27
|
+
msg = f"{name} does not exist"
|
|
28
|
+
raise AttributeError(msg)
|
|
@@ -13,7 +13,7 @@ if TYPE_CHECKING:
|
|
|
13
13
|
# Used to consolidate logic for raising deprecation warnings and
|
|
14
14
|
# handling optional imports.
|
|
15
15
|
DEPRECATED_LOOKUP = {
|
|
16
|
-
"PlayWrightBrowserToolkit": "langchain_community.agent_toolkits.playwright.toolkit"
|
|
16
|
+
"PlayWrightBrowserToolkit": "langchain_community.agent_toolkits.playwright.toolkit",
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -11,7 +11,7 @@ if TYPE_CHECKING:
|
|
|
11
11
|
# Used to consolidate logic for raising deprecation warnings and
|
|
12
12
|
# handling optional imports.
|
|
13
13
|
DEPRECATED_LOOKUP = {
|
|
14
|
-
"PlayWrightBrowserToolkit": "langchain_community.agent_toolkits.playwright.toolkit"
|
|
14
|
+
"PlayWrightBrowserToolkit": "langchain_community.agent_toolkits.playwright.toolkit",
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
|
|
|
9
9
|
# Used to consolidate logic for raising deprecation warnings and
|
|
10
10
|
# handling optional imports.
|
|
11
11
|
DEPRECATED_LOOKUP = {
|
|
12
|
-
"create_pbi_agent": "langchain_community.agent_toolkits.powerbi.base"
|
|
12
|
+
"create_pbi_agent": "langchain_community.agent_toolkits.powerbi.base",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -11,7 +11,7 @@ if TYPE_CHECKING:
|
|
|
11
11
|
# Used to consolidate logic for raising deprecation warnings and
|
|
12
12
|
# handling optional imports.
|
|
13
13
|
DEPRECATED_LOOKUP = {
|
|
14
|
-
"create_pbi_chat_agent": "langchain_community.agent_toolkits.powerbi.chat_base"
|
|
14
|
+
"create_pbi_chat_agent": "langchain_community.agent_toolkits.powerbi.chat_base",
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
|
|
|
9
9
|
# Used to consolidate logic for raising deprecation warnings and
|
|
10
10
|
# handling optional imports.
|
|
11
11
|
DEPRECATED_LOOKUP = {
|
|
12
|
-
"PowerBIToolkit": "langchain_community.agent_toolkits.powerbi.toolkit"
|
|
12
|
+
"PowerBIToolkit": "langchain_community.agent_toolkits.powerbi.toolkit",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -14,7 +14,7 @@ def __getattr__(name: str) -> Any:
|
|
|
14
14
|
|
|
15
15
|
old_path = "langchain." + here + "." + name
|
|
16
16
|
new_path = "langchain_experimental." + here + "." + name
|
|
17
|
-
|
|
17
|
+
msg = (
|
|
18
18
|
"This agent has been moved to langchain experiment. "
|
|
19
19
|
"This agent relies on python REPL tool under the hood, so to use it "
|
|
20
20
|
"safely please sandbox the python REPL. "
|
|
@@ -23,4 +23,6 @@ def __getattr__(name: str) -> Any:
|
|
|
23
23
|
"To keep using this code as is, install langchain experimental and "
|
|
24
24
|
f"update your import statement from:\n `{old_path}` to `{new_path}`."
|
|
25
25
|
)
|
|
26
|
-
|
|
26
|
+
raise ImportError(msg)
|
|
27
|
+
msg = f"{name} does not exist"
|
|
28
|
+
raise AttributeError(msg)
|
|
@@ -14,7 +14,7 @@ def __getattr__(name: str) -> Any:
|
|
|
14
14
|
|
|
15
15
|
old_path = "langchain." + here + "." + name
|
|
16
16
|
new_path = "langchain_experimental." + here + "." + name
|
|
17
|
-
|
|
17
|
+
msg = (
|
|
18
18
|
"This agent has been moved to langchain experiment. "
|
|
19
19
|
"This agent relies on python REPL tool under the hood, so to use it "
|
|
20
20
|
"safely please sandbox the python REPL. "
|
|
@@ -23,4 +23,6 @@ def __getattr__(name: str) -> Any:
|
|
|
23
23
|
"To keep using this code as is, install langchain experimental and "
|
|
24
24
|
f"update your import statement from:\n `{old_path}` to `{new_path}`."
|
|
25
25
|
)
|
|
26
|
-
|
|
26
|
+
raise ImportError(msg)
|
|
27
|
+
msg = f"{name} does not exist"
|
|
28
|
+
raise AttributeError(msg)
|
|
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
|
|
|
9
9
|
# Used to consolidate logic for raising deprecation warnings and
|
|
10
10
|
# handling optional imports.
|
|
11
11
|
DEPRECATED_LOOKUP = {
|
|
12
|
-
"create_spark_sql_agent": "langchain_community.agent_toolkits.spark_sql.base"
|
|
12
|
+
"create_spark_sql_agent": "langchain_community.agent_toolkits.spark_sql.base",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
|
|
|
9
9
|
# Used to consolidate logic for raising deprecation warnings and
|
|
10
10
|
# handling optional imports.
|
|
11
11
|
DEPRECATED_LOOKUP = {
|
|
12
|
-
"SparkSQLToolkit": "langchain_community.agent_toolkits.spark_sql.toolkit"
|
|
12
|
+
"SparkSQLToolkit": "langchain_community.agent_toolkits.spark_sql.toolkit",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -9,7 +9,7 @@ if TYPE_CHECKING:
|
|
|
9
9
|
# Used to consolidate logic for raising deprecation warnings and
|
|
10
10
|
# handling optional imports.
|
|
11
11
|
DEPRECATED_LOOKUP = {
|
|
12
|
-
"SQLDatabaseToolkit": "langchain_community.agent_toolkits.sql.toolkit"
|
|
12
|
+
"SQLDatabaseToolkit": "langchain_community.agent_toolkits.sql.toolkit",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -35,7 +35,7 @@ def create_vectorstore_agent(
|
|
|
35
35
|
toolkit: VectorStoreToolkit,
|
|
36
36
|
callback_manager: Optional[BaseCallbackManager] = None,
|
|
37
37
|
prefix: str = PREFIX,
|
|
38
|
-
verbose: bool = False,
|
|
38
|
+
verbose: bool = False, # noqa: FBT001,FBT002
|
|
39
39
|
agent_executor_kwargs: Optional[dict[str, Any]] = None,
|
|
40
40
|
**kwargs: Any,
|
|
41
41
|
) -> AgentExecutor:
|
|
@@ -128,7 +128,7 @@ def create_vectorstore_router_agent(
|
|
|
128
128
|
toolkit: VectorStoreRouterToolkit,
|
|
129
129
|
callback_manager: Optional[BaseCallbackManager] = None,
|
|
130
130
|
prefix: str = ROUTER_PREFIX,
|
|
131
|
-
verbose: bool = False,
|
|
131
|
+
verbose: bool = False, # noqa: FBT001,FBT002
|
|
132
132
|
agent_executor_kwargs: Optional[dict[str, Any]] = None,
|
|
133
133
|
**kwargs: Any,
|
|
134
134
|
) -> AgentExecutor:
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
# flake8: noqa
|
|
2
|
-
|
|
3
1
|
PREFIX = """You are an agent designed to answer questions about sets of documents.
|
|
4
2
|
You have access to tools for interacting with the documents, and the inputs to the tools are questions.
|
|
5
3
|
Sometimes, you will be asked to provide sources for your questions, in which case you should use the appropriate tool to do so.
|
|
6
4
|
If the question does not seem relevant to any of the tools provided, just return "I don't know" as the answer.
|
|
7
|
-
"""
|
|
5
|
+
""" # noqa: E501
|
|
8
6
|
|
|
9
7
|
ROUTER_PREFIX = """You are an agent designed to answer questions.
|
|
10
8
|
You have access to tools for interacting with different sources, and the inputs to the tools are questions.
|
|
11
9
|
Your main task is to decide which of the tools is relevant for answering question at hand.
|
|
12
10
|
For complex questions, you can break the question down into sub questions and use tools to answers the sub questions.
|
|
13
|
-
"""
|
|
11
|
+
""" # noqa: E501
|