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/retrievers/milvus.py
DELETED
|
@@ -1,28 +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.retrievers import MilvusRetriever
|
|
7
|
-
from langchain_community.retrievers.milvus import MilvusRetreiver
|
|
8
|
-
|
|
9
|
-
# Create a way to dynamically look up deprecated imports.
|
|
10
|
-
# Used to consolidate logic for raising deprecation warnings and
|
|
11
|
-
# handling optional imports.
|
|
12
|
-
DEPRECATED_LOOKUP = {
|
|
13
|
-
"MilvusRetriever": "langchain_community.retrievers",
|
|
14
|
-
"MilvusRetreiver": "langchain_community.retrievers.milvus",
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
def __getattr__(name: str) -> Any:
|
|
21
|
-
"""Look up attributes dynamically."""
|
|
22
|
-
return _import_attribute(name)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
__all__ = [
|
|
26
|
-
"MilvusRetreiver",
|
|
27
|
-
"MilvusRetriever",
|
|
28
|
-
]
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
import asyncio
|
|
2
|
-
import logging
|
|
3
|
-
from collections.abc import Sequence
|
|
4
|
-
from typing import Optional
|
|
5
|
-
|
|
6
|
-
from langchain_core.callbacks import (
|
|
7
|
-
AsyncCallbackManagerForRetrieverRun,
|
|
8
|
-
CallbackManagerForRetrieverRun,
|
|
9
|
-
)
|
|
10
|
-
from langchain_core.documents import Document
|
|
11
|
-
from langchain_core.language_models import BaseLanguageModel
|
|
12
|
-
from langchain_core.output_parsers import BaseOutputParser
|
|
13
|
-
from langchain_core.prompts import BasePromptTemplate
|
|
14
|
-
from langchain_core.prompts.prompt import PromptTemplate
|
|
15
|
-
from langchain_core.retrievers import BaseRetriever
|
|
16
|
-
from langchain_core.runnables import Runnable
|
|
17
|
-
from typing_extensions import override
|
|
18
|
-
|
|
19
|
-
from langchain.chains.llm import LLMChain
|
|
20
|
-
|
|
21
|
-
logger = logging.getLogger(__name__)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
class LineListOutputParser(BaseOutputParser[list[str]]):
|
|
25
|
-
"""Output parser for a list of lines."""
|
|
26
|
-
|
|
27
|
-
@override
|
|
28
|
-
def parse(self, text: str) -> list[str]:
|
|
29
|
-
lines = text.strip().split("\n")
|
|
30
|
-
return list(filter(None, lines)) # Remove empty lines
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
# Default prompt
|
|
34
|
-
DEFAULT_QUERY_PROMPT = PromptTemplate(
|
|
35
|
-
input_variables=["question"],
|
|
36
|
-
template="""You are an AI language model assistant. Your task is
|
|
37
|
-
to generate 3 different versions of the given user
|
|
38
|
-
question to retrieve relevant documents from a vector database.
|
|
39
|
-
By generating multiple perspectives on the user question,
|
|
40
|
-
your goal is to help the user overcome some of the limitations
|
|
41
|
-
of distance-based similarity search. Provide these alternative
|
|
42
|
-
questions separated by newlines. Original question: {question}""",
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
def _unique_documents(documents: Sequence[Document]) -> list[Document]:
|
|
47
|
-
return [doc for i, doc in enumerate(documents) if doc not in documents[:i]]
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
class MultiQueryRetriever(BaseRetriever):
|
|
51
|
-
"""Given a query, use an LLM to write a set of queries.
|
|
52
|
-
|
|
53
|
-
Retrieve docs for each query. Return the unique union of all retrieved docs.
|
|
54
|
-
"""
|
|
55
|
-
|
|
56
|
-
retriever: BaseRetriever
|
|
57
|
-
llm_chain: Runnable
|
|
58
|
-
verbose: bool = True
|
|
59
|
-
parser_key: str = "lines"
|
|
60
|
-
"""DEPRECATED. parser_key is no longer used and should not be specified."""
|
|
61
|
-
include_original: bool = False
|
|
62
|
-
"""Whether to include the original query in the list of generated queries."""
|
|
63
|
-
|
|
64
|
-
@classmethod
|
|
65
|
-
def from_llm(
|
|
66
|
-
cls,
|
|
67
|
-
retriever: BaseRetriever,
|
|
68
|
-
llm: BaseLanguageModel,
|
|
69
|
-
prompt: BasePromptTemplate = DEFAULT_QUERY_PROMPT,
|
|
70
|
-
parser_key: Optional[str] = None, # noqa: ARG003
|
|
71
|
-
include_original: bool = False, # noqa: FBT001,FBT002
|
|
72
|
-
) -> "MultiQueryRetriever":
|
|
73
|
-
"""Initialize from llm using default template.
|
|
74
|
-
|
|
75
|
-
Args:
|
|
76
|
-
retriever: retriever to query documents from
|
|
77
|
-
llm: llm for query generation using DEFAULT_QUERY_PROMPT
|
|
78
|
-
prompt: The prompt which aims to generate several different versions
|
|
79
|
-
of the given user query
|
|
80
|
-
include_original: Whether to include the original query in the list of
|
|
81
|
-
generated queries.
|
|
82
|
-
|
|
83
|
-
Returns:
|
|
84
|
-
MultiQueryRetriever
|
|
85
|
-
"""
|
|
86
|
-
output_parser = LineListOutputParser()
|
|
87
|
-
llm_chain = prompt | llm | output_parser
|
|
88
|
-
return cls(
|
|
89
|
-
retriever=retriever,
|
|
90
|
-
llm_chain=llm_chain,
|
|
91
|
-
include_original=include_original,
|
|
92
|
-
)
|
|
93
|
-
|
|
94
|
-
async def _aget_relevant_documents(
|
|
95
|
-
self,
|
|
96
|
-
query: str,
|
|
97
|
-
*,
|
|
98
|
-
run_manager: AsyncCallbackManagerForRetrieverRun,
|
|
99
|
-
) -> list[Document]:
|
|
100
|
-
"""Get relevant documents given a user query.
|
|
101
|
-
|
|
102
|
-
Args:
|
|
103
|
-
query: user query
|
|
104
|
-
|
|
105
|
-
Returns:
|
|
106
|
-
Unique union of relevant documents from all generated queries
|
|
107
|
-
"""
|
|
108
|
-
queries = await self.agenerate_queries(query, run_manager)
|
|
109
|
-
if self.include_original:
|
|
110
|
-
queries.append(query)
|
|
111
|
-
documents = await self.aretrieve_documents(queries, run_manager)
|
|
112
|
-
return self.unique_union(documents)
|
|
113
|
-
|
|
114
|
-
async def agenerate_queries(
|
|
115
|
-
self,
|
|
116
|
-
question: str,
|
|
117
|
-
run_manager: AsyncCallbackManagerForRetrieverRun,
|
|
118
|
-
) -> list[str]:
|
|
119
|
-
"""Generate queries based upon user input.
|
|
120
|
-
|
|
121
|
-
Args:
|
|
122
|
-
question: user query
|
|
123
|
-
|
|
124
|
-
Returns:
|
|
125
|
-
List of LLM generated queries that are similar to the user input
|
|
126
|
-
"""
|
|
127
|
-
response = await self.llm_chain.ainvoke(
|
|
128
|
-
{"question": question},
|
|
129
|
-
config={"callbacks": run_manager.get_child()},
|
|
130
|
-
)
|
|
131
|
-
lines = response["text"] if isinstance(self.llm_chain, LLMChain) else response
|
|
132
|
-
if self.verbose:
|
|
133
|
-
logger.info("Generated queries: %s", lines)
|
|
134
|
-
return lines
|
|
135
|
-
|
|
136
|
-
async def aretrieve_documents(
|
|
137
|
-
self,
|
|
138
|
-
queries: list[str],
|
|
139
|
-
run_manager: AsyncCallbackManagerForRetrieverRun,
|
|
140
|
-
) -> list[Document]:
|
|
141
|
-
"""Run all LLM generated queries.
|
|
142
|
-
|
|
143
|
-
Args:
|
|
144
|
-
queries: query list
|
|
145
|
-
|
|
146
|
-
Returns:
|
|
147
|
-
List of retrieved Documents
|
|
148
|
-
"""
|
|
149
|
-
document_lists = await asyncio.gather(
|
|
150
|
-
*(
|
|
151
|
-
self.retriever.ainvoke(
|
|
152
|
-
query,
|
|
153
|
-
config={"callbacks": run_manager.get_child()},
|
|
154
|
-
)
|
|
155
|
-
for query in queries
|
|
156
|
-
),
|
|
157
|
-
)
|
|
158
|
-
return [doc for docs in document_lists for doc in docs]
|
|
159
|
-
|
|
160
|
-
def _get_relevant_documents(
|
|
161
|
-
self,
|
|
162
|
-
query: str,
|
|
163
|
-
*,
|
|
164
|
-
run_manager: CallbackManagerForRetrieverRun,
|
|
165
|
-
) -> list[Document]:
|
|
166
|
-
"""Get relevant documents given a user query.
|
|
167
|
-
|
|
168
|
-
Args:
|
|
169
|
-
query: user query
|
|
170
|
-
|
|
171
|
-
Returns:
|
|
172
|
-
Unique union of relevant documents from all generated queries
|
|
173
|
-
"""
|
|
174
|
-
queries = self.generate_queries(query, run_manager)
|
|
175
|
-
if self.include_original:
|
|
176
|
-
queries.append(query)
|
|
177
|
-
documents = self.retrieve_documents(queries, run_manager)
|
|
178
|
-
return self.unique_union(documents)
|
|
179
|
-
|
|
180
|
-
def generate_queries(
|
|
181
|
-
self,
|
|
182
|
-
question: str,
|
|
183
|
-
run_manager: CallbackManagerForRetrieverRun,
|
|
184
|
-
) -> list[str]:
|
|
185
|
-
"""Generate queries based upon user input.
|
|
186
|
-
|
|
187
|
-
Args:
|
|
188
|
-
question: user query
|
|
189
|
-
|
|
190
|
-
Returns:
|
|
191
|
-
List of LLM generated queries that are similar to the user input
|
|
192
|
-
"""
|
|
193
|
-
response = self.llm_chain.invoke(
|
|
194
|
-
{"question": question},
|
|
195
|
-
config={"callbacks": run_manager.get_child()},
|
|
196
|
-
)
|
|
197
|
-
lines = response["text"] if isinstance(self.llm_chain, LLMChain) else response
|
|
198
|
-
if self.verbose:
|
|
199
|
-
logger.info("Generated queries: %s", lines)
|
|
200
|
-
return lines
|
|
201
|
-
|
|
202
|
-
def retrieve_documents(
|
|
203
|
-
self,
|
|
204
|
-
queries: list[str],
|
|
205
|
-
run_manager: CallbackManagerForRetrieverRun,
|
|
206
|
-
) -> list[Document]:
|
|
207
|
-
"""Run all LLM generated queries.
|
|
208
|
-
|
|
209
|
-
Args:
|
|
210
|
-
queries: query list
|
|
211
|
-
|
|
212
|
-
Returns:
|
|
213
|
-
List of retrieved Documents
|
|
214
|
-
"""
|
|
215
|
-
documents = []
|
|
216
|
-
for query in queries:
|
|
217
|
-
docs = self.retriever.invoke(
|
|
218
|
-
query,
|
|
219
|
-
config={"callbacks": run_manager.get_child()},
|
|
220
|
-
)
|
|
221
|
-
documents.extend(docs)
|
|
222
|
-
return documents
|
|
223
|
-
|
|
224
|
-
def unique_union(self, documents: list[Document]) -> list[Document]:
|
|
225
|
-
"""Get unique Documents.
|
|
226
|
-
|
|
227
|
-
Args:
|
|
228
|
-
documents: List of retrieved Documents
|
|
229
|
-
|
|
230
|
-
Returns:
|
|
231
|
-
List of unique retrieved Documents
|
|
232
|
-
"""
|
|
233
|
-
return _unique_documents(documents)
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
from enum import Enum
|
|
2
|
-
from typing import Any, Optional
|
|
3
|
-
|
|
4
|
-
from langchain_core.callbacks import (
|
|
5
|
-
AsyncCallbackManagerForRetrieverRun,
|
|
6
|
-
CallbackManagerForRetrieverRun,
|
|
7
|
-
)
|
|
8
|
-
from langchain_core.documents import Document
|
|
9
|
-
from langchain_core.retrievers import BaseRetriever
|
|
10
|
-
from langchain_core.stores import BaseStore, ByteStore
|
|
11
|
-
from langchain_core.vectorstores import VectorStore
|
|
12
|
-
from pydantic import Field, model_validator
|
|
13
|
-
from typing_extensions import override
|
|
14
|
-
|
|
15
|
-
from langchain.storage._lc_store import create_kv_docstore
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class SearchType(str, Enum):
|
|
19
|
-
"""Enumerator of the types of search to perform."""
|
|
20
|
-
|
|
21
|
-
similarity = "similarity"
|
|
22
|
-
"""Similarity search."""
|
|
23
|
-
similarity_score_threshold = "similarity_score_threshold"
|
|
24
|
-
"""Similarity search with a score threshold."""
|
|
25
|
-
mmr = "mmr"
|
|
26
|
-
"""Maximal Marginal Relevance reranking of similarity search."""
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
class MultiVectorRetriever(BaseRetriever):
|
|
30
|
-
"""Retrieve from a set of multiple embeddings for the same document."""
|
|
31
|
-
|
|
32
|
-
vectorstore: VectorStore
|
|
33
|
-
"""The underlying vectorstore to use to store small chunks
|
|
34
|
-
and their embedding vectors"""
|
|
35
|
-
byte_store: Optional[ByteStore] = None
|
|
36
|
-
"""The lower-level backing storage layer for the parent documents"""
|
|
37
|
-
docstore: BaseStore[str, Document]
|
|
38
|
-
"""The storage interface for the parent documents"""
|
|
39
|
-
id_key: str = "doc_id"
|
|
40
|
-
search_kwargs: dict = Field(default_factory=dict)
|
|
41
|
-
"""Keyword arguments to pass to the search function."""
|
|
42
|
-
search_type: SearchType = SearchType.similarity
|
|
43
|
-
"""Type of search to perform (similarity / mmr)"""
|
|
44
|
-
|
|
45
|
-
@model_validator(mode="before")
|
|
46
|
-
@classmethod
|
|
47
|
-
def _shim_docstore(cls, values: dict) -> Any:
|
|
48
|
-
byte_store = values.get("byte_store")
|
|
49
|
-
docstore = values.get("docstore")
|
|
50
|
-
if byte_store is not None:
|
|
51
|
-
docstore = create_kv_docstore(byte_store)
|
|
52
|
-
elif docstore is None:
|
|
53
|
-
msg = "You must pass a `byte_store` parameter."
|
|
54
|
-
raise ValueError(msg)
|
|
55
|
-
values["docstore"] = docstore
|
|
56
|
-
return values
|
|
57
|
-
|
|
58
|
-
@override
|
|
59
|
-
def _get_relevant_documents(
|
|
60
|
-
self,
|
|
61
|
-
query: str,
|
|
62
|
-
*,
|
|
63
|
-
run_manager: CallbackManagerForRetrieverRun,
|
|
64
|
-
) -> list[Document]:
|
|
65
|
-
"""Get documents relevant to a query.
|
|
66
|
-
Args:
|
|
67
|
-
query: String to find relevant documents for
|
|
68
|
-
run_manager: The callbacks handler to use
|
|
69
|
-
Returns:
|
|
70
|
-
List of relevant documents
|
|
71
|
-
"""
|
|
72
|
-
if self.search_type == SearchType.mmr:
|
|
73
|
-
sub_docs = self.vectorstore.max_marginal_relevance_search(
|
|
74
|
-
query,
|
|
75
|
-
**self.search_kwargs,
|
|
76
|
-
)
|
|
77
|
-
elif self.search_type == SearchType.similarity_score_threshold:
|
|
78
|
-
sub_docs_and_similarities = (
|
|
79
|
-
self.vectorstore.similarity_search_with_relevance_scores(
|
|
80
|
-
query,
|
|
81
|
-
**self.search_kwargs,
|
|
82
|
-
)
|
|
83
|
-
)
|
|
84
|
-
sub_docs = [sub_doc for sub_doc, _ in sub_docs_and_similarities]
|
|
85
|
-
else:
|
|
86
|
-
sub_docs = self.vectorstore.similarity_search(query, **self.search_kwargs)
|
|
87
|
-
|
|
88
|
-
# We do this to maintain the order of the ids that are returned
|
|
89
|
-
ids = []
|
|
90
|
-
for d in sub_docs:
|
|
91
|
-
if self.id_key in d.metadata and d.metadata[self.id_key] not in ids:
|
|
92
|
-
ids.append(d.metadata[self.id_key])
|
|
93
|
-
docs = self.docstore.mget(ids)
|
|
94
|
-
return [d for d in docs if d is not None]
|
|
95
|
-
|
|
96
|
-
@override
|
|
97
|
-
async def _aget_relevant_documents(
|
|
98
|
-
self,
|
|
99
|
-
query: str,
|
|
100
|
-
*,
|
|
101
|
-
run_manager: AsyncCallbackManagerForRetrieverRun,
|
|
102
|
-
) -> list[Document]:
|
|
103
|
-
"""Asynchronously get documents relevant to a query.
|
|
104
|
-
Args:
|
|
105
|
-
query: String to find relevant documents for
|
|
106
|
-
run_manager: The callbacks handler to use
|
|
107
|
-
Returns:
|
|
108
|
-
List of relevant documents
|
|
109
|
-
"""
|
|
110
|
-
if self.search_type == SearchType.mmr:
|
|
111
|
-
sub_docs = await self.vectorstore.amax_marginal_relevance_search(
|
|
112
|
-
query,
|
|
113
|
-
**self.search_kwargs,
|
|
114
|
-
)
|
|
115
|
-
elif self.search_type == SearchType.similarity_score_threshold:
|
|
116
|
-
sub_docs_and_similarities = (
|
|
117
|
-
await self.vectorstore.asimilarity_search_with_relevance_scores(
|
|
118
|
-
query,
|
|
119
|
-
**self.search_kwargs,
|
|
120
|
-
)
|
|
121
|
-
)
|
|
122
|
-
sub_docs = [sub_doc for sub_doc, _ in sub_docs_and_similarities]
|
|
123
|
-
else:
|
|
124
|
-
sub_docs = await self.vectorstore.asimilarity_search(
|
|
125
|
-
query,
|
|
126
|
-
**self.search_kwargs,
|
|
127
|
-
)
|
|
128
|
-
|
|
129
|
-
# We do this to maintain the order of the ids that are returned
|
|
130
|
-
ids = []
|
|
131
|
-
for d in sub_docs:
|
|
132
|
-
if self.id_key in d.metadata and d.metadata[self.id_key] not in ids:
|
|
133
|
-
ids.append(d.metadata[self.id_key])
|
|
134
|
-
docs = await self.docstore.amget(ids)
|
|
135
|
-
return [d for d in docs if d is not None]
|
langchain/retrievers/outline.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.retrievers import OutlineRetriever
|
|
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 = {"OutlineRetriever": "langchain_community.retrievers"}
|
|
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
|
-
"OutlineRetriever",
|
|
23
|
-
]
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import uuid
|
|
2
|
-
from collections.abc import Sequence
|
|
3
|
-
from typing import Any, Optional
|
|
4
|
-
|
|
5
|
-
from langchain_core.documents import Document
|
|
6
|
-
from langchain_text_splitters import TextSplitter
|
|
7
|
-
|
|
8
|
-
from langchain.retrievers import MultiVectorRetriever
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class ParentDocumentRetriever(MultiVectorRetriever):
|
|
12
|
-
"""Retrieve small chunks then retrieve their parent documents.
|
|
13
|
-
|
|
14
|
-
When splitting documents for retrieval, there are often conflicting desires:
|
|
15
|
-
|
|
16
|
-
1. You may want to have small documents, so that their embeddings can most
|
|
17
|
-
accurately reflect their meaning. If too long, then the embeddings can
|
|
18
|
-
lose meaning.
|
|
19
|
-
2. You want to have long enough documents that the context of each chunk is
|
|
20
|
-
retained.
|
|
21
|
-
|
|
22
|
-
The ParentDocumentRetriever strikes that balance by splitting and storing
|
|
23
|
-
small chunks of data. During retrieval, it first fetches the small chunks
|
|
24
|
-
but then looks up the parent ids for those chunks and returns those larger
|
|
25
|
-
documents.
|
|
26
|
-
|
|
27
|
-
Note that "parent document" refers to the document that a small chunk
|
|
28
|
-
originated from. This can either be the whole raw document OR a larger
|
|
29
|
-
chunk.
|
|
30
|
-
|
|
31
|
-
Examples:
|
|
32
|
-
|
|
33
|
-
.. code-block:: python
|
|
34
|
-
|
|
35
|
-
from langchain_chroma import Chroma
|
|
36
|
-
from langchain_community.embeddings import OpenAIEmbeddings
|
|
37
|
-
from langchain_text_splitters import RecursiveCharacterTextSplitter
|
|
38
|
-
from langchain.storage import InMemoryStore
|
|
39
|
-
|
|
40
|
-
# This text splitter is used to create the parent documents
|
|
41
|
-
parent_splitter = RecursiveCharacterTextSplitter(chunk_size=2000, add_start_index=True)
|
|
42
|
-
# This text splitter is used to create the child documents
|
|
43
|
-
# It should create documents smaller than the parent
|
|
44
|
-
child_splitter = RecursiveCharacterTextSplitter(chunk_size=400, add_start_index=True)
|
|
45
|
-
# The vectorstore to use to index the child chunks
|
|
46
|
-
vectorstore = Chroma(embedding_function=OpenAIEmbeddings())
|
|
47
|
-
# The storage layer for the parent documents
|
|
48
|
-
store = InMemoryStore()
|
|
49
|
-
|
|
50
|
-
# Initialize the retriever
|
|
51
|
-
retriever = ParentDocumentRetriever(
|
|
52
|
-
vectorstore=vectorstore,
|
|
53
|
-
docstore=store,
|
|
54
|
-
child_splitter=child_splitter,
|
|
55
|
-
parent_splitter=parent_splitter,
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
""" # noqa: E501
|
|
59
|
-
|
|
60
|
-
child_splitter: TextSplitter
|
|
61
|
-
"""The text splitter to use to create child documents."""
|
|
62
|
-
|
|
63
|
-
"""The key to use to track the parent id. This will be stored in the
|
|
64
|
-
metadata of child documents."""
|
|
65
|
-
parent_splitter: Optional[TextSplitter] = None
|
|
66
|
-
"""The text splitter to use to create parent documents.
|
|
67
|
-
If none, then the parent documents will be the raw documents passed in."""
|
|
68
|
-
|
|
69
|
-
child_metadata_fields: Optional[Sequence[str]] = None
|
|
70
|
-
"""Metadata fields to leave in child documents. If None, leave all parent document
|
|
71
|
-
metadata.
|
|
72
|
-
"""
|
|
73
|
-
|
|
74
|
-
def _split_docs_for_adding(
|
|
75
|
-
self,
|
|
76
|
-
documents: list[Document],
|
|
77
|
-
ids: Optional[list[str]] = None,
|
|
78
|
-
*,
|
|
79
|
-
add_to_docstore: bool = True,
|
|
80
|
-
) -> tuple[list[Document], list[tuple[str, Document]]]:
|
|
81
|
-
if self.parent_splitter is not None:
|
|
82
|
-
documents = self.parent_splitter.split_documents(documents)
|
|
83
|
-
if ids is None:
|
|
84
|
-
doc_ids = [str(uuid.uuid4()) for _ in documents]
|
|
85
|
-
if not add_to_docstore:
|
|
86
|
-
msg = "If ids are not passed in, `add_to_docstore` MUST be True"
|
|
87
|
-
raise ValueError(msg)
|
|
88
|
-
else:
|
|
89
|
-
if len(documents) != len(ids):
|
|
90
|
-
msg = (
|
|
91
|
-
"Got uneven list of documents and ids. "
|
|
92
|
-
"If `ids` is provided, should be same length as `documents`."
|
|
93
|
-
)
|
|
94
|
-
raise ValueError(msg)
|
|
95
|
-
doc_ids = ids
|
|
96
|
-
|
|
97
|
-
docs = []
|
|
98
|
-
full_docs = []
|
|
99
|
-
for i, doc in enumerate(documents):
|
|
100
|
-
_id = doc_ids[i]
|
|
101
|
-
sub_docs = self.child_splitter.split_documents([doc])
|
|
102
|
-
if self.child_metadata_fields is not None:
|
|
103
|
-
for _doc in sub_docs:
|
|
104
|
-
_doc.metadata = {
|
|
105
|
-
k: _doc.metadata[k] for k in self.child_metadata_fields
|
|
106
|
-
}
|
|
107
|
-
for _doc in sub_docs:
|
|
108
|
-
_doc.metadata[self.id_key] = _id
|
|
109
|
-
docs.extend(sub_docs)
|
|
110
|
-
full_docs.append((_id, doc))
|
|
111
|
-
|
|
112
|
-
return docs, full_docs
|
|
113
|
-
|
|
114
|
-
def add_documents(
|
|
115
|
-
self,
|
|
116
|
-
documents: list[Document],
|
|
117
|
-
ids: Optional[list[str]] = None,
|
|
118
|
-
add_to_docstore: bool = True, # noqa: FBT001,FBT002
|
|
119
|
-
**kwargs: Any,
|
|
120
|
-
) -> None:
|
|
121
|
-
"""Adds documents to the docstore and vectorstores.
|
|
122
|
-
|
|
123
|
-
Args:
|
|
124
|
-
documents: List of documents to add
|
|
125
|
-
ids: Optional list of ids for documents. If provided should be the same
|
|
126
|
-
length as the list of documents. Can be provided if parent documents
|
|
127
|
-
are already in the document store and you don't want to re-add
|
|
128
|
-
to the docstore. If not provided, random UUIDs will be used as
|
|
129
|
-
ids.
|
|
130
|
-
add_to_docstore: Boolean of whether to add documents to docstore.
|
|
131
|
-
This can be false if and only if `ids` are provided. You may want
|
|
132
|
-
to set this to False if the documents are already in the docstore
|
|
133
|
-
and you don't want to re-add them.
|
|
134
|
-
"""
|
|
135
|
-
docs, full_docs = self._split_docs_for_adding(
|
|
136
|
-
documents,
|
|
137
|
-
ids,
|
|
138
|
-
add_to_docstore=add_to_docstore,
|
|
139
|
-
)
|
|
140
|
-
self.vectorstore.add_documents(docs, **kwargs)
|
|
141
|
-
if add_to_docstore:
|
|
142
|
-
self.docstore.mset(full_docs)
|
|
143
|
-
|
|
144
|
-
async def aadd_documents(
|
|
145
|
-
self,
|
|
146
|
-
documents: list[Document],
|
|
147
|
-
ids: Optional[list[str]] = None,
|
|
148
|
-
add_to_docstore: bool = True, # noqa: FBT001,FBT002
|
|
149
|
-
**kwargs: Any,
|
|
150
|
-
) -> None:
|
|
151
|
-
"""Adds documents to the docstore and vectorstores.
|
|
152
|
-
|
|
153
|
-
Args:
|
|
154
|
-
documents: List of documents to add
|
|
155
|
-
ids: Optional list of ids for documents. If provided should be the same
|
|
156
|
-
length as the list of documents. Can be provided if parent documents
|
|
157
|
-
are already in the document store and you don't want to re-add
|
|
158
|
-
to the docstore. If not provided, random UUIDs will be used as
|
|
159
|
-
ids.
|
|
160
|
-
add_to_docstore: Boolean of whether to add documents to docstore.
|
|
161
|
-
This can be false if and only if `ids` are provided. You may want
|
|
162
|
-
to set this to False if the documents are already in the docstore
|
|
163
|
-
and you don't want to re-add them.
|
|
164
|
-
"""
|
|
165
|
-
docs, full_docs = self._split_docs_for_adding(
|
|
166
|
-
documents,
|
|
167
|
-
ids,
|
|
168
|
-
add_to_docstore=add_to_docstore,
|
|
169
|
-
)
|
|
170
|
-
await self.vectorstore.aadd_documents(docs, **kwargs)
|
|
171
|
-
if add_to_docstore:
|
|
172
|
-
await self.docstore.amset(full_docs)
|
|
@@ -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.retrievers import PineconeHybridSearchRetriever
|
|
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 = {"PineconeHybridSearchRetriever": "langchain_community.retrievers"}
|
|
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
|
-
"PineconeHybridSearchRetriever",
|
|
23
|
-
]
|
langchain/retrievers/pubmed.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.retrievers import PubMedRetriever
|
|
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 = {"PubMedRetriever": "langchain_community.retrievers"}
|
|
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
|
-
"PubMedRetriever",
|
|
23
|
-
]
|
langchain/retrievers/pupmed.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.retrievers import PubMedRetriever
|
|
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 = {"PubMedRetriever": "langchain_community.retrievers"}
|
|
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
|
-
"PubMedRetriever",
|
|
23
|
-
]
|