langchain 0.4.0.dev0__py3-none-any.whl → 1.0.0a2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of langchain might be problematic. Click here for more details.
- langchain/__init__.py +7 -434
- langchain/_internal/_documents.py +35 -0
- langchain/_internal/_lazy_import.py +36 -0
- langchain/_internal/_prompts.py +165 -0
- langchain/_internal/_typing.py +70 -0
- langchain/_internal/_utils.py +7 -0
- langchain/agents/__init__.py +5 -179
- langchain/agents/_internal/__init__.py +1 -0
- langchain/agents/_internal/_typing.py +13 -0
- langchain/agents/interrupt.py +92 -0
- langchain/agents/react_agent.py +1175 -0
- langchain/agents/structured_output.py +403 -0
- langchain/agents/tool_node.py +1174 -0
- langchain/chat_models/__init__.py +2 -75
- langchain/chat_models/base.py +138 -208
- langchain/{docstore/document.py → documents/__init__.py} +3 -1
- langchain/embeddings/__init__.py +2 -218
- langchain/embeddings/base.py +6 -13
- langchain/embeddings/cache.py +16 -19
- langchain/globals.py +4 -166
- langchain/storage/__init__.py +0 -35
- langchain/storage/encoder_backed.py +9 -19
- langchain/tools/__init__.py +8 -201
- {langchain-0.4.0.dev0.dist-info → langchain-1.0.0a2.dist-info}/METADATA +20 -26
- langchain-1.0.0a2.dist-info/RECORD +33 -0
- langchain/_api/__init__.py +0 -28
- langchain/_api/deprecation.py +0 -32
- langchain/_api/interactive_env.py +0 -5
- langchain/_api/module_import.py +0 -153
- langchain/_api/path.py +0 -3
- langchain/adapters/openai.py +0 -63
- langchain/agents/agent.py +0 -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/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/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/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/_lc_store.py +0 -91
- langchain/storage/file_system.py +0 -176
- langchain/storage/redis.py +0 -23
- langchain/storage/upstash_redis.py +0 -27
- langchain/tools/ainetwork/__init__.py +0 -0
- langchain/tools/ainetwork/app.py +0 -30
- langchain/tools/ainetwork/base.py +0 -27
- langchain/tools/ainetwork/owner.py +0 -28
- langchain/tools/ainetwork/rule.py +0 -28
- langchain/tools/ainetwork/transfer.py +0 -28
- langchain/tools/ainetwork/value.py +0 -28
- langchain/tools/amadeus/__init__.py +0 -30
- langchain/tools/amadeus/base.py +0 -23
- langchain/tools/amadeus/closest_airport.py +0 -30
- langchain/tools/amadeus/flight_search.py +0 -30
- langchain/tools/arxiv/__init__.py +0 -1
- langchain/tools/arxiv/tool.py +0 -28
- langchain/tools/azure_cognitive_services/__init__.py +0 -41
- langchain/tools/azure_cognitive_services/form_recognizer.py +0 -23
- langchain/tools/azure_cognitive_services/image_analysis.py +0 -23
- langchain/tools/azure_cognitive_services/speech2text.py +0 -23
- langchain/tools/azure_cognitive_services/text2speech.py +0 -23
- langchain/tools/azure_cognitive_services/text_analytics_health.py +0 -23
- langchain/tools/base.py +0 -19
- langchain/tools/bearly/__init__.py +0 -0
- langchain/tools/bearly/tool.py +0 -33
- langchain/tools/bing_search/__init__.py +0 -29
- langchain/tools/bing_search/tool.py +0 -27
- langchain/tools/brave_search/__init__.py +0 -0
- langchain/tools/brave_search/tool.py +0 -23
- langchain/tools/clickup/__init__.py +0 -0
- langchain/tools/clickup/tool.py +0 -23
- langchain/tools/convert_to_openai.py +0 -4
- langchain/tools/dataforseo_api_search/__init__.py +0 -34
- langchain/tools/dataforseo_api_search/tool.py +0 -32
- langchain/tools/ddg_search/__init__.py +0 -25
- langchain/tools/ddg_search/tool.py +0 -32
- langchain/tools/e2b_data_analysis/__init__.py +0 -0
- langchain/tools/e2b_data_analysis/tool.py +0 -33
- langchain/tools/edenai/__init__.py +0 -50
- langchain/tools/edenai/audio_speech_to_text.py +0 -23
- langchain/tools/edenai/audio_text_to_speech.py +0 -23
- langchain/tools/edenai/edenai_base_tool.py +0 -23
- langchain/tools/edenai/image_explicitcontent.py +0 -23
- langchain/tools/edenai/image_objectdetection.py +0 -23
- langchain/tools/edenai/ocr_identityparser.py +0 -23
- langchain/tools/edenai/ocr_invoiceparser.py +0 -23
- langchain/tools/edenai/text_moderation.py +0 -23
- langchain/tools/eleven_labs/__init__.py +0 -25
- langchain/tools/eleven_labs/models.py +0 -23
- langchain/tools/eleven_labs/text2speech.py +0 -23
- langchain/tools/file_management/__init__.py +0 -47
- langchain/tools/file_management/copy.py +0 -28
- langchain/tools/file_management/delete.py +0 -28
- langchain/tools/file_management/file_search.py +0 -28
- langchain/tools/file_management/list_dir.py +0 -28
- langchain/tools/file_management/move.py +0 -28
- langchain/tools/file_management/read.py +0 -28
- langchain/tools/file_management/write.py +0 -28
- langchain/tools/github/__init__.py +0 -1
- langchain/tools/github/tool.py +0 -23
- langchain/tools/gitlab/__init__.py +0 -1
- langchain/tools/gitlab/tool.py +0 -23
- langchain/tools/gmail/__init__.py +0 -41
- langchain/tools/gmail/base.py +0 -23
- langchain/tools/gmail/create_draft.py +0 -28
- langchain/tools/gmail/get_message.py +0 -28
- langchain/tools/gmail/get_thread.py +0 -28
- langchain/tools/gmail/search.py +0 -30
- langchain/tools/gmail/send_message.py +0 -28
- langchain/tools/golden_query/__init__.py +0 -25
- langchain/tools/golden_query/tool.py +0 -23
- langchain/tools/google_cloud/__init__.py +0 -25
- langchain/tools/google_cloud/texttospeech.py +0 -23
- langchain/tools/google_finance/__init__.py +0 -27
- langchain/tools/google_finance/tool.py +0 -25
- langchain/tools/google_jobs/__init__.py +0 -25
- langchain/tools/google_jobs/tool.py +0 -23
- langchain/tools/google_lens/__init__.py +0 -25
- langchain/tools/google_lens/tool.py +0 -23
- langchain/tools/google_places/__init__.py +0 -25
- langchain/tools/google_places/tool.py +0 -28
- langchain/tools/google_scholar/__init__.py +0 -27
- langchain/tools/google_scholar/tool.py +0 -25
- langchain/tools/google_search/__init__.py +0 -29
- langchain/tools/google_search/tool.py +0 -27
- langchain/tools/google_serper/__init__.py +0 -30
- langchain/tools/google_serper/tool.py +0 -27
- langchain/tools/google_trends/__init__.py +0 -27
- langchain/tools/google_trends/tool.py +0 -25
- langchain/tools/graphql/__init__.py +0 -1
- langchain/tools/graphql/tool.py +0 -23
- langchain/tools/human/__init__.py +0 -25
- langchain/tools/human/tool.py +0 -23
- langchain/tools/ifttt.py +0 -23
- langchain/tools/interaction/__init__.py +0 -1
- langchain/tools/interaction/tool.py +0 -23
- langchain/tools/jira/__init__.py +0 -1
- langchain/tools/jira/tool.py +0 -42
- langchain/tools/json/__init__.py +0 -1
- langchain/tools/json/tool.py +0 -52
- langchain/tools/memorize/__init__.py +0 -25
- langchain/tools/memorize/tool.py +0 -27
- langchain/tools/merriam_webster/__init__.py +0 -1
- langchain/tools/merriam_webster/tool.py +0 -23
- langchain/tools/metaphor_search/__init__.py +0 -25
- langchain/tools/metaphor_search/tool.py +0 -23
- langchain/tools/multion/__init__.py +0 -33
- langchain/tools/multion/close_session.py +0 -30
- langchain/tools/multion/create_session.py +0 -30
- langchain/tools/multion/update_session.py +0 -30
- langchain/tools/nasa/__init__.py +0 -0
- langchain/tools/nasa/tool.py +0 -23
- langchain/tools/nuclia/__init__.py +0 -23
- langchain/tools/nuclia/tool.py +0 -27
- langchain/tools/office365/__init__.py +0 -41
- langchain/tools/office365/base.py +0 -23
- langchain/tools/office365/create_draft_message.py +0 -32
- langchain/tools/office365/events_search.py +0 -28
- langchain/tools/office365/messages_search.py +0 -28
- langchain/tools/office365/send_event.py +0 -28
- langchain/tools/office365/send_message.py +0 -28
- langchain/tools/openapi/__init__.py +0 -0
- langchain/tools/openapi/utils/__init__.py +0 -0
- langchain/tools/openapi/utils/api_models.py +0 -54
- langchain/tools/openapi/utils/openapi_utils.py +0 -30
- langchain/tools/openweathermap/__init__.py +0 -25
- langchain/tools/openweathermap/tool.py +0 -23
- langchain/tools/playwright/__init__.py +0 -47
- langchain/tools/playwright/base.py +0 -23
- langchain/tools/playwright/click.py +0 -28
- langchain/tools/playwright/current_page.py +0 -23
- langchain/tools/playwright/extract_hyperlinks.py +0 -32
- langchain/tools/playwright/extract_text.py +0 -23
- langchain/tools/playwright/get_elements.py +0 -28
- langchain/tools/playwright/navigate.py +0 -28
- langchain/tools/playwright/navigate_back.py +0 -23
- langchain/tools/plugin.py +0 -32
- langchain/tools/powerbi/__init__.py +0 -1
- langchain/tools/powerbi/tool.py +0 -33
- langchain/tools/pubmed/__init__.py +0 -1
- langchain/tools/pubmed/tool.py +0 -23
- langchain/tools/python/__init__.py +0 -13
- langchain/tools/reddit_search/__init__.py +0 -0
- langchain/tools/reddit_search/tool.py +0 -27
- langchain/tools/render.py +0 -23
- langchain/tools/requests/__init__.py +0 -1
- langchain/tools/requests/tool.py +0 -42
- langchain/tools/retriever.py +0 -11
- langchain/tools/scenexplain/__init__.py +0 -1
- langchain/tools/scenexplain/tool.py +0 -28
- langchain/tools/searchapi/__init__.py +0 -30
- langchain/tools/searchapi/tool.py +0 -27
- langchain/tools/searx_search/__init__.py +0 -0
- langchain/tools/searx_search/tool.py +0 -27
- langchain/tools/shell/__init__.py +0 -25
- langchain/tools/shell/tool.py +0 -28
- langchain/tools/slack/__init__.py +0 -38
- langchain/tools/slack/base.py +0 -23
- langchain/tools/slack/get_channel.py +0 -23
- langchain/tools/slack/get_message.py +0 -28
- langchain/tools/slack/schedule_message.py +0 -28
- langchain/tools/slack/send_message.py +0 -28
- langchain/tools/sleep/__init__.py +0 -1
- langchain/tools/sleep/tool.py +0 -28
- langchain/tools/spark_sql/__init__.py +0 -1
- langchain/tools/spark_sql/tool.py +0 -39
- langchain/tools/sql_database/__init__.py +0 -1
- langchain/tools/sql_database/prompt.py +0 -24
- langchain/tools/sql_database/tool.py +0 -39
- langchain/tools/stackexchange/__init__.py +0 -1
- langchain/tools/stackexchange/tool.py +0 -23
- langchain/tools/steam/__init__.py +0 -1
- langchain/tools/steam/tool.py +0 -23
- langchain/tools/steamship_image_generation/__init__.py +0 -25
- langchain/tools/steamship_image_generation/tool.py +0 -28
- langchain/tools/tavily_search/__init__.py +0 -32
- langchain/tools/tavily_search/tool.py +0 -33
- langchain/tools/vectorstore/__init__.py +0 -1
- langchain/tools/vectorstore/tool.py +0 -30
- langchain/tools/wikipedia/__init__.py +0 -1
- langchain/tools/wikipedia/tool.py +0 -23
- langchain/tools/wolfram_alpha/__init__.py +0 -25
- langchain/tools/wolfram_alpha/tool.py +0 -23
- langchain/tools/yahoo_finance_news.py +0 -23
- langchain/tools/youtube/__init__.py +0 -0
- langchain/tools/youtube/search.py +0 -23
- langchain/tools/zapier/__init__.py +0 -29
- langchain/tools/zapier/tool.py +0 -49
- langchain/utilities/__init__.py +0 -168
- langchain/utilities/alpha_vantage.py +0 -23
- langchain/utilities/anthropic.py +0 -30
- langchain/utilities/apify.py +0 -23
- langchain/utilities/arcee.py +0 -45
- langchain/utilities/arxiv.py +0 -23
- langchain/utilities/asyncio.py +0 -11
- langchain/utilities/awslambda.py +0 -23
- langchain/utilities/bibtex.py +0 -23
- langchain/utilities/bing_search.py +0 -23
- langchain/utilities/brave_search.py +0 -23
- langchain/utilities/clickup.py +0 -45
- langchain/utilities/dalle_image_generator.py +0 -25
- langchain/utilities/dataforseo_api_search.py +0 -25
- langchain/utilities/duckduckgo_search.py +0 -23
- langchain/utilities/github.py +0 -23
- langchain/utilities/gitlab.py +0 -23
- langchain/utilities/golden_query.py +0 -23
- langchain/utilities/google_finance.py +0 -23
- langchain/utilities/google_jobs.py +0 -23
- langchain/utilities/google_lens.py +0 -23
- langchain/utilities/google_places_api.py +0 -23
- langchain/utilities/google_scholar.py +0 -23
- langchain/utilities/google_search.py +0 -23
- langchain/utilities/google_serper.py +0 -23
- langchain/utilities/google_trends.py +0 -23
- langchain/utilities/graphql.py +0 -23
- langchain/utilities/jira.py +0 -23
- langchain/utilities/loading.py +0 -4
- langchain/utilities/max_compute.py +0 -23
- langchain/utilities/merriam_webster.py +0 -23
- langchain/utilities/metaphor_search.py +0 -23
- langchain/utilities/nasa.py +0 -23
- langchain/utilities/opaqueprompts.py +0 -27
- langchain/utilities/openapi.py +0 -28
- langchain/utilities/openweathermap.py +0 -23
- langchain/utilities/outline.py +0 -23
- langchain/utilities/portkey.py +0 -23
- langchain/utilities/powerbi.py +0 -23
- langchain/utilities/pubmed.py +0 -23
- langchain/utilities/python.py +0 -19
- langchain/utilities/reddit_search.py +0 -25
- langchain/utilities/redis.py +0 -33
- langchain/utilities/requests.py +0 -27
- langchain/utilities/scenexplain.py +0 -23
- langchain/utilities/searchapi.py +0 -23
- langchain/utilities/searx_search.py +0 -28
- langchain/utilities/serpapi.py +0 -28
- langchain/utilities/spark_sql.py +0 -23
- langchain/utilities/sql_database.py +0 -28
- langchain/utilities/stackexchange.py +0 -23
- langchain/utilities/steam.py +0 -23
- langchain/utilities/tavily_search.py +0 -25
- langchain/utilities/tensorflow_datasets.py +0 -23
- langchain/utilities/twilio.py +0 -23
- langchain/utilities/vertexai.py +0 -36
- langchain/utilities/wikipedia.py +0 -23
- langchain/utilities/wolfram_alpha.py +0 -23
- langchain/utilities/zapier.py +0 -23
- langchain/utils/__init__.py +0 -77
- langchain/utils/aiter.py +0 -3
- langchain/utils/env.py +0 -3
- langchain/utils/ernie_functions.py +0 -36
- langchain/utils/formatting.py +0 -3
- langchain/utils/html.py +0 -19
- langchain/utils/input.py +0 -8
- langchain/utils/iter.py +0 -3
- langchain/utils/json_schema.py +0 -11
- langchain/utils/loading.py +0 -3
- langchain/utils/math.py +0 -32
- langchain/utils/openai.py +0 -23
- langchain/utils/openai_functions.py +0 -13
- langchain/utils/pydantic.py +0 -3
- langchain/utils/strings.py +0 -3
- langchain/utils/utils.py +0 -21
- langchain/vectorstores/__init__.py +0 -262
- langchain/vectorstores/alibabacloud_opensearch.py +0 -30
- langchain/vectorstores/analyticdb.py +0 -23
- langchain/vectorstores/annoy.py +0 -23
- langchain/vectorstores/astradb.py +0 -23
- langchain/vectorstores/atlas.py +0 -23
- langchain/vectorstores/awadb.py +0 -23
- langchain/vectorstores/azure_cosmos_db.py +0 -28
- langchain/vectorstores/azuresearch.py +0 -30
- langchain/vectorstores/bageldb.py +0 -23
- langchain/vectorstores/baiducloud_vector_search.py +0 -23
- langchain/vectorstores/base.py +0 -3
- langchain/vectorstores/cassandra.py +0 -23
- langchain/vectorstores/chroma.py +0 -23
- langchain/vectorstores/clarifai.py +0 -23
- langchain/vectorstores/clickhouse.py +0 -27
- langchain/vectorstores/dashvector.py +0 -23
- langchain/vectorstores/databricks_vector_search.py +0 -23
- langchain/vectorstores/deeplake.py +0 -23
- langchain/vectorstores/dingo.py +0 -23
- langchain/vectorstores/docarray/__init__.py +0 -30
- langchain/vectorstores/docarray/base.py +0 -23
- langchain/vectorstores/docarray/hnsw.py +0 -23
- langchain/vectorstores/docarray/in_memory.py +0 -23
- langchain/vectorstores/elastic_vector_search.py +0 -27
- langchain/vectorstores/elasticsearch.py +0 -39
- langchain/vectorstores/epsilla.py +0 -23
- langchain/vectorstores/faiss.py +0 -23
- langchain/vectorstores/hippo.py +0 -23
- langchain/vectorstores/hologres.py +0 -23
- langchain/vectorstores/lancedb.py +0 -23
- langchain/vectorstores/llm_rails.py +0 -28
- langchain/vectorstores/marqo.py +0 -23
- langchain/vectorstores/matching_engine.py +0 -23
- langchain/vectorstores/meilisearch.py +0 -23
- langchain/vectorstores/milvus.py +0 -23
- langchain/vectorstores/momento_vector_index.py +0 -23
- langchain/vectorstores/mongodb_atlas.py +0 -23
- langchain/vectorstores/myscale.py +0 -30
- langchain/vectorstores/neo4j_vector.py +0 -28
- langchain/vectorstores/nucliadb.py +0 -23
- langchain/vectorstores/opensearch_vector_search.py +0 -23
- langchain/vectorstores/pgembedding.py +0 -36
- langchain/vectorstores/pgvecto_rs.py +0 -23
- langchain/vectorstores/pgvector.py +0 -28
- langchain/vectorstores/pinecone.py +0 -23
- langchain/vectorstores/qdrant.py +0 -28
- langchain/vectorstores/redis/__init__.py +0 -42
- langchain/vectorstores/redis/base.py +0 -33
- langchain/vectorstores/redis/filters.py +0 -48
- langchain/vectorstores/redis/schema.py +0 -54
- langchain/vectorstores/rocksetdb.py +0 -23
- langchain/vectorstores/scann.py +0 -23
- langchain/vectorstores/semadb.py +0 -23
- langchain/vectorstores/singlestoredb.py +0 -23
- langchain/vectorstores/sklearn.py +0 -42
- langchain/vectorstores/sqlitevss.py +0 -23
- langchain/vectorstores/starrocks.py +0 -28
- langchain/vectorstores/supabase.py +0 -23
- langchain/vectorstores/tair.py +0 -23
- langchain/vectorstores/tencentvectordb.py +0 -33
- langchain/vectorstores/tigris.py +0 -23
- langchain/vectorstores/tiledb.py +0 -23
- langchain/vectorstores/timescalevector.py +0 -23
- langchain/vectorstores/typesense.py +0 -23
- langchain/vectorstores/usearch.py +0 -23
- langchain/vectorstores/utils.py +0 -33
- langchain/vectorstores/vald.py +0 -23
- langchain/vectorstores/vearch.py +0 -23
- langchain/vectorstores/vectara.py +0 -28
- langchain/vectorstores/vespa.py +0 -23
- langchain/vectorstores/weaviate.py +0 -23
- langchain/vectorstores/xata.py +0 -23
- langchain/vectorstores/yellowbrick.py +0 -23
- langchain/vectorstores/zep.py +0 -28
- langchain/vectorstores/zilliz.py +0 -23
- langchain-0.4.0.dev0.dist-info/RECORD +0 -1341
- /langchain/{adapters → _internal}/__init__.py +0 -0
- {langchain-0.4.0.dev0.dist-info → langchain-1.0.0a2.dist-info}/WHEEL +0 -0
- {langchain-0.4.0.dev0.dist-info → langchain-1.0.0a2.dist-info}/entry_points.txt +0 -0
- {langchain-0.4.0.dev0.dist-info → langchain-1.0.0a2.dist-info}/licenses/LICENSE +0 -0
langchain/memory/kg.py
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
from typing import TYPE_CHECKING, Any
|
|
2
|
-
|
|
3
|
-
from langchain._api import create_importer
|
|
4
|
-
|
|
5
|
-
if TYPE_CHECKING:
|
|
6
|
-
from langchain_community.memory.kg import ConversationKGMemory
|
|
7
|
-
|
|
8
|
-
# Create a way to dynamically look up deprecated imports.
|
|
9
|
-
# Used to consolidate logic for raising deprecation warnings and
|
|
10
|
-
# handling optional imports.
|
|
11
|
-
DEPRECATED_LOOKUP = {"ConversationKGMemory": "langchain_community.memory.kg"}
|
|
12
|
-
|
|
13
|
-
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def __getattr__(name: str) -> Any:
|
|
17
|
-
"""Look up attributes dynamically."""
|
|
18
|
-
return _import_attribute(name)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__all__ = [
|
|
22
|
-
"ConversationKGMemory",
|
|
23
|
-
]
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
from typing import TYPE_CHECKING, Any
|
|
2
|
-
|
|
3
|
-
from langchain._api import create_importer
|
|
4
|
-
|
|
5
|
-
if TYPE_CHECKING:
|
|
6
|
-
from langchain_community.memory.motorhead_memory import MotorheadMemory
|
|
7
|
-
|
|
8
|
-
# Create a way to dynamically look up deprecated imports.
|
|
9
|
-
# Used to consolidate logic for raising deprecation warnings and
|
|
10
|
-
# handling optional imports.
|
|
11
|
-
DEPRECATED_LOOKUP = {"MotorheadMemory": "langchain_community.memory.motorhead_memory"}
|
|
12
|
-
|
|
13
|
-
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def __getattr__(name: str) -> Any:
|
|
17
|
-
"""Look up attributes dynamically."""
|
|
18
|
-
return _import_attribute(name)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__all__ = [
|
|
22
|
-
"MotorheadMemory",
|
|
23
|
-
]
|
langchain/memory/prompt.py
DELETED
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
from langchain_core.prompts.prompt import PromptTemplate
|
|
2
|
-
|
|
3
|
-
_DEFAULT_ENTITY_MEMORY_CONVERSATION_TEMPLATE = """You are an assistant to a human, powered by a large language model trained by OpenAI.
|
|
4
|
-
|
|
5
|
-
You are designed to be able to assist with a wide range of tasks, from answering simple questions to providing in-depth explanations and discussions on a wide range of topics. As a language model, you are able to generate human-like text based on the input you receive, allowing you to engage in natural-sounding conversations and provide responses that are coherent and relevant to the topic at hand.
|
|
6
|
-
|
|
7
|
-
You are constantly learning and improving, and your capabilities are constantly evolving. You are able to process and understand large amounts of text, and can use this knowledge to provide accurate and informative responses to a wide range of questions. You have access to some personalized information provided by the human in the Context section below. Additionally, you are able to generate your own text based on the input you receive, allowing you to engage in discussions and provide explanations and descriptions on a wide range of topics.
|
|
8
|
-
|
|
9
|
-
Overall, you are a powerful tool that can help with a wide range of tasks and provide valuable insights and information on a wide range of topics. Whether the human needs help with a specific question or just wants to have a conversation about a particular topic, you are here to assist.
|
|
10
|
-
|
|
11
|
-
Context:
|
|
12
|
-
{entities}
|
|
13
|
-
|
|
14
|
-
Current conversation:
|
|
15
|
-
{history}
|
|
16
|
-
Last line:
|
|
17
|
-
Human: {input}
|
|
18
|
-
You:""" # noqa: E501
|
|
19
|
-
|
|
20
|
-
ENTITY_MEMORY_CONVERSATION_TEMPLATE = PromptTemplate(
|
|
21
|
-
input_variables=["entities", "history", "input"],
|
|
22
|
-
template=_DEFAULT_ENTITY_MEMORY_CONVERSATION_TEMPLATE,
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
_DEFAULT_SUMMARIZER_TEMPLATE = """Progressively summarize the lines of conversation provided, adding onto the previous summary returning a new summary.
|
|
26
|
-
|
|
27
|
-
EXAMPLE
|
|
28
|
-
Current summary:
|
|
29
|
-
The human asks what the AI thinks of artificial intelligence. The AI thinks artificial intelligence is a force for good.
|
|
30
|
-
|
|
31
|
-
New lines of conversation:
|
|
32
|
-
Human: Why do you think artificial intelligence is a force for good?
|
|
33
|
-
AI: Because artificial intelligence will help humans reach their full potential.
|
|
34
|
-
|
|
35
|
-
New summary:
|
|
36
|
-
The human asks what the AI thinks of artificial intelligence. The AI thinks artificial intelligence is a force for good because it will help humans reach their full potential.
|
|
37
|
-
END OF EXAMPLE
|
|
38
|
-
|
|
39
|
-
Current summary:
|
|
40
|
-
{summary}
|
|
41
|
-
|
|
42
|
-
New lines of conversation:
|
|
43
|
-
{new_lines}
|
|
44
|
-
|
|
45
|
-
New summary:""" # noqa: E501
|
|
46
|
-
SUMMARY_PROMPT = PromptTemplate(
|
|
47
|
-
input_variables=["summary", "new_lines"], template=_DEFAULT_SUMMARIZER_TEMPLATE
|
|
48
|
-
)
|
|
49
|
-
|
|
50
|
-
_DEFAULT_ENTITY_EXTRACTION_TEMPLATE = """You are an AI assistant reading the transcript of a conversation between an AI and a human. Extract all of the proper nouns from the last line of conversation. As a guideline, a proper noun is generally capitalized. You should definitely extract all names and places.
|
|
51
|
-
|
|
52
|
-
The conversation history is provided just in case of a coreference (e.g. "What do you know about him" where "him" is defined in a previous line) -- ignore items mentioned there that are not in the last line.
|
|
53
|
-
|
|
54
|
-
Return the output as a single comma-separated list, or NONE if there is nothing of note to return (e.g. the user is just issuing a greeting or having a simple conversation).
|
|
55
|
-
|
|
56
|
-
EXAMPLE
|
|
57
|
-
Conversation history:
|
|
58
|
-
Person #1: how's it going today?
|
|
59
|
-
AI: "It's going great! How about you?"
|
|
60
|
-
Person #1: good! busy working on Langchain. lots to do.
|
|
61
|
-
AI: "That sounds like a lot of work! What kind of things are you doing to make Langchain better?"
|
|
62
|
-
Last line:
|
|
63
|
-
Person #1: i'm trying to improve Langchain's interfaces, the UX, its integrations with various products the user might want ... a lot of stuff.
|
|
64
|
-
Output: Langchain
|
|
65
|
-
END OF EXAMPLE
|
|
66
|
-
|
|
67
|
-
EXAMPLE
|
|
68
|
-
Conversation history:
|
|
69
|
-
Person #1: how's it going today?
|
|
70
|
-
AI: "It's going great! How about you?"
|
|
71
|
-
Person #1: good! busy working on Langchain. lots to do.
|
|
72
|
-
AI: "That sounds like a lot of work! What kind of things are you doing to make Langchain better?"
|
|
73
|
-
Last line:
|
|
74
|
-
Person #1: i'm trying to improve Langchain's interfaces, the UX, its integrations with various products the user might want ... a lot of stuff. I'm working with Person #2.
|
|
75
|
-
Output: Langchain, Person #2
|
|
76
|
-
END OF EXAMPLE
|
|
77
|
-
|
|
78
|
-
Conversation history (for reference only):
|
|
79
|
-
{history}
|
|
80
|
-
Last line of conversation (for extraction):
|
|
81
|
-
Human: {input}
|
|
82
|
-
|
|
83
|
-
Output:""" # noqa: E501
|
|
84
|
-
ENTITY_EXTRACTION_PROMPT = PromptTemplate(
|
|
85
|
-
input_variables=["history", "input"], template=_DEFAULT_ENTITY_EXTRACTION_TEMPLATE
|
|
86
|
-
)
|
|
87
|
-
|
|
88
|
-
_DEFAULT_ENTITY_SUMMARIZATION_TEMPLATE = """You are an AI assistant helping a human keep track of facts about relevant people, places, and concepts in their life. Update the summary of the provided entity in the "Entity" section based on the last line of your conversation with the human. If you are writing the summary for the first time, return a single sentence.
|
|
89
|
-
The update should only include facts that are relayed in the last line of conversation about the provided entity, and should only contain facts about the provided entity.
|
|
90
|
-
|
|
91
|
-
If there is no new information about the provided entity or the information is not worth noting (not an important or relevant fact to remember long-term), return the existing summary unchanged.
|
|
92
|
-
|
|
93
|
-
Full conversation history (for context):
|
|
94
|
-
{history}
|
|
95
|
-
|
|
96
|
-
Entity to summarize:
|
|
97
|
-
{entity}
|
|
98
|
-
|
|
99
|
-
Existing summary of {entity}:
|
|
100
|
-
{summary}
|
|
101
|
-
|
|
102
|
-
Last line of conversation:
|
|
103
|
-
Human: {input}
|
|
104
|
-
Updated summary:""" # noqa: E501
|
|
105
|
-
|
|
106
|
-
ENTITY_SUMMARIZATION_PROMPT = PromptTemplate(
|
|
107
|
-
input_variables=["entity", "summary", "history", "input"],
|
|
108
|
-
template=_DEFAULT_ENTITY_SUMMARIZATION_TEMPLATE,
|
|
109
|
-
)
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
KG_TRIPLE_DELIMITER = "<|>"
|
|
113
|
-
_DEFAULT_KNOWLEDGE_TRIPLE_EXTRACTION_TEMPLATE = (
|
|
114
|
-
"You are a networked intelligence helping a human track knowledge triples"
|
|
115
|
-
" about all relevant people, things, concepts, etc. and integrating"
|
|
116
|
-
" them with your knowledge stored within your weights"
|
|
117
|
-
" as well as that stored in a knowledge graph."
|
|
118
|
-
" Extract all of the knowledge triples from the last line of conversation."
|
|
119
|
-
" A knowledge triple is a clause that contains a subject, a predicate,"
|
|
120
|
-
" and an object. The subject is the entity being described,"
|
|
121
|
-
" the predicate is the property of the subject that is being"
|
|
122
|
-
" described, and the object is the value of the property.\n\n"
|
|
123
|
-
"EXAMPLE\n"
|
|
124
|
-
"Conversation history:\n"
|
|
125
|
-
"Person #1: Did you hear aliens landed in Area 51?\n"
|
|
126
|
-
"AI: No, I didn't hear that. What do you know about Area 51?\n"
|
|
127
|
-
"Person #1: It's a secret military base in Nevada.\n"
|
|
128
|
-
"AI: What do you know about Nevada?\n"
|
|
129
|
-
"Last line of conversation:\n"
|
|
130
|
-
"Person #1: It's a state in the US. It's also the number 1 producer of gold in the US.\n\n" # noqa: E501
|
|
131
|
-
f"Output: (Nevada, is a, state){KG_TRIPLE_DELIMITER}(Nevada, is in, US)"
|
|
132
|
-
f"{KG_TRIPLE_DELIMITER}(Nevada, is the number 1 producer of, gold)\n"
|
|
133
|
-
"END OF EXAMPLE\n\n"
|
|
134
|
-
"EXAMPLE\n"
|
|
135
|
-
"Conversation history:\n"
|
|
136
|
-
"Person #1: Hello.\n"
|
|
137
|
-
"AI: Hi! How are you?\n"
|
|
138
|
-
"Person #1: I'm good. How are you?\n"
|
|
139
|
-
"AI: I'm good too.\n"
|
|
140
|
-
"Last line of conversation:\n"
|
|
141
|
-
"Person #1: I'm going to the store.\n\n"
|
|
142
|
-
"Output: NONE\n"
|
|
143
|
-
"END OF EXAMPLE\n\n"
|
|
144
|
-
"EXAMPLE\n"
|
|
145
|
-
"Conversation history:\n"
|
|
146
|
-
"Person #1: What do you know about Descartes?\n"
|
|
147
|
-
"AI: Descartes was a French philosopher, mathematician, and scientist who lived in the 17th century.\n" # noqa: E501
|
|
148
|
-
"Person #1: The Descartes I'm referring to is a standup comedian and interior designer from Montreal.\n" # noqa: E501
|
|
149
|
-
"AI: Oh yes, He is a comedian and an interior designer. He has been in the industry for 30 years. His favorite food is baked bean pie.\n" # noqa: E501
|
|
150
|
-
"Last line of conversation:\n"
|
|
151
|
-
"Person #1: Oh huh. I know Descartes likes to drive antique scooters and play the mandolin.\n" # noqa: E501
|
|
152
|
-
f"Output: (Descartes, likes to drive, antique scooters){KG_TRIPLE_DELIMITER}(Descartes, plays, mandolin)\n" # noqa: E501
|
|
153
|
-
"END OF EXAMPLE\n\n"
|
|
154
|
-
"Conversation history (for reference only):\n"
|
|
155
|
-
"{history}"
|
|
156
|
-
"\nLast line of conversation (for extraction):\n"
|
|
157
|
-
"Human: {input}\n\n"
|
|
158
|
-
"Output:"
|
|
159
|
-
)
|
|
160
|
-
|
|
161
|
-
KNOWLEDGE_TRIPLE_EXTRACTION_PROMPT = PromptTemplate(
|
|
162
|
-
input_variables=["history", "input"],
|
|
163
|
-
template=_DEFAULT_KNOWLEDGE_TRIPLE_EXTRACTION_TEMPLATE,
|
|
164
|
-
)
|
langchain/memory/readonly.py
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
from typing import Any
|
|
2
|
-
|
|
3
|
-
from langchain_core.memory import BaseMemory
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class ReadOnlySharedMemory(BaseMemory):
|
|
7
|
-
"""Memory wrapper that is read-only and cannot be changed."""
|
|
8
|
-
|
|
9
|
-
memory: BaseMemory
|
|
10
|
-
|
|
11
|
-
@property
|
|
12
|
-
def memory_variables(self) -> list[str]:
|
|
13
|
-
"""Return memory variables."""
|
|
14
|
-
return self.memory.memory_variables
|
|
15
|
-
|
|
16
|
-
def load_memory_variables(self, inputs: dict[str, Any]) -> dict[str, str]:
|
|
17
|
-
"""Load memory variables from memory."""
|
|
18
|
-
return self.memory.load_memory_variables(inputs)
|
|
19
|
-
|
|
20
|
-
def save_context(self, inputs: dict[str, Any], outputs: dict[str, str]) -> None:
|
|
21
|
-
"""Nothing should be saved or changed"""
|
|
22
|
-
|
|
23
|
-
def clear(self) -> None:
|
|
24
|
-
"""Nothing to clear, got a memory like a vault."""
|
langchain/memory/simple.py
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
from typing import Any
|
|
2
|
-
|
|
3
|
-
from langchain_core.memory import BaseMemory
|
|
4
|
-
from typing_extensions import override
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class SimpleMemory(BaseMemory):
|
|
8
|
-
"""Simple memory for storing context or other information that shouldn't
|
|
9
|
-
ever change between prompts.
|
|
10
|
-
"""
|
|
11
|
-
|
|
12
|
-
memories: dict[str, Any] = {}
|
|
13
|
-
|
|
14
|
-
@property
|
|
15
|
-
@override
|
|
16
|
-
def memory_variables(self) -> list[str]:
|
|
17
|
-
return list(self.memories.keys())
|
|
18
|
-
|
|
19
|
-
@override
|
|
20
|
-
def load_memory_variables(self, inputs: dict[str, Any]) -> dict[str, str]:
|
|
21
|
-
return self.memories
|
|
22
|
-
|
|
23
|
-
def save_context(self, inputs: dict[str, Any], outputs: dict[str, str]) -> None:
|
|
24
|
-
"""Nothing should be saved or changed, my memory is set in stone."""
|
|
25
|
-
|
|
26
|
-
def clear(self) -> None:
|
|
27
|
-
"""Nothing to clear, got a memory like a vault."""
|
langchain/memory/summary.py
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import Any
|
|
4
|
-
|
|
5
|
-
from langchain_core._api import deprecated
|
|
6
|
-
from langchain_core.chat_history import BaseChatMessageHistory
|
|
7
|
-
from langchain_core.language_models import BaseLanguageModel
|
|
8
|
-
from langchain_core.messages import BaseMessage, SystemMessage, get_buffer_string
|
|
9
|
-
from langchain_core.prompts import BasePromptTemplate
|
|
10
|
-
from langchain_core.utils import pre_init
|
|
11
|
-
from pydantic import BaseModel
|
|
12
|
-
from typing_extensions import override
|
|
13
|
-
|
|
14
|
-
from langchain.chains.llm import LLMChain
|
|
15
|
-
from langchain.memory.chat_memory import BaseChatMemory
|
|
16
|
-
from langchain.memory.prompt import SUMMARY_PROMPT
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@deprecated(
|
|
20
|
-
since="0.2.12",
|
|
21
|
-
removal="1.0",
|
|
22
|
-
message=(
|
|
23
|
-
"Refer here for how to incorporate summaries of conversation history: "
|
|
24
|
-
"https://langchain-ai.github.io/langgraph/how-tos/memory/add-summary-conversation-history/"
|
|
25
|
-
),
|
|
26
|
-
)
|
|
27
|
-
class SummarizerMixin(BaseModel):
|
|
28
|
-
"""Mixin for summarizer."""
|
|
29
|
-
|
|
30
|
-
human_prefix: str = "Human"
|
|
31
|
-
ai_prefix: str = "AI"
|
|
32
|
-
llm: BaseLanguageModel
|
|
33
|
-
prompt: BasePromptTemplate = SUMMARY_PROMPT
|
|
34
|
-
summary_message_cls: type[BaseMessage] = SystemMessage
|
|
35
|
-
|
|
36
|
-
def predict_new_summary(
|
|
37
|
-
self,
|
|
38
|
-
messages: list[BaseMessage],
|
|
39
|
-
existing_summary: str,
|
|
40
|
-
) -> str:
|
|
41
|
-
"""Predict a new summary based on the messages and existing summary.
|
|
42
|
-
|
|
43
|
-
Args:
|
|
44
|
-
messages: List of messages to summarize.
|
|
45
|
-
existing_summary: Existing summary to build upon.
|
|
46
|
-
|
|
47
|
-
Returns:
|
|
48
|
-
A new summary string.
|
|
49
|
-
"""
|
|
50
|
-
new_lines = get_buffer_string(
|
|
51
|
-
messages,
|
|
52
|
-
human_prefix=self.human_prefix,
|
|
53
|
-
ai_prefix=self.ai_prefix,
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
chain = LLMChain(llm=self.llm, prompt=self.prompt)
|
|
57
|
-
return chain.predict(summary=existing_summary, new_lines=new_lines)
|
|
58
|
-
|
|
59
|
-
async def apredict_new_summary(
|
|
60
|
-
self,
|
|
61
|
-
messages: list[BaseMessage],
|
|
62
|
-
existing_summary: str,
|
|
63
|
-
) -> str:
|
|
64
|
-
"""Predict a new summary based on the messages and existing summary.
|
|
65
|
-
|
|
66
|
-
Args:
|
|
67
|
-
messages: List of messages to summarize.
|
|
68
|
-
existing_summary: Existing summary to build upon.
|
|
69
|
-
|
|
70
|
-
Returns:
|
|
71
|
-
A new summary string.
|
|
72
|
-
"""
|
|
73
|
-
new_lines = get_buffer_string(
|
|
74
|
-
messages,
|
|
75
|
-
human_prefix=self.human_prefix,
|
|
76
|
-
ai_prefix=self.ai_prefix,
|
|
77
|
-
)
|
|
78
|
-
|
|
79
|
-
chain = LLMChain(llm=self.llm, prompt=self.prompt)
|
|
80
|
-
return await chain.apredict(summary=existing_summary, new_lines=new_lines)
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
@deprecated(
|
|
84
|
-
since="0.3.1",
|
|
85
|
-
removal="1.0.0",
|
|
86
|
-
message=(
|
|
87
|
-
"Please see the migration guide at: "
|
|
88
|
-
"https://python.langchain.com/docs/versions/migrating_memory/"
|
|
89
|
-
),
|
|
90
|
-
)
|
|
91
|
-
class ConversationSummaryMemory(BaseChatMemory, SummarizerMixin):
|
|
92
|
-
"""Continually summarizes the conversation history.
|
|
93
|
-
|
|
94
|
-
The summary is updated after each conversation turn.
|
|
95
|
-
The implementations returns a summary of the conversation history which
|
|
96
|
-
can be used to provide context to the model.
|
|
97
|
-
"""
|
|
98
|
-
|
|
99
|
-
buffer: str = ""
|
|
100
|
-
memory_key: str = "history" #: :meta private:
|
|
101
|
-
|
|
102
|
-
@classmethod
|
|
103
|
-
def from_messages(
|
|
104
|
-
cls,
|
|
105
|
-
llm: BaseLanguageModel,
|
|
106
|
-
chat_memory: BaseChatMessageHistory,
|
|
107
|
-
*,
|
|
108
|
-
summarize_step: int = 2,
|
|
109
|
-
**kwargs: Any,
|
|
110
|
-
) -> ConversationSummaryMemory:
|
|
111
|
-
"""Create a ConversationSummaryMemory from a list of messages.
|
|
112
|
-
|
|
113
|
-
Args:
|
|
114
|
-
llm: The language model to use for summarization.
|
|
115
|
-
chat_memory: The chat history to summarize.
|
|
116
|
-
summarize_step: Number of messages to summarize at a time.
|
|
117
|
-
**kwargs: Additional keyword arguments to pass to the class.
|
|
118
|
-
Returns:
|
|
119
|
-
An instance of ConversationSummaryMemory with the summarized history.
|
|
120
|
-
"""
|
|
121
|
-
obj = cls(llm=llm, chat_memory=chat_memory, **kwargs)
|
|
122
|
-
for i in range(0, len(obj.chat_memory.messages), summarize_step):
|
|
123
|
-
obj.buffer = obj.predict_new_summary(
|
|
124
|
-
obj.chat_memory.messages[i : i + summarize_step],
|
|
125
|
-
obj.buffer,
|
|
126
|
-
)
|
|
127
|
-
return obj
|
|
128
|
-
|
|
129
|
-
@property
|
|
130
|
-
def memory_variables(self) -> list[str]:
|
|
131
|
-
"""Will always return list of memory variables.
|
|
132
|
-
|
|
133
|
-
:meta private:
|
|
134
|
-
"""
|
|
135
|
-
return [self.memory_key]
|
|
136
|
-
|
|
137
|
-
@override
|
|
138
|
-
def load_memory_variables(self, inputs: dict[str, Any]) -> dict[str, Any]:
|
|
139
|
-
"""Return history buffer."""
|
|
140
|
-
if self.return_messages:
|
|
141
|
-
buffer: Any = [self.summary_message_cls(content=self.buffer)]
|
|
142
|
-
else:
|
|
143
|
-
buffer = self.buffer
|
|
144
|
-
return {self.memory_key: buffer}
|
|
145
|
-
|
|
146
|
-
@pre_init
|
|
147
|
-
def validate_prompt_input_variables(cls, values: dict) -> dict:
|
|
148
|
-
"""Validate that prompt input variables are consistent."""
|
|
149
|
-
prompt_variables = values["prompt"].input_variables
|
|
150
|
-
expected_keys = {"summary", "new_lines"}
|
|
151
|
-
if expected_keys != set(prompt_variables):
|
|
152
|
-
msg = (
|
|
153
|
-
"Got unexpected prompt input variables. The prompt expects "
|
|
154
|
-
f"{prompt_variables}, but it should have {expected_keys}."
|
|
155
|
-
)
|
|
156
|
-
raise ValueError(msg)
|
|
157
|
-
return values
|
|
158
|
-
|
|
159
|
-
def save_context(self, inputs: dict[str, Any], outputs: dict[str, str]) -> None:
|
|
160
|
-
"""Save context from this conversation to buffer."""
|
|
161
|
-
super().save_context(inputs, outputs)
|
|
162
|
-
self.buffer = self.predict_new_summary(
|
|
163
|
-
self.chat_memory.messages[-2:],
|
|
164
|
-
self.buffer,
|
|
165
|
-
)
|
|
166
|
-
|
|
167
|
-
def clear(self) -> None:
|
|
168
|
-
"""Clear memory contents."""
|
|
169
|
-
super().clear()
|
|
170
|
-
self.buffer = ""
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
from typing import Any, Union
|
|
2
|
-
|
|
3
|
-
from langchain_core._api import deprecated
|
|
4
|
-
from langchain_core.messages import BaseMessage, get_buffer_string
|
|
5
|
-
from langchain_core.utils import pre_init
|
|
6
|
-
from typing_extensions import override
|
|
7
|
-
|
|
8
|
-
from langchain.memory.chat_memory import BaseChatMemory
|
|
9
|
-
from langchain.memory.summary import SummarizerMixin
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
@deprecated(
|
|
13
|
-
since="0.3.1",
|
|
14
|
-
removal="1.0.0",
|
|
15
|
-
message=(
|
|
16
|
-
"Please see the migration guide at: "
|
|
17
|
-
"https://python.langchain.com/docs/versions/migrating_memory/"
|
|
18
|
-
),
|
|
19
|
-
)
|
|
20
|
-
class ConversationSummaryBufferMemory(BaseChatMemory, SummarizerMixin):
|
|
21
|
-
"""Buffer with summarizer for storing conversation memory.
|
|
22
|
-
|
|
23
|
-
Provides a running summary of the conversation together with the most recent
|
|
24
|
-
messages in the conversation under the constraint that the total number of
|
|
25
|
-
tokens in the conversation does not exceed a certain limit.
|
|
26
|
-
"""
|
|
27
|
-
|
|
28
|
-
max_token_limit: int = 2000
|
|
29
|
-
moving_summary_buffer: str = ""
|
|
30
|
-
memory_key: str = "history"
|
|
31
|
-
|
|
32
|
-
@property
|
|
33
|
-
def buffer(self) -> Union[str, list[BaseMessage]]:
|
|
34
|
-
"""String buffer of memory."""
|
|
35
|
-
return self.load_memory_variables({})[self.memory_key]
|
|
36
|
-
|
|
37
|
-
async def abuffer(self) -> Union[str, list[BaseMessage]]:
|
|
38
|
-
"""Async memory buffer."""
|
|
39
|
-
memory_variables = await self.aload_memory_variables({})
|
|
40
|
-
return memory_variables[self.memory_key]
|
|
41
|
-
|
|
42
|
-
@property
|
|
43
|
-
def memory_variables(self) -> list[str]:
|
|
44
|
-
"""Will always return list of memory variables.
|
|
45
|
-
|
|
46
|
-
:meta private:
|
|
47
|
-
"""
|
|
48
|
-
return [self.memory_key]
|
|
49
|
-
|
|
50
|
-
@override
|
|
51
|
-
def load_memory_variables(self, inputs: dict[str, Any]) -> dict[str, Any]:
|
|
52
|
-
"""Return history buffer."""
|
|
53
|
-
buffer = self.chat_memory.messages
|
|
54
|
-
if self.moving_summary_buffer != "":
|
|
55
|
-
first_messages: list[BaseMessage] = [
|
|
56
|
-
self.summary_message_cls(content=self.moving_summary_buffer),
|
|
57
|
-
]
|
|
58
|
-
buffer = first_messages + buffer
|
|
59
|
-
if self.return_messages:
|
|
60
|
-
final_buffer: Any = buffer
|
|
61
|
-
else:
|
|
62
|
-
final_buffer = get_buffer_string(
|
|
63
|
-
buffer,
|
|
64
|
-
human_prefix=self.human_prefix,
|
|
65
|
-
ai_prefix=self.ai_prefix,
|
|
66
|
-
)
|
|
67
|
-
return {self.memory_key: final_buffer}
|
|
68
|
-
|
|
69
|
-
@override
|
|
70
|
-
async def aload_memory_variables(self, inputs: dict[str, Any]) -> dict[str, Any]:
|
|
71
|
-
"""Asynchronously return key-value pairs given the text input to the chain."""
|
|
72
|
-
buffer = await self.chat_memory.aget_messages()
|
|
73
|
-
if self.moving_summary_buffer != "":
|
|
74
|
-
first_messages: list[BaseMessage] = [
|
|
75
|
-
self.summary_message_cls(content=self.moving_summary_buffer),
|
|
76
|
-
]
|
|
77
|
-
buffer = first_messages + buffer
|
|
78
|
-
if self.return_messages:
|
|
79
|
-
final_buffer: Any = buffer
|
|
80
|
-
else:
|
|
81
|
-
final_buffer = get_buffer_string(
|
|
82
|
-
buffer,
|
|
83
|
-
human_prefix=self.human_prefix,
|
|
84
|
-
ai_prefix=self.ai_prefix,
|
|
85
|
-
)
|
|
86
|
-
return {self.memory_key: final_buffer}
|
|
87
|
-
|
|
88
|
-
@pre_init
|
|
89
|
-
def validate_prompt_input_variables(cls, values: dict) -> dict:
|
|
90
|
-
"""Validate that prompt input variables are consistent."""
|
|
91
|
-
prompt_variables = values["prompt"].input_variables
|
|
92
|
-
expected_keys = {"summary", "new_lines"}
|
|
93
|
-
if expected_keys != set(prompt_variables):
|
|
94
|
-
msg = (
|
|
95
|
-
"Got unexpected prompt input variables. The prompt expects "
|
|
96
|
-
f"{prompt_variables}, but it should have {expected_keys}."
|
|
97
|
-
)
|
|
98
|
-
raise ValueError(msg)
|
|
99
|
-
return values
|
|
100
|
-
|
|
101
|
-
def save_context(self, inputs: dict[str, Any], outputs: dict[str, str]) -> None:
|
|
102
|
-
"""Save context from this conversation to buffer."""
|
|
103
|
-
super().save_context(inputs, outputs)
|
|
104
|
-
self.prune()
|
|
105
|
-
|
|
106
|
-
async def asave_context(
|
|
107
|
-
self,
|
|
108
|
-
inputs: dict[str, Any],
|
|
109
|
-
outputs: dict[str, str],
|
|
110
|
-
) -> None:
|
|
111
|
-
"""Asynchronously save context from this conversation to buffer."""
|
|
112
|
-
await super().asave_context(inputs, outputs)
|
|
113
|
-
await self.aprune()
|
|
114
|
-
|
|
115
|
-
def prune(self) -> None:
|
|
116
|
-
"""Prune buffer if it exceeds max token limit"""
|
|
117
|
-
buffer = self.chat_memory.messages
|
|
118
|
-
curr_buffer_length = self.llm.get_num_tokens_from_messages(buffer)
|
|
119
|
-
if curr_buffer_length > self.max_token_limit:
|
|
120
|
-
pruned_memory = []
|
|
121
|
-
while curr_buffer_length > self.max_token_limit:
|
|
122
|
-
pruned_memory.append(buffer.pop(0))
|
|
123
|
-
curr_buffer_length = self.llm.get_num_tokens_from_messages(buffer)
|
|
124
|
-
self.moving_summary_buffer = self.predict_new_summary(
|
|
125
|
-
pruned_memory,
|
|
126
|
-
self.moving_summary_buffer,
|
|
127
|
-
)
|
|
128
|
-
|
|
129
|
-
async def aprune(self) -> None:
|
|
130
|
-
"""Asynchronously prune buffer if it exceeds max token limit"""
|
|
131
|
-
buffer = self.chat_memory.messages
|
|
132
|
-
curr_buffer_length = self.llm.get_num_tokens_from_messages(buffer)
|
|
133
|
-
if curr_buffer_length > self.max_token_limit:
|
|
134
|
-
pruned_memory = []
|
|
135
|
-
while curr_buffer_length > self.max_token_limit:
|
|
136
|
-
pruned_memory.append(buffer.pop(0))
|
|
137
|
-
curr_buffer_length = self.llm.get_num_tokens_from_messages(buffer)
|
|
138
|
-
self.moving_summary_buffer = await self.apredict_new_summary(
|
|
139
|
-
pruned_memory,
|
|
140
|
-
self.moving_summary_buffer,
|
|
141
|
-
)
|
|
142
|
-
|
|
143
|
-
def clear(self) -> None:
|
|
144
|
-
"""Clear memory contents."""
|
|
145
|
-
super().clear()
|
|
146
|
-
self.moving_summary_buffer = ""
|
|
147
|
-
|
|
148
|
-
async def aclear(self) -> None:
|
|
149
|
-
"""Asynchronously clear memory contents."""
|
|
150
|
-
await super().aclear()
|
|
151
|
-
self.moving_summary_buffer = ""
|
langchain/memory/token_buffer.py
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
from typing import Any
|
|
2
|
-
|
|
3
|
-
from langchain_core._api import deprecated
|
|
4
|
-
from langchain_core.language_models import BaseLanguageModel
|
|
5
|
-
from langchain_core.messages import BaseMessage, get_buffer_string
|
|
6
|
-
from typing_extensions import override
|
|
7
|
-
|
|
8
|
-
from langchain.memory.chat_memory import BaseChatMemory
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@deprecated(
|
|
12
|
-
since="0.3.1",
|
|
13
|
-
removal="1.0.0",
|
|
14
|
-
message=(
|
|
15
|
-
"Please see the migration guide at: "
|
|
16
|
-
"https://python.langchain.com/docs/versions/migrating_memory/"
|
|
17
|
-
),
|
|
18
|
-
)
|
|
19
|
-
class ConversationTokenBufferMemory(BaseChatMemory):
|
|
20
|
-
"""Conversation chat memory with token limit.
|
|
21
|
-
|
|
22
|
-
Keeps only the most recent messages in the conversation under the constraint
|
|
23
|
-
that the total number of tokens in the conversation does not exceed a certain limit.
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
human_prefix: str = "Human"
|
|
27
|
-
ai_prefix: str = "AI"
|
|
28
|
-
llm: BaseLanguageModel
|
|
29
|
-
memory_key: str = "history"
|
|
30
|
-
max_token_limit: int = 2000
|
|
31
|
-
|
|
32
|
-
@property
|
|
33
|
-
def buffer(self) -> Any:
|
|
34
|
-
"""String buffer of memory."""
|
|
35
|
-
return self.buffer_as_messages if self.return_messages else self.buffer_as_str
|
|
36
|
-
|
|
37
|
-
@property
|
|
38
|
-
def buffer_as_str(self) -> str:
|
|
39
|
-
"""Exposes the buffer as a string in case return_messages is False."""
|
|
40
|
-
return get_buffer_string(
|
|
41
|
-
self.chat_memory.messages,
|
|
42
|
-
human_prefix=self.human_prefix,
|
|
43
|
-
ai_prefix=self.ai_prefix,
|
|
44
|
-
)
|
|
45
|
-
|
|
46
|
-
@property
|
|
47
|
-
def buffer_as_messages(self) -> list[BaseMessage]:
|
|
48
|
-
"""Exposes the buffer as a list of messages in case return_messages is True."""
|
|
49
|
-
return self.chat_memory.messages
|
|
50
|
-
|
|
51
|
-
@property
|
|
52
|
-
def memory_variables(self) -> list[str]:
|
|
53
|
-
"""Will always return list of memory variables.
|
|
54
|
-
|
|
55
|
-
:meta private:
|
|
56
|
-
"""
|
|
57
|
-
return [self.memory_key]
|
|
58
|
-
|
|
59
|
-
@override
|
|
60
|
-
def load_memory_variables(self, inputs: dict[str, Any]) -> dict[str, Any]:
|
|
61
|
-
"""Return history buffer."""
|
|
62
|
-
return {self.memory_key: self.buffer}
|
|
63
|
-
|
|
64
|
-
def save_context(self, inputs: dict[str, Any], outputs: dict[str, str]) -> None:
|
|
65
|
-
"""Save context from this conversation to buffer. Pruned."""
|
|
66
|
-
super().save_context(inputs, outputs)
|
|
67
|
-
# Prune buffer if it exceeds max token limit
|
|
68
|
-
buffer = self.chat_memory.messages
|
|
69
|
-
curr_buffer_length = self.llm.get_num_tokens_from_messages(buffer)
|
|
70
|
-
if curr_buffer_length > self.max_token_limit:
|
|
71
|
-
pruned_memory = []
|
|
72
|
-
while curr_buffer_length > self.max_token_limit:
|
|
73
|
-
pruned_memory.append(buffer.pop(0))
|
|
74
|
-
curr_buffer_length = self.llm.get_num_tokens_from_messages(buffer)
|
langchain/memory/utils.py
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
from typing import Any
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
def get_prompt_input_key(inputs: dict[str, Any], memory_variables: list[str]) -> str:
|
|
5
|
-
"""
|
|
6
|
-
Get the prompt input key.
|
|
7
|
-
|
|
8
|
-
Args:
|
|
9
|
-
inputs: Dict[str, Any]
|
|
10
|
-
memory_variables: List[str]
|
|
11
|
-
|
|
12
|
-
Returns:
|
|
13
|
-
A prompt input key.
|
|
14
|
-
"""
|
|
15
|
-
# "stop" is a special key that can be passed as input but is not used to
|
|
16
|
-
# format the prompt.
|
|
17
|
-
prompt_input_keys = list(set(inputs).difference([*memory_variables, "stop"]))
|
|
18
|
-
if len(prompt_input_keys) != 1:
|
|
19
|
-
msg = f"One input key expected got {prompt_input_keys}"
|
|
20
|
-
raise ValueError(msg)
|
|
21
|
-
return prompt_input_keys[0]
|