langchain 0.4.0.dev0__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 +268 -358
- langchain/embeddings/__init__.py +7 -217
- langchain/embeddings/base.py +31 -43
- 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.4.0.dev0.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 -1824
- langchain/agents/agent_iterator.py +0 -438
- 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 -219
- 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 -180
- 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 -178
- 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 -183
- 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 -196
- 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 -218
- 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 -103
- langchain/agents/openai_functions_agent/base.py +0 -382
- 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 -109
- langchain/agents/output_parsers/__init__.py +0 -35
- langchain/agents/output_parsers/json.py +0 -64
- langchain/agents/output_parsers/openai_functions.py +0 -103
- langchain/agents/output_parsers/openai_tools.py +0 -77
- langchain/agents/output_parsers/react_json_single_input.py +0 -87
- langchain/agents/output_parsers/react_single_input.py +0 -102
- langchain/agents/output_parsers/self_ask.py +0 -53
- langchain/agents/output_parsers/tools.py +0 -121
- langchain/agents/output_parsers/xml.py +0 -126
- langchain/agents/react/__init__.py +0 -1
- langchain/agents/react/agent.py +0 -145
- langchain/agents/react/base.py +0 -189
- langchain/agents/react/output_parser.py +0 -35
- langchain/agents/react/textworld_prompt.py +0 -51
- langchain/agents/react/wiki_prompt.py +0 -70
- langchain/agents/schema.py +0 -37
- langchain/agents/self_ask_with_search/__init__.py +0 -4
- langchain/agents/self_ask_with_search/base.py +0 -219
- 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 -309
- langchain/agents/structured_chat/output_parser.py +0 -112
- 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 -111
- langchain/agents/tools.py +0 -50
- 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 -237
- 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 -86
- langchain/callbacks/streaming_aiter_final_only.py +0 -100
- langchain/callbacks/streaming_stdout.py +0 -5
- langchain/callbacks/streaming_stdout_final_only.py +0 -96
- 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 -57
- 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 -398
- 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 -806
- 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 -293
- langchain/chains/combine_documents/map_reduce.py +0 -303
- langchain/chains/combine_documents/map_rerank.py +0 -249
- langchain/chains/combine_documents/reduce.py +0 -382
- langchain/chains/combine_documents/refine.py +0 -237
- langchain/chains/combine_documents/stuff.py +0 -292
- langchain/chains/constitutional_ai/__init__.py +0 -2
- langchain/chains/constitutional_ai/base.py +0 -328
- 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 -146
- 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 -576
- langchain/chains/conversational_retrieval/prompts.py +0 -19
- langchain/chains/elasticsearch_database/__init__.py +0 -3
- langchain/chains/elasticsearch_database/base.py +0 -212
- 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 -284
- langchain/chains/flare/prompts.py +0 -46
- 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 -447
- langchain/chains/llm_bash/__init__.py +0 -10
- langchain/chains/llm_checker/__init__.py +0 -4
- langchain/chains/llm_checker/base.py +0 -205
- langchain/chains/llm_checker/prompt.py +0 -30
- langchain/chains/llm_math/__init__.py +0 -4
- langchain/chains/llm_math/base.py +0 -319
- 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 -217
- 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 -734
- langchain/chains/mapreduce.py +0 -121
- langchain/chains/moderation.py +0 -135
- langchain/chains/natbot/__init__.py +0 -4
- langchain/chains/natbot/base.py +0 -165
- langchain/chains/natbot/crawler.py +0 -472
- langchain/chains/natbot/prompt.py +0 -143
- langchain/chains/openai_functions/__init__.py +0 -44
- langchain/chains/openai_functions/base.py +0 -237
- langchain/chains/openai_functions/citation_fuzzy_match.py +0 -169
- langchain/chains/openai_functions/extraction.py +0 -197
- langchain/chains/openai_functions/openapi.py +0 -409
- langchain/chains/openai_functions/qa_with_structure.py +0 -142
- langchain/chains/openai_functions/tagging.py +0 -174
- 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 -128
- 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 -266
- 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 -88
- langchain/chains/query_constructor/__init__.py +0 -3
- langchain/chains/query_constructor/base.py +0 -378
- langchain/chains/query_constructor/ir.py +0 -23
- langchain/chains/query_constructor/parser.py +0 -272
- 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 -374
- langchain/chains/retrieval_qa/prompt.py +0 -11
- langchain/chains/router/__init__.py +0 -12
- langchain/chains/router/base.py +0 -154
- langchain/chains/router/embedding_router.py +0 -96
- langchain/chains/router/llm_router.py +0 -198
- langchain/chains/router/multi_prompt.py +0 -184
- 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 -127
- 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 -167
- langchain/chains/structured_output/__init__.py +0 -6
- langchain/chains/structured_output/base.py +0 -584
- 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 -88
- 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 -26
- 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 -416
- langchain/evaluation/agents/trajectory_eval_prompt.py +0 -146
- langchain/evaluation/comparison/__init__.py +0 -36
- langchain/evaluation/comparison/eval_chain.py +0 -462
- langchain/evaluation/comparison/prompt.py +0 -59
- langchain/evaluation/criteria/__init__.py +0 -56
- langchain/evaluation/criteria/eval_chain.py +0 -606
- langchain/evaluation/criteria/prompt.py +0 -37
- langchain/evaluation/embedding_distance/__init__.py +0 -13
- langchain/evaluation/embedding_distance/base.py +0 -613
- langchain/evaluation/exact_match/__init__.py +0 -0
- langchain/evaluation/exact_match/base.py +0 -110
- langchain/evaluation/loading.py +0 -207
- langchain/evaluation/parsing/__init__.py +0 -0
- langchain/evaluation/parsing/base.py +0 -175
- langchain/evaluation/parsing/json_distance.py +0 -108
- langchain/evaluation/parsing/json_schema.py +0 -97
- langchain/evaluation/qa/__init__.py +0 -10
- langchain/evaluation/qa/eval_chain.py +0 -372
- langchain/evaluation/qa/eval_prompt.py +0 -78
- langchain/evaluation/qa/generate_chain.py +0 -36
- langchain/evaluation/qa/generate_prompt.py +0 -21
- langchain/evaluation/regex_match/__init__.py +0 -0
- langchain/evaluation/regex_match/base.py +0 -94
- langchain/evaluation/schema.py +0 -491
- langchain/evaluation/scoring/__init__.py +0 -31
- langchain/evaluation/scoring/eval_chain.py +0 -476
- langchain/evaluation/scoring/prompt.py +0 -53
- langchain/evaluation/string_distance/__init__.py +0 -13
- langchain/evaluation/string_distance/base.py +0 -472
- 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 -178
- langchain/memory/buffer_window.py +0 -62
- 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 -611
- 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 -27
- langchain/memory/summary.py +0 -170
- langchain/memory/summary_buffer.py +0 -151
- langchain/memory/token_buffer.py +0 -74
- 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 -59
- langchain/output_parsers/datetime.py +0 -58
- langchain/output_parsers/enum.py +0 -45
- langchain/output_parsers/ernie_functions.py +0 -45
- langchain/output_parsers/fix.py +0 -155
- 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 -171
- 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 -41
- langchain/output_parsers/regex_dict.py +0 -43
- langchain/output_parsers/retry.py +0 -316
- langchain/output_parsers/structured.py +0 -116
- langchain/output_parsers/xml.py +0 -3
- langchain/output_parsers/yaml.py +0 -77
- 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 -123
- 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 -126
- langchain/retrievers/document_compressors/cross_encoder.py +0 -16
- langchain/retrievers/document_compressors/cross_encoder_rerank.py +0 -50
- langchain/retrievers/document_compressors/embeddings_filter.py +0 -140
- langchain/retrievers/document_compressors/flashrank_rerank.py +0 -27
- langchain/retrievers/document_compressors/listwise_rerank.py +0 -145
- 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 -233
- langchain/retrievers/multi_vector.py +0 -135
- langchain/retrievers/outline.py +0 -23
- langchain/retrievers/parent_document_retriever.py +0 -172
- 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 -416
- 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 -196
- 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 -44
- langchain/runnables/openai_functions.py +0 -57
- 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 -103
- langchain/smith/evaluation/__init__.py +0 -68
- langchain/smith/evaluation/config.py +0 -365
- langchain/smith/evaluation/name_generation.py +0 -727
- langchain/smith/evaluation/progress.py +0 -146
- langchain/smith/evaluation/runner_utils.py +0 -1689
- langchain/smith/evaluation/string_run_evaluator.py +0 -467
- 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 -128
- 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.4.0.dev0.dist-info/METADATA +0 -134
- langchain-0.4.0.dev0.dist-info/RECORD +0 -1341
- langchain-0.4.0.dev0.dist-info/entry_points.txt +0 -4
- {langchain-0.4.0.dev0.dist-info → langchain-1.0.0.dist-info}/licenses/LICENSE +0 -0
langchain/chat_models/base.py
CHANGED
|
@@ -1,82 +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
|
-
from typing import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
from typing import (
|
|
8
|
+
TYPE_CHECKING,
|
|
9
|
+
Any,
|
|
10
|
+
Literal,
|
|
11
|
+
TypeAlias,
|
|
12
|
+
cast,
|
|
13
|
+
overload,
|
|
12
14
|
)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
)
|
|
17
|
-
from langchain_core.messages import AnyMessage, BaseMessage
|
|
15
|
+
|
|
16
|
+
from langchain_core.language_models import BaseChatModel, LanguageModelInput
|
|
17
|
+
from langchain_core.messages import AIMessage, AnyMessage
|
|
18
18
|
from langchain_core.runnables import Runnable, RunnableConfig, ensure_config
|
|
19
|
-
from
|
|
20
|
-
from langchain_core.tools import BaseTool
|
|
21
|
-
from langchain_core.tracers import RunLog, RunLogPatch
|
|
22
|
-
from langchain_core.v1.chat_models import BaseChatModel as BaseChatModelV1
|
|
23
|
-
from pydantic import BaseModel
|
|
24
|
-
from typing_extensions import TypeAlias, override
|
|
25
|
-
|
|
26
|
-
__all__ = [
|
|
27
|
-
# For backwards compatibility
|
|
28
|
-
"BaseChatModel",
|
|
29
|
-
"SimpleChatModel",
|
|
30
|
-
"agenerate_from_stream",
|
|
31
|
-
"generate_from_stream",
|
|
32
|
-
"init_chat_model",
|
|
33
|
-
]
|
|
19
|
+
from typing_extensions import override
|
|
34
20
|
|
|
21
|
+
if TYPE_CHECKING:
|
|
22
|
+
from collections.abc import AsyncIterator, Callable, Iterator, Sequence
|
|
35
23
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
model_provider: Optional[str] = None,
|
|
41
|
-
configurable_fields: Literal[None] = None,
|
|
42
|
-
config_prefix: Optional[str] = None,
|
|
43
|
-
message_version: Literal["v0"] = "v0",
|
|
44
|
-
**kwargs: Any,
|
|
45
|
-
) -> BaseChatModel: ...
|
|
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
|
|
46
28
|
|
|
47
29
|
|
|
48
30
|
@overload
|
|
49
31
|
def init_chat_model(
|
|
50
32
|
model: str,
|
|
51
33
|
*,
|
|
52
|
-
model_provider:
|
|
53
|
-
configurable_fields:
|
|
54
|
-
config_prefix:
|
|
55
|
-
message_version: Literal["v1"] = "v1",
|
|
34
|
+
model_provider: str | None = None,
|
|
35
|
+
configurable_fields: None = None,
|
|
36
|
+
config_prefix: str | None = None,
|
|
56
37
|
**kwargs: Any,
|
|
57
|
-
) ->
|
|
38
|
+
) -> BaseChatModel: ...
|
|
58
39
|
|
|
59
40
|
|
|
60
41
|
@overload
|
|
61
42
|
def init_chat_model(
|
|
62
|
-
model:
|
|
43
|
+
model: None = None,
|
|
63
44
|
*,
|
|
64
|
-
model_provider:
|
|
65
|
-
configurable_fields:
|
|
66
|
-
config_prefix:
|
|
67
|
-
message_version: Literal["v0", "v1"] = "v0",
|
|
45
|
+
model_provider: str | None = None,
|
|
46
|
+
configurable_fields: None = None,
|
|
47
|
+
config_prefix: str | None = None,
|
|
68
48
|
**kwargs: Any,
|
|
69
49
|
) -> _ConfigurableModel: ...
|
|
70
50
|
|
|
71
51
|
|
|
72
52
|
@overload
|
|
73
53
|
def init_chat_model(
|
|
74
|
-
model:
|
|
54
|
+
model: str | None = None,
|
|
75
55
|
*,
|
|
76
|
-
model_provider:
|
|
77
|
-
configurable_fields:
|
|
78
|
-
config_prefix:
|
|
79
|
-
message_version: Literal["v0", "v1"] = "v0",
|
|
56
|
+
model_provider: str | None = None,
|
|
57
|
+
configurable_fields: Literal["any"] | list[str] | tuple[str, ...] = ...,
|
|
58
|
+
config_prefix: str | None = None,
|
|
80
59
|
**kwargs: Any,
|
|
81
60
|
) -> _ConfigurableModel: ...
|
|
82
61
|
|
|
@@ -85,251 +64,216 @@ def init_chat_model(
|
|
|
85
64
|
# name to the supported list in the docstring below. Do *not* change the order of the
|
|
86
65
|
# existing providers.
|
|
87
66
|
def init_chat_model(
|
|
88
|
-
model:
|
|
67
|
+
model: str | None = None,
|
|
89
68
|
*,
|
|
90
|
-
model_provider:
|
|
91
|
-
configurable_fields:
|
|
92
|
-
|
|
93
|
-
] = None,
|
|
94
|
-
config_prefix: Optional[str] = None,
|
|
95
|
-
message_version: Literal["v0", "v1"] = "v0",
|
|
69
|
+
model_provider: str | None = None,
|
|
70
|
+
configurable_fields: Literal["any"] | list[str] | tuple[str, ...] | None = None,
|
|
71
|
+
config_prefix: str | None = None,
|
|
96
72
|
**kwargs: Any,
|
|
97
|
-
) ->
|
|
98
|
-
"""Initialize a
|
|
99
|
-
|
|
100
|
-
.. note::
|
|
101
|
-
Must have the integration package corresponding to the model provider installed.
|
|
102
|
-
You should look at the `provider integration's API reference <https://python.langchain.com/api_reference/reference.html#integrations>`__
|
|
103
|
-
to see what parameters are supported by the model.
|
|
104
|
-
|
|
105
|
-
Args:
|
|
106
|
-
model: The name of the model, e.g. ``'o3-mini'``, ``'claude-3-5-sonnet-latest'``. You can
|
|
107
|
-
also specify model and model provider in a single argument using
|
|
108
|
-
``'{model_provider}:{model}'`` format, e.g. ``'openai:o1'``.
|
|
109
|
-
model_provider: The model provider if not specified as part of model arg (see
|
|
110
|
-
above). Supported model_provider values and the corresponding integration
|
|
111
|
-
package are:
|
|
112
|
-
|
|
113
|
-
- ``openai`` -> ``langchain-openai``
|
|
114
|
-
- ``anthropic`` -> ``langchain-anthropic``
|
|
115
|
-
- ``azure_openai`` -> ``langchain-openai``
|
|
116
|
-
- ``azure_ai`` -> ``langchain-azure-ai``
|
|
117
|
-
- ``google_vertexai`` -> ``langchain-google-vertexai``
|
|
118
|
-
- ``google_genai`` -> ``langchain-google-genai``
|
|
119
|
-
- ``bedrock`` -> ``langchain-aws``
|
|
120
|
-
- ``bedrock_converse`` -> ``langchain-aws``
|
|
121
|
-
- ``cohere`` -> ``langchain-cohere``
|
|
122
|
-
- ``fireworks`` -> ``langchain-fireworks``
|
|
123
|
-
- ``together`` -> ``langchain-together``
|
|
124
|
-
- ``mistralai`` -> ``langchain-mistralai``
|
|
125
|
-
- ``huggingface`` -> ``langchain-huggingface``
|
|
126
|
-
- ``groq`` -> ``langchain-groq``
|
|
127
|
-
- ``ollama`` -> ``langchain-ollama``
|
|
128
|
-
- ``google_anthropic_vertex`` -> ``langchain-google-vertexai``
|
|
129
|
-
- ``deepseek`` -> ``langchain-deepseek``
|
|
130
|
-
- ``ibm`` -> ``langchain-ibm``
|
|
131
|
-
- ``nvidia`` -> ``langchain-nvidia-ai-endpoints``
|
|
132
|
-
- ``xai`` -> ``langchain-xai``
|
|
133
|
-
- ``perplexity`` -> ``langchain-perplexity``
|
|
134
|
-
|
|
135
|
-
Will attempt to infer model_provider from model if not specified. The
|
|
136
|
-
following providers will be inferred based on these model prefixes:
|
|
73
|
+
) -> BaseChatModel | _ConfigurableModel:
|
|
74
|
+
"""Initialize a chat model in a single line using the model's name and provider.
|
|
137
75
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
- ``amazon...`` -> ``bedrock``
|
|
141
|
-
- ``gemini...`` -> ``google_vertexai``
|
|
142
|
-
- ``command...`` -> ``cohere``
|
|
143
|
-
- ``accounts/fireworks...`` -> ``fireworks``
|
|
144
|
-
- ``mistral...`` -> ``mistralai``
|
|
145
|
-
- ``deepseek...`` -> ``deepseek``
|
|
146
|
-
- ``grok...`` -> ``xai``
|
|
147
|
-
- ``sonar...`` -> ``perplexity``
|
|
76
|
+
!!! note
|
|
77
|
+
Requires the integration package for your model provider to be installed.
|
|
148
78
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
``"v1"`` for a v1 :class:`~langchain_core.v1.chat_models.BaseChatModel`. The
|
|
152
|
-
output version determines what type of message objects the model will
|
|
153
|
-
generate.
|
|
79
|
+
See the `model_provider` parameter below for specific package names
|
|
80
|
+
(e.g., `pip install langchain-openai`).
|
|
154
81
|
|
|
155
|
-
|
|
156
|
-
|
|
82
|
+
Refer to the [provider integration's API reference](https://docs.langchain.com/oss/python/integrations/providers)
|
|
83
|
+
for supported model parameters.
|
|
157
84
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
85
|
+
Args:
|
|
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
|
|
118
|
+
following providers will be inferred based on these model prefixes:
|
|
161
119
|
|
|
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`
|
|
162
130
|
configurable_fields: Which model parameters are configurable:
|
|
163
131
|
|
|
164
|
-
- None
|
|
165
|
-
-
|
|
166
|
-
-
|
|
132
|
+
- `None`: No configurable fields.
|
|
133
|
+
- `'any'`: All fields are configurable. **See security note below.**
|
|
134
|
+
- `list[str] | Tuple[str, ...]`: Specified fields are configurable.
|
|
167
135
|
|
|
168
|
-
Fields are assumed to have config_prefix stripped if there is a
|
|
169
|
-
config_prefix
|
|
170
|
-
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")`.
|
|
171
139
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
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.
|
|
177
146
|
|
|
178
|
-
config_prefix: If
|
|
147
|
+
config_prefix: If `'config_prefix'` is a non-empty string then model will be
|
|
179
148
|
configurable at runtime via the
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
rate
|
|
192
|
-
|
|
193
|
-
|
|
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.
|
|
194
164
|
|
|
195
165
|
Returns:
|
|
196
|
-
A BaseChatModel corresponding to the model_name and model_provider
|
|
197
|
-
|
|
198
|
-
|
|
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.
|
|
199
170
|
|
|
200
171
|
Raises:
|
|
201
|
-
ValueError: If model_provider cannot be inferred or isn't supported.
|
|
172
|
+
ValueError: If `model_provider` cannot be inferred or isn't supported.
|
|
202
173
|
ImportError: If the model provider integration package is not installed.
|
|
203
174
|
|
|
204
|
-
|
|
205
|
-
:open:
|
|
206
|
-
|
|
207
|
-
.. code-block:: python
|
|
208
|
-
|
|
209
|
-
# pip install langchain langchain-openai langchain-anthropic langchain-google-vertexai
|
|
210
|
-
from langchain.chat_models import init_chat_model
|
|
175
|
+
???+ note "Initialize a non-configurable model"
|
|
211
176
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
177
|
+
```python
|
|
178
|
+
# pip install langchain langchain-openai langchain-anthropic langchain-google-vertexai
|
|
179
|
+
from langchain.chat_models import init_chat_model
|
|
215
180
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
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)
|
|
219
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
|
+
```
|
|
220
189
|
|
|
221
|
-
|
|
190
|
+
??? note "Partially configurable model with no default"
|
|
222
191
|
|
|
223
|
-
|
|
192
|
+
```python
|
|
193
|
+
# pip install langchain langchain-openai langchain-anthropic
|
|
194
|
+
from langchain.chat_models import init_chat_model
|
|
224
195
|
|
|
225
|
-
|
|
226
|
-
|
|
196
|
+
# We don't need to specify configurable=True if a model isn't specified.
|
|
197
|
+
configurable_model = init_chat_model(temperature=0)
|
|
227
198
|
|
|
228
|
-
|
|
229
|
-
|
|
199
|
+
configurable_model.invoke("what's your name", config={"configurable": {"model": "gpt-4o"}})
|
|
200
|
+
# GPT-4o response
|
|
230
201
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
configurable_model.invoke(
|
|
238
|
-
"what's your name",
|
|
239
|
-
config={"configurable": {"model": "claude-3-5-sonnet-latest"}}
|
|
240
|
-
)
|
|
241
|
-
# claude-3.5 sonnet response
|
|
242
|
-
|
|
243
|
-
.. 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
|
+
```
|
|
244
207
|
|
|
245
|
-
|
|
208
|
+
??? note "Fully configurable model with a default"
|
|
246
209
|
|
|
247
|
-
|
|
248
|
-
|
|
210
|
+
```python
|
|
211
|
+
# pip install langchain langchain-openai langchain-anthropic
|
|
212
|
+
from langchain.chat_models import init_chat_model
|
|
249
213
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
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
|
+
)
|
|
256
220
|
|
|
257
|
-
|
|
258
|
-
|
|
221
|
+
configurable_model_with_default.invoke("what's your name")
|
|
222
|
+
# GPT-4o response with temperature 0
|
|
259
223
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
}
|
|
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,
|
|
267
230
|
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
.. dropdown:: Bind tools to a configurable model
|
|
272
|
-
|
|
273
|
-
You can call any ChatModel declarative methods on a configurable model in the
|
|
274
|
-
same way that you would with a normal model.
|
|
275
|
-
|
|
276
|
-
.. code-block:: python
|
|
277
|
-
|
|
278
|
-
# pip install langchain langchain-openai langchain-anthropic
|
|
279
|
-
from langchain.chat_models import init_chat_model
|
|
280
|
-
from pydantic import BaseModel, Field
|
|
281
|
-
|
|
282
|
-
class GetWeather(BaseModel):
|
|
283
|
-
'''Get the current weather in a given location'''
|
|
284
|
-
|
|
285
|
-
location: str = Field(..., description="The city and state, e.g. San Francisco, CA")
|
|
286
|
-
|
|
287
|
-
class GetPopulation(BaseModel):
|
|
288
|
-
'''Get the current population in a given location'''
|
|
289
|
-
|
|
290
|
-
location: str = Field(..., description="The city and state, e.g. San Francisco, CA")
|
|
231
|
+
},
|
|
232
|
+
)
|
|
233
|
+
```
|
|
291
234
|
|
|
292
|
-
|
|
293
|
-
"gpt-4o",
|
|
294
|
-
configurable_fields=("model", "model_provider"),
|
|
295
|
-
temperature=0
|
|
296
|
-
)
|
|
235
|
+
??? note "Bind tools to a configurable model"
|
|
297
236
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
"Which city is hotter today and which is bigger: LA or NY?"
|
|
301
|
-
)
|
|
302
|
-
# 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:
|
|
303
239
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
# 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
|
|
309
244
|
|
|
310
|
-
.. versionadded:: 0.2.7
|
|
311
245
|
|
|
312
|
-
|
|
246
|
+
class GetWeather(BaseModel):
|
|
247
|
+
'''Get the current weather in a given location'''
|
|
313
248
|
|
|
314
|
-
|
|
249
|
+
location: str = Field(..., description="The city and state, e.g. San Francisco, CA")
|
|
315
250
|
|
|
316
|
-
.. versionchanged:: 0.2.12
|
|
317
251
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
the now-deprecated langchain-community version of Ollama was imported
|
|
321
|
-
(langchain_community.chat_models.ChatOllama).
|
|
252
|
+
class GetPopulation(BaseModel):
|
|
253
|
+
'''Get the current population in a given location'''
|
|
322
254
|
|
|
323
|
-
|
|
324
|
-
(model_provider="bedrock_converse").
|
|
255
|
+
location: str = Field(..., description="The city and state, e.g. San Francisco, CA")
|
|
325
256
|
|
|
326
|
-
.. versionchanged:: 0.3.5
|
|
327
257
|
|
|
328
|
-
|
|
258
|
+
configurable_model = init_chat_model(
|
|
259
|
+
"gpt-4o", configurable_fields=("model", "model_provider"), temperature=0
|
|
260
|
+
)
|
|
329
261
|
|
|
330
|
-
|
|
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
|
+
)
|
|
331
271
|
|
|
332
|
-
|
|
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
|
+
```
|
|
333
277
|
|
|
334
278
|
""" # noqa: E501
|
|
335
279
|
if not model and not configurable_fields:
|
|
@@ -347,7 +291,6 @@ def init_chat_model(
|
|
|
347
291
|
return _init_chat_model_helper(
|
|
348
292
|
cast("str", model),
|
|
349
293
|
model_provider=model_provider,
|
|
350
|
-
message_version=message_version,
|
|
351
294
|
**kwargs,
|
|
352
295
|
)
|
|
353
296
|
if model:
|
|
@@ -364,28 +307,15 @@ def init_chat_model(
|
|
|
364
307
|
def _init_chat_model_helper(
|
|
365
308
|
model: str,
|
|
366
309
|
*,
|
|
367
|
-
model_provider:
|
|
368
|
-
message_version: Literal["v0", "v1"] = "v0",
|
|
310
|
+
model_provider: str | None = None,
|
|
369
311
|
**kwargs: Any,
|
|
370
|
-
) ->
|
|
312
|
+
) -> BaseChatModel:
|
|
371
313
|
model, model_provider = _parse_model(model, model_provider)
|
|
372
|
-
if message_version != "v0" and model_provider not in ("openai",):
|
|
373
|
-
warnings.warn(
|
|
374
|
-
f"Model provider {model_provider} does not support "
|
|
375
|
-
f"message_version={message_version}. Defaulting to v0.",
|
|
376
|
-
stacklevel=2,
|
|
377
|
-
)
|
|
378
314
|
if model_provider == "openai":
|
|
379
315
|
_check_pkg("langchain_openai")
|
|
380
|
-
|
|
381
|
-
from langchain_openai import ChatOpenAI
|
|
382
|
-
|
|
383
|
-
return ChatOpenAI(model=model, **kwargs)
|
|
384
|
-
# v1
|
|
385
|
-
from langchain_openai.v1 import ChatOpenAI as ChatOpenAIV1
|
|
386
|
-
|
|
387
|
-
return ChatOpenAIV1(model=model, **kwargs)
|
|
316
|
+
from langchain_openai import ChatOpenAI
|
|
388
317
|
|
|
318
|
+
return ChatOpenAI(model=model, **kwargs)
|
|
389
319
|
if model_provider == "anthropic":
|
|
390
320
|
_check_pkg("langchain_anthropic")
|
|
391
321
|
from langchain_anthropic import ChatAnthropic
|
|
@@ -460,7 +390,6 @@ def _init_chat_model_helper(
|
|
|
460
390
|
_check_pkg("langchain_aws")
|
|
461
391
|
from langchain_aws import ChatBedrock
|
|
462
392
|
|
|
463
|
-
# TODO: update to use model= once ChatBedrock supports
|
|
464
393
|
return ChatBedrock(model_id=model, **kwargs)
|
|
465
394
|
if model_provider == "bedrock_converse":
|
|
466
395
|
_check_pkg("langchain_aws")
|
|
@@ -498,9 +427,7 @@ def _init_chat_model_helper(
|
|
|
498
427
|
|
|
499
428
|
return ChatPerplexity(model=model, **kwargs)
|
|
500
429
|
supported = ", ".join(_SUPPORTED_PROVIDERS)
|
|
501
|
-
msg =
|
|
502
|
-
f"Unsupported {model_provider=}.\n\nSupported model providers are: {supported}"
|
|
503
|
-
)
|
|
430
|
+
msg = f"Unsupported {model_provider=}.\n\nSupported model providers are: {supported}"
|
|
504
431
|
raise ValueError(msg)
|
|
505
432
|
|
|
506
433
|
|
|
@@ -528,8 +455,8 @@ _SUPPORTED_PROVIDERS = {
|
|
|
528
455
|
}
|
|
529
456
|
|
|
530
457
|
|
|
531
|
-
def _attempt_infer_model_provider(model_name: str) ->
|
|
532
|
-
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")):
|
|
533
460
|
return "openai"
|
|
534
461
|
if model_name.startswith("claude"):
|
|
535
462
|
return "anthropic"
|
|
@@ -552,38 +479,29 @@ def _attempt_infer_model_provider(model_name: str) -> Optional[str]:
|
|
|
552
479
|
return None
|
|
553
480
|
|
|
554
481
|
|
|
555
|
-
def _parse_model(model: str, model_provider:
|
|
556
|
-
if (
|
|
557
|
-
not model_provider
|
|
558
|
-
and ":" in model
|
|
559
|
-
and model.split(":")[0] in _SUPPORTED_PROVIDERS
|
|
560
|
-
):
|
|
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:
|
|
561
484
|
model_provider = model.split(":")[0]
|
|
562
485
|
model = ":".join(model.split(":")[1:])
|
|
563
486
|
model_provider = model_provider or _attempt_infer_model_provider(model)
|
|
564
487
|
if not model_provider:
|
|
565
488
|
msg = (
|
|
566
|
-
f"Unable to infer model provider for {model=}, please specify "
|
|
567
|
-
f"model_provider directly."
|
|
489
|
+
f"Unable to infer model provider for {model=}, please specify model_provider directly."
|
|
568
490
|
)
|
|
569
491
|
raise ValueError(msg)
|
|
570
492
|
model_provider = model_provider.replace("-", "_").lower()
|
|
571
493
|
return model, model_provider
|
|
572
494
|
|
|
573
495
|
|
|
574
|
-
def _check_pkg(pkg: str, *, pkg_kebab:
|
|
496
|
+
def _check_pkg(pkg: str, *, pkg_kebab: str | None = None) -> None:
|
|
575
497
|
if not util.find_spec(pkg):
|
|
576
498
|
pkg_kebab = pkg_kebab if pkg_kebab is not None else pkg.replace("_", "-")
|
|
577
|
-
msg =
|
|
578
|
-
f"Unable to import {pkg}. Please install with `pip install -U {pkg_kebab}`"
|
|
579
|
-
)
|
|
499
|
+
msg = f"Unable to import {pkg}. Please install with `pip install -U {pkg_kebab}`"
|
|
580
500
|
raise ImportError(msg)
|
|
581
501
|
|
|
582
502
|
|
|
583
503
|
def _remove_prefix(s: str, prefix: str) -> str:
|
|
584
|
-
|
|
585
|
-
s = s[len(prefix) :]
|
|
586
|
-
return s
|
|
504
|
+
return s.removeprefix(prefix)
|
|
587
505
|
|
|
588
506
|
|
|
589
507
|
_DECLARATIVE_METHODS = ("bind_tools", "with_structured_output")
|
|
@@ -593,16 +511,14 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
593
511
|
def __init__(
|
|
594
512
|
self,
|
|
595
513
|
*,
|
|
596
|
-
default_config:
|
|
597
|
-
configurable_fields:
|
|
514
|
+
default_config: dict | None = None,
|
|
515
|
+
configurable_fields: Literal["any"] | list[str] | tuple[str, ...] = "any",
|
|
598
516
|
config_prefix: str = "",
|
|
599
517
|
queued_declarative_operations: Sequence[tuple[str, tuple, dict]] = (),
|
|
600
518
|
) -> None:
|
|
601
519
|
self._default_config: dict = default_config or {}
|
|
602
|
-
self._configurable_fields:
|
|
603
|
-
configurable_fields
|
|
604
|
-
if configurable_fields == "any"
|
|
605
|
-
else list(configurable_fields)
|
|
520
|
+
self._configurable_fields: Literal["any"] | list[str] = (
|
|
521
|
+
configurable_fields if configurable_fields == "any" else list(configurable_fields)
|
|
606
522
|
)
|
|
607
523
|
self._config_prefix = (
|
|
608
524
|
config_prefix + "_"
|
|
@@ -643,14 +559,14 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
643
559
|
msg += "."
|
|
644
560
|
raise AttributeError(msg)
|
|
645
561
|
|
|
646
|
-
def _model(self, config:
|
|
562
|
+
def _model(self, config: RunnableConfig | None = None) -> Runnable:
|
|
647
563
|
params = {**self._default_config, **self._model_params(config)}
|
|
648
564
|
model = _init_chat_model_helper(**params)
|
|
649
565
|
for name, args, kwargs in self._queued_declarative_operations:
|
|
650
566
|
model = getattr(model, name)(*args, **kwargs)
|
|
651
567
|
return model
|
|
652
568
|
|
|
653
|
-
def _model_params(self, config:
|
|
569
|
+
def _model_params(self, config: RunnableConfig | None) -> dict:
|
|
654
570
|
config = ensure_config(config)
|
|
655
571
|
model_params = {
|
|
656
572
|
_remove_prefix(k, self._config_prefix): v
|
|
@@ -658,14 +574,12 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
658
574
|
if k.startswith(self._config_prefix)
|
|
659
575
|
}
|
|
660
576
|
if self._configurable_fields != "any":
|
|
661
|
-
model_params = {
|
|
662
|
-
k: v for k, v in model_params.items() if k in self._configurable_fields
|
|
663
|
-
}
|
|
577
|
+
model_params = {k: v for k, v in model_params.items() if k in self._configurable_fields}
|
|
664
578
|
return model_params
|
|
665
579
|
|
|
666
580
|
def with_config(
|
|
667
581
|
self,
|
|
668
|
-
config:
|
|
582
|
+
config: RunnableConfig | None = None,
|
|
669
583
|
**kwargs: Any,
|
|
670
584
|
) -> _ConfigurableModel:
|
|
671
585
|
"""Bind config to a Runnable, returning a new Runnable."""
|
|
@@ -697,7 +611,7 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
697
611
|
|
|
698
612
|
@property
|
|
699
613
|
def InputType(self) -> TypeAlias:
|
|
700
|
-
"""Get the input type for this
|
|
614
|
+
"""Get the input type for this `Runnable`."""
|
|
701
615
|
from langchain_core.prompt_values import (
|
|
702
616
|
ChatPromptValueConcrete,
|
|
703
617
|
StringPromptValue,
|
|
@@ -706,17 +620,13 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
706
620
|
# This is a version of LanguageModelInput which replaces the abstract
|
|
707
621
|
# base class BaseMessage with a union of its subclasses, which makes
|
|
708
622
|
# for a much better schema.
|
|
709
|
-
return
|
|
710
|
-
str,
|
|
711
|
-
Union[StringPromptValue, ChatPromptValueConcrete],
|
|
712
|
-
list[AnyMessage],
|
|
713
|
-
]
|
|
623
|
+
return str | StringPromptValue | ChatPromptValueConcrete | list[AnyMessage]
|
|
714
624
|
|
|
715
625
|
@override
|
|
716
626
|
def invoke(
|
|
717
627
|
self,
|
|
718
628
|
input: LanguageModelInput,
|
|
719
|
-
config:
|
|
629
|
+
config: RunnableConfig | None = None,
|
|
720
630
|
**kwargs: Any,
|
|
721
631
|
) -> Any:
|
|
722
632
|
return self._model(config).invoke(input, config=config, **kwargs)
|
|
@@ -725,7 +635,7 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
725
635
|
async def ainvoke(
|
|
726
636
|
self,
|
|
727
637
|
input: LanguageModelInput,
|
|
728
|
-
config:
|
|
638
|
+
config: RunnableConfig | None = None,
|
|
729
639
|
**kwargs: Any,
|
|
730
640
|
) -> Any:
|
|
731
641
|
return await self._model(config).ainvoke(input, config=config, **kwargs)
|
|
@@ -734,8 +644,8 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
734
644
|
def stream(
|
|
735
645
|
self,
|
|
736
646
|
input: LanguageModelInput,
|
|
737
|
-
config:
|
|
738
|
-
**kwargs:
|
|
647
|
+
config: RunnableConfig | None = None,
|
|
648
|
+
**kwargs: Any | None,
|
|
739
649
|
) -> Iterator[Any]:
|
|
740
650
|
yield from self._model(config).stream(input, config=config, **kwargs)
|
|
741
651
|
|
|
@@ -743,8 +653,8 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
743
653
|
async def astream(
|
|
744
654
|
self,
|
|
745
655
|
input: LanguageModelInput,
|
|
746
|
-
config:
|
|
747
|
-
**kwargs:
|
|
656
|
+
config: RunnableConfig | None = None,
|
|
657
|
+
**kwargs: Any | None,
|
|
748
658
|
) -> AsyncIterator[Any]:
|
|
749
659
|
async for x in self._model(config).astream(input, config=config, **kwargs):
|
|
750
660
|
yield x
|
|
@@ -752,10 +662,10 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
752
662
|
def batch(
|
|
753
663
|
self,
|
|
754
664
|
inputs: list[LanguageModelInput],
|
|
755
|
-
config:
|
|
665
|
+
config: RunnableConfig | list[RunnableConfig] | None = None,
|
|
756
666
|
*,
|
|
757
667
|
return_exceptions: bool = False,
|
|
758
|
-
**kwargs:
|
|
668
|
+
**kwargs: Any | None,
|
|
759
669
|
) -> list[Any]:
|
|
760
670
|
config = config or None
|
|
761
671
|
# If <= 1 config use the underlying models batch implementation.
|
|
@@ -780,10 +690,10 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
780
690
|
async def abatch(
|
|
781
691
|
self,
|
|
782
692
|
inputs: list[LanguageModelInput],
|
|
783
|
-
config:
|
|
693
|
+
config: RunnableConfig | list[RunnableConfig] | None = None,
|
|
784
694
|
*,
|
|
785
695
|
return_exceptions: bool = False,
|
|
786
|
-
**kwargs:
|
|
696
|
+
**kwargs: Any | None,
|
|
787
697
|
) -> list[Any]:
|
|
788
698
|
config = config or None
|
|
789
699
|
# If <= 1 config use the underlying models batch implementation.
|
|
@@ -808,11 +718,11 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
808
718
|
def batch_as_completed(
|
|
809
719
|
self,
|
|
810
720
|
inputs: Sequence[LanguageModelInput],
|
|
811
|
-
config:
|
|
721
|
+
config: RunnableConfig | Sequence[RunnableConfig] | None = None,
|
|
812
722
|
*,
|
|
813
723
|
return_exceptions: bool = False,
|
|
814
724
|
**kwargs: Any,
|
|
815
|
-
) -> Iterator[tuple[int,
|
|
725
|
+
) -> Iterator[tuple[int, Any | Exception]]:
|
|
816
726
|
config = config or None
|
|
817
727
|
# If <= 1 config use the underlying models batch implementation.
|
|
818
728
|
if config is None or isinstance(config, dict) or len(config) <= 1:
|
|
@@ -837,7 +747,7 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
837
747
|
async def abatch_as_completed(
|
|
838
748
|
self,
|
|
839
749
|
inputs: Sequence[LanguageModelInput],
|
|
840
|
-
config:
|
|
750
|
+
config: RunnableConfig | Sequence[RunnableConfig] | None = None,
|
|
841
751
|
*,
|
|
842
752
|
return_exceptions: bool = False,
|
|
843
753
|
**kwargs: Any,
|
|
@@ -871,8 +781,8 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
871
781
|
def transform(
|
|
872
782
|
self,
|
|
873
783
|
input: Iterator[LanguageModelInput],
|
|
874
|
-
config:
|
|
875
|
-
**kwargs:
|
|
784
|
+
config: RunnableConfig | None = None,
|
|
785
|
+
**kwargs: Any | None,
|
|
876
786
|
) -> Iterator[Any]:
|
|
877
787
|
yield from self._model(config).transform(input, config=config, **kwargs)
|
|
878
788
|
|
|
@@ -880,8 +790,8 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
880
790
|
async def atransform(
|
|
881
791
|
self,
|
|
882
792
|
input: AsyncIterator[LanguageModelInput],
|
|
883
|
-
config:
|
|
884
|
-
**kwargs:
|
|
793
|
+
config: RunnableConfig | None = None,
|
|
794
|
+
**kwargs: Any | None,
|
|
885
795
|
) -> AsyncIterator[Any]:
|
|
886
796
|
async for x in self._model(config).atransform(input, config=config, **kwargs):
|
|
887
797
|
yield x
|
|
@@ -890,16 +800,16 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
890
800
|
def astream_log(
|
|
891
801
|
self,
|
|
892
802
|
input: Any,
|
|
893
|
-
config:
|
|
803
|
+
config: RunnableConfig | None = None,
|
|
894
804
|
*,
|
|
895
805
|
diff: Literal[True] = True,
|
|
896
806
|
with_streamed_output_list: bool = True,
|
|
897
|
-
include_names:
|
|
898
|
-
include_types:
|
|
899
|
-
include_tags:
|
|
900
|
-
exclude_names:
|
|
901
|
-
exclude_types:
|
|
902
|
-
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,
|
|
903
813
|
**kwargs: Any,
|
|
904
814
|
) -> AsyncIterator[RunLogPatch]: ...
|
|
905
815
|
|
|
@@ -907,16 +817,16 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
907
817
|
def astream_log(
|
|
908
818
|
self,
|
|
909
819
|
input: Any,
|
|
910
|
-
config:
|
|
820
|
+
config: RunnableConfig | None = None,
|
|
911
821
|
*,
|
|
912
822
|
diff: Literal[False],
|
|
913
823
|
with_streamed_output_list: bool = True,
|
|
914
|
-
include_names:
|
|
915
|
-
include_types:
|
|
916
|
-
include_tags:
|
|
917
|
-
exclude_names:
|
|
918
|
-
exclude_types:
|
|
919
|
-
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,
|
|
920
830
|
**kwargs: Any,
|
|
921
831
|
) -> AsyncIterator[RunLog]: ...
|
|
922
832
|
|
|
@@ -924,18 +834,18 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
924
834
|
async def astream_log(
|
|
925
835
|
self,
|
|
926
836
|
input: Any,
|
|
927
|
-
config:
|
|
837
|
+
config: RunnableConfig | None = None,
|
|
928
838
|
*,
|
|
929
839
|
diff: bool = True,
|
|
930
840
|
with_streamed_output_list: bool = True,
|
|
931
|
-
include_names:
|
|
932
|
-
include_types:
|
|
933
|
-
include_tags:
|
|
934
|
-
exclude_names:
|
|
935
|
-
exclude_types:
|
|
936
|
-
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,
|
|
937
847
|
**kwargs: Any,
|
|
938
|
-
) ->
|
|
848
|
+
) -> AsyncIterator[RunLogPatch] | AsyncIterator[RunLog]:
|
|
939
849
|
async for x in self._model(config).astream_log( # type: ignore[call-overload, misc]
|
|
940
850
|
input,
|
|
941
851
|
config=config,
|
|
@@ -955,15 +865,15 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
955
865
|
async def astream_events(
|
|
956
866
|
self,
|
|
957
867
|
input: Any,
|
|
958
|
-
config:
|
|
868
|
+
config: RunnableConfig | None = None,
|
|
959
869
|
*,
|
|
960
870
|
version: Literal["v1", "v2"] = "v2",
|
|
961
|
-
include_names:
|
|
962
|
-
include_types:
|
|
963
|
-
include_tags:
|
|
964
|
-
exclude_names:
|
|
965
|
-
exclude_types:
|
|
966
|
-
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,
|
|
967
877
|
**kwargs: Any,
|
|
968
878
|
) -> AsyncIterator[StreamEvent]:
|
|
969
879
|
async for x in self._model(config).astream_events(
|
|
@@ -983,15 +893,15 @@ class _ConfigurableModel(Runnable[LanguageModelInput, Any]):
|
|
|
983
893
|
# Explicitly added to satisfy downstream linters.
|
|
984
894
|
def bind_tools(
|
|
985
895
|
self,
|
|
986
|
-
tools: Sequence[
|
|
896
|
+
tools: Sequence[dict[str, Any] | type[BaseModel] | Callable | BaseTool],
|
|
987
897
|
**kwargs: Any,
|
|
988
|
-
) -> Runnable[LanguageModelInput,
|
|
898
|
+
) -> Runnable[LanguageModelInput, AIMessage]:
|
|
989
899
|
return self.__getattr__("bind_tools")(tools, **kwargs)
|
|
990
900
|
|
|
991
901
|
# Explicitly added to satisfy downstream linters.
|
|
992
902
|
def with_structured_output(
|
|
993
903
|
self,
|
|
994
|
-
schema:
|
|
904
|
+
schema: dict | type[BaseModel],
|
|
995
905
|
**kwargs: Any,
|
|
996
|
-
) -> Runnable[LanguageModelInput,
|
|
906
|
+
) -> Runnable[LanguageModelInput, dict | BaseModel]:
|
|
997
907
|
return self.__getattr__("with_structured_output")(schema, **kwargs)
|