langchain 0.3.25__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 +7 -7
- 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 +18 -9
- 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 +47 -38
- langchain/agents/openai_functions_multi_agent/base.py +40 -27
- langchain/agents/openai_tools/base.py +8 -8
- langchain/agents/output_parsers/__init__.py +3 -3
- langchain/agents/output_parsers/json.py +7 -7
- 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 +6 -6
- 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/base.py +2 -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 +89 -55
- langchain/chains/chat_vector_db/prompts.py +2 -3
- langchain/chains/combine_documents/__init__.py +1 -1
- langchain/chains/combine_documents/base.py +24 -11
- langchain/chains/combine_documents/map_reduce.py +39 -31
- langchain/chains/combine_documents/map_rerank.py +34 -21
- 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 +6 -7
- 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 +170 -153
- 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 +117 -26
- 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 +24 -24
- langchain/evaluation/agents/trajectory_eval_prompt.py +6 -9
- langchain/evaluation/comparison/__init__.py +1 -1
- langchain/evaluation/comparison/eval_chain.py +21 -14
- langchain/evaluation/comparison/prompt.py +1 -2
- langchain/evaluation/criteria/__init__.py +1 -1
- langchain/evaluation/criteria/eval_chain.py +21 -12
- langchain/evaluation/criteria/prompt.py +2 -3
- langchain/evaluation/embedding_distance/base.py +24 -21
- 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 +13 -6
- 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 +23 -16
- langchain/evaluation/scoring/prompt.py +0 -1
- langchain/evaluation/string_distance/base.py +15 -10
- 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 +11 -8
- 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 +13 -6
- 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 +10 -9
- 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 +15 -13
- langchain/retrievers/docarray.py +1 -1
- langchain/retrievers/document_compressors/__init__.py +7 -5
- langchain/retrievers/document_compressors/base.py +13 -7
- langchain/retrievers/document_compressors/chain_extract.py +4 -5
- langchain/retrievers/document_compressors/chain_extract_prompt.py +2 -3
- langchain/retrievers/document_compressors/chain_filter.py +11 -12
- langchain/retrievers/document_compressors/chain_filter_prompt.py +1 -2
- langchain/retrievers/document_compressors/cohere_rerank.py +17 -19
- langchain/retrievers/document_compressors/embeddings_filter.py +23 -23
- langchain/retrievers/document_compressors/flashrank_rerank.py +1 -1
- langchain/retrievers/document_compressors/listwise_rerank.py +11 -6
- 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 -119
- langchain/retrievers/time_weighted_retriever.py +18 -7
- langchain/retrievers/zilliz.py +1 -1
- langchain/runnables/hub.py +2 -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 +3 -2
- 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 +181 -129
- 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.25.dist-info → langchain-0.3.27.dist-info}/METADATA +5 -5
- {langchain-0.3.25.dist-info → langchain-0.3.27.dist-info}/RECORD +582 -582
- {langchain-0.3.25.dist-info → langchain-0.3.27.dist-info}/WHEEL +1 -1
- {langchain-0.3.25.dist-info → langchain-0.3.27.dist-info}/entry_points.txt +0 -0
- {langchain-0.3.25.dist-info → langchain-0.3.27.dist-info}/licenses/LICENSE +0 -0
|
@@ -87,23 +87,24 @@ def create_tool_calling_agent(
|
|
|
87
87
|
messages will be passed in here.
|
|
88
88
|
"""
|
|
89
89
|
missing_vars = {"agent_scratchpad"}.difference(
|
|
90
|
-
prompt.input_variables + list(prompt.partial_variables)
|
|
90
|
+
prompt.input_variables + list(prompt.partial_variables),
|
|
91
91
|
)
|
|
92
92
|
if missing_vars:
|
|
93
|
-
|
|
93
|
+
msg = f"Prompt missing required variables: {missing_vars}"
|
|
94
|
+
raise ValueError(msg)
|
|
94
95
|
|
|
95
96
|
if not hasattr(llm, "bind_tools"):
|
|
97
|
+
msg = "This function requires a bind_tools() method be implemented on the LLM."
|
|
96
98
|
raise ValueError(
|
|
97
|
-
|
|
99
|
+
msg,
|
|
98
100
|
)
|
|
99
101
|
llm_with_tools = llm.bind_tools(tools)
|
|
100
102
|
|
|
101
|
-
|
|
103
|
+
return (
|
|
102
104
|
RunnablePassthrough.assign(
|
|
103
|
-
agent_scratchpad=lambda x: message_formatter(x["intermediate_steps"])
|
|
105
|
+
agent_scratchpad=lambda x: message_formatter(x["intermediate_steps"]),
|
|
104
106
|
)
|
|
105
107
|
| prompt
|
|
106
108
|
| llm_with_tools
|
|
107
109
|
| ToolsAgentOutputParser()
|
|
108
110
|
)
|
|
109
|
-
return agent
|
langchain/agents/tools.py
CHANGED
|
@@ -24,7 +24,7 @@ class InvalidTool(BaseTool):
|
|
|
24
24
|
run_manager: Optional[CallbackManagerForToolRun] = None,
|
|
25
25
|
) -> str:
|
|
26
26
|
"""Use the tool."""
|
|
27
|
-
available_tool_names_str = ", ".join(
|
|
27
|
+
available_tool_names_str = ", ".join(list(available_tool_names))
|
|
28
28
|
return (
|
|
29
29
|
f"{requested_tool_name} is not a valid tool, "
|
|
30
30
|
f"try one of [{available_tool_names_str}]."
|
|
@@ -37,7 +37,7 @@ class InvalidTool(BaseTool):
|
|
|
37
37
|
run_manager: Optional[AsyncCallbackManagerForToolRun] = None,
|
|
38
38
|
) -> str:
|
|
39
39
|
"""Use the tool asynchronously."""
|
|
40
|
-
available_tool_names_str = ", ".join(
|
|
40
|
+
available_tool_names_str = ", ".join(list(available_tool_names))
|
|
41
41
|
return (
|
|
42
42
|
f"{requested_tool_name} is not a valid tool, "
|
|
43
43
|
f"try one of [{available_tool_names_str}]."
|
langchain/agents/utils.py
CHANGED
|
@@ -15,6 +15,5 @@ def validate_tools_single_input(class_name: str, tools: Sequence[BaseTool]) -> N
|
|
|
15
15
|
"""
|
|
16
16
|
for tool in tools:
|
|
17
17
|
if not tool.is_single_input:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
)
|
|
18
|
+
msg = f"{class_name} does not support multi-input tool {tool.name}."
|
|
19
|
+
raise ValueError(msg)
|
langchain/agents/xml/base.py
CHANGED
|
@@ -52,7 +52,7 @@ class XMLAgent(BaseSingleActionAgent):
|
|
|
52
52
|
def get_default_prompt() -> ChatPromptTemplate:
|
|
53
53
|
base_prompt = ChatPromptTemplate.from_template(agent_instructions)
|
|
54
54
|
return base_prompt + AIMessagePromptTemplate.from_template(
|
|
55
|
-
"{intermediate_steps}"
|
|
55
|
+
"{intermediate_steps}",
|
|
56
56
|
)
|
|
57
57
|
|
|
58
58
|
@staticmethod
|
|
@@ -205,10 +205,11 @@ def create_xml_agent(
|
|
|
205
205
|
prompt = PromptTemplate.from_template(template)
|
|
206
206
|
""" # noqa: E501
|
|
207
207
|
missing_vars = {"tools", "agent_scratchpad"}.difference(
|
|
208
|
-
prompt.input_variables + list(prompt.partial_variables)
|
|
208
|
+
prompt.input_variables + list(prompt.partial_variables),
|
|
209
209
|
)
|
|
210
210
|
if missing_vars:
|
|
211
|
-
|
|
211
|
+
msg = f"Prompt missing required variables: {missing_vars}"
|
|
212
|
+
raise ValueError(msg)
|
|
212
213
|
|
|
213
214
|
prompt = prompt.partial(
|
|
214
215
|
tools=tools_renderer(list(tools)),
|
|
@@ -220,7 +221,7 @@ def create_xml_agent(
|
|
|
220
221
|
else:
|
|
221
222
|
llm_with_stop = llm
|
|
222
223
|
|
|
223
|
-
|
|
224
|
+
return (
|
|
224
225
|
RunnablePassthrough.assign(
|
|
225
226
|
agent_scratchpad=lambda x: format_xml(x["intermediate_steps"]),
|
|
226
227
|
)
|
|
@@ -228,4 +229,3 @@ def create_xml_agent(
|
|
|
228
229
|
| llm_with_stop
|
|
229
230
|
| XMLAgentOutputParser()
|
|
230
231
|
)
|
|
231
|
-
return agent
|
langchain/agents/xml/prompt.py
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# flake8: noqa
|
|
2
1
|
# TODO: deprecate
|
|
3
2
|
agent_instructions = """You are a helpful assistant. Help the user answer any questions.
|
|
4
3
|
|
|
@@ -19,4 +18,4 @@ When you are done, respond with a final answer between <final_answer></final_ans
|
|
|
19
18
|
|
|
20
19
|
Begin!
|
|
21
20
|
|
|
22
|
-
Question: {question}"""
|
|
21
|
+
Question: {question}""" # noqa: E501
|
langchain/cache.py
CHANGED
|
@@ -53,20 +53,20 @@ def __getattr__(name: str) -> Any:
|
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
__all__ = [
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"UpstashRedisCache",
|
|
60
|
-
"RedisCache",
|
|
61
|
-
"RedisSemanticCache",
|
|
62
|
-
"GPTCache",
|
|
63
|
-
"MomentoCache",
|
|
64
|
-
"InMemoryCache",
|
|
56
|
+
"AstraDBCache",
|
|
57
|
+
"AstraDBSemanticCache",
|
|
58
|
+
"AzureCosmosDBSemanticCache",
|
|
65
59
|
"CassandraCache",
|
|
66
60
|
"CassandraSemanticCache",
|
|
61
|
+
"FullLLMCache",
|
|
67
62
|
"FullMd5LLMCache",
|
|
63
|
+
"GPTCache",
|
|
64
|
+
"InMemoryCache",
|
|
65
|
+
"MomentoCache",
|
|
66
|
+
"RedisCache",
|
|
67
|
+
"RedisSemanticCache",
|
|
68
|
+
"SQLAlchemyCache",
|
|
68
69
|
"SQLAlchemyMd5Cache",
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"AzureCosmosDBSemanticCache",
|
|
70
|
+
"SQLiteCache",
|
|
71
|
+
"UpstashRedisCache",
|
|
72
72
|
]
|
langchain/callbacks/__init__.py
CHANGED
|
@@ -107,33 +107,33 @@ __all__ = [
|
|
|
107
107
|
"AimCallbackHandler",
|
|
108
108
|
"ArgillaCallbackHandler",
|
|
109
109
|
"ArizeCallbackHandler",
|
|
110
|
-
"PromptLayerCallbackHandler",
|
|
111
110
|
"ArthurCallbackHandler",
|
|
111
|
+
"AsyncIteratorCallbackHandler",
|
|
112
112
|
"ClearMLCallbackHandler",
|
|
113
113
|
"CometCallbackHandler",
|
|
114
114
|
"ContextCallbackHandler",
|
|
115
115
|
"FileCallbackHandler",
|
|
116
|
+
"FinalStreamingStdOutCallbackHandler",
|
|
117
|
+
"FlyteCallbackHandler",
|
|
116
118
|
"HumanApprovalCallbackHandler",
|
|
117
119
|
"InfinoCallbackHandler",
|
|
118
|
-
"
|
|
120
|
+
"LLMThoughtLabeler",
|
|
119
121
|
"LLMonitorCallbackHandler",
|
|
122
|
+
"LabelStudioCallbackHandler",
|
|
123
|
+
"LangChainTracer",
|
|
124
|
+
"MlflowCallbackHandler",
|
|
120
125
|
"OpenAICallbackHandler",
|
|
126
|
+
"PromptLayerCallbackHandler",
|
|
127
|
+
"SageMakerCallbackHandler",
|
|
121
128
|
"StdOutCallbackHandler",
|
|
122
|
-
"AsyncIteratorCallbackHandler",
|
|
123
129
|
"StreamingStdOutCallbackHandler",
|
|
124
|
-
"FinalStreamingStdOutCallbackHandler",
|
|
125
|
-
"LLMThoughtLabeler",
|
|
126
|
-
"LangChainTracer",
|
|
127
130
|
"StreamlitCallbackHandler",
|
|
131
|
+
"TrubricsCallbackHandler",
|
|
128
132
|
"WandbCallbackHandler",
|
|
129
133
|
"WhyLabsCallbackHandler",
|
|
134
|
+
"collect_runs",
|
|
130
135
|
"get_openai_callback",
|
|
131
136
|
"tracing_enabled",
|
|
132
137
|
"tracing_v2_enabled",
|
|
133
|
-
"collect_runs",
|
|
134
138
|
"wandb_tracing_enabled",
|
|
135
|
-
"FlyteCallbackHandler",
|
|
136
|
-
"SageMakerCallbackHandler",
|
|
137
|
-
"LabelStudioCallbackHandler",
|
|
138
|
-
"TrubricsCallbackHandler",
|
|
139
139
|
]
|
|
@@ -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
|
-
"ArgillaCallbackHandler": "langchain_community.callbacks.argilla_callback"
|
|
12
|
+
"ArgillaCallbackHandler": "langchain_community.callbacks.argilla_callback",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__file__, 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
|
-
"ArizeCallbackHandler": "langchain_community.callbacks.arize_callback"
|
|
12
|
+
"ArizeCallbackHandler": "langchain_community.callbacks.arize_callback",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__file__, 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
|
-
"ArthurCallbackHandler": "langchain_community.callbacks.arthur_callback"
|
|
12
|
+
"ArthurCallbackHandler": "langchain_community.callbacks.arthur_callback",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__file__, deprecated_lookups=DEPRECATED_LOOKUP)
|
langchain/callbacks/base.py
CHANGED
|
@@ -16,14 +16,14 @@ from langchain_core.callbacks import (
|
|
|
16
16
|
)
|
|
17
17
|
|
|
18
18
|
__all__ = [
|
|
19
|
-
"RetrieverManagerMixin",
|
|
20
|
-
"LLMManagerMixin",
|
|
21
|
-
"ChainManagerMixin",
|
|
22
|
-
"ToolManagerMixin",
|
|
23
|
-
"CallbackManagerMixin",
|
|
24
|
-
"RunManagerMixin",
|
|
25
|
-
"BaseCallbackHandler",
|
|
26
19
|
"AsyncCallbackHandler",
|
|
20
|
+
"BaseCallbackHandler",
|
|
27
21
|
"BaseCallbackManager",
|
|
22
|
+
"CallbackManagerMixin",
|
|
28
23
|
"Callbacks",
|
|
24
|
+
"ChainManagerMixin",
|
|
25
|
+
"LLMManagerMixin",
|
|
26
|
+
"RetrieverManagerMixin",
|
|
27
|
+
"RunManagerMixin",
|
|
28
|
+
"ToolManagerMixin",
|
|
29
29
|
]
|
|
@@ -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
|
-
"ClearMLCallbackHandler": "langchain_community.callbacks.clearml_callback"
|
|
12
|
+
"ClearMLCallbackHandler": "langchain_community.callbacks.clearml_callback",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__file__, 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
|
-
"CometCallbackHandler": "langchain_community.callbacks.comet_ml_callback"
|
|
12
|
+
"CometCallbackHandler": "langchain_community.callbacks.comet_ml_callback",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__file__, 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
|
-
"DeepEvalCallbackHandler": "langchain_community.callbacks.confident_callback"
|
|
12
|
+
"DeepEvalCallbackHandler": "langchain_community.callbacks.confident_callback",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__file__, 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
|
-
"ContextCallbackHandler": "langchain_community.callbacks.context_callback"
|
|
12
|
+
"ContextCallbackHandler": "langchain_community.callbacks.context_callback",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__file__, 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
|
-
"FlyteCallbackHandler": "langchain_community.callbacks.flyte_callback"
|
|
12
|
+
"FlyteCallbackHandler": "langchain_community.callbacks.flyte_callback",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__file__, deprecated_lookups=DEPRECATED_LOOKUP)
|
langchain/callbacks/human.py
CHANGED
|
@@ -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
|
-
"InfinoCallbackHandler": "langchain_community.callbacks.infino_callback"
|
|
12
|
+
"InfinoCallbackHandler": "langchain_community.callbacks.infino_callback",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__file__, 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
|
-
"LLMonitorCallbackHandler": "langchain_community.callbacks.llmonitor_callback"
|
|
14
|
+
"LLMonitorCallbackHandler": "langchain_community.callbacks.llmonitor_callback",
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
_import_attribute = create_importer(__file__, deprecated_lookups=DEPRECATED_LOOKUP)
|
langchain/callbacks/manager.py
CHANGED
|
@@ -2,6 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import TYPE_CHECKING, Any
|
|
4
4
|
|
|
5
|
+
from langchain_core.callbacks import Callbacks
|
|
5
6
|
from langchain_core.callbacks.manager import (
|
|
6
7
|
AsyncCallbackManager,
|
|
7
8
|
AsyncCallbackManagerForChainGroup,
|
|
@@ -18,7 +19,6 @@ from langchain_core.callbacks.manager import (
|
|
|
18
19
|
CallbackManagerForLLMRun,
|
|
19
20
|
CallbackManagerForRetrieverRun,
|
|
20
21
|
CallbackManagerForToolRun,
|
|
21
|
-
Callbacks,
|
|
22
22
|
ParentRunManager,
|
|
23
23
|
RunManager,
|
|
24
24
|
ahandle_event,
|
|
@@ -58,7 +58,7 @@ def __getattr__(name: str) -> Any:
|
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
__all__ = [
|
|
61
|
-
"
|
|
61
|
+
"AsyncCallbackManager",
|
|
62
62
|
"AsyncCallbackManagerForChainGroup",
|
|
63
63
|
"AsyncCallbackManagerForChainRun",
|
|
64
64
|
"AsyncCallbackManagerForLLMRun",
|
|
@@ -66,7 +66,6 @@ __all__ = [
|
|
|
66
66
|
"AsyncCallbackManagerForToolRun",
|
|
67
67
|
"AsyncParentRunManager",
|
|
68
68
|
"AsyncRunManager",
|
|
69
|
-
"atrace_as_chain_group",
|
|
70
69
|
"BaseRunManager",
|
|
71
70
|
"CallbackManager",
|
|
72
71
|
"CallbackManagerForChainGroup",
|
|
@@ -75,13 +74,14 @@ __all__ = [
|
|
|
75
74
|
"CallbackManagerForRetrieverRun",
|
|
76
75
|
"CallbackManagerForToolRun",
|
|
77
76
|
"Callbacks",
|
|
78
|
-
"
|
|
77
|
+
"ParentRunManager",
|
|
78
|
+
"RunManager",
|
|
79
|
+
"ahandle_event",
|
|
80
|
+
"atrace_as_chain_group",
|
|
79
81
|
"collect_runs",
|
|
80
82
|
"env_var_is_set",
|
|
81
83
|
"get_openai_callback",
|
|
82
84
|
"handle_event",
|
|
83
|
-
"ParentRunManager",
|
|
84
|
-
"RunManager",
|
|
85
85
|
"trace_as_chain_group",
|
|
86
86
|
"tracing_enabled",
|
|
87
87
|
"tracing_v2_enabled",
|
|
@@ -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
|
-
"OpenAICallbackHandler": "langchain_community.callbacks.openai_info"
|
|
12
|
+
"OpenAICallbackHandler": "langchain_community.callbacks.openai_info",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__file__, 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
|
-
"PromptLayerCallbackHandler": "langchain_community.callbacks.promptlayer_callback"
|
|
14
|
+
"PromptLayerCallbackHandler": "langchain_community.callbacks.promptlayer_callback",
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
_import_attribute = create_importer(__file__, 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
|
-
"SageMakerCallbackHandler": "langchain_community.callbacks.sagemaker_callback"
|
|
14
|
+
"SageMakerCallbackHandler": "langchain_community.callbacks.sagemaker_callback",
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
_import_attribute = create_importer(__file__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
@@ -26,7 +26,10 @@ class AsyncIteratorCallbackHandler(AsyncCallbackHandler):
|
|
|
26
26
|
self.done = asyncio.Event()
|
|
27
27
|
|
|
28
28
|
async def on_llm_start(
|
|
29
|
-
self,
|
|
29
|
+
self,
|
|
30
|
+
serialized: dict[str, Any],
|
|
31
|
+
prompts: list[str],
|
|
32
|
+
**kwargs: Any,
|
|
30
33
|
) -> None:
|
|
31
34
|
# If two calls are made in a row, this resets the state
|
|
32
35
|
self.done.clear()
|
|
@@ -24,8 +24,7 @@ class AsyncFinalIteratorCallbackHandler(AsyncIteratorCallbackHandler):
|
|
|
24
24
|
def check_if_answer_reached(self) -> bool:
|
|
25
25
|
if self.strip_tokens:
|
|
26
26
|
return self.last_tokens_stripped == self.answer_prefix_tokens_stripped
|
|
27
|
-
|
|
28
|
-
return self.last_tokens == self.answer_prefix_tokens
|
|
27
|
+
return self.last_tokens == self.answer_prefix_tokens
|
|
29
28
|
|
|
30
29
|
def __init__(
|
|
31
30
|
self,
|
|
@@ -62,7 +61,10 @@ class AsyncFinalIteratorCallbackHandler(AsyncIteratorCallbackHandler):
|
|
|
62
61
|
self.answer_reached = False
|
|
63
62
|
|
|
64
63
|
async def on_llm_start(
|
|
65
|
-
self,
|
|
64
|
+
self,
|
|
65
|
+
serialized: dict[str, Any],
|
|
66
|
+
prompts: list[str],
|
|
67
|
+
**kwargs: Any,
|
|
66
68
|
) -> None:
|
|
67
69
|
# If two calls are made in a row, this resets the state
|
|
68
70
|
self.done.clear()
|
|
@@ -25,8 +25,7 @@ class FinalStreamingStdOutCallbackHandler(StreamingStdOutCallbackHandler):
|
|
|
25
25
|
def check_if_answer_reached(self) -> bool:
|
|
26
26
|
if self.strip_tokens:
|
|
27
27
|
return self.last_tokens_stripped == self.answer_prefix_tokens_stripped
|
|
28
|
-
|
|
29
|
-
return self.last_tokens == self.answer_prefix_tokens
|
|
28
|
+
return self.last_tokens == self.answer_prefix_tokens
|
|
30
29
|
|
|
31
30
|
def __init__(
|
|
32
31
|
self,
|
|
@@ -63,7 +62,10 @@ class FinalStreamingStdOutCallbackHandler(StreamingStdOutCallbackHandler):
|
|
|
63
62
|
self.answer_reached = False
|
|
64
63
|
|
|
65
64
|
def on_llm_start(
|
|
66
|
-
self,
|
|
65
|
+
self,
|
|
66
|
+
serialized: dict[str, Any],
|
|
67
|
+
prompts: list[str],
|
|
68
|
+
**kwargs: Any,
|
|
67
69
|
) -> None:
|
|
68
70
|
"""Run when LLM starts running."""
|
|
69
71
|
self.answer_reached = False
|
|
@@ -70,11 +70,12 @@ def StreamlitCallbackHandler(
|
|
|
70
70
|
from langchain_community.callbacks.streamlit.streamlit_callback_handler import ( # noqa: E501
|
|
71
71
|
StreamlitCallbackHandler as _InternalStreamlitCallbackHandler,
|
|
72
72
|
)
|
|
73
|
-
except ImportError:
|
|
74
|
-
|
|
73
|
+
except ImportError as e:
|
|
74
|
+
msg = (
|
|
75
75
|
"To use the StreamlitCallbackHandler, please install "
|
|
76
76
|
"langchain-community with `pip install langchain-community`."
|
|
77
77
|
)
|
|
78
|
+
raise ImportError(msg) from e
|
|
78
79
|
|
|
79
80
|
return _InternalStreamlitCallbackHandler(
|
|
80
81
|
parent_container,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"""Base interfaces for tracing runs."""
|
|
2
2
|
|
|
3
|
-
from langchain_core.
|
|
3
|
+
from langchain_core.exceptions import TracerException
|
|
4
|
+
from langchain_core.tracers.base import BaseTracer
|
|
4
5
|
|
|
5
6
|
__all__ = ["BaseTracer", "TracerException"]
|
|
@@ -42,5 +42,5 @@ class LoggingCallbackHandler(FunctionCallbackHandler):
|
|
|
42
42
|
crumbs_str = ""
|
|
43
43
|
self.function_callback(
|
|
44
44
|
f"{get_colored_text('[text]', color='blue')}"
|
|
45
|
-
f" {get_bolded_text(f'{crumbs_str}New text:')}\n{text}"
|
|
45
|
+
f" {get_bolded_text(f'{crumbs_str}New text:')}\n{text}",
|
|
46
46
|
)
|
|
@@ -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
|
-
"TrubricsCallbackHandler": "langchain_community.callbacks.trubrics_callback"
|
|
12
|
+
"TrubricsCallbackHandler": "langchain_community.callbacks.trubrics_callback",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__file__, deprecated_lookups=DEPRECATED_LOOKUP)
|
langchain/callbacks/utils.py
CHANGED
|
@@ -37,12 +37,12 @@ def __getattr__(name: str) -> Any:
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
__all__ = [
|
|
40
|
-
"
|
|
41
|
-
"import_pandas",
|
|
42
|
-
"import_textstat",
|
|
40
|
+
"BaseMetadataCallbackHandler",
|
|
43
41
|
"_flatten_dict",
|
|
44
42
|
"flatten_dict",
|
|
45
43
|
"hash_string",
|
|
44
|
+
"import_pandas",
|
|
45
|
+
"import_spacy",
|
|
46
|
+
"import_textstat",
|
|
46
47
|
"load_json",
|
|
47
|
-
"BaseMetadataCallbackHandler",
|
|
48
48
|
]
|
|
@@ -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
|
-
"WandbCallbackHandler": "langchain_community.callbacks.wandb_callback"
|
|
12
|
+
"WandbCallbackHandler": "langchain_community.callbacks.wandb_callback",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__file__, 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
|
-
"WhyLabsCallbackHandler": "langchain_community.callbacks.whylabs_callback"
|
|
12
|
+
"WhyLabsCallbackHandler": "langchain_community.callbacks.whylabs_callback",
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
_import_attribute = create_importer(__file__, deprecated_lookups=DEPRECATED_LOOKUP)
|