langchain 0.3.27__py3-none-any.whl → 1.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of langchain might be problematic. Click here for more details.
- langchain/__init__.py +2 -452
- langchain/agents/__init__.py +9 -178
- langchain/agents/factory.py +1582 -0
- langchain/agents/middleware/__init__.py +80 -0
- langchain/agents/middleware/_execution.py +388 -0
- langchain/agents/middleware/_redaction.py +350 -0
- langchain/agents/middleware/context_editing.py +274 -0
- langchain/agents/middleware/file_search.py +382 -0
- langchain/agents/middleware/human_in_the_loop.py +351 -0
- langchain/agents/middleware/model_call_limit.py +210 -0
- langchain/agents/middleware/model_fallback.py +137 -0
- langchain/agents/middleware/pii.py +317 -0
- langchain/agents/middleware/shell_tool.py +718 -0
- langchain/agents/middleware/summarization.py +249 -0
- langchain/agents/middleware/todo.py +219 -0
- langchain/agents/middleware/tool_call_limit.py +333 -0
- langchain/agents/middleware/tool_emulator.py +200 -0
- langchain/agents/middleware/tool_retry.py +384 -0
- langchain/agents/middleware/tool_selection.py +310 -0
- langchain/agents/middleware/types.py +1572 -0
- langchain/agents/structured_output.py +426 -0
- langchain/chat_models/__init__.py +7 -72
- langchain/chat_models/base.py +264 -317
- langchain/embeddings/__init__.py +7 -217
- langchain/embeddings/base.py +32 -42
- langchain/messages/__init__.py +72 -0
- langchain/rate_limiters/__init__.py +13 -0
- langchain/tools/__init__.py +17 -197
- langchain/tools/tool_node.py +1700 -0
- langchain-1.0.0.dist-info/METADATA +87 -0
- langchain-1.0.0.dist-info/RECORD +34 -0
- {langchain-0.3.27.dist-info → langchain-1.0.0.dist-info}/WHEEL +1 -1
- langchain/_api/__init__.py +0 -28
- langchain/_api/deprecation.py +0 -32
- langchain/_api/interactive_env.py +0 -5
- langchain/_api/module_import.py +0 -153
- langchain/_api/path.py +0 -3
- langchain/adapters/__init__.py +0 -0
- langchain/adapters/openai.py +0 -63
- langchain/agents/agent.py +0 -1828
- langchain/agents/agent_iterator.py +0 -431
- langchain/agents/agent_toolkits/__init__.py +0 -167
- langchain/agents/agent_toolkits/ainetwork/__init__.py +0 -1
- langchain/agents/agent_toolkits/ainetwork/toolkit.py +0 -25
- langchain/agents/agent_toolkits/amadeus/toolkit.py +0 -23
- langchain/agents/agent_toolkits/azure_cognitive_services.py +0 -29
- langchain/agents/agent_toolkits/base.py +0 -3
- langchain/agents/agent_toolkits/clickup/__init__.py +0 -0
- langchain/agents/agent_toolkits/clickup/toolkit.py +0 -25
- langchain/agents/agent_toolkits/conversational_retrieval/__init__.py +0 -0
- langchain/agents/agent_toolkits/conversational_retrieval/openai_functions.py +0 -87
- langchain/agents/agent_toolkits/conversational_retrieval/tool.py +0 -3
- langchain/agents/agent_toolkits/csv/__init__.py +0 -28
- langchain/agents/agent_toolkits/file_management/__init__.py +0 -31
- langchain/agents/agent_toolkits/file_management/toolkit.py +0 -29
- langchain/agents/agent_toolkits/github/__init__.py +0 -1
- langchain/agents/agent_toolkits/github/toolkit.py +0 -69
- langchain/agents/agent_toolkits/gitlab/__init__.py +0 -1
- langchain/agents/agent_toolkits/gitlab/toolkit.py +0 -25
- langchain/agents/agent_toolkits/gmail/__init__.py +0 -1
- langchain/agents/agent_toolkits/gmail/toolkit.py +0 -23
- langchain/agents/agent_toolkits/jira/__init__.py +0 -1
- langchain/agents/agent_toolkits/jira/toolkit.py +0 -23
- langchain/agents/agent_toolkits/json/__init__.py +0 -1
- langchain/agents/agent_toolkits/json/base.py +0 -25
- langchain/agents/agent_toolkits/json/prompt.py +0 -24
- langchain/agents/agent_toolkits/json/toolkit.py +0 -23
- langchain/agents/agent_toolkits/multion/__init__.py +0 -1
- langchain/agents/agent_toolkits/multion/toolkit.py +0 -25
- langchain/agents/agent_toolkits/nasa/__init__.py +0 -1
- langchain/agents/agent_toolkits/nasa/toolkit.py +0 -23
- langchain/agents/agent_toolkits/nla/__init__.py +0 -0
- langchain/agents/agent_toolkits/nla/tool.py +0 -23
- langchain/agents/agent_toolkits/nla/toolkit.py +0 -23
- langchain/agents/agent_toolkits/office365/__init__.py +0 -1
- langchain/agents/agent_toolkits/office365/toolkit.py +0 -25
- langchain/agents/agent_toolkits/openapi/__init__.py +0 -1
- langchain/agents/agent_toolkits/openapi/base.py +0 -25
- langchain/agents/agent_toolkits/openapi/planner.py +0 -52
- langchain/agents/agent_toolkits/openapi/planner_prompt.py +0 -103
- langchain/agents/agent_toolkits/openapi/prompt.py +0 -29
- langchain/agents/agent_toolkits/openapi/spec.py +0 -30
- langchain/agents/agent_toolkits/openapi/toolkit.py +0 -30
- langchain/agents/agent_toolkits/pandas/__init__.py +0 -28
- langchain/agents/agent_toolkits/playwright/__init__.py +0 -29
- langchain/agents/agent_toolkits/playwright/toolkit.py +0 -27
- langchain/agents/agent_toolkits/powerbi/__init__.py +0 -1
- langchain/agents/agent_toolkits/powerbi/base.py +0 -25
- langchain/agents/agent_toolkits/powerbi/chat_base.py +0 -27
- langchain/agents/agent_toolkits/powerbi/prompt.py +0 -36
- langchain/agents/agent_toolkits/powerbi/toolkit.py +0 -25
- langchain/agents/agent_toolkits/python/__init__.py +0 -28
- langchain/agents/agent_toolkits/slack/__init__.py +0 -1
- langchain/agents/agent_toolkits/slack/toolkit.py +0 -23
- langchain/agents/agent_toolkits/spark/__init__.py +0 -28
- langchain/agents/agent_toolkits/spark_sql/__init__.py +0 -1
- langchain/agents/agent_toolkits/spark_sql/base.py +0 -25
- langchain/agents/agent_toolkits/spark_sql/prompt.py +0 -27
- langchain/agents/agent_toolkits/spark_sql/toolkit.py +0 -25
- langchain/agents/agent_toolkits/sql/__init__.py +0 -1
- langchain/agents/agent_toolkits/sql/base.py +0 -23
- langchain/agents/agent_toolkits/sql/prompt.py +0 -29
- langchain/agents/agent_toolkits/sql/toolkit.py +0 -25
- langchain/agents/agent_toolkits/steam/__init__.py +0 -1
- langchain/agents/agent_toolkits/steam/toolkit.py +0 -23
- langchain/agents/agent_toolkits/vectorstore/__init__.py +0 -1
- langchain/agents/agent_toolkits/vectorstore/base.py +0 -217
- langchain/agents/agent_toolkits/vectorstore/prompt.py +0 -11
- langchain/agents/agent_toolkits/vectorstore/toolkit.py +0 -97
- langchain/agents/agent_toolkits/xorbits/__init__.py +0 -28
- langchain/agents/agent_toolkits/zapier/__init__.py +0 -1
- langchain/agents/agent_toolkits/zapier/toolkit.py +0 -25
- langchain/agents/agent_types.py +0 -57
- langchain/agents/chat/__init__.py +0 -0
- langchain/agents/chat/base.py +0 -178
- langchain/agents/chat/output_parser.py +0 -74
- langchain/agents/chat/prompt.py +0 -29
- langchain/agents/conversational/__init__.py +0 -1
- langchain/agents/conversational/base.py +0 -176
- langchain/agents/conversational/output_parser.py +0 -51
- langchain/agents/conversational/prompt.py +0 -35
- langchain/agents/conversational_chat/__init__.py +0 -1
- langchain/agents/conversational_chat/base.py +0 -181
- langchain/agents/conversational_chat/output_parser.py +0 -57
- langchain/agents/conversational_chat/prompt.py +0 -56
- langchain/agents/format_scratchpad/__init__.py +0 -25
- langchain/agents/format_scratchpad/log.py +0 -25
- langchain/agents/format_scratchpad/log_to_messages.py +0 -26
- langchain/agents/format_scratchpad/openai_functions.py +0 -80
- langchain/agents/format_scratchpad/openai_tools.py +0 -5
- langchain/agents/format_scratchpad/tools.py +0 -65
- langchain/agents/format_scratchpad/xml.py +0 -52
- langchain/agents/initialize.py +0 -105
- langchain/agents/json_chat/__init__.py +0 -0
- langchain/agents/json_chat/base.py +0 -195
- langchain/agents/json_chat/prompt.py +0 -8
- langchain/agents/load_tools.py +0 -13
- langchain/agents/loading.py +0 -148
- langchain/agents/mrkl/__init__.py +0 -1
- langchain/agents/mrkl/base.py +0 -216
- langchain/agents/mrkl/output_parser.py +0 -103
- langchain/agents/mrkl/prompt.py +0 -15
- langchain/agents/openai_assistant/__init__.py +0 -3
- langchain/agents/openai_assistant/base.py +0 -818
- langchain/agents/openai_functions_agent/__init__.py +0 -0
- langchain/agents/openai_functions_agent/agent_token_buffer_memory.py +0 -101
- langchain/agents/openai_functions_agent/base.py +0 -381
- langchain/agents/openai_functions_multi_agent/__init__.py +0 -0
- langchain/agents/openai_functions_multi_agent/base.py +0 -337
- langchain/agents/openai_tools/__init__.py +0 -0
- langchain/agents/openai_tools/base.py +0 -108
- langchain/agents/output_parsers/__init__.py +0 -35
- langchain/agents/output_parsers/json.py +0 -62
- langchain/agents/output_parsers/openai_functions.py +0 -96
- langchain/agents/output_parsers/openai_tools.py +0 -70
- langchain/agents/output_parsers/react_json_single_input.py +0 -84
- langchain/agents/output_parsers/react_single_input.py +0 -99
- langchain/agents/output_parsers/self_ask.py +0 -51
- langchain/agents/output_parsers/tools.py +0 -107
- langchain/agents/output_parsers/xml.py +0 -123
- langchain/agents/react/__init__.py +0 -1
- langchain/agents/react/agent.py +0 -144
- langchain/agents/react/base.py +0 -185
- langchain/agents/react/output_parser.py +0 -33
- langchain/agents/react/textworld_prompt.py +0 -51
- langchain/agents/react/wiki_prompt.py +0 -70
- langchain/agents/schema.py +0 -35
- langchain/agents/self_ask_with_search/__init__.py +0 -4
- langchain/agents/self_ask_with_search/base.py +0 -215
- langchain/agents/self_ask_with_search/output_parser.py +0 -4
- langchain/agents/self_ask_with_search/prompt.py +0 -43
- langchain/agents/structured_chat/__init__.py +0 -0
- langchain/agents/structured_chat/base.py +0 -304
- langchain/agents/structured_chat/output_parser.py +0 -99
- langchain/agents/structured_chat/prompt.py +0 -34
- langchain/agents/tool_calling_agent/__init__.py +0 -0
- langchain/agents/tool_calling_agent/base.py +0 -110
- langchain/agents/tools.py +0 -47
- langchain/agents/types.py +0 -27
- langchain/agents/utils.py +0 -19
- langchain/agents/xml/__init__.py +0 -0
- langchain/agents/xml/base.py +0 -231
- langchain/agents/xml/prompt.py +0 -21
- langchain/base_language.py +0 -7
- langchain/cache.py +0 -72
- langchain/callbacks/__init__.py +0 -139
- langchain/callbacks/aim_callback.py +0 -33
- langchain/callbacks/argilla_callback.py +0 -25
- langchain/callbacks/arize_callback.py +0 -25
- langchain/callbacks/arthur_callback.py +0 -25
- langchain/callbacks/base.py +0 -29
- langchain/callbacks/clearml_callback.py +0 -25
- langchain/callbacks/comet_ml_callback.py +0 -25
- langchain/callbacks/confident_callback.py +0 -25
- langchain/callbacks/context_callback.py +0 -25
- langchain/callbacks/file.py +0 -3
- langchain/callbacks/flyte_callback.py +0 -25
- langchain/callbacks/human.py +0 -33
- langchain/callbacks/infino_callback.py +0 -25
- langchain/callbacks/labelstudio_callback.py +0 -33
- langchain/callbacks/llmonitor_callback.py +0 -27
- langchain/callbacks/manager.py +0 -89
- langchain/callbacks/mlflow_callback.py +0 -38
- langchain/callbacks/openai_info.py +0 -25
- langchain/callbacks/promptlayer_callback.py +0 -27
- langchain/callbacks/sagemaker_callback.py +0 -27
- langchain/callbacks/stdout.py +0 -3
- langchain/callbacks/streaming_aiter.py +0 -75
- langchain/callbacks/streaming_aiter_final_only.py +0 -91
- langchain/callbacks/streaming_stdout.py +0 -5
- langchain/callbacks/streaming_stdout_final_only.py +0 -91
- langchain/callbacks/streamlit/__init__.py +0 -86
- langchain/callbacks/streamlit/mutable_expander.py +0 -33
- langchain/callbacks/streamlit/streamlit_callback_handler.py +0 -49
- langchain/callbacks/tracers/__init__.py +0 -38
- langchain/callbacks/tracers/base.py +0 -6
- langchain/callbacks/tracers/comet.py +0 -30
- langchain/callbacks/tracers/evaluation.py +0 -8
- langchain/callbacks/tracers/langchain.py +0 -8
- langchain/callbacks/tracers/langchain_v1.py +0 -3
- langchain/callbacks/tracers/log_stream.py +0 -9
- langchain/callbacks/tracers/logging.py +0 -46
- langchain/callbacks/tracers/root_listeners.py +0 -3
- langchain/callbacks/tracers/run_collector.py +0 -3
- langchain/callbacks/tracers/schemas.py +0 -27
- langchain/callbacks/tracers/stdout.py +0 -6
- langchain/callbacks/tracers/wandb.py +0 -27
- langchain/callbacks/trubrics_callback.py +0 -25
- langchain/callbacks/utils.py +0 -48
- langchain/callbacks/wandb_callback.py +0 -25
- langchain/callbacks/whylabs_callback.py +0 -25
- langchain/chains/__init__.py +0 -96
- langchain/chains/api/__init__.py +0 -1
- langchain/chains/api/base.py +0 -394
- langchain/chains/api/news_docs.py +0 -31
- langchain/chains/api/open_meteo_docs.py +0 -32
- langchain/chains/api/openapi/__init__.py +0 -0
- langchain/chains/api/openapi/chain.py +0 -23
- langchain/chains/api/openapi/prompts.py +0 -27
- langchain/chains/api/openapi/requests_chain.py +0 -29
- langchain/chains/api/openapi/response_chain.py +0 -29
- langchain/chains/api/podcast_docs.py +0 -27
- langchain/chains/api/prompt.py +0 -35
- langchain/chains/api/tmdb_docs.py +0 -36
- langchain/chains/base.py +0 -800
- langchain/chains/chat_vector_db/__init__.py +0 -0
- langchain/chains/chat_vector_db/prompts.py +0 -19
- langchain/chains/combine_documents/__init__.py +0 -15
- langchain/chains/combine_documents/base.py +0 -287
- langchain/chains/combine_documents/map_reduce.py +0 -300
- langchain/chains/combine_documents/map_rerank.py +0 -247
- langchain/chains/combine_documents/reduce.py +0 -381
- langchain/chains/combine_documents/refine.py +0 -236
- langchain/chains/combine_documents/stuff.py +0 -288
- langchain/chains/constitutional_ai/__init__.py +0 -2
- langchain/chains/constitutional_ai/base.py +0 -321
- langchain/chains/constitutional_ai/models.py +0 -11
- langchain/chains/constitutional_ai/principles.py +0 -278
- langchain/chains/constitutional_ai/prompts.py +0 -120
- langchain/chains/conversation/__init__.py +0 -1
- langchain/chains/conversation/base.py +0 -143
- langchain/chains/conversation/memory.py +0 -45
- langchain/chains/conversation/prompt.py +0 -28
- langchain/chains/conversational_retrieval/__init__.py +0 -1
- langchain/chains/conversational_retrieval/base.py +0 -568
- langchain/chains/conversational_retrieval/prompts.py +0 -19
- langchain/chains/elasticsearch_database/__init__.py +0 -3
- langchain/chains/elasticsearch_database/base.py +0 -211
- langchain/chains/elasticsearch_database/prompts.py +0 -35
- langchain/chains/ernie_functions/__init__.py +0 -44
- langchain/chains/ernie_functions/base.py +0 -49
- langchain/chains/example_generator.py +0 -22
- langchain/chains/flare/__init__.py +0 -1
- langchain/chains/flare/base.py +0 -282
- langchain/chains/flare/prompts.py +0 -44
- langchain/chains/graph_qa/__init__.py +0 -0
- langchain/chains/graph_qa/arangodb.py +0 -23
- langchain/chains/graph_qa/base.py +0 -23
- langchain/chains/graph_qa/cypher.py +0 -39
- langchain/chains/graph_qa/cypher_utils.py +0 -27
- langchain/chains/graph_qa/falkordb.py +0 -29
- langchain/chains/graph_qa/gremlin.py +0 -36
- langchain/chains/graph_qa/hugegraph.py +0 -23
- langchain/chains/graph_qa/kuzu.py +0 -29
- langchain/chains/graph_qa/nebulagraph.py +0 -23
- langchain/chains/graph_qa/neptune_cypher.py +0 -39
- langchain/chains/graph_qa/neptune_sparql.py +0 -36
- langchain/chains/graph_qa/ontotext_graphdb.py +0 -25
- langchain/chains/graph_qa/prompts.py +0 -96
- langchain/chains/graph_qa/sparql.py +0 -23
- langchain/chains/history_aware_retriever.py +0 -68
- langchain/chains/hyde/__init__.py +0 -4
- langchain/chains/hyde/base.py +0 -124
- langchain/chains/hyde/prompts.py +0 -46
- langchain/chains/llm.py +0 -442
- langchain/chains/llm_bash/__init__.py +0 -10
- langchain/chains/llm_checker/__init__.py +0 -4
- langchain/chains/llm_checker/base.py +0 -194
- langchain/chains/llm_checker/prompt.py +0 -30
- langchain/chains/llm_math/__init__.py +0 -4
- langchain/chains/llm_math/base.py +0 -311
- langchain/chains/llm_math/prompt.py +0 -43
- langchain/chains/llm_requests.py +0 -23
- langchain/chains/llm_summarization_checker/__init__.py +0 -7
- langchain/chains/llm_summarization_checker/base.py +0 -205
- langchain/chains/llm_summarization_checker/prompts/are_all_true_prompt.txt +0 -38
- langchain/chains/llm_summarization_checker/prompts/check_facts.txt +0 -10
- langchain/chains/llm_summarization_checker/prompts/create_facts.txt +0 -10
- langchain/chains/llm_summarization_checker/prompts/revise_summary.txt +0 -17
- langchain/chains/llm_symbolic_math/__init__.py +0 -10
- langchain/chains/loading.py +0 -732
- langchain/chains/mapreduce.py +0 -121
- langchain/chains/moderation.py +0 -132
- langchain/chains/natbot/__init__.py +0 -4
- langchain/chains/natbot/base.py +0 -163
- langchain/chains/natbot/crawler.py +0 -443
- langchain/chains/natbot/prompt.py +0 -143
- langchain/chains/openai_functions/__init__.py +0 -44
- langchain/chains/openai_functions/base.py +0 -235
- langchain/chains/openai_functions/citation_fuzzy_match.py +0 -160
- langchain/chains/openai_functions/extraction.py +0 -197
- langchain/chains/openai_functions/openapi.py +0 -405
- langchain/chains/openai_functions/qa_with_structure.py +0 -142
- langchain/chains/openai_functions/tagging.py +0 -172
- langchain/chains/openai_functions/utils.py +0 -40
- langchain/chains/openai_tools/__init__.py +0 -3
- langchain/chains/openai_tools/extraction.py +0 -79
- langchain/chains/prompt_selector.py +0 -65
- langchain/chains/qa_generation/__init__.py +0 -0
- langchain/chains/qa_generation/base.py +0 -124
- langchain/chains/qa_generation/prompt.py +0 -50
- langchain/chains/qa_with_sources/__init__.py +0 -5
- langchain/chains/qa_with_sources/base.py +0 -263
- langchain/chains/qa_with_sources/loading.py +0 -209
- langchain/chains/qa_with_sources/map_reduce_prompt.py +0 -54
- langchain/chains/qa_with_sources/refine_prompts.py +0 -37
- langchain/chains/qa_with_sources/retrieval.py +0 -75
- langchain/chains/qa_with_sources/stuff_prompt.py +0 -43
- langchain/chains/qa_with_sources/vector_db.py +0 -86
- langchain/chains/query_constructor/__init__.py +0 -3
- langchain/chains/query_constructor/base.py +0 -376
- langchain/chains/query_constructor/ir.py +0 -23
- langchain/chains/query_constructor/parser.py +0 -210
- langchain/chains/query_constructor/prompt.py +0 -226
- langchain/chains/query_constructor/schema.py +0 -14
- langchain/chains/question_answering/__init__.py +0 -6
- langchain/chains/question_answering/chain.py +0 -279
- langchain/chains/question_answering/map_reduce_prompt.py +0 -80
- langchain/chains/question_answering/map_rerank_prompt.py +0 -66
- langchain/chains/question_answering/refine_prompts.py +0 -72
- langchain/chains/question_answering/stuff_prompt.py +0 -33
- langchain/chains/retrieval.py +0 -67
- langchain/chains/retrieval_qa/__init__.py +0 -1
- langchain/chains/retrieval_qa/base.py +0 -370
- langchain/chains/retrieval_qa/prompt.py +0 -11
- langchain/chains/router/__init__.py +0 -12
- langchain/chains/router/base.py +0 -142
- langchain/chains/router/embedding_router.py +0 -93
- langchain/chains/router/llm_router.py +0 -196
- langchain/chains/router/multi_prompt.py +0 -181
- langchain/chains/router/multi_prompt_prompt.py +0 -32
- langchain/chains/router/multi_retrieval_prompt.py +0 -30
- langchain/chains/router/multi_retrieval_qa.py +0 -109
- langchain/chains/sequential.py +0 -220
- langchain/chains/sql_database/__init__.py +0 -1
- langchain/chains/sql_database/prompt.py +0 -282
- langchain/chains/sql_database/query.py +0 -166
- langchain/chains/structured_output/__init__.py +0 -6
- langchain/chains/structured_output/base.py +0 -582
- langchain/chains/summarize/__init__.py +0 -6
- langchain/chains/summarize/chain.py +0 -174
- langchain/chains/summarize/map_reduce_prompt.py +0 -10
- langchain/chains/summarize/refine_prompts.py +0 -23
- langchain/chains/summarize/stuff_prompt.py +0 -10
- langchain/chains/transform.py +0 -84
- langchain/chat_loaders/__init__.py +0 -19
- langchain/chat_loaders/base.py +0 -3
- langchain/chat_loaders/facebook_messenger.py +0 -32
- langchain/chat_loaders/gmail.py +0 -23
- langchain/chat_loaders/imessage.py +0 -23
- langchain/chat_loaders/langsmith.py +0 -30
- langchain/chat_loaders/slack.py +0 -23
- langchain/chat_loaders/telegram.py +0 -23
- langchain/chat_loaders/utils.py +0 -36
- langchain/chat_loaders/whatsapp.py +0 -23
- langchain/chat_models/anthropic.py +0 -30
- langchain/chat_models/anyscale.py +0 -23
- langchain/chat_models/azure_openai.py +0 -23
- langchain/chat_models/azureml_endpoint.py +0 -30
- langchain/chat_models/baichuan.py +0 -23
- langchain/chat_models/baidu_qianfan_endpoint.py +0 -27
- langchain/chat_models/bedrock.py +0 -27
- langchain/chat_models/cohere.py +0 -23
- langchain/chat_models/databricks.py +0 -23
- langchain/chat_models/ernie.py +0 -23
- langchain/chat_models/everlyai.py +0 -23
- langchain/chat_models/fake.py +0 -30
- langchain/chat_models/fireworks.py +0 -23
- langchain/chat_models/gigachat.py +0 -23
- langchain/chat_models/google_palm.py +0 -30
- langchain/chat_models/human.py +0 -23
- langchain/chat_models/hunyuan.py +0 -23
- langchain/chat_models/javelin_ai_gateway.py +0 -30
- langchain/chat_models/jinachat.py +0 -23
- langchain/chat_models/konko.py +0 -23
- langchain/chat_models/litellm.py +0 -30
- langchain/chat_models/meta.py +0 -25
- langchain/chat_models/minimax.py +0 -23
- langchain/chat_models/mlflow.py +0 -23
- langchain/chat_models/mlflow_ai_gateway.py +0 -30
- langchain/chat_models/ollama.py +0 -23
- langchain/chat_models/openai.py +0 -23
- langchain/chat_models/pai_eas_endpoint.py +0 -25
- langchain/chat_models/promptlayer_openai.py +0 -25
- langchain/chat_models/tongyi.py +0 -23
- langchain/chat_models/vertexai.py +0 -23
- langchain/chat_models/volcengine_maas.py +0 -30
- langchain/chat_models/yandex.py +0 -23
- langchain/docstore/__init__.py +0 -48
- langchain/docstore/arbitrary_fn.py +0 -23
- langchain/docstore/base.py +0 -27
- langchain/docstore/document.py +0 -3
- langchain/docstore/in_memory.py +0 -23
- langchain/docstore/wikipedia.py +0 -23
- langchain/document_loaders/__init__.py +0 -553
- langchain/document_loaders/acreom.py +0 -23
- langchain/document_loaders/airbyte.py +0 -48
- langchain/document_loaders/airbyte_json.py +0 -23
- langchain/document_loaders/airtable.py +0 -23
- langchain/document_loaders/apify_dataset.py +0 -23
- langchain/document_loaders/arcgis_loader.py +0 -23
- langchain/document_loaders/arxiv.py +0 -23
- langchain/document_loaders/assemblyai.py +0 -28
- langchain/document_loaders/async_html.py +0 -23
- langchain/document_loaders/azlyrics.py +0 -23
- langchain/document_loaders/azure_ai_data.py +0 -23
- langchain/document_loaders/azure_blob_storage_container.py +0 -25
- langchain/document_loaders/azure_blob_storage_file.py +0 -25
- langchain/document_loaders/baiducloud_bos_directory.py +0 -29
- langchain/document_loaders/baiducloud_bos_file.py +0 -27
- langchain/document_loaders/base.py +0 -3
- langchain/document_loaders/base_o365.py +0 -23
- langchain/document_loaders/bibtex.py +0 -23
- langchain/document_loaders/bigquery.py +0 -23
- langchain/document_loaders/bilibili.py +0 -23
- langchain/document_loaders/blackboard.py +0 -23
- langchain/document_loaders/blob_loaders/__init__.py +0 -36
- langchain/document_loaders/blob_loaders/file_system.py +0 -23
- langchain/document_loaders/blob_loaders/schema.py +0 -29
- langchain/document_loaders/blob_loaders/youtube_audio.py +0 -23
- langchain/document_loaders/blockchain.py +0 -28
- langchain/document_loaders/brave_search.py +0 -23
- langchain/document_loaders/browserless.py +0 -23
- langchain/document_loaders/chatgpt.py +0 -28
- langchain/document_loaders/chromium.py +0 -23
- langchain/document_loaders/college_confidential.py +0 -25
- langchain/document_loaders/concurrent.py +0 -23
- langchain/document_loaders/confluence.py +0 -28
- langchain/document_loaders/conllu.py +0 -23
- langchain/document_loaders/couchbase.py +0 -23
- langchain/document_loaders/csv_loader.py +0 -27
- langchain/document_loaders/cube_semantic.py +0 -23
- langchain/document_loaders/datadog_logs.py +0 -23
- langchain/document_loaders/dataframe.py +0 -28
- langchain/document_loaders/diffbot.py +0 -23
- langchain/document_loaders/directory.py +0 -23
- langchain/document_loaders/discord.py +0 -23
- langchain/document_loaders/docugami.py +0 -23
- langchain/document_loaders/docusaurus.py +0 -23
- langchain/document_loaders/dropbox.py +0 -23
- langchain/document_loaders/duckdb_loader.py +0 -23
- langchain/document_loaders/email.py +0 -30
- langchain/document_loaders/epub.py +0 -23
- langchain/document_loaders/etherscan.py +0 -23
- langchain/document_loaders/evernote.py +0 -23
- langchain/document_loaders/excel.py +0 -23
- langchain/document_loaders/facebook_chat.py +0 -28
- langchain/document_loaders/fauna.py +0 -23
- langchain/document_loaders/figma.py +0 -23
- langchain/document_loaders/gcs_directory.py +0 -23
- langchain/document_loaders/gcs_file.py +0 -23
- langchain/document_loaders/generic.py +0 -23
- langchain/document_loaders/geodataframe.py +0 -23
- langchain/document_loaders/git.py +0 -23
- langchain/document_loaders/gitbook.py +0 -23
- langchain/document_loaders/github.py +0 -28
- langchain/document_loaders/google_speech_to_text.py +0 -23
- langchain/document_loaders/googledrive.py +0 -23
- langchain/document_loaders/gutenberg.py +0 -23
- langchain/document_loaders/helpers.py +0 -30
- langchain/document_loaders/hn.py +0 -23
- langchain/document_loaders/html.py +0 -23
- langchain/document_loaders/html_bs.py +0 -23
- langchain/document_loaders/hugging_face_dataset.py +0 -23
- langchain/document_loaders/ifixit.py +0 -23
- langchain/document_loaders/image.py +0 -23
- langchain/document_loaders/image_captions.py +0 -23
- langchain/document_loaders/imsdb.py +0 -23
- langchain/document_loaders/iugu.py +0 -23
- langchain/document_loaders/joplin.py +0 -23
- langchain/document_loaders/json_loader.py +0 -23
- langchain/document_loaders/lakefs.py +0 -33
- langchain/document_loaders/larksuite.py +0 -23
- langchain/document_loaders/markdown.py +0 -25
- langchain/document_loaders/mastodon.py +0 -23
- langchain/document_loaders/max_compute.py +0 -23
- langchain/document_loaders/mediawikidump.py +0 -23
- langchain/document_loaders/merge.py +0 -23
- langchain/document_loaders/mhtml.py +0 -23
- langchain/document_loaders/modern_treasury.py +0 -23
- langchain/document_loaders/mongodb.py +0 -23
- langchain/document_loaders/news.py +0 -23
- langchain/document_loaders/notebook.py +0 -33
- langchain/document_loaders/notion.py +0 -23
- langchain/document_loaders/notiondb.py +0 -23
- langchain/document_loaders/nuclia.py +0 -23
- langchain/document_loaders/obs_directory.py +0 -23
- langchain/document_loaders/obs_file.py +0 -23
- langchain/document_loaders/obsidian.py +0 -23
- langchain/document_loaders/odt.py +0 -23
- langchain/document_loaders/onedrive.py +0 -23
- langchain/document_loaders/onedrive_file.py +0 -23
- langchain/document_loaders/onenote.py +0 -23
- langchain/document_loaders/open_city_data.py +0 -23
- langchain/document_loaders/org_mode.py +0 -25
- langchain/document_loaders/parsers/__init__.py +0 -58
- langchain/document_loaders/parsers/audio.py +0 -33
- langchain/document_loaders/parsers/docai.py +0 -30
- langchain/document_loaders/parsers/generic.py +0 -25
- langchain/document_loaders/parsers/grobid.py +0 -30
- langchain/document_loaders/parsers/html/__init__.py +0 -25
- langchain/document_loaders/parsers/html/bs4.py +0 -25
- langchain/document_loaders/parsers/language/__init__.py +0 -29
- langchain/document_loaders/parsers/language/cobol.py +0 -27
- langchain/document_loaders/parsers/language/code_segmenter.py +0 -29
- langchain/document_loaders/parsers/language/javascript.py +0 -29
- langchain/document_loaders/parsers/language/language_parser.py +0 -29
- langchain/document_loaders/parsers/language/python.py +0 -27
- langchain/document_loaders/parsers/msword.py +0 -25
- langchain/document_loaders/parsers/pdf.py +0 -50
- langchain/document_loaders/parsers/registry.py +0 -25
- langchain/document_loaders/parsers/txt.py +0 -23
- langchain/document_loaders/pdf.py +0 -65
- langchain/document_loaders/polars_dataframe.py +0 -23
- langchain/document_loaders/powerpoint.py +0 -25
- langchain/document_loaders/psychic.py +0 -23
- langchain/document_loaders/pubmed.py +0 -23
- langchain/document_loaders/pyspark_dataframe.py +0 -26
- langchain/document_loaders/python.py +0 -22
- langchain/document_loaders/quip.py +0 -23
- langchain/document_loaders/readthedocs.py +0 -23
- langchain/document_loaders/recursive_url_loader.py +0 -23
- langchain/document_loaders/reddit.py +0 -23
- langchain/document_loaders/roam.py +0 -23
- langchain/document_loaders/rocksetdb.py +0 -23
- langchain/document_loaders/rspace.py +0 -23
- langchain/document_loaders/rss.py +0 -23
- langchain/document_loaders/rst.py +0 -23
- langchain/document_loaders/rtf.py +0 -23
- langchain/document_loaders/s3_directory.py +0 -23
- langchain/document_loaders/s3_file.py +0 -23
- langchain/document_loaders/sharepoint.py +0 -23
- langchain/document_loaders/sitemap.py +0 -23
- langchain/document_loaders/slack_directory.py +0 -23
- langchain/document_loaders/snowflake_loader.py +0 -23
- langchain/document_loaders/spreedly.py +0 -23
- langchain/document_loaders/srt.py +0 -23
- langchain/document_loaders/stripe.py +0 -23
- langchain/document_loaders/telegram.py +0 -38
- langchain/document_loaders/tencent_cos_directory.py +0 -25
- langchain/document_loaders/tencent_cos_file.py +0 -23
- langchain/document_loaders/tensorflow_datasets.py +0 -23
- langchain/document_loaders/text.py +0 -23
- langchain/document_loaders/tomarkdown.py +0 -23
- langchain/document_loaders/toml.py +0 -23
- langchain/document_loaders/trello.py +0 -23
- langchain/document_loaders/tsv.py +0 -23
- langchain/document_loaders/twitter.py +0 -23
- langchain/document_loaders/unstructured.py +0 -54
- langchain/document_loaders/url.py +0 -23
- langchain/document_loaders/url_playwright.py +0 -33
- langchain/document_loaders/url_selenium.py +0 -23
- langchain/document_loaders/weather.py +0 -23
- langchain/document_loaders/web_base.py +0 -23
- langchain/document_loaders/whatsapp_chat.py +0 -28
- langchain/document_loaders/wikipedia.py +0 -23
- langchain/document_loaders/word_document.py +0 -30
- langchain/document_loaders/xml.py +0 -23
- langchain/document_loaders/xorbits.py +0 -23
- langchain/document_loaders/youtube.py +0 -33
- langchain/document_transformers/__init__.py +0 -77
- langchain/document_transformers/beautiful_soup_transformer.py +0 -25
- langchain/document_transformers/doctran_text_extract.py +0 -25
- langchain/document_transformers/doctran_text_qa.py +0 -25
- langchain/document_transformers/doctran_text_translate.py +0 -25
- langchain/document_transformers/embeddings_redundant_filter.py +0 -50
- langchain/document_transformers/google_translate.py +0 -25
- langchain/document_transformers/html2text.py +0 -25
- langchain/document_transformers/long_context_reorder.py +0 -23
- langchain/document_transformers/nuclia_text_transform.py +0 -25
- langchain/document_transformers/openai_functions.py +0 -32
- langchain/document_transformers/xsl/html_chunks_with_headers.xslt +0 -199
- langchain/embeddings/aleph_alpha.py +0 -30
- langchain/embeddings/awa.py +0 -23
- langchain/embeddings/azure_openai.py +0 -23
- langchain/embeddings/baidu_qianfan_endpoint.py +0 -23
- langchain/embeddings/bedrock.py +0 -23
- langchain/embeddings/bookend.py +0 -23
- langchain/embeddings/cache.py +0 -368
- langchain/embeddings/clarifai.py +0 -23
- langchain/embeddings/cloudflare_workersai.py +0 -29
- langchain/embeddings/cohere.py +0 -23
- langchain/embeddings/dashscope.py +0 -23
- langchain/embeddings/databricks.py +0 -23
- langchain/embeddings/deepinfra.py +0 -23
- langchain/embeddings/edenai.py +0 -23
- langchain/embeddings/elasticsearch.py +0 -23
- langchain/embeddings/embaas.py +0 -23
- langchain/embeddings/ernie.py +0 -23
- langchain/embeddings/fake.py +0 -30
- langchain/embeddings/fastembed.py +0 -23
- langchain/embeddings/google_palm.py +0 -23
- langchain/embeddings/gpt4all.py +0 -23
- langchain/embeddings/gradient_ai.py +0 -23
- langchain/embeddings/huggingface.py +0 -36
- langchain/embeddings/huggingface_hub.py +0 -23
- langchain/embeddings/infinity.py +0 -30
- langchain/embeddings/javelin_ai_gateway.py +0 -23
- langchain/embeddings/jina.py +0 -23
- langchain/embeddings/johnsnowlabs.py +0 -23
- langchain/embeddings/llamacpp.py +0 -23
- langchain/embeddings/llm_rails.py +0 -23
- langchain/embeddings/localai.py +0 -23
- langchain/embeddings/minimax.py +0 -23
- langchain/embeddings/mlflow.py +0 -23
- langchain/embeddings/mlflow_gateway.py +0 -23
- langchain/embeddings/modelscope_hub.py +0 -23
- langchain/embeddings/mosaicml.py +0 -23
- langchain/embeddings/nlpcloud.py +0 -23
- langchain/embeddings/octoai_embeddings.py +0 -23
- langchain/embeddings/ollama.py +0 -23
- langchain/embeddings/openai.py +0 -23
- langchain/embeddings/sagemaker_endpoint.py +0 -30
- langchain/embeddings/self_hosted.py +0 -23
- langchain/embeddings/self_hosted_hugging_face.py +0 -30
- langchain/embeddings/sentence_transformer.py +0 -21
- langchain/embeddings/spacy_embeddings.py +0 -23
- langchain/embeddings/tensorflow_hub.py +0 -23
- langchain/embeddings/vertexai.py +0 -23
- langchain/embeddings/voyageai.py +0 -23
- langchain/embeddings/xinference.py +0 -23
- langchain/env.py +0 -17
- langchain/evaluation/__init__.py +0 -128
- langchain/evaluation/agents/__init__.py +0 -5
- langchain/evaluation/agents/trajectory_eval_chain.py +0 -415
- langchain/evaluation/agents/trajectory_eval_prompt.py +0 -146
- langchain/evaluation/comparison/__init__.py +0 -36
- langchain/evaluation/comparison/eval_chain.py +0 -461
- langchain/evaluation/comparison/prompt.py +0 -59
- langchain/evaluation/criteria/__init__.py +0 -56
- langchain/evaluation/criteria/eval_chain.py +0 -603
- langchain/evaluation/criteria/prompt.py +0 -37
- langchain/evaluation/embedding_distance/__init__.py +0 -13
- langchain/evaluation/embedding_distance/base.py +0 -602
- langchain/evaluation/exact_match/__init__.py +0 -0
- langchain/evaluation/exact_match/base.py +0 -97
- langchain/evaluation/loading.py +0 -206
- langchain/evaluation/parsing/__init__.py +0 -0
- langchain/evaluation/parsing/base.py +0 -162
- langchain/evaluation/parsing/json_distance.py +0 -97
- langchain/evaluation/parsing/json_schema.py +0 -100
- langchain/evaluation/qa/__init__.py +0 -10
- langchain/evaluation/qa/eval_chain.py +0 -364
- langchain/evaluation/qa/eval_prompt.py +0 -78
- langchain/evaluation/qa/generate_chain.py +0 -34
- langchain/evaluation/qa/generate_prompt.py +0 -21
- langchain/evaluation/regex_match/__init__.py +0 -0
- langchain/evaluation/regex_match/base.py +0 -86
- langchain/evaluation/schema.py +0 -491
- langchain/evaluation/scoring/__init__.py +0 -31
- langchain/evaluation/scoring/eval_chain.py +0 -475
- langchain/evaluation/scoring/prompt.py +0 -53
- langchain/evaluation/string_distance/__init__.py +0 -13
- langchain/evaluation/string_distance/base.py +0 -466
- langchain/example_generator.py +0 -5
- langchain/formatting.py +0 -5
- langchain/globals.py +0 -180
- langchain/graphs/__init__.py +0 -57
- langchain/graphs/arangodb_graph.py +0 -28
- langchain/graphs/falkordb_graph.py +0 -23
- langchain/graphs/graph_document.py +0 -33
- langchain/graphs/graph_store.py +0 -23
- langchain/graphs/hugegraph.py +0 -23
- langchain/graphs/kuzu_graph.py +0 -23
- langchain/graphs/memgraph_graph.py +0 -23
- langchain/graphs/nebula_graph.py +0 -23
- langchain/graphs/neo4j_graph.py +0 -23
- langchain/graphs/neptune_graph.py +0 -23
- langchain/graphs/networkx_graph.py +0 -36
- langchain/graphs/rdf_graph.py +0 -23
- langchain/hub.py +0 -131
- langchain/indexes/__init__.py +0 -50
- langchain/indexes/_api.py +0 -5
- langchain/indexes/_sql_record_manager.py +0 -539
- langchain/indexes/graph.py +0 -28
- langchain/indexes/prompts/__init__.py +0 -13
- langchain/indexes/prompts/entity_extraction.py +0 -39
- langchain/indexes/prompts/entity_summarization.py +0 -24
- langchain/indexes/prompts/knowledge_triplet_extraction.py +0 -36
- langchain/indexes/vectorstore.py +0 -269
- langchain/input.py +0 -15
- langchain/llms/__init__.py +0 -734
- langchain/llms/ai21.py +0 -28
- langchain/llms/aleph_alpha.py +0 -23
- langchain/llms/amazon_api_gateway.py +0 -23
- langchain/llms/anthropic.py +0 -23
- langchain/llms/anyscale.py +0 -23
- langchain/llms/arcee.py +0 -23
- langchain/llms/aviary.py +0 -23
- langchain/llms/azureml_endpoint.py +0 -48
- langchain/llms/baidu_qianfan_endpoint.py +0 -23
- langchain/llms/bananadev.py +0 -23
- langchain/llms/base.py +0 -20
- langchain/llms/baseten.py +0 -23
- langchain/llms/beam.py +0 -23
- langchain/llms/bedrock.py +0 -28
- langchain/llms/bittensor.py +0 -23
- langchain/llms/cerebriumai.py +0 -23
- langchain/llms/chatglm.py +0 -23
- langchain/llms/clarifai.py +0 -23
- langchain/llms/cloudflare_workersai.py +0 -25
- langchain/llms/cohere.py +0 -23
- langchain/llms/ctransformers.py +0 -23
- langchain/llms/ctranslate2.py +0 -23
- langchain/llms/databricks.py +0 -23
- langchain/llms/deepinfra.py +0 -23
- langchain/llms/deepsparse.py +0 -23
- langchain/llms/edenai.py +0 -23
- langchain/llms/fake.py +0 -28
- langchain/llms/fireworks.py +0 -23
- langchain/llms/forefrontai.py +0 -23
- langchain/llms/gigachat.py +0 -23
- langchain/llms/google_palm.py +0 -23
- langchain/llms/gooseai.py +0 -23
- langchain/llms/gpt4all.py +0 -23
- langchain/llms/gradient_ai.py +0 -28
- langchain/llms/grammars/json.gbnf +0 -29
- langchain/llms/grammars/list.gbnf +0 -14
- langchain/llms/huggingface_endpoint.py +0 -23
- langchain/llms/huggingface_hub.py +0 -23
- langchain/llms/huggingface_pipeline.py +0 -23
- langchain/llms/huggingface_text_gen_inference.py +0 -23
- langchain/llms/human.py +0 -23
- langchain/llms/javelin_ai_gateway.py +0 -28
- langchain/llms/koboldai.py +0 -23
- langchain/llms/llamacpp.py +0 -23
- langchain/llms/loading.py +0 -27
- langchain/llms/manifest.py +0 -23
- langchain/llms/minimax.py +0 -23
- langchain/llms/mlflow.py +0 -23
- langchain/llms/mlflow_ai_gateway.py +0 -23
- langchain/llms/modal.py +0 -23
- langchain/llms/mosaicml.py +0 -23
- langchain/llms/nlpcloud.py +0 -23
- langchain/llms/octoai_endpoint.py +0 -23
- langchain/llms/ollama.py +0 -23
- langchain/llms/opaqueprompts.py +0 -23
- langchain/llms/openai.py +0 -32
- langchain/llms/openllm.py +0 -23
- langchain/llms/openlm.py +0 -23
- langchain/llms/pai_eas_endpoint.py +0 -23
- langchain/llms/petals.py +0 -23
- langchain/llms/pipelineai.py +0 -23
- langchain/llms/predibase.py +0 -23
- langchain/llms/predictionguard.py +0 -23
- langchain/llms/promptlayer_openai.py +0 -27
- langchain/llms/replicate.py +0 -23
- langchain/llms/rwkv.py +0 -23
- langchain/llms/sagemaker_endpoint.py +0 -28
- langchain/llms/self_hosted.py +0 -23
- langchain/llms/self_hosted_hugging_face.py +0 -23
- langchain/llms/stochasticai.py +0 -23
- langchain/llms/symblai_nebula.py +0 -23
- langchain/llms/textgen.py +0 -23
- langchain/llms/titan_takeoff.py +0 -23
- langchain/llms/titan_takeoff_pro.py +0 -23
- langchain/llms/together.py +0 -23
- langchain/llms/tongyi.py +0 -23
- langchain/llms/utils.py +0 -23
- langchain/llms/vertexai.py +0 -27
- langchain/llms/vllm.py +0 -27
- langchain/llms/volcengine_maas.py +0 -28
- langchain/llms/watsonxllm.py +0 -23
- langchain/llms/writer.py +0 -23
- langchain/llms/xinference.py +0 -23
- langchain/llms/yandex.py +0 -23
- langchain/load/__init__.py +0 -11
- langchain/load/dump.py +0 -3
- langchain/load/load.py +0 -3
- langchain/load/serializable.py +0 -19
- langchain/memory/__init__.py +0 -153
- langchain/memory/buffer.py +0 -173
- langchain/memory/buffer_window.py +0 -60
- langchain/memory/chat_memory.py +0 -104
- langchain/memory/chat_message_histories/__init__.py +0 -84
- langchain/memory/chat_message_histories/astradb.py +0 -25
- langchain/memory/chat_message_histories/cassandra.py +0 -25
- langchain/memory/chat_message_histories/cosmos_db.py +0 -25
- langchain/memory/chat_message_histories/dynamodb.py +0 -25
- langchain/memory/chat_message_histories/elasticsearch.py +0 -27
- langchain/memory/chat_message_histories/file.py +0 -25
- langchain/memory/chat_message_histories/firestore.py +0 -25
- langchain/memory/chat_message_histories/in_memory.py +0 -5
- langchain/memory/chat_message_histories/momento.py +0 -25
- langchain/memory/chat_message_histories/mongodb.py +0 -25
- langchain/memory/chat_message_histories/neo4j.py +0 -25
- langchain/memory/chat_message_histories/postgres.py +0 -25
- langchain/memory/chat_message_histories/redis.py +0 -25
- langchain/memory/chat_message_histories/rocksetdb.py +0 -25
- langchain/memory/chat_message_histories/singlestoredb.py +0 -27
- langchain/memory/chat_message_histories/sql.py +0 -33
- langchain/memory/chat_message_histories/streamlit.py +0 -25
- langchain/memory/chat_message_histories/upstash_redis.py +0 -27
- langchain/memory/chat_message_histories/xata.py +0 -25
- langchain/memory/chat_message_histories/zep.py +0 -25
- langchain/memory/combined.py +0 -85
- langchain/memory/entity.py +0 -564
- langchain/memory/kg.py +0 -23
- langchain/memory/motorhead_memory.py +0 -23
- langchain/memory/prompt.py +0 -164
- langchain/memory/readonly.py +0 -24
- langchain/memory/simple.py +0 -24
- langchain/memory/summary.py +0 -140
- langchain/memory/summary_buffer.py +0 -148
- langchain/memory/token_buffer.py +0 -72
- langchain/memory/utils.py +0 -21
- langchain/memory/vectorstore.py +0 -120
- langchain/memory/vectorstore_token_buffer_memory.py +0 -184
- langchain/memory/zep_memory.py +0 -23
- langchain/model_laboratory.py +0 -99
- langchain/output_parsers/__init__.py +0 -87
- langchain/output_parsers/boolean.py +0 -54
- langchain/output_parsers/combining.py +0 -57
- langchain/output_parsers/datetime.py +0 -58
- langchain/output_parsers/enum.py +0 -41
- langchain/output_parsers/ernie_functions.py +0 -45
- langchain/output_parsers/fix.py +0 -148
- langchain/output_parsers/format_instructions.py +0 -79
- langchain/output_parsers/json.py +0 -15
- langchain/output_parsers/list.py +0 -13
- langchain/output_parsers/loading.py +0 -22
- langchain/output_parsers/openai_functions.py +0 -13
- langchain/output_parsers/openai_tools.py +0 -7
- langchain/output_parsers/pandas_dataframe.py +0 -156
- langchain/output_parsers/prompts.py +0 -21
- langchain/output_parsers/pydantic.py +0 -3
- langchain/output_parsers/rail_parser.py +0 -25
- langchain/output_parsers/regex.py +0 -39
- langchain/output_parsers/regex_dict.py +0 -43
- langchain/output_parsers/retry.py +0 -296
- langchain/output_parsers/structured.py +0 -106
- langchain/output_parsers/xml.py +0 -3
- langchain/output_parsers/yaml.py +0 -73
- langchain/prompts/__init__.py +0 -102
- langchain/prompts/base.py +0 -21
- langchain/prompts/chat.py +0 -37
- langchain/prompts/example_selector/__init__.py +0 -42
- langchain/prompts/example_selector/base.py +0 -3
- langchain/prompts/example_selector/length_based.py +0 -5
- langchain/prompts/example_selector/ngram_overlap.py +0 -32
- langchain/prompts/example_selector/semantic_similarity.py +0 -11
- langchain/prompts/few_shot.py +0 -11
- langchain/prompts/few_shot_with_templates.py +0 -3
- langchain/prompts/loading.py +0 -23
- langchain/prompts/pipeline.py +0 -3
- langchain/prompts/prompt.py +0 -6
- langchain/pydantic_v1/__init__.py +0 -38
- langchain/pydantic_v1/dataclasses.py +0 -20
- langchain/pydantic_v1/main.py +0 -20
- langchain/python.py +0 -19
- langchain/requests.py +0 -35
- langchain/retrievers/__init__.py +0 -178
- langchain/retrievers/arcee.py +0 -23
- langchain/retrievers/arxiv.py +0 -23
- langchain/retrievers/azure_ai_search.py +0 -30
- langchain/retrievers/bedrock.py +0 -33
- langchain/retrievers/bm25.py +0 -28
- langchain/retrievers/chaindesk.py +0 -23
- langchain/retrievers/chatgpt_plugin_retriever.py +0 -23
- langchain/retrievers/cohere_rag_retriever.py +0 -23
- langchain/retrievers/contextual_compression.py +0 -81
- langchain/retrievers/databerry.py +0 -23
- langchain/retrievers/docarray.py +0 -28
- langchain/retrievers/document_compressors/__init__.py +0 -44
- langchain/retrievers/document_compressors/base.py +0 -82
- langchain/retrievers/document_compressors/chain_extract.py +0 -121
- langchain/retrievers/document_compressors/chain_extract_prompt.py +0 -10
- langchain/retrievers/document_compressors/chain_filter.py +0 -133
- langchain/retrievers/document_compressors/chain_filter_prompt.py +0 -8
- langchain/retrievers/document_compressors/cohere_rerank.py +0 -124
- langchain/retrievers/document_compressors/cross_encoder.py +0 -16
- langchain/retrievers/document_compressors/cross_encoder_rerank.py +0 -48
- langchain/retrievers/document_compressors/embeddings_filter.py +0 -137
- langchain/retrievers/document_compressors/flashrank_rerank.py +0 -27
- langchain/retrievers/document_compressors/listwise_rerank.py +0 -144
- langchain/retrievers/elastic_search_bm25.py +0 -23
- langchain/retrievers/embedchain.py +0 -23
- langchain/retrievers/ensemble.py +0 -336
- langchain/retrievers/google_cloud_documentai_warehouse.py +0 -25
- langchain/retrievers/google_vertex_ai_search.py +0 -33
- langchain/retrievers/kay.py +0 -23
- langchain/retrievers/kendra.py +0 -66
- langchain/retrievers/knn.py +0 -23
- langchain/retrievers/llama_index.py +0 -30
- langchain/retrievers/merger_retriever.py +0 -123
- langchain/retrievers/metal.py +0 -23
- langchain/retrievers/milvus.py +0 -28
- langchain/retrievers/multi_query.py +0 -231
- langchain/retrievers/multi_vector.py +0 -132
- langchain/retrievers/outline.py +0 -23
- langchain/retrievers/parent_document_retriever.py +0 -157
- langchain/retrievers/pinecone_hybrid_search.py +0 -23
- langchain/retrievers/pubmed.py +0 -23
- langchain/retrievers/pupmed.py +0 -23
- langchain/retrievers/re_phraser.py +0 -89
- langchain/retrievers/remote_retriever.py +0 -23
- langchain/retrievers/self_query/__init__.py +0 -0
- langchain/retrievers/self_query/astradb.py +0 -23
- langchain/retrievers/self_query/base.py +0 -397
- langchain/retrievers/self_query/chroma.py +0 -23
- langchain/retrievers/self_query/dashvector.py +0 -23
- langchain/retrievers/self_query/databricks_vector_search.py +0 -27
- langchain/retrievers/self_query/deeplake.py +0 -27
- langchain/retrievers/self_query/dingo.py +0 -23
- langchain/retrievers/self_query/elasticsearch.py +0 -25
- langchain/retrievers/self_query/milvus.py +0 -27
- langchain/retrievers/self_query/mongodb_atlas.py +0 -25
- langchain/retrievers/self_query/myscale.py +0 -23
- langchain/retrievers/self_query/opensearch.py +0 -23
- langchain/retrievers/self_query/pgvector.py +0 -23
- langchain/retrievers/self_query/pinecone.py +0 -23
- langchain/retrievers/self_query/qdrant.py +0 -23
- langchain/retrievers/self_query/redis.py +0 -23
- langchain/retrievers/self_query/supabase.py +0 -23
- langchain/retrievers/self_query/tencentvectordb.py +0 -27
- langchain/retrievers/self_query/timescalevector.py +0 -27
- langchain/retrievers/self_query/vectara.py +0 -27
- langchain/retrievers/self_query/weaviate.py +0 -23
- langchain/retrievers/svm.py +0 -23
- langchain/retrievers/tavily_search_api.py +0 -28
- langchain/retrievers/tfidf.py +0 -23
- langchain/retrievers/time_weighted_retriever.py +0 -193
- langchain/retrievers/vespa_retriever.py +0 -23
- langchain/retrievers/weaviate_hybrid_search.py +0 -23
- langchain/retrievers/web_research.py +0 -29
- langchain/retrievers/wikipedia.py +0 -23
- langchain/retrievers/you.py +0 -23
- langchain/retrievers/zep.py +0 -30
- langchain/retrievers/zilliz.py +0 -28
- langchain/runnables/__init__.py +0 -18
- langchain/runnables/hub.py +0 -32
- langchain/runnables/openai_functions.py +0 -51
- langchain/schema/__init__.py +0 -82
- langchain/schema/agent.py +0 -3
- langchain/schema/cache.py +0 -3
- langchain/schema/callbacks/__init__.py +0 -0
- langchain/schema/callbacks/base.py +0 -23
- langchain/schema/callbacks/manager.py +0 -55
- langchain/schema/callbacks/stdout.py +0 -3
- langchain/schema/callbacks/streaming_stdout.py +0 -3
- langchain/schema/callbacks/tracers/__init__.py +0 -0
- langchain/schema/callbacks/tracers/base.py +0 -4
- langchain/schema/callbacks/tracers/evaluation.py +0 -6
- langchain/schema/callbacks/tracers/langchain.py +0 -8
- langchain/schema/callbacks/tracers/langchain_v1.py +0 -3
- langchain/schema/callbacks/tracers/log_stream.py +0 -9
- langchain/schema/callbacks/tracers/root_listeners.py +0 -3
- langchain/schema/callbacks/tracers/run_collector.py +0 -3
- langchain/schema/callbacks/tracers/schemas.py +0 -27
- langchain/schema/callbacks/tracers/stdout.py +0 -13
- langchain/schema/chat.py +0 -3
- langchain/schema/chat_history.py +0 -3
- langchain/schema/document.py +0 -3
- langchain/schema/embeddings.py +0 -3
- langchain/schema/exceptions.py +0 -3
- langchain/schema/language_model.py +0 -15
- langchain/schema/memory.py +0 -3
- langchain/schema/messages.py +0 -51
- langchain/schema/output.py +0 -19
- langchain/schema/output_parser.py +0 -25
- langchain/schema/prompt.py +0 -3
- langchain/schema/prompt_template.py +0 -3
- langchain/schema/retriever.py +0 -3
- langchain/schema/runnable/__init__.py +0 -58
- langchain/schema/runnable/base.py +0 -38
- langchain/schema/runnable/branch.py +0 -3
- langchain/schema/runnable/config.py +0 -27
- langchain/schema/runnable/configurable.py +0 -15
- langchain/schema/runnable/fallbacks.py +0 -3
- langchain/schema/runnable/history.py +0 -11
- langchain/schema/runnable/passthrough.py +0 -8
- langchain/schema/runnable/retry.py +0 -3
- langchain/schema/runnable/router.py +0 -3
- langchain/schema/runnable/utils.py +0 -51
- langchain/schema/storage.py +0 -3
- langchain/schema/vectorstore.py +0 -3
- langchain/serpapi.py +0 -25
- langchain/smith/__init__.py +0 -102
- langchain/smith/evaluation/__init__.py +0 -68
- langchain/smith/evaluation/config.py +0 -382
- langchain/smith/evaluation/name_generation.py +0 -727
- langchain/smith/evaluation/progress.py +0 -137
- langchain/smith/evaluation/runner_utils.py +0 -1572
- langchain/smith/evaluation/string_run_evaluator.py +0 -440
- langchain/smith/evaluation/utils.py +0 -0
- langchain/sql_database.py +0 -25
- langchain/storage/__init__.py +0 -57
- langchain/storage/_lc_store.py +0 -91
- langchain/storage/encoder_backed.py +0 -127
- langchain/storage/exceptions.py +0 -3
- langchain/storage/file_system.py +0 -176
- langchain/storage/in_memory.py +0 -13
- langchain/storage/redis.py +0 -23
- langchain/storage/upstash_redis.py +0 -27
- langchain/text_splitter.py +0 -50
- langchain/tools/ainetwork/__init__.py +0 -0
- langchain/tools/ainetwork/app.py +0 -30
- langchain/tools/ainetwork/base.py +0 -27
- langchain/tools/ainetwork/owner.py +0 -28
- langchain/tools/ainetwork/rule.py +0 -28
- langchain/tools/ainetwork/transfer.py +0 -28
- langchain/tools/ainetwork/value.py +0 -28
- langchain/tools/amadeus/__init__.py +0 -30
- langchain/tools/amadeus/base.py +0 -23
- langchain/tools/amadeus/closest_airport.py +0 -30
- langchain/tools/amadeus/flight_search.py +0 -30
- langchain/tools/arxiv/__init__.py +0 -1
- langchain/tools/arxiv/tool.py +0 -28
- langchain/tools/azure_cognitive_services/__init__.py +0 -41
- langchain/tools/azure_cognitive_services/form_recognizer.py +0 -23
- langchain/tools/azure_cognitive_services/image_analysis.py +0 -23
- langchain/tools/azure_cognitive_services/speech2text.py +0 -23
- langchain/tools/azure_cognitive_services/text2speech.py +0 -23
- langchain/tools/azure_cognitive_services/text_analytics_health.py +0 -23
- langchain/tools/base.py +0 -19
- langchain/tools/bearly/__init__.py +0 -0
- langchain/tools/bearly/tool.py +0 -33
- langchain/tools/bing_search/__init__.py +0 -29
- langchain/tools/bing_search/tool.py +0 -27
- langchain/tools/brave_search/__init__.py +0 -0
- langchain/tools/brave_search/tool.py +0 -23
- langchain/tools/clickup/__init__.py +0 -0
- langchain/tools/clickup/tool.py +0 -23
- langchain/tools/convert_to_openai.py +0 -4
- langchain/tools/dataforseo_api_search/__init__.py +0 -34
- langchain/tools/dataforseo_api_search/tool.py +0 -32
- langchain/tools/ddg_search/__init__.py +0 -25
- langchain/tools/ddg_search/tool.py +0 -32
- langchain/tools/e2b_data_analysis/__init__.py +0 -0
- langchain/tools/e2b_data_analysis/tool.py +0 -33
- langchain/tools/edenai/__init__.py +0 -50
- langchain/tools/edenai/audio_speech_to_text.py +0 -23
- langchain/tools/edenai/audio_text_to_speech.py +0 -23
- langchain/tools/edenai/edenai_base_tool.py +0 -23
- langchain/tools/edenai/image_explicitcontent.py +0 -23
- langchain/tools/edenai/image_objectdetection.py +0 -23
- langchain/tools/edenai/ocr_identityparser.py +0 -23
- langchain/tools/edenai/ocr_invoiceparser.py +0 -23
- langchain/tools/edenai/text_moderation.py +0 -23
- langchain/tools/eleven_labs/__init__.py +0 -25
- langchain/tools/eleven_labs/models.py +0 -23
- langchain/tools/eleven_labs/text2speech.py +0 -23
- langchain/tools/file_management/__init__.py +0 -47
- langchain/tools/file_management/copy.py +0 -28
- langchain/tools/file_management/delete.py +0 -28
- langchain/tools/file_management/file_search.py +0 -28
- langchain/tools/file_management/list_dir.py +0 -28
- langchain/tools/file_management/move.py +0 -28
- langchain/tools/file_management/read.py +0 -28
- langchain/tools/file_management/write.py +0 -28
- langchain/tools/github/__init__.py +0 -1
- langchain/tools/github/tool.py +0 -23
- langchain/tools/gitlab/__init__.py +0 -1
- langchain/tools/gitlab/tool.py +0 -23
- langchain/tools/gmail/__init__.py +0 -41
- langchain/tools/gmail/base.py +0 -23
- langchain/tools/gmail/create_draft.py +0 -28
- langchain/tools/gmail/get_message.py +0 -28
- langchain/tools/gmail/get_thread.py +0 -28
- langchain/tools/gmail/search.py +0 -30
- langchain/tools/gmail/send_message.py +0 -28
- langchain/tools/golden_query/__init__.py +0 -25
- langchain/tools/golden_query/tool.py +0 -23
- langchain/tools/google_cloud/__init__.py +0 -25
- langchain/tools/google_cloud/texttospeech.py +0 -23
- langchain/tools/google_finance/__init__.py +0 -27
- langchain/tools/google_finance/tool.py +0 -25
- langchain/tools/google_jobs/__init__.py +0 -25
- langchain/tools/google_jobs/tool.py +0 -23
- langchain/tools/google_lens/__init__.py +0 -25
- langchain/tools/google_lens/tool.py +0 -23
- langchain/tools/google_places/__init__.py +0 -25
- langchain/tools/google_places/tool.py +0 -28
- langchain/tools/google_scholar/__init__.py +0 -27
- langchain/tools/google_scholar/tool.py +0 -25
- langchain/tools/google_search/__init__.py +0 -29
- langchain/tools/google_search/tool.py +0 -27
- langchain/tools/google_serper/__init__.py +0 -30
- langchain/tools/google_serper/tool.py +0 -27
- langchain/tools/google_trends/__init__.py +0 -27
- langchain/tools/google_trends/tool.py +0 -25
- langchain/tools/graphql/__init__.py +0 -1
- langchain/tools/graphql/tool.py +0 -23
- langchain/tools/human/__init__.py +0 -25
- langchain/tools/human/tool.py +0 -23
- langchain/tools/ifttt.py +0 -23
- langchain/tools/interaction/__init__.py +0 -1
- langchain/tools/interaction/tool.py +0 -23
- langchain/tools/jira/__init__.py +0 -1
- langchain/tools/jira/tool.py +0 -42
- langchain/tools/json/__init__.py +0 -1
- langchain/tools/json/tool.py +0 -52
- langchain/tools/memorize/__init__.py +0 -25
- langchain/tools/memorize/tool.py +0 -27
- langchain/tools/merriam_webster/__init__.py +0 -1
- langchain/tools/merriam_webster/tool.py +0 -23
- langchain/tools/metaphor_search/__init__.py +0 -25
- langchain/tools/metaphor_search/tool.py +0 -23
- langchain/tools/multion/__init__.py +0 -33
- langchain/tools/multion/close_session.py +0 -30
- langchain/tools/multion/create_session.py +0 -30
- langchain/tools/multion/update_session.py +0 -30
- langchain/tools/nasa/__init__.py +0 -0
- langchain/tools/nasa/tool.py +0 -23
- langchain/tools/nuclia/__init__.py +0 -23
- langchain/tools/nuclia/tool.py +0 -27
- langchain/tools/office365/__init__.py +0 -41
- langchain/tools/office365/base.py +0 -23
- langchain/tools/office365/create_draft_message.py +0 -32
- langchain/tools/office365/events_search.py +0 -28
- langchain/tools/office365/messages_search.py +0 -28
- langchain/tools/office365/send_event.py +0 -28
- langchain/tools/office365/send_message.py +0 -28
- langchain/tools/openapi/__init__.py +0 -0
- langchain/tools/openapi/utils/__init__.py +0 -0
- langchain/tools/openapi/utils/api_models.py +0 -54
- langchain/tools/openapi/utils/openapi_utils.py +0 -30
- langchain/tools/openweathermap/__init__.py +0 -25
- langchain/tools/openweathermap/tool.py +0 -23
- langchain/tools/playwright/__init__.py +0 -47
- langchain/tools/playwright/base.py +0 -23
- langchain/tools/playwright/click.py +0 -28
- langchain/tools/playwright/current_page.py +0 -23
- langchain/tools/playwright/extract_hyperlinks.py +0 -32
- langchain/tools/playwright/extract_text.py +0 -23
- langchain/tools/playwright/get_elements.py +0 -28
- langchain/tools/playwright/navigate.py +0 -28
- langchain/tools/playwright/navigate_back.py +0 -23
- langchain/tools/plugin.py +0 -32
- langchain/tools/powerbi/__init__.py +0 -1
- langchain/tools/powerbi/tool.py +0 -33
- langchain/tools/pubmed/__init__.py +0 -1
- langchain/tools/pubmed/tool.py +0 -23
- langchain/tools/python/__init__.py +0 -13
- langchain/tools/reddit_search/__init__.py +0 -0
- langchain/tools/reddit_search/tool.py +0 -27
- langchain/tools/render.py +0 -23
- langchain/tools/requests/__init__.py +0 -1
- langchain/tools/requests/tool.py +0 -42
- langchain/tools/retriever.py +0 -11
- langchain/tools/scenexplain/__init__.py +0 -1
- langchain/tools/scenexplain/tool.py +0 -28
- langchain/tools/searchapi/__init__.py +0 -30
- langchain/tools/searchapi/tool.py +0 -27
- langchain/tools/searx_search/__init__.py +0 -0
- langchain/tools/searx_search/tool.py +0 -27
- langchain/tools/shell/__init__.py +0 -25
- langchain/tools/shell/tool.py +0 -28
- langchain/tools/slack/__init__.py +0 -38
- langchain/tools/slack/base.py +0 -23
- langchain/tools/slack/get_channel.py +0 -23
- langchain/tools/slack/get_message.py +0 -28
- langchain/tools/slack/schedule_message.py +0 -28
- langchain/tools/slack/send_message.py +0 -28
- langchain/tools/sleep/__init__.py +0 -1
- langchain/tools/sleep/tool.py +0 -28
- langchain/tools/spark_sql/__init__.py +0 -1
- langchain/tools/spark_sql/tool.py +0 -39
- langchain/tools/sql_database/__init__.py +0 -1
- langchain/tools/sql_database/prompt.py +0 -24
- langchain/tools/sql_database/tool.py +0 -39
- langchain/tools/stackexchange/__init__.py +0 -1
- langchain/tools/stackexchange/tool.py +0 -23
- langchain/tools/steam/__init__.py +0 -1
- langchain/tools/steam/tool.py +0 -23
- langchain/tools/steamship_image_generation/__init__.py +0 -25
- langchain/tools/steamship_image_generation/tool.py +0 -28
- langchain/tools/tavily_search/__init__.py +0 -32
- langchain/tools/tavily_search/tool.py +0 -33
- langchain/tools/vectorstore/__init__.py +0 -1
- langchain/tools/vectorstore/tool.py +0 -30
- langchain/tools/wikipedia/__init__.py +0 -1
- langchain/tools/wikipedia/tool.py +0 -23
- langchain/tools/wolfram_alpha/__init__.py +0 -25
- langchain/tools/wolfram_alpha/tool.py +0 -23
- langchain/tools/yahoo_finance_news.py +0 -23
- langchain/tools/youtube/__init__.py +0 -0
- langchain/tools/youtube/search.py +0 -23
- langchain/tools/zapier/__init__.py +0 -29
- langchain/tools/zapier/tool.py +0 -49
- langchain/utilities/__init__.py +0 -168
- langchain/utilities/alpha_vantage.py +0 -23
- langchain/utilities/anthropic.py +0 -30
- langchain/utilities/apify.py +0 -23
- langchain/utilities/arcee.py +0 -45
- langchain/utilities/arxiv.py +0 -23
- langchain/utilities/asyncio.py +0 -11
- langchain/utilities/awslambda.py +0 -23
- langchain/utilities/bibtex.py +0 -23
- langchain/utilities/bing_search.py +0 -23
- langchain/utilities/brave_search.py +0 -23
- langchain/utilities/clickup.py +0 -45
- langchain/utilities/dalle_image_generator.py +0 -25
- langchain/utilities/dataforseo_api_search.py +0 -25
- langchain/utilities/duckduckgo_search.py +0 -23
- langchain/utilities/github.py +0 -23
- langchain/utilities/gitlab.py +0 -23
- langchain/utilities/golden_query.py +0 -23
- langchain/utilities/google_finance.py +0 -23
- langchain/utilities/google_jobs.py +0 -23
- langchain/utilities/google_lens.py +0 -23
- langchain/utilities/google_places_api.py +0 -23
- langchain/utilities/google_scholar.py +0 -23
- langchain/utilities/google_search.py +0 -23
- langchain/utilities/google_serper.py +0 -23
- langchain/utilities/google_trends.py +0 -23
- langchain/utilities/graphql.py +0 -23
- langchain/utilities/jira.py +0 -23
- langchain/utilities/loading.py +0 -4
- langchain/utilities/max_compute.py +0 -23
- langchain/utilities/merriam_webster.py +0 -23
- langchain/utilities/metaphor_search.py +0 -23
- langchain/utilities/nasa.py +0 -23
- langchain/utilities/opaqueprompts.py +0 -27
- langchain/utilities/openapi.py +0 -28
- langchain/utilities/openweathermap.py +0 -23
- langchain/utilities/outline.py +0 -23
- langchain/utilities/portkey.py +0 -23
- langchain/utilities/powerbi.py +0 -23
- langchain/utilities/pubmed.py +0 -23
- langchain/utilities/python.py +0 -19
- langchain/utilities/reddit_search.py +0 -25
- langchain/utilities/redis.py +0 -33
- langchain/utilities/requests.py +0 -27
- langchain/utilities/scenexplain.py +0 -23
- langchain/utilities/searchapi.py +0 -23
- langchain/utilities/searx_search.py +0 -28
- langchain/utilities/serpapi.py +0 -28
- langchain/utilities/spark_sql.py +0 -23
- langchain/utilities/sql_database.py +0 -28
- langchain/utilities/stackexchange.py +0 -23
- langchain/utilities/steam.py +0 -23
- langchain/utilities/tavily_search.py +0 -25
- langchain/utilities/tensorflow_datasets.py +0 -23
- langchain/utilities/twilio.py +0 -23
- langchain/utilities/vertexai.py +0 -36
- langchain/utilities/wikipedia.py +0 -23
- langchain/utilities/wolfram_alpha.py +0 -23
- langchain/utilities/zapier.py +0 -23
- langchain/utils/__init__.py +0 -77
- langchain/utils/aiter.py +0 -3
- langchain/utils/env.py +0 -3
- langchain/utils/ernie_functions.py +0 -36
- langchain/utils/formatting.py +0 -3
- langchain/utils/html.py +0 -19
- langchain/utils/input.py +0 -8
- langchain/utils/iter.py +0 -3
- langchain/utils/json_schema.py +0 -11
- langchain/utils/loading.py +0 -3
- langchain/utils/math.py +0 -32
- langchain/utils/openai.py +0 -23
- langchain/utils/openai_functions.py +0 -13
- langchain/utils/pydantic.py +0 -3
- langchain/utils/strings.py +0 -3
- langchain/utils/utils.py +0 -21
- langchain/vectorstores/__init__.py +0 -262
- langchain/vectorstores/alibabacloud_opensearch.py +0 -30
- langchain/vectorstores/analyticdb.py +0 -23
- langchain/vectorstores/annoy.py +0 -23
- langchain/vectorstores/astradb.py +0 -23
- langchain/vectorstores/atlas.py +0 -23
- langchain/vectorstores/awadb.py +0 -23
- langchain/vectorstores/azure_cosmos_db.py +0 -28
- langchain/vectorstores/azuresearch.py +0 -30
- langchain/vectorstores/bageldb.py +0 -23
- langchain/vectorstores/baiducloud_vector_search.py +0 -23
- langchain/vectorstores/base.py +0 -3
- langchain/vectorstores/cassandra.py +0 -23
- langchain/vectorstores/chroma.py +0 -23
- langchain/vectorstores/clarifai.py +0 -23
- langchain/vectorstores/clickhouse.py +0 -27
- langchain/vectorstores/dashvector.py +0 -23
- langchain/vectorstores/databricks_vector_search.py +0 -23
- langchain/vectorstores/deeplake.py +0 -23
- langchain/vectorstores/dingo.py +0 -23
- langchain/vectorstores/docarray/__init__.py +0 -30
- langchain/vectorstores/docarray/base.py +0 -23
- langchain/vectorstores/docarray/hnsw.py +0 -23
- langchain/vectorstores/docarray/in_memory.py +0 -23
- langchain/vectorstores/elastic_vector_search.py +0 -27
- langchain/vectorstores/elasticsearch.py +0 -39
- langchain/vectorstores/epsilla.py +0 -23
- langchain/vectorstores/faiss.py +0 -23
- langchain/vectorstores/hippo.py +0 -23
- langchain/vectorstores/hologres.py +0 -23
- langchain/vectorstores/lancedb.py +0 -23
- langchain/vectorstores/llm_rails.py +0 -28
- langchain/vectorstores/marqo.py +0 -23
- langchain/vectorstores/matching_engine.py +0 -23
- langchain/vectorstores/meilisearch.py +0 -23
- langchain/vectorstores/milvus.py +0 -23
- langchain/vectorstores/momento_vector_index.py +0 -23
- langchain/vectorstores/mongodb_atlas.py +0 -23
- langchain/vectorstores/myscale.py +0 -30
- langchain/vectorstores/neo4j_vector.py +0 -28
- langchain/vectorstores/nucliadb.py +0 -23
- langchain/vectorstores/opensearch_vector_search.py +0 -23
- langchain/vectorstores/pgembedding.py +0 -36
- langchain/vectorstores/pgvecto_rs.py +0 -23
- langchain/vectorstores/pgvector.py +0 -28
- langchain/vectorstores/pinecone.py +0 -23
- langchain/vectorstores/qdrant.py +0 -28
- langchain/vectorstores/redis/__init__.py +0 -42
- langchain/vectorstores/redis/base.py +0 -33
- langchain/vectorstores/redis/filters.py +0 -48
- langchain/vectorstores/redis/schema.py +0 -54
- langchain/vectorstores/rocksetdb.py +0 -23
- langchain/vectorstores/scann.py +0 -23
- langchain/vectorstores/semadb.py +0 -23
- langchain/vectorstores/singlestoredb.py +0 -23
- langchain/vectorstores/sklearn.py +0 -42
- langchain/vectorstores/sqlitevss.py +0 -23
- langchain/vectorstores/starrocks.py +0 -28
- langchain/vectorstores/supabase.py +0 -23
- langchain/vectorstores/tair.py +0 -23
- langchain/vectorstores/tencentvectordb.py +0 -33
- langchain/vectorstores/tigris.py +0 -23
- langchain/vectorstores/tiledb.py +0 -23
- langchain/vectorstores/timescalevector.py +0 -23
- langchain/vectorstores/typesense.py +0 -23
- langchain/vectorstores/usearch.py +0 -23
- langchain/vectorstores/utils.py +0 -33
- langchain/vectorstores/vald.py +0 -23
- langchain/vectorstores/vearch.py +0 -23
- langchain/vectorstores/vectara.py +0 -28
- langchain/vectorstores/vespa.py +0 -23
- langchain/vectorstores/weaviate.py +0 -23
- langchain/vectorstores/xata.py +0 -23
- langchain/vectorstores/yellowbrick.py +0 -23
- langchain/vectorstores/zep.py +0 -28
- langchain/vectorstores/zilliz.py +0 -23
- langchain-0.3.27.dist-info/METADATA +0 -144
- langchain-0.3.27.dist-info/RECORD +0 -1342
- langchain-0.3.27.dist-info/entry_points.txt +0 -4
- {langchain-0.3.27.dist-info → langchain-1.0.0.dist-info}/licenses/LICENSE +0 -0
langchain/chat_models/base.py
CHANGED
|
@@ -1,74 +1,61 @@
|
|
|
1
|
+
"""Factory functions for chat models."""
|
|
2
|
+
|
|
1
3
|
from __future__ import annotations
|
|
2
4
|
|
|
3
5
|
import warnings
|
|
4
|
-
from collections.abc import AsyncIterator, Iterator, Sequence
|
|
5
6
|
from importlib import util
|
|
6
7
|
from typing import (
|
|
8
|
+
TYPE_CHECKING,
|
|
7
9
|
Any,
|
|
8
|
-
Callable,
|
|
9
10
|
Literal,
|
|
10
|
-
|
|
11
|
-
Union,
|
|
11
|
+
TypeAlias,
|
|
12
12
|
cast,
|
|
13
13
|
overload,
|
|
14
14
|
)
|
|
15
15
|
|
|
16
|
-
from langchain_core.language_models import
|
|
17
|
-
|
|
18
|
-
LanguageModelInput,
|
|
19
|
-
SimpleChatModel,
|
|
20
|
-
)
|
|
21
|
-
from langchain_core.language_models.chat_models import (
|
|
22
|
-
agenerate_from_stream,
|
|
23
|
-
generate_from_stream,
|
|
24
|
-
)
|
|
25
|
-
from langchain_core.messages import AnyMessage, BaseMessage
|
|
16
|
+
from langchain_core.language_models import BaseChatModel, LanguageModelInput
|
|
17
|
+
from langchain_core.messages import AIMessage, AnyMessage
|
|
26
18
|
from langchain_core.runnables import Runnable, RunnableConfig, ensure_config
|
|
27
|
-
from
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
from
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"SimpleChatModel",
|
|
37
|
-
"agenerate_from_stream",
|
|
38
|
-
"generate_from_stream",
|
|
39
|
-
"init_chat_model",
|
|
40
|
-
]
|
|
19
|
+
from typing_extensions import override
|
|
20
|
+
|
|
21
|
+
if TYPE_CHECKING:
|
|
22
|
+
from collections.abc import AsyncIterator, Callable, Iterator, Sequence
|
|
23
|
+
|
|
24
|
+
from langchain_core.runnables.schema import StreamEvent
|
|
25
|
+
from langchain_core.tools import BaseTool
|
|
26
|
+
from langchain_core.tracers import RunLog, RunLogPatch
|
|
27
|
+
from pydantic import BaseModel
|
|
41
28
|
|
|
42
29
|
|
|
43
30
|
@overload
|
|
44
31
|
def init_chat_model(
|
|
45
32
|
model: str,
|
|
46
33
|
*,
|
|
47
|
-
model_provider:
|
|
48
|
-
configurable_fields:
|
|
49
|
-
config_prefix:
|
|
34
|
+
model_provider: str | None = None,
|
|
35
|
+
configurable_fields: None = None,
|
|
36
|
+
config_prefix: str | None = None,
|
|
50
37
|
**kwargs: Any,
|
|
51
38
|
) -> BaseChatModel: ...
|
|
52
39
|
|
|
53
40
|
|
|
54
41
|
@overload
|
|
55
42
|
def init_chat_model(
|
|
56
|
-
model:
|
|
43
|
+
model: None = None,
|
|
57
44
|
*,
|
|
58
|
-
model_provider:
|
|
59
|
-
configurable_fields:
|
|
60
|
-
config_prefix:
|
|
45
|
+
model_provider: str | None = None,
|
|
46
|
+
configurable_fields: None = None,
|
|
47
|
+
config_prefix: str | None = None,
|
|
61
48
|
**kwargs: Any,
|
|
62
49
|
) -> _ConfigurableModel: ...
|
|
63
50
|
|
|
64
51
|
|
|
65
52
|
@overload
|
|
66
53
|
def init_chat_model(
|
|
67
|
-
model:
|
|
54
|
+
model: str | None = None,
|
|
68
55
|
*,
|
|
69
|
-
model_provider:
|
|
70
|
-
configurable_fields:
|
|
71
|
-
config_prefix:
|
|
56
|
+
model_provider: str | None = None,
|
|
57
|
+
configurable_fields: Literal["any"] | list[str] | tuple[str, ...] = ...,
|
|
58
|
+
config_prefix: str | None = None,
|
|
72
59
|
**kwargs: Any,
|
|
73
60
|
) -> _ConfigurableModel: ...
|
|
74
61
|
|
|
@@ -77,236 +64,216 @@ def init_chat_model(
|
|
|
77
64
|
# name to the supported list in the docstring below. Do *not* change the order of the
|
|
78
65
|
# existing providers.
|
|
79
66
|
def init_chat_model(
|
|
80
|
-
model:
|
|
67
|
+
model: str | None = None,
|
|
81
68
|
*,
|
|
82
|
-
model_provider:
|
|
83
|
-
configurable_fields:
|
|
84
|
-
|
|
85
|
-
] = None,
|
|
86
|
-
config_prefix: Optional[str] = None,
|
|
69
|
+
model_provider: str | None = None,
|
|
70
|
+
configurable_fields: Literal["any"] | list[str] | tuple[str, ...] | None = None,
|
|
71
|
+
config_prefix: str | None = None,
|
|
87
72
|
**kwargs: Any,
|
|
88
|
-
) ->
|
|
89
|
-
"""Initialize a
|
|
73
|
+
) -> BaseChatModel | _ConfigurableModel:
|
|
74
|
+
"""Initialize a chat model in a single line using the model's name and provider.
|
|
90
75
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
76
|
+
!!! note
|
|
77
|
+
Requires the integration package for your model provider to be installed.
|
|
78
|
+
|
|
79
|
+
See the `model_provider` parameter below for specific package names
|
|
80
|
+
(e.g., `pip install langchain-openai`).
|
|
81
|
+
|
|
82
|
+
Refer to the [provider integration's API reference](https://docs.langchain.com/oss/python/integrations/providers)
|
|
83
|
+
for supported model parameters.
|
|
95
84
|
|
|
96
85
|
Args:
|
|
97
|
-
model: The name of the model, e.g.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
|
|
126
|
-
|
|
86
|
+
model: The name of the model, e.g. `'o3-mini'`, `'claude-sonnet-4-5-20250929'`.
|
|
87
|
+
|
|
88
|
+
You can also specify model and model provider in a single argument using:
|
|
89
|
+
|
|
90
|
+
`'{model_provider}:{model}'` format, e.g. `'openai:o1'`.
|
|
91
|
+
model_provider: The model provider if not specified as part of the model arg
|
|
92
|
+
(see above). Supported `model_provider` values and the corresponding
|
|
93
|
+
integration package are:
|
|
94
|
+
|
|
95
|
+
- `openai` -> [`langchain-openai`](https://docs.langchain.com/oss/python/integrations/providers/openai)
|
|
96
|
+
- `anthropic` -> [`langchain-anthropic`](https://docs.langchain.com/oss/python/integrations/providers/anthropic)
|
|
97
|
+
- `azure_openai` -> [`langchain-openai`](https://docs.langchain.com/oss/python/integrations/providers/openai)
|
|
98
|
+
- `azure_ai` -> [`langchain-azure-ai`](https://docs.langchain.com/oss/python/integrations/providers/microsoft)
|
|
99
|
+
- `google_vertexai` -> [`langchain-google-vertexai`](https://docs.langchain.com/oss/python/integrations/providers/google)
|
|
100
|
+
- `google_genai` -> [`langchain-google-genai`](https://docs.langchain.com/oss/python/integrations/providers/google)
|
|
101
|
+
- `bedrock` -> [`langchain-aws`](https://docs.langchain.com/oss/python/integrations/providers/aws)
|
|
102
|
+
- `bedrock_converse` -> [`langchain-aws`](https://docs.langchain.com/oss/python/integrations/providers/aws)
|
|
103
|
+
- `cohere` -> [`langchain-cohere`](https://docs.langchain.com/oss/python/integrations/providers/cohere)
|
|
104
|
+
- `fireworks` -> [`langchain-fireworks`](https://docs.langchain.com/oss/python/integrations/providers/fireworks)
|
|
105
|
+
- `together` -> [`langchain-together`](https://docs.langchain.com/oss/python/integrations/providers/together)
|
|
106
|
+
- `mistralai` -> [`langchain-mistralai`](https://docs.langchain.com/oss/python/integrations/providers/mistralai)
|
|
107
|
+
- `huggingface` -> [`langchain-huggingface`](https://docs.langchain.com/oss/python/integrations/providers/huggingface)
|
|
108
|
+
- `groq` -> [`langchain-groq`](https://docs.langchain.com/oss/python/integrations/providers/groq)
|
|
109
|
+
- `ollama` -> [`langchain-ollama`](https://docs.langchain.com/oss/python/integrations/providers/ollama)
|
|
110
|
+
- `google_anthropic_vertex` -> [`langchain-google-vertexai`](https://docs.langchain.com/oss/python/integrations/providers/google)
|
|
111
|
+
- `deepseek` -> [`langchain-deepseek`](https://docs.langchain.com/oss/python/integrations/providers/deepseek)
|
|
112
|
+
- `ibm` -> [`langchain-ibm`](https://docs.langchain.com/oss/python/integrations/providers/deepseek)
|
|
113
|
+
- `nvidia` -> [`langchain-nvidia-ai-endpoints`](https://docs.langchain.com/oss/python/integrations/providers/nvidia)
|
|
114
|
+
- `xai` -> [`langchain-xai`](https://docs.langchain.com/oss/python/integrations/providers/xai)
|
|
115
|
+
- `perplexity` -> [`langchain-perplexity`](https://docs.langchain.com/oss/python/integrations/providers/perplexity)
|
|
116
|
+
|
|
117
|
+
Will attempt to infer `model_provider` from model if not specified. The
|
|
127
118
|
following providers will be inferred based on these model prefixes:
|
|
128
119
|
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
-
|
|
120
|
+
- `gpt-...` | `o1...` | `o3...` -> `openai`
|
|
121
|
+
- `claude...` -> `anthropic`
|
|
122
|
+
- `amazon...` -> `bedrock`
|
|
123
|
+
- `gemini...` -> `google_vertexai`
|
|
124
|
+
- `command...` -> `cohere`
|
|
125
|
+
- `accounts/fireworks...` -> `fireworks`
|
|
126
|
+
- `mistral...` -> `mistralai`
|
|
127
|
+
- `deepseek...` -> `deepseek`
|
|
128
|
+
- `grok...` -> `xai`
|
|
129
|
+
- `sonar...` -> `perplexity`
|
|
139
130
|
configurable_fields: Which model parameters are configurable:
|
|
140
131
|
|
|
141
|
-
- None
|
|
142
|
-
-
|
|
143
|
-
-
|
|
132
|
+
- `None`: No configurable fields.
|
|
133
|
+
- `'any'`: All fields are configurable. **See security note below.**
|
|
134
|
+
- `list[str] | Tuple[str, ...]`: Specified fields are configurable.
|
|
144
135
|
|
|
145
|
-
Fields are assumed to have config_prefix stripped if there is a
|
|
146
|
-
config_prefix
|
|
147
|
-
not specified, then defaults to
|
|
136
|
+
Fields are assumed to have `config_prefix` stripped if there is a
|
|
137
|
+
`config_prefix`. If model is specified, then defaults to `None`. If model is
|
|
138
|
+
not specified, then defaults to `("model", "model_provider")`.
|
|
148
139
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
140
|
+
!!! warning "Security note"
|
|
141
|
+
Setting `configurable_fields="any"` means fields like `api_key`,
|
|
142
|
+
`base_url`, etc. can be altered at runtime, potentially redirecting
|
|
143
|
+
model requests to a different service/user. Make sure that if you're
|
|
144
|
+
accepting untrusted configurations that you enumerate the
|
|
145
|
+
`configurable_fields=(...)` explicitly.
|
|
154
146
|
|
|
155
|
-
config_prefix: If
|
|
147
|
+
config_prefix: If `'config_prefix'` is a non-empty string then model will be
|
|
156
148
|
configurable at runtime via the
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
rate
|
|
169
|
-
|
|
170
|
-
|
|
149
|
+
`config["configurable"]["{config_prefix}_{param}"]` keys. If
|
|
150
|
+
`'config_prefix'` is an empty string then model will be configurable via
|
|
151
|
+
`config["configurable"]["{param}"]`.
|
|
152
|
+
**kwargs: Additional model-specific keyword args to pass to the underlying
|
|
153
|
+
chat model's `__init__` method. Common parameters include:
|
|
154
|
+
|
|
155
|
+
- `temperature`: Model temperature for controlling randomness.
|
|
156
|
+
- `max_tokens`: Maximum number of output tokens.
|
|
157
|
+
- `timeout`: Maximum time (in seconds) to wait for a response.
|
|
158
|
+
- `max_retries`: Maximum number of retry attempts for failed requests.
|
|
159
|
+
- `base_url`: Custom API endpoint URL.
|
|
160
|
+
- `rate_limiter`: A `BaseRateLimiter` instance to control request rate.
|
|
161
|
+
|
|
162
|
+
Refer to the specific model provider's documentation for all available
|
|
163
|
+
parameters.
|
|
171
164
|
|
|
172
165
|
Returns:
|
|
173
|
-
A BaseChatModel corresponding to the model_name and model_provider
|
|
174
|
-
|
|
175
|
-
|
|
166
|
+
A `BaseChatModel` corresponding to the `model_name` and `model_provider`
|
|
167
|
+
specified if configurability is inferred to be `False`. If configurable, a
|
|
168
|
+
chat model emulator that initializes the underlying model at runtime once a
|
|
169
|
+
config is passed in.
|
|
176
170
|
|
|
177
171
|
Raises:
|
|
178
|
-
ValueError: If model_provider cannot be inferred or isn't supported.
|
|
172
|
+
ValueError: If `model_provider` cannot be inferred or isn't supported.
|
|
179
173
|
ImportError: If the model provider integration package is not installed.
|
|
180
174
|
|
|
181
|
-
|
|
182
|
-
:open:
|
|
183
|
-
|
|
184
|
-
.. code-block:: python
|
|
185
|
-
|
|
186
|
-
# pip install langchain langchain-openai langchain-anthropic langchain-google-vertexai
|
|
187
|
-
from langchain.chat_models import init_chat_model
|
|
175
|
+
???+ note "Initialize a non-configurable model"
|
|
188
176
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
177
|
+
```python
|
|
178
|
+
# pip install langchain langchain-openai langchain-anthropic langchain-google-vertexai
|
|
179
|
+
from langchain.chat_models import init_chat_model
|
|
192
180
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
181
|
+
o3_mini = init_chat_model("openai:o3-mini", temperature=0)
|
|
182
|
+
claude_sonnet = init_chat_model("anthropic:claude-sonnet-4-5-20250929", temperature=0)
|
|
183
|
+
gemini_2_flash = init_chat_model("google_vertexai:gemini-2.5-flash", temperature=0)
|
|
196
184
|
|
|
185
|
+
o3_mini.invoke("what's your name")
|
|
186
|
+
claude_sonnet.invoke("what's your name")
|
|
187
|
+
gemini_2_flash.invoke("what's your name")
|
|
188
|
+
```
|
|
197
189
|
|
|
198
|
-
|
|
190
|
+
??? note "Partially configurable model with no default"
|
|
199
191
|
|
|
200
|
-
|
|
192
|
+
```python
|
|
193
|
+
# pip install langchain langchain-openai langchain-anthropic
|
|
194
|
+
from langchain.chat_models import init_chat_model
|
|
201
195
|
|
|
202
|
-
|
|
203
|
-
|
|
196
|
+
# We don't need to specify configurable=True if a model isn't specified.
|
|
197
|
+
configurable_model = init_chat_model(temperature=0)
|
|
204
198
|
|
|
205
|
-
|
|
206
|
-
|
|
199
|
+
configurable_model.invoke("what's your name", config={"configurable": {"model": "gpt-4o"}})
|
|
200
|
+
# GPT-4o response
|
|
207
201
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
configurable_model.invoke(
|
|
215
|
-
"what's your name",
|
|
216
|
-
config={"configurable": {"model": "claude-3-5-sonnet-latest"}}
|
|
217
|
-
)
|
|
218
|
-
# claude-3.5 sonnet response
|
|
219
|
-
|
|
220
|
-
.. dropdown:: Fully configurable model with a default
|
|
202
|
+
configurable_model.invoke(
|
|
203
|
+
"what's your name",
|
|
204
|
+
config={"configurable": {"model": "claude-sonnet-4-5-20250929"}},
|
|
205
|
+
)
|
|
206
|
+
```
|
|
221
207
|
|
|
222
|
-
|
|
208
|
+
??? note "Fully configurable model with a default"
|
|
223
209
|
|
|
224
|
-
|
|
225
|
-
|
|
210
|
+
```python
|
|
211
|
+
# pip install langchain langchain-openai langchain-anthropic
|
|
212
|
+
from langchain.chat_models import init_chat_model
|
|
226
213
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
214
|
+
configurable_model_with_default = init_chat_model(
|
|
215
|
+
"openai:gpt-4o",
|
|
216
|
+
configurable_fields="any", # This allows us to configure other params like temperature, max_tokens, etc at runtime.
|
|
217
|
+
config_prefix="foo",
|
|
218
|
+
temperature=0,
|
|
219
|
+
)
|
|
233
220
|
|
|
234
|
-
|
|
235
|
-
|
|
221
|
+
configurable_model_with_default.invoke("what's your name")
|
|
222
|
+
# GPT-4o response with temperature 0
|
|
236
223
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
}
|
|
224
|
+
configurable_model_with_default.invoke(
|
|
225
|
+
"what's your name",
|
|
226
|
+
config={
|
|
227
|
+
"configurable": {
|
|
228
|
+
"foo_model": "anthropic:claude-sonnet-4-5-20250929",
|
|
229
|
+
"foo_temperature": 0.6,
|
|
244
230
|
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
.. dropdown:: Bind tools to a configurable model
|
|
249
|
-
|
|
250
|
-
You can call any ChatModel declarative methods on a configurable model in the
|
|
251
|
-
same way that you would with a normal model.
|
|
252
|
-
|
|
253
|
-
.. code-block:: python
|
|
254
|
-
|
|
255
|
-
# pip install langchain langchain-openai langchain-anthropic
|
|
256
|
-
from langchain.chat_models import init_chat_model
|
|
257
|
-
from pydantic import BaseModel, Field
|
|
258
|
-
|
|
259
|
-
class GetWeather(BaseModel):
|
|
260
|
-
'''Get the current weather in a given location'''
|
|
261
|
-
|
|
262
|
-
location: str = Field(..., description="The city and state, e.g. San Francisco, CA")
|
|
263
|
-
|
|
264
|
-
class GetPopulation(BaseModel):
|
|
265
|
-
'''Get the current population in a given location'''
|
|
266
|
-
|
|
267
|
-
location: str = Field(..., description="The city and state, e.g. San Francisco, CA")
|
|
231
|
+
},
|
|
232
|
+
)
|
|
233
|
+
```
|
|
268
234
|
|
|
269
|
-
|
|
270
|
-
"gpt-4o",
|
|
271
|
-
configurable_fields=("model", "model_provider"),
|
|
272
|
-
temperature=0
|
|
273
|
-
)
|
|
235
|
+
??? note "Bind tools to a configurable model"
|
|
274
236
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
"Which city is hotter today and which is bigger: LA or NY?"
|
|
278
|
-
)
|
|
279
|
-
# GPT-4o response with tool calls
|
|
237
|
+
You can call any chat model declarative methods on a configurable model in the
|
|
238
|
+
same way that you would with a normal model:
|
|
280
239
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
# Claude-3.5 sonnet response with tools
|
|
240
|
+
```python
|
|
241
|
+
# pip install langchain langchain-openai langchain-anthropic
|
|
242
|
+
from langchain.chat_models import init_chat_model
|
|
243
|
+
from pydantic import BaseModel, Field
|
|
286
244
|
|
|
287
|
-
.. versionadded:: 0.2.7
|
|
288
245
|
|
|
289
|
-
|
|
246
|
+
class GetWeather(BaseModel):
|
|
247
|
+
'''Get the current weather in a given location'''
|
|
290
248
|
|
|
291
|
-
|
|
249
|
+
location: str = Field(..., description="The city and state, e.g. San Francisco, CA")
|
|
292
250
|
|
|
293
|
-
.. versionchanged:: 0.2.12
|
|
294
251
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
the now-deprecated langchain-community version of Ollama was imported
|
|
298
|
-
(langchain_community.chat_models.ChatOllama).
|
|
252
|
+
class GetPopulation(BaseModel):
|
|
253
|
+
'''Get the current population in a given location'''
|
|
299
254
|
|
|
300
|
-
|
|
301
|
-
(model_provider="bedrock_converse").
|
|
255
|
+
location: str = Field(..., description="The city and state, e.g. San Francisco, CA")
|
|
302
256
|
|
|
303
|
-
.. versionchanged:: 0.3.5
|
|
304
257
|
|
|
305
|
-
|
|
258
|
+
configurable_model = init_chat_model(
|
|
259
|
+
"gpt-4o", configurable_fields=("model", "model_provider"), temperature=0
|
|
260
|
+
)
|
|
306
261
|
|
|
307
|
-
|
|
262
|
+
configurable_model_with_tools = configurable_model.bind_tools(
|
|
263
|
+
[
|
|
264
|
+
GetWeather,
|
|
265
|
+
GetPopulation,
|
|
266
|
+
]
|
|
267
|
+
)
|
|
268
|
+
configurable_model_with_tools.invoke(
|
|
269
|
+
"Which city is hotter today and which is bigger: LA or NY?"
|
|
270
|
+
)
|
|
308
271
|
|
|
309
|
-
|
|
272
|
+
configurable_model_with_tools.invoke(
|
|
273
|
+
"Which city is hotter today and which is bigger: LA or NY?",
|
|
274
|
+
config={"configurable": {"model": "claude-sonnet-4-5-20250929"}},
|
|
275
|
+
)
|
|
276
|
+
```
|
|
310
277
|
|
|
311
278
|
""" # noqa: E501
|
|
312
279
|
if not model and not configurable_fields:
|
|
@@ -322,7 +289,7 @@ def init_chat_model(
|
|
|
322
289
|
|
|
323
290
|
if not configurable_fields:
|
|
324
291
|
return _init_chat_model_helper(
|
|
325
|
-
cast(str, model),
|
|
292
|
+
cast("str", model),
|
|
326
293
|
model_provider=model_provider,
|
|
327
294
|
**kwargs,
|
|
328
295
|
)
|
|
@@ -340,7 +307,7 @@ def init_chat_model(
|
|
|
340
307
|
def _init_chat_model_helper(
|
|
341
308
|
model: str,
|
|
342
309
|
*,
|
|
343
|
-
model_provider:
|
|
310
|
+
model_provider: str | None = None,
|
|
344
311
|
**kwargs: Any,
|
|
345
312
|
) -> BaseChatModel:
|
|
346
313
|
model, model_provider = _parse_model(model, model_provider)
|
|
@@ -423,7 +390,6 @@ def _init_chat_model_helper(
|
|
|
423
390
|
_check_pkg("langchain_aws")
|
|
424
391
|
from langchain_aws import ChatBedrock
|
|
425
392
|
|
|
426
|
-
# TODO: update to use model= once ChatBedrock supports
|
|
427
393
|
return ChatBedrock(model_id=model, **kwargs)
|
|
428
394
|
if model_provider == "bedrock_converse":
|
|
429
395
|
_check_pkg("langchain_aws")
|
|
@@ -461,9 +427,7 @@ def _init_chat_model_helper(
|
|
|
461
427
|
|
|
462
428
|
return ChatPerplexity(model=model, **kwargs)
|
|
463
429
|
supported = ", ".join(_SUPPORTED_PROVIDERS)
|
|
464
|
-
msg =
|
|
465
|
-
f"Unsupported {model_provider=}.\n\nSupported model providers are: {supported}"
|
|
466
|
-
)
|
|
430
|
+
msg = f"Unsupported {model_provider=}.\n\nSupported model providers are: {supported}"
|
|
467
431
|
raise ValueError(msg)
|
|
468
432
|
|
|
469
433
|
|
|
@@ -491,8 +455,8 @@ _SUPPORTED_PROVIDERS = {
|
|
|
491
455
|
}
|
|
492
456
|
|
|
493
457
|
|
|
494
|
-
def _attempt_infer_model_provider(model_name: str) ->
|
|
495
|
-
if any(model_name.startswith(pre) for pre in ("gpt-
|
|
458
|
+
def _attempt_infer_model_provider(model_name: str) -> str | None:
|
|
459
|
+
if any(model_name.startswith(pre) for pre in ("gpt-", "o1", "o3")):
|
|
496
460
|
return "openai"
|
|
497
461
|
if model_name.startswith("claude"):
|
|
498
462
|
return "anthropic"
|
|
@@ -515,38 +479,29 @@ def _attempt_infer_model_provider(model_name: str) -> Optional[str]:
|
|
|
515
479
|
return None
|
|
516
480
|
|
|
517
481
|
|
|
518
|
-
def _parse_model(model: str, model_provider:
|
|
519
|
-
if (
|
|
520
|
-
not model_provider
|
|
521
|
-
and ":" in model
|
|
522
|
-
and model.split(":")[0] in _SUPPORTED_PROVIDERS
|
|
523
|
-
):
|
|
482
|
+
def _parse_model(model: str, model_provider: str | None) -> tuple[str, str]:
|
|
483
|
+
if not model_provider and ":" in model and model.split(":")[0] in _SUPPORTED_PROVIDERS:
|
|
524
484
|
model_provider = model.split(":")[0]
|
|
525
485
|
model = ":".join(model.split(":")[1:])
|
|
526
486
|
model_provider = model_provider or _attempt_infer_model_provider(model)
|
|
527
487
|
if not model_provider:
|
|
528
488
|
msg = (
|
|
529
|
-
f"Unable to infer model provider for {model=}, please specify "
|
|
530
|
-
f"model_provider directly."
|
|
489
|
+
f"Unable to infer model provider for {model=}, please specify model_provider directly."
|
|
531
490
|
)
|
|
532
491
|
raise ValueError(msg)
|
|
533
492
|
model_provider = model_provider.replace("-", "_").lower()
|
|
534
493
|
return model, model_provider
|
|
535
494
|
|
|
536
495
|
|
|
537
|
-
def _check_pkg(pkg: str, *, pkg_kebab:
|
|
496
|
+
def _check_pkg(pkg: str, *, pkg_kebab: str | None = None) -> None:
|
|
538
497
|
if not util.find_spec(pkg):
|
|
539
498
|
pkg_kebab = pkg_kebab if pkg_kebab is not None else pkg.replace("_", "-")
|
|
540
|
-
msg =
|
|
541
|
-
f"Unable to import {pkg}. Please install with `pip install -U {pkg_kebab}`"
|
|
542
|
-
)
|
|
499
|
+
msg = f"Unable to import {pkg}. Please install with `pip install -U {pkg_kebab}`"
|
|
543
500
|
raise ImportError(msg)
|
|
544
501
|
|
|
545
502
|
|
|
546
503
|
def _remove_prefix(s: str, prefix: str) -> str:
|
|
547
|
-
|
|
548
|
-
s = s[len(prefix) :]
|
|
549
|
-
return s
|
|
504
|
+
return s.removeprefix(prefix)
|
|
550
505
|
|
|
551
506
|
|
|
552
507
|
_DECLARATIVE_METHODS = ("bind_tools", "with_structured_output")
|
|
@@ -556,16 +511,14 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
556
511
|
def __init__(
|
|
557
512
|
self,
|
|
558
513
|
*,
|
|
559
|
-
default_config:
|
|
560
|
-
configurable_fields:
|
|
514
|
+
default_config: dict | None = None,
|
|
515
|
+
configurable_fields: Literal["any"] | list[str] | tuple[str, ...] = "any",
|
|
561
516
|
config_prefix: str = "",
|
|
562
517
|
queued_declarative_operations: Sequence[tuple[str, tuple, dict]] = (),
|
|
563
518
|
) -> None:
|
|
564
519
|
self._default_config: dict = default_config or {}
|
|
565
|
-
self._configurable_fields:
|
|
566
|
-
configurable_fields
|
|
567
|
-
if configurable_fields == "any"
|
|
568
|
-
else list(configurable_fields)
|
|
520
|
+
self._configurable_fields: Literal["any"] | list[str] = (
|
|
521
|
+
configurable_fields if configurable_fields == "any" else list(configurable_fields)
|
|
569
522
|
)
|
|
570
523
|
self._config_prefix = (
|
|
571
524
|
config_prefix + "_"
|
|
@@ -606,14 +559,14 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
606
559
|
msg += "."
|
|
607
560
|
raise AttributeError(msg)
|
|
608
561
|
|
|
609
|
-
def _model(self, config:
|
|
562
|
+
def _model(self, config: RunnableConfig | None = None) -> Runnable:
|
|
610
563
|
params = {**self._default_config, **self._model_params(config)}
|
|
611
564
|
model = _init_chat_model_helper(**params)
|
|
612
565
|
for name, args, kwargs in self._queued_declarative_operations:
|
|
613
566
|
model = getattr(model, name)(*args, **kwargs)
|
|
614
567
|
return model
|
|
615
568
|
|
|
616
|
-
def _model_params(self, config:
|
|
569
|
+
def _model_params(self, config: RunnableConfig | None) -> dict:
|
|
617
570
|
config = ensure_config(config)
|
|
618
571
|
model_params = {
|
|
619
572
|
_remove_prefix(k, self._config_prefix): v
|
|
@@ -621,18 +574,16 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
621
574
|
if k.startswith(self._config_prefix)
|
|
622
575
|
}
|
|
623
576
|
if self._configurable_fields != "any":
|
|
624
|
-
model_params = {
|
|
625
|
-
k: v for k, v in model_params.items() if k in self._configurable_fields
|
|
626
|
-
}
|
|
577
|
+
model_params = {k: v for k, v in model_params.items() if k in self._configurable_fields}
|
|
627
578
|
return model_params
|
|
628
579
|
|
|
629
580
|
def with_config(
|
|
630
581
|
self,
|
|
631
|
-
config:
|
|
582
|
+
config: RunnableConfig | None = None,
|
|
632
583
|
**kwargs: Any,
|
|
633
584
|
) -> _ConfigurableModel:
|
|
634
585
|
"""Bind config to a Runnable, returning a new Runnable."""
|
|
635
|
-
config = RunnableConfig(**(config or {}), **cast(RunnableConfig, kwargs))
|
|
586
|
+
config = RunnableConfig(**(config or {}), **cast("RunnableConfig", kwargs))
|
|
636
587
|
model_params = self._model_params(config)
|
|
637
588
|
remaining_config = {k: v for k, v in config.items() if k != "configurable"}
|
|
638
589
|
remaining_config["configurable"] = {
|
|
@@ -660,7 +611,7 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
660
611
|
|
|
661
612
|
@property
|
|
662
613
|
def InputType(self) -> TypeAlias:
|
|
663
|
-
"""Get the input type for this
|
|
614
|
+
"""Get the input type for this `Runnable`."""
|
|
664
615
|
from langchain_core.prompt_values import (
|
|
665
616
|
ChatPromptValueConcrete,
|
|
666
617
|
StringPromptValue,
|
|
@@ -669,17 +620,13 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
669
620
|
# This is a version of LanguageModelInput which replaces the abstract
|
|
670
621
|
# base class BaseMessage with a union of its subclasses, which makes
|
|
671
622
|
# for a much better schema.
|
|
672
|
-
return
|
|
673
|
-
str,
|
|
674
|
-
Union[StringPromptValue, ChatPromptValueConcrete],
|
|
675
|
-
list[AnyMessage],
|
|
676
|
-
]
|
|
623
|
+
return str | StringPromptValue | ChatPromptValueConcrete | list[AnyMessage]
|
|
677
624
|
|
|
678
625
|
@override
|
|
679
626
|
def invoke(
|
|
680
627
|
self,
|
|
681
628
|
input: LanguageModelInput,
|
|
682
|
-
config:
|
|
629
|
+
config: RunnableConfig | None = None,
|
|
683
630
|
**kwargs: Any,
|
|
684
631
|
) -> Any:
|
|
685
632
|
return self._model(config).invoke(input, config=config, **kwargs)
|
|
@@ -688,7 +635,7 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
688
635
|
async def ainvoke(
|
|
689
636
|
self,
|
|
690
637
|
input: LanguageModelInput,
|
|
691
|
-
config:
|
|
638
|
+
config: RunnableConfig | None = None,
|
|
692
639
|
**kwargs: Any,
|
|
693
640
|
) -> Any:
|
|
694
641
|
return await self._model(config).ainvoke(input, config=config, **kwargs)
|
|
@@ -697,8 +644,8 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
697
644
|
def stream(
|
|
698
645
|
self,
|
|
699
646
|
input: LanguageModelInput,
|
|
700
|
-
config:
|
|
701
|
-
**kwargs:
|
|
647
|
+
config: RunnableConfig | None = None,
|
|
648
|
+
**kwargs: Any | None,
|
|
702
649
|
) -> Iterator[Any]:
|
|
703
650
|
yield from self._model(config).stream(input, config=config, **kwargs)
|
|
704
651
|
|
|
@@ -706,8 +653,8 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
706
653
|
async def astream(
|
|
707
654
|
self,
|
|
708
655
|
input: LanguageModelInput,
|
|
709
|
-
config:
|
|
710
|
-
**kwargs:
|
|
656
|
+
config: RunnableConfig | None = None,
|
|
657
|
+
**kwargs: Any | None,
|
|
711
658
|
) -> AsyncIterator[Any]:
|
|
712
659
|
async for x in self._model(config).astream(input, config=config, **kwargs):
|
|
713
660
|
yield x
|
|
@@ -715,10 +662,10 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
715
662
|
def batch(
|
|
716
663
|
self,
|
|
717
664
|
inputs: list[LanguageModelInput],
|
|
718
|
-
config:
|
|
665
|
+
config: RunnableConfig | list[RunnableConfig] | None = None,
|
|
719
666
|
*,
|
|
720
667
|
return_exceptions: bool = False,
|
|
721
|
-
**kwargs:
|
|
668
|
+
**kwargs: Any | None,
|
|
722
669
|
) -> list[Any]:
|
|
723
670
|
config = config or None
|
|
724
671
|
# If <= 1 config use the underlying models batch implementation.
|
|
@@ -743,10 +690,10 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
743
690
|
async def abatch(
|
|
744
691
|
self,
|
|
745
692
|
inputs: list[LanguageModelInput],
|
|
746
|
-
config:
|
|
693
|
+
config: RunnableConfig | list[RunnableConfig] | None = None,
|
|
747
694
|
*,
|
|
748
695
|
return_exceptions: bool = False,
|
|
749
|
-
**kwargs:
|
|
696
|
+
**kwargs: Any | None,
|
|
750
697
|
) -> list[Any]:
|
|
751
698
|
config = config or None
|
|
752
699
|
# If <= 1 config use the underlying models batch implementation.
|
|
@@ -771,17 +718,17 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
771
718
|
def batch_as_completed(
|
|
772
719
|
self,
|
|
773
720
|
inputs: Sequence[LanguageModelInput],
|
|
774
|
-
config:
|
|
721
|
+
config: RunnableConfig | Sequence[RunnableConfig] | None = None,
|
|
775
722
|
*,
|
|
776
723
|
return_exceptions: bool = False,
|
|
777
724
|
**kwargs: Any,
|
|
778
|
-
) -> Iterator[tuple[int,
|
|
725
|
+
) -> Iterator[tuple[int, Any | Exception]]:
|
|
779
726
|
config = config or None
|
|
780
727
|
# If <= 1 config use the underlying models batch implementation.
|
|
781
728
|
if config is None or isinstance(config, dict) or len(config) <= 1:
|
|
782
729
|
if isinstance(config, list):
|
|
783
730
|
config = config[0]
|
|
784
|
-
yield from self._model(cast(RunnableConfig, config)).batch_as_completed( # type: ignore[call-overload]
|
|
731
|
+
yield from self._model(cast("RunnableConfig", config)).batch_as_completed( # type: ignore[call-overload]
|
|
785
732
|
inputs,
|
|
786
733
|
config=config,
|
|
787
734
|
return_exceptions=return_exceptions,
|
|
@@ -800,7 +747,7 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
800
747
|
async def abatch_as_completed(
|
|
801
748
|
self,
|
|
802
749
|
inputs: Sequence[LanguageModelInput],
|
|
803
|
-
config:
|
|
750
|
+
config: RunnableConfig | Sequence[RunnableConfig] | None = None,
|
|
804
751
|
*,
|
|
805
752
|
return_exceptions: bool = False,
|
|
806
753
|
**kwargs: Any,
|
|
@@ -811,7 +758,7 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
811
758
|
if isinstance(config, list):
|
|
812
759
|
config = config[0]
|
|
813
760
|
async for x in self._model(
|
|
814
|
-
cast(RunnableConfig, config),
|
|
761
|
+
cast("RunnableConfig", config),
|
|
815
762
|
).abatch_as_completed( # type: ignore[call-overload]
|
|
816
763
|
inputs,
|
|
817
764
|
config=config,
|
|
@@ -834,8 +781,8 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
834
781
|
def transform(
|
|
835
782
|
self,
|
|
836
783
|
input: Iterator[LanguageModelInput],
|
|
837
|
-
config:
|
|
838
|
-
**kwargs:
|
|
784
|
+
config: RunnableConfig | None = None,
|
|
785
|
+
**kwargs: Any | None,
|
|
839
786
|
) -> Iterator[Any]:
|
|
840
787
|
yield from self._model(config).transform(input, config=config, **kwargs)
|
|
841
788
|
|
|
@@ -843,8 +790,8 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
843
790
|
async def atransform(
|
|
844
791
|
self,
|
|
845
792
|
input: AsyncIterator[LanguageModelInput],
|
|
846
|
-
config:
|
|
847
|
-
**kwargs:
|
|
793
|
+
config: RunnableConfig | None = None,
|
|
794
|
+
**kwargs: Any | None,
|
|
848
795
|
) -> AsyncIterator[Any]:
|
|
849
796
|
async for x in self._model(config).atransform(input, config=config, **kwargs):
|
|
850
797
|
yield x
|
|
@@ -853,16 +800,16 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
853
800
|
def astream_log(
|
|
854
801
|
self,
|
|
855
802
|
input: Any,
|
|
856
|
-
config:
|
|
803
|
+
config: RunnableConfig | None = None,
|
|
857
804
|
*,
|
|
858
805
|
diff: Literal[True] = True,
|
|
859
806
|
with_streamed_output_list: bool = True,
|
|
860
|
-
include_names:
|
|
861
|
-
include_types:
|
|
862
|
-
include_tags:
|
|
863
|
-
exclude_names:
|
|
864
|
-
exclude_types:
|
|
865
|
-
exclude_tags:
|
|
807
|
+
include_names: Sequence[str] | None = None,
|
|
808
|
+
include_types: Sequence[str] | None = None,
|
|
809
|
+
include_tags: Sequence[str] | None = None,
|
|
810
|
+
exclude_names: Sequence[str] | None = None,
|
|
811
|
+
exclude_types: Sequence[str] | None = None,
|
|
812
|
+
exclude_tags: Sequence[str] | None = None,
|
|
866
813
|
**kwargs: Any,
|
|
867
814
|
) -> AsyncIterator[RunLogPatch]: ...
|
|
868
815
|
|
|
@@ -870,16 +817,16 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
870
817
|
def astream_log(
|
|
871
818
|
self,
|
|
872
819
|
input: Any,
|
|
873
|
-
config:
|
|
820
|
+
config: RunnableConfig | None = None,
|
|
874
821
|
*,
|
|
875
822
|
diff: Literal[False],
|
|
876
823
|
with_streamed_output_list: bool = True,
|
|
877
|
-
include_names:
|
|
878
|
-
include_types:
|
|
879
|
-
include_tags:
|
|
880
|
-
exclude_names:
|
|
881
|
-
exclude_types:
|
|
882
|
-
exclude_tags:
|
|
824
|
+
include_names: Sequence[str] | None = None,
|
|
825
|
+
include_types: Sequence[str] | None = None,
|
|
826
|
+
include_tags: Sequence[str] | None = None,
|
|
827
|
+
exclude_names: Sequence[str] | None = None,
|
|
828
|
+
exclude_types: Sequence[str] | None = None,
|
|
829
|
+
exclude_tags: Sequence[str] | None = None,
|
|
883
830
|
**kwargs: Any,
|
|
884
831
|
) -> AsyncIterator[RunLog]: ...
|
|
885
832
|
|
|
@@ -887,18 +834,18 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
887
834
|
async def astream_log(
|
|
888
835
|
self,
|
|
889
836
|
input: Any,
|
|
890
|
-
config:
|
|
837
|
+
config: RunnableConfig | None = None,
|
|
891
838
|
*,
|
|
892
839
|
diff: bool = True,
|
|
893
840
|
with_streamed_output_list: bool = True,
|
|
894
|
-
include_names:
|
|
895
|
-
include_types:
|
|
896
|
-
include_tags:
|
|
897
|
-
exclude_names:
|
|
898
|
-
exclude_types:
|
|
899
|
-
exclude_tags:
|
|
841
|
+
include_names: Sequence[str] | None = None,
|
|
842
|
+
include_types: Sequence[str] | None = None,
|
|
843
|
+
include_tags: Sequence[str] | None = None,
|
|
844
|
+
exclude_names: Sequence[str] | None = None,
|
|
845
|
+
exclude_types: Sequence[str] | None = None,
|
|
846
|
+
exclude_tags: Sequence[str] | None = None,
|
|
900
847
|
**kwargs: Any,
|
|
901
|
-
) ->
|
|
848
|
+
) -> AsyncIterator[RunLogPatch] | AsyncIterator[RunLog]:
|
|
902
849
|
async for x in self._model(config).astream_log( # type: ignore[call-overload, misc]
|
|
903
850
|
input,
|
|
904
851
|
config=config,
|
|
@@ -918,15 +865,15 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
918
865
|
async def astream_events(
|
|
919
866
|
self,
|
|
920
867
|
input: Any,
|
|
921
|
-
config:
|
|
868
|
+
config: RunnableConfig | None = None,
|
|
922
869
|
*,
|
|
923
870
|
version: Literal["v1", "v2"] = "v2",
|
|
924
|
-
include_names:
|
|
925
|
-
include_types:
|
|
926
|
-
include_tags:
|
|
927
|
-
exclude_names:
|
|
928
|
-
exclude_types:
|
|
929
|
-
exclude_tags:
|
|
871
|
+
include_names: Sequence[str] | None = None,
|
|
872
|
+
include_types: Sequence[str] | None = None,
|
|
873
|
+
include_tags: Sequence[str] | None = None,
|
|
874
|
+
exclude_names: Sequence[str] | None = None,
|
|
875
|
+
exclude_types: Sequence[str] | None = None,
|
|
876
|
+
exclude_tags: Sequence[str] | None = None,
|
|
930
877
|
**kwargs: Any,
|
|
931
878
|
) -> AsyncIterator[StreamEvent]:
|
|
932
879
|
async for x in self._model(config).astream_events(
|
|
@@ -946,15 +893,15 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
946
893
|
# Explicitly added to satisfy downstream linters.
|
|
947
894
|
def bind_tools(
|
|
948
895
|
self,
|
|
949
|
-
tools: Sequence[
|
|
896
|
+
tools: Sequence[dict[str, Any] | type[BaseModel] | Callable | BaseTool],
|
|
950
897
|
**kwargs: Any,
|
|
951
|
-
) -> Runnable[LanguageModelInput,
|
|
898
|
+
) -> Runnable[LanguageModelInput, AIMessage]:
|
|
952
899
|
return self.__getattr__("bind_tools")(tools, **kwargs)
|
|
953
900
|
|
|
954
901
|
# Explicitly added to satisfy downstream linters.
|
|
955
902
|
def with_structured_output(
|
|
956
903
|
self,
|
|
957
|
-
schema:
|
|
904
|
+
schema: dict | type[BaseModel],
|
|
958
905
|
**kwargs: Any,
|
|
959
|
-
) -> Runnable[LanguageModelInput,
|
|
906
|
+
) -> Runnable[LanguageModelInput, dict | BaseModel]:
|
|
960
907
|
return self.__getattr__("with_structured_output")(schema, **kwargs)
|