diff --git a/.github/scripts/check_diff.py b/.github/scripts/check_diff.py
index f415db104e402..4ee411a00a1cd 100644
--- a/.github/scripts/check_diff.py
+++ b/.github/scripts/check_diff.py
@@ -68,6 +68,13 @@ def dependents_graph() -> dict:
if "langchain" in dep:
dependents[dep].add(pkg_dir)
+
+ # remove huggingface from dependents because of CI instability
+ # specifically in huggingface jobs
+ # https://github.com/langchain-ai/langchain/issues/25558
+ for k in dependents:
+ if "libs/partners/huggingface" in dependents[k]:
+ dependents[k].remove("libs/partners/huggingface")
return dependents
diff --git a/README.md b/README.md
index 7909cd9f3eb6b..963a3ba17feb3 100644
--- a/README.md
+++ b/README.md
@@ -14,18 +14,20 @@
Looking for the JS/TS library? Check out [LangChain.js](https://github.com/langchain-ai/langchainjs).
-To help you ship LangChain apps to production faster, check out [LangSmith](https://smith.langchain.com).
-[LangSmith](https://smith.langchain.com) is a unified developer platform for building, testing, and monitoring LLM applications.
+To help you ship LangChain apps to production faster, check out [LangSmith](https://smith.langchain.com).
+[LangSmith](https://smith.langchain.com) is a unified developer platform for building, testing, and monitoring LLM applications.
Fill out [this form](https://www.langchain.com/contact-sales) to speak with our sales team.
## Quick Install
With pip:
+
```bash
pip install langchain
```
With conda:
+
```bash
conda install langchain -c conda-forge
```
@@ -36,12 +38,13 @@ conda install langchain -c conda-forge
For these applications, LangChain simplifies the entire application lifecycle:
-- **Open-source libraries**: Build your applications using LangChain's open-source [building blocks](https://python.langchain.com/v0.2/docs/concepts#langchain-expression-language-lcel), [components](https://python.langchain.com/v0.2/docs/concepts), and [third-party integrations](https://python.langchain.com/v0.2/docs/integrations/platforms/).
-Use [LangGraph](/docs/concepts/#langgraph) to build stateful agents with first-class streaming and human-in-the-loop support.
+- **Open-source libraries**: Build your applications using LangChain's open-source [building blocks](https://python.langchain.com/v0.2/docs/concepts#langchain-expression-language-lcel), [components](https://python.langchain.com/v0.2/docs/concepts), and [third-party integrations](https://python.langchain.com/v0.2/docs/integrations/platforms/).
+ Use [LangGraph](/docs/concepts/#langgraph) to build stateful agents with first-class streaming and human-in-the-loop support.
- **Productionization**: Inspect, monitor, and evaluate your apps with [LangSmith](https://docs.smith.langchain.com/) so that you can constantly optimize and deploy with confidence.
- **Deployment**: Turn your LangGraph applications into production-ready APIs and Assistants with [LangGraph Cloud](https://langchain-ai.github.io/langgraph/cloud/).
### Open-source libraries
+
- **`langchain-core`**: Base abstractions and LangChain Expression Language.
- **`langchain-community`**: Third party integrations.
- Some integrations have been further split into **partner packages** that only rely on **`langchain-core`**. Examples include **`langchain_openai`** and **`langchain_anthropic`**.
@@ -49,9 +52,11 @@ Use [LangGraph](/docs/concepts/#langgraph) to build stateful agents with first-c
- **[`LangGraph`](https://langchain-ai.github.io/langgraph/)**: A library for building robust and stateful multi-actor applications with LLMs by modeling steps as edges and nodes in a graph. Integrates smoothly with LangChain, but can be used without it.
### Productionization:
+
- **[LangSmith](https://docs.smith.langchain.com/)**: A developer platform that lets you debug, test, evaluate, and monitor chains built on any LLM framework and seamlessly integrates with LangChain.
### Deployment:
+
- **[LangGraph Cloud](https://langchain-ai.github.io/langgraph/cloud/)**: Turn your LangGraph applications into production-ready APIs and Assistants.
![Diagram outlining the hierarchical organization of the LangChain framework, displaying the interconnected parts across multiple layers.](docs/static/svg/langchain_stack_062024.svg "LangChain Architecture Overview")
@@ -76,15 +81,17 @@ Use [LangGraph](/docs/concepts/#langgraph) to build stateful agents with first-c
And much more! Head to the [Tutorials](https://python.langchain.com/v0.2/docs/tutorials/) section of the docs for more.
## 🚀 How does LangChain help?
+
The main value props of the LangChain libraries are:
+
1. **Components**: composable building blocks, tools and integrations for working with language models. Components are modular and easy-to-use, whether you are using the rest of the LangChain framework or not
2. **Off-the-shelf chains**: built-in assemblages of components for accomplishing higher-level tasks
-Off-the-shelf chains make it easy to get started. Components make it easy to customize existing chains and build new ones.
+Off-the-shelf chains make it easy to get started. Components make it easy to customize existing chains and build new ones.
## LangChain Expression Language (LCEL)
-LCEL is the foundation of many of LangChain's components, and is a declarative way to compose chains. LCEL was designed from day 1 to support putting prototypes in production, with no code changes, from the simplest “prompt + LLM” chain to the most complex chains.
+LCEL is a key part of LangChain, allowing you to build and organize chains of processes in a straightforward, declarative manner. It was designed to support taking prototypes directly into production without needing to alter any code. This means you can use LCEL to set up everything from basic "prompt + LLM" setups to intricate, multi-step workflows.
- **[Overview](https://python.langchain.com/v0.2/docs/concepts/#langchain-expression-language-lcel)**: LCEL and its benefits
- **[Interface](https://python.langchain.com/v0.2/docs/concepts/#runnable-interface)**: The standard Runnable interface for LCEL objects
@@ -123,7 +130,6 @@ Please see [here](https://python.langchain.com) for full documentation, which in
- [🦜🕸️ LangGraph](https://langchain-ai.github.io/langgraph/): Create stateful, multi-actor applications with LLMs. Integrates smoothly with LangChain, but can be used without it.
- [🦜🏓 LangServe](https://python.langchain.com/docs/langserve): Deploy LangChain runnables and chains as REST APIs.
-
## 💁 Contributing
As an open-source project in a rapidly developing field, we are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.
diff --git a/cookbook/Multi_modal_RAG_google.ipynb b/cookbook/Multi_modal_RAG_google.ipynb
index 9f4d6615b6810..35bdfff764295 100644
--- a/cookbook/Multi_modal_RAG_google.ipynb
+++ b/cookbook/Multi_modal_RAG_google.ipynb
@@ -445,7 +445,7 @@
"\n",
"\n",
"def plt_img_base64(img_base64):\n",
- " \"\"\"Disply base64 encoded string as image\"\"\"\n",
+ " \"\"\"Display base64 encoded string as image\"\"\"\n",
" # Create an HTML img tag with the base64 string as the source\n",
" image_html = f''\n",
" # Display the image by rendering the HTML\n",
diff --git a/cookbook/langgraph_self_rag.ipynb b/cookbook/langgraph_self_rag.ipynb
index c6b1e75406696..8d61a84287463 100644
--- a/cookbook/langgraph_self_rag.ipynb
+++ b/cookbook/langgraph_self_rag.ipynb
@@ -336,7 +336,7 @@
" # Create a prompt template with format instructions and the query\n",
" prompt = PromptTemplate(\n",
" template=\"\"\"You are generating questions that is well optimized for retrieval. \\n \n",
- " Look at the input and try to reason about the underlying sematic intent / meaning. \\n \n",
+ " Look at the input and try to reason about the underlying semantic intent / meaning. \\n \n",
" Here is the initial question:\n",
" \\n ------- \\n\n",
" {question} \n",
@@ -643,7 +643,7 @@
],
"metadata": {
"kernelspec": {
- "display_name": "Python 3 (ipykernel)",
+ "display_name": "Python 3.11.1 64-bit",
"language": "python",
"name": "python3"
},
@@ -657,7 +657,12 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.9.16"
+ "version": "3.11.1"
+ },
+ "vscode": {
+ "interpreter": {
+ "hash": "1a1af0ee75eeea9e2e1ee996c87e7a2b11a0bebd85af04bb136d915cefc0abce"
+ }
}
},
"nbformat": 4,
diff --git a/cookbook/rag-locally-on-intel-cpu.ipynb b/cookbook/rag-locally-on-intel-cpu.ipynb
index 2eb6dec9737ef..fc059114133fe 100644
--- a/cookbook/rag-locally-on-intel-cpu.ipynb
+++ b/cookbook/rag-locally-on-intel-cpu.ipynb
@@ -647,7 +647,7 @@
"metadata": {},
"source": [
"**Now we see the results are correct as it is mentioned in earnings release.**
\n",
- "**To further automate, we will create a chain that will take input as question and retriever so that we don't need to retrieve documents seperately**"
+ "**To further automate, we will create a chain that will take input as question and retriever so that we don't need to retrieve documents separately**"
]
},
{
@@ -734,9 +734,9 @@
],
"metadata": {
"kernelspec": {
- "display_name": "rag-on-intel",
+ "display_name": "Python 3.11.1 64-bit",
"language": "python",
- "name": "rag-on-intel"
+ "name": "python3"
},
"language_info": {
"codemirror_mode": {
@@ -748,7 +748,12 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.11.9"
+ "version": "3.11.1"
+ },
+ "vscode": {
+ "interpreter": {
+ "hash": "1a1af0ee75eeea9e2e1ee996c87e7a2b11a0bebd85af04bb136d915cefc0abce"
+ }
}
},
"nbformat": 4,
diff --git a/docs/Makefile b/docs/Makefile
index f230ce1203591..8f4c653c7349a 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -18,7 +18,7 @@ for dir; do \
if find "$$dir" -maxdepth 1 -type f \( -name "pyproject.toml" -o -name "setup.py" \) | grep -q .; then \
echo "$$dir"; \
fi \
-done' sh {} + | grep -vE "airbyte|ibm|couchbase" | tr '\n' ' ')
+done' sh {} + | grep -vE "airbyte|ibm|couchbase|databricks" | tr '\n' ' ')
PORT ?= 3001
diff --git a/docs/api_reference/create_api_rst.py b/docs/api_reference/create_api_rst.py
index 2fec7b300e0f5..5d7c558cea412 100644
--- a/docs/api_reference/create_api_rst.py
+++ b/docs/api_reference/create_api_rst.py
@@ -318,7 +318,7 @@ def _construct_doc(
index_autosummary += f"""
:ref:`{package_namespace}_{module}`
-{'^' * (len(module) + 5)}
+{'^' * (len(package_namespace) + len(module) + 8)}
"""
if classes:
@@ -448,7 +448,6 @@ def _construct_doc(
"""
docs.append((f"{module}.rst", module_doc))
docs.append(("index.rst", index_doc + index_autosummary))
-
return docs
@@ -530,47 +529,7 @@ def _build_index(dirs: List[str]) -> None:
ordered = ["core", "langchain", "text-splitters", "community", "experimental"]
main_ = [dir_ for dir_ in ordered if dir_ in dirs]
integrations = sorted(dir_ for dir_ in dirs if dir_ not in main_)
- main_headers = [
- " ".join(custom_names.get(x, x.title()) for x in dir_.split("-"))
- for dir_ in main_
- ]
- integration_headers = [
- " ".join(
- custom_names.get(x, x.title().replace("ai", "AI").replace("db", "DB"))
- for x in dir_.split("-")
- )
- for dir_ in integrations
- ]
- main_tree = "\n".join(
- f"{header_name}<{dir_.replace('-', '_')}/index>"
- for header_name, dir_ in zip(main_headers, main_)
- )
- main_grid = "\n".join(
- f'- header: "**{header_name}**"\n content: "{_package_namespace(dir_).replace("_", "-")}: {_get_package_version(_package_dir(dir_))}"\n link: {dir_.replace("-", "_")}/index.html'
- for header_name, dir_ in zip(main_headers, main_)
- )
- integration_tree = "\n".join(
- f"{header_name}<{dir_.replace('-', '_')}/index>"
- for header_name, dir_ in zip(integration_headers, integrations)
- )
-
- integration_grid = ""
- integrations_to_show = [
- "openai",
- "anthropic",
- "google-vertexai",
- "aws",
- "huggingface",
- "mistralai",
- ]
- for header_name, dir_ in sorted(
- zip(integration_headers, integrations),
- key=lambda h_d: integrations_to_show.index(h_d[1])
- if h_d[1] in integrations_to_show
- else len(integrations_to_show),
- )[: len(integrations_to_show)]:
- integration_grid += f'\n- header: "**{header_name}**"\n content: {_package_namespace(dir_).replace("_", "-")} {_get_package_version(_package_dir(dir_))}\n link: {dir_.replace("-", "_")}/index.html'
- doc = f"""# LangChain Python API Reference
+ doc = """# LangChain Python API Reference
Welcome to the LangChain Python API reference. This is a reference for all
`langchain-x` packages.
@@ -578,8 +537,22 @@ def _build_index(dirs: List[str]) -> None:
For user guides see [https://python.langchain.com](https://python.langchain.com).
For the legacy API reference hosted on ReadTheDocs see [https://api.python.langchain.com/](https://api.python.langchain.com/).
+"""
-## Base packages
+ if main_:
+ main_headers = [
+ " ".join(custom_names.get(x, x.title()) for x in dir_.split("-"))
+ for dir_ in main_
+ ]
+ main_tree = "\n".join(
+ f"{header_name}<{dir_.replace('-', '_')}/index>"
+ for header_name, dir_ in zip(main_headers, main_)
+ )
+ main_grid = "\n".join(
+ f'- header: "**{header_name}**"\n content: "{_package_namespace(dir_).replace("_", "-")}: {_get_package_version(_package_dir(dir_))}"\n link: {dir_.replace("-", "_")}/index.html'
+ for header_name, dir_ in zip(main_headers, main_)
+ )
+ doc += f"""## Base packages
```{{gallery-grid}}
:grid-columns: "1 2 2 3"
@@ -594,8 +567,37 @@ def _build_index(dirs: List[str]) -> None:
{main_tree}
```
+"""
+ if integrations:
+ integration_headers = [
+ " ".join(
+ custom_names.get(x, x.title().replace("ai", "AI").replace("db", "DB"))
+ for x in dir_.split("-")
+ )
+ for dir_ in integrations
+ ]
+ integration_tree = "\n".join(
+ f"{header_name}<{dir_.replace('-', '_')}/index>"
+ for header_name, dir_ in zip(integration_headers, integrations)
+ )
-## Integrations
+ integration_grid = ""
+ integrations_to_show = [
+ "openai",
+ "anthropic",
+ "google-vertexai",
+ "aws",
+ "huggingface",
+ "mistralai",
+ ]
+ for header_name, dir_ in sorted(
+ zip(integration_headers, integrations),
+ key=lambda h_d: integrations_to_show.index(h_d[1])
+ if h_d[1] in integrations_to_show
+ else len(integrations_to_show),
+ )[: len(integrations_to_show)]:
+ integration_grid += f'\n- header: "**{header_name}**"\n content: {_package_namespace(dir_).replace("_", "-")} {_get_package_version(_package_dir(dir_))}\n link: {dir_.replace("-", "_")}/index.html'
+ doc += f"""## Integrations
```{{gallery-grid}}
:grid-columns: "1 2 2 3"
@@ -612,7 +614,6 @@ def _build_index(dirs: List[str]) -> None:
{integration_tree}
```
-
"""
with open(HERE / "reference.md", "w") as f:
f.write(doc)
diff --git a/docs/api_reference/guide_imports.json b/docs/api_reference/guide_imports.json
index ade5a724e088f..7c312af840f4a 100644
--- a/docs/api_reference/guide_imports.json
+++ b/docs/api_reference/guide_imports.json
@@ -1 +1 @@
-{"ChatPromptTemplate": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/", "Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to do per-user retrieval": "https://python.langchain.com/v0.2/docs/how_to/qa_per_user/", "How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "How to create a custom LLM class": "https://python.langchain.com/v0.2/docs/how_to/custom_llm/", "How to inspect runnables": "https://python.langchain.com/v0.2/docs/how_to/inspect/", "How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to use few shot examples in chat models": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples_chat/", "How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to use prompting alone (no tool calling) to do extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_parse/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/", "How to propagate callbacks constructor": "https://python.langchain.com/v0.2/docs/how_to/callbacks_constructor/", "How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/", "How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to attach callbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/callbacks_attach/", "How to use a model to call tools": "https://python.langchain.com/v0.2/docs/how_to/tool_calling", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to add default invocation args to a Runnable": "https://python.langchain.com/v0.2/docs/how_to/binding/", "How to create a dynamic (self-constructing) chain": "https://python.langchain.com/v0.2/docs/how_to/dynamic_chain/", "How to create custom callback handlers": "https://python.langchain.com/v0.2/docs/how_to/custom_callbacks/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "How deal with high cardinality categoricals when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_high_cardinality/", "How to return structured data from a model": "https://python.langchain.com/v0.2/docs/how_to/structured_output/", "How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/", "How to debug your LLM apps": "https://python.langchain.com/v0.2/docs/how_to/debugging/", "How to chain runnables": "https://python.langchain.com/v0.2/docs/how_to/sequence/", "Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "How to do query validation as part of SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_query_checking/", "How to use multimodal prompts": "https://python.langchain.com/v0.2/docs/how_to/multimodal_prompts/", "How to pass callbacks in at runtime": "https://python.langchain.com/v0.2/docs/how_to/callbacks_runtime/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "LangSmith LLM Runs": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_llm_runs/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/", "NVIDIA NIMs ": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/nvidia_ai_endpoints/", "You.com": "https://python.langchain.com/v0.2/docs/integrations/retrievers/you-retriever/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "AskNews": "https://python.langchain.com/v0.2/docs/integrations/retrievers/asknews/", "Tavily Search API": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tavily/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/retrievers/ragatouille/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/memory/redis_chat_message_history/", "Google SQL for MySQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mysql/", "Google AlloyDB for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_alloydb/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "AWS DynamoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/aws_dynamodb/", "MongoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/mongodb_chat_message_history/", "SQL (SQLAlchemy)": "https://python.langchain.com/v0.2/docs/integrations/memory/sql_chat_message_history/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/memory/streamlit_chat_message_history/", "Google El Carro Oracle": "https://python.langchain.com/v0.2/docs/integrations/memory/google_el_carro/", "SQLite": "https://python.langchain.com/v0.2/docs/integrations/memory/sqlite/", "Google SQL for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_pg/", "Google SQL for SQL Server": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mssql/", "TiDB": "https://python.langchain.com/v0.2/docs/integrations/memory/tidb_chat_message_history/", "Kinetica SqlAssist LLM Demo": "https://python.langchain.com/v0.2/docs/integrations/chat/kinetica/", "ChatAnthropic": "https://python.langchain.com/v0.2/docs/integrations/chat/anthropic/", "Groq": "https://python.langchain.com/v0.2/docs/integrations/chat/groq/", "ChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/openai/", "ChatVertexAI": "https://python.langchain.com/v0.2/docs/integrations/chat/google_vertex_ai_palm/", "JinaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/jinachat/", "ChatOllama": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama/", "MistralAI": "https://python.langchain.com/v0.2/docs/integrations/chat/mistralai/", "ChatAI21": "https://python.langchain.com/v0.2/docs/integrations/chat/ai21/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/providers/cohere/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/chat/edenai/", "vLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/vllm/", "Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/chat/yuan2/", "Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/", "ChatPerplexity": "https://python.langchain.com/v0.2/docs/integrations/chat/perplexity/", "ChatUpstage": "https://python.langchain.com/v0.2/docs/integrations/chat/upstage/", "NVIDIA NIMs": "https://python.langchain.com/v0.2/docs/integrations/chat/nvidia_ai_endpoints/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "Fiddler": "https://python.langchain.com/v0.2/docs/integrations/callbacks/fiddler/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_summary/", "SQL Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/sql_database/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "Astra DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/astradb/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "OpenAI metadata tagger": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openai_metadata_tagger/", "Figma": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/figma/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build an Extraction Chain": "https://python.langchain.com/v0.2/docs/tutorials/extraction/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Classify Text into Labels": "https://python.langchain.com/v0.2/docs/tutorials/classification/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/", "Build a Simple LLM Application": "https://python.langchain.com/v0.2/docs/tutorials/llm_chain/", "Vector stores and retrievers": "https://python.langchain.com/v0.2/docs/tutorials/retrievers/"}, "ChatAnthropic": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/", "How to use callbacks in async environments": "https://python.langchain.com/v0.2/docs/how_to/callbacks_async/", "How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "How to parse XML output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_xml/", "How to use prompting alone (no tool calling) to do extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_parse/", "How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/", "How to propagate callbacks constructor": "https://python.langchain.com/v0.2/docs/how_to/callbacks_constructor/", "How to stream chat model responses": "https://python.langchain.com/v0.2/docs/how_to/chat_streaming/", "How to attach callbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/callbacks_attach/", "How to create a dynamic (self-constructing) chain": "https://python.langchain.com/v0.2/docs/how_to/dynamic_chain/", "How to create custom callback handlers": "https://python.langchain.com/v0.2/docs/how_to/custom_callbacks/", "How to configure runtime chain internals": "https://python.langchain.com/v0.2/docs/how_to/configure/", "How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/", "Response metadata": "https://python.langchain.com/v0.2/docs/how_to/response_metadata/", "How to pass callbacks in at runtime": "https://python.langchain.com/v0.2/docs/how_to/callbacks_runtime/", "Anthropic": "https://python.langchain.com/v0.2/docs/integrations/platforms/anthropic/", "ChatAnthropic": "https://python.langchain.com/v0.2/docs/integrations/chat/anthropic/", "Log10": "https://python.langchain.com/v0.2/docs/integrations/providers/log10/", "Python": "https://python.langchain.com/v0.2/docs/integrations/toolkits/python/", "PlayWright Browser": "https://python.langchain.com/v0.2/docs/integrations/toolkits/playwright/", "Build an Agent": "https://python.langchain.com/v0.2/docs/tutorials/agents/"}, "ChatOpenAI": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/", "How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "How to inspect runnables": "https://python.langchain.com/v0.2/docs/how_to/inspect/", "How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to use few shot examples in chat models": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples_chat/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/", "How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/", "How to pass multimodal data directly to models": "https://python.langchain.com/v0.2/docs/how_to/multimodal_inputs/", "How to use the output-fixing parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_fixing/", "How to use a model to call tools": "https://python.langchain.com/v0.2/docs/how_to/tool_calling", "How to convert tools to OpenAI Functions": "https://python.langchain.com/v0.2/docs/how_to/tools_as_openai_functions/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to add default invocation args to a Runnable": "https://python.langchain.com/v0.2/docs/how_to/binding/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to configure runtime chain internals": "https://python.langchain.com/v0.2/docs/how_to/configure/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to construct knowledge graphs": "https://python.langchain.com/v0.2/docs/how_to/graph_constructing/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "How deal with high cardinality categoricals when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_high_cardinality/", "How to get log probabilities": "https://python.langchain.com/v0.2/docs/how_to/logprobs/", "How to parse YAML output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_yaml/", "Response metadata": "https://python.langchain.com/v0.2/docs/how_to/response_metadata/", "How to parse JSON output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_json/", "How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "How to use multimodal prompts": "https://python.langchain.com/v0.2/docs/how_to/multimodal_prompts/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "WeChat": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/wechat/", "Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "LangSmith LLM Runs": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_llm_runs/", "Slack": "https://python.langchain.com/v0.2/docs/integrations/toolkits/slack/", "WhatsApp": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/whatsapp/", "LangSmith Chat Datasets": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_dataset/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/", "Telegram": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/telegram/", "Discord": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/discord/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "You.com": "https://python.langchain.com/v0.2/docs/integrations/retrievers/you-retriever/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "AskNews": "https://python.langchain.com/v0.2/docs/integrations/tools/asknews/", "LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "Outline": "https://python.langchain.com/v0.2/docs/integrations/retrievers/outline/", "Wikipedia": "https://python.langchain.com/v0.2/docs/integrations/retrievers/wikipedia/", "SEC filing": "https://python.langchain.com/v0.2/docs/integrations/retrievers/sec_filings/", "Tavily Search API": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tavily/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/retrievers/ragatouille/", "Arxiv": "https://python.langchain.com/v0.2/docs/integrations/retrievers/arxiv/", "Rememberizer": "https://python.langchain.com/v0.2/docs/integrations/retrievers/rememberizer/", "Milvus Hybrid Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/milvus_hybrid_search/", "Kay.ai": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kay/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/tencentvectordb/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/myscale_self_query/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "ChatGPT Plugins": "https://python.langchain.com/v0.2/docs/integrations/tools/chatgpt_plugins/", "Connery Action Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/connery/", "Tavily Search": "https://python.langchain.com/v0.2/docs/integrations/tools/tavily_search/", "Infobip": "https://python.langchain.com/v0.2/docs/integrations/tools/infobip/", "E2B Data Analysis": "https://python.langchain.com/v0.2/docs/integrations/tools/e2b_data_analysis/", "Human as a tool": "https://python.langchain.com/v0.2/docs/integrations/tools/human_tools/", "Azure Container Apps dynamic sessions": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_dynamic_sessions/", "Yahoo Finance News": "https://python.langchain.com/v0.2/docs/integrations/tools/yahoo_finance_news/", "Semantic Scholar API Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/semanticscholar/", "Passio NutritionAI": "https://python.langchain.com/v0.2/docs/integrations/tools/passio_nutrition_ai/", "Bearly Code Interpreter": "https://python.langchain.com/v0.2/docs/integrations/tools/bearly/", "ArXiv": "https://python.langchain.com/v0.2/docs/integrations/tools/arxiv/", "Exa Search": "https://python.langchain.com/v0.2/docs/integrations/tools/exa_search/", "Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/", "You.com Search": "https://python.langchain.com/v0.2/docs/integrations/tools/you/", "Shell (bash)": "https://python.langchain.com/v0.2/docs/integrations/tools/bash/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/memory/redis_chat_message_history/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "AWS DynamoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/aws_dynamodb/", "MongoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/mongodb_chat_message_history/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/memory/xata_chat_message_history/", "Remembrall": "https://python.langchain.com/v0.2/docs/integrations/memory/remembrall/", "SQL (SQLAlchemy)": "https://python.langchain.com/v0.2/docs/integrations/memory/sql_chat_message_history/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/memory/streamlit_chat_message_history/", "SQLite": "https://python.langchain.com/v0.2/docs/integrations/memory/sqlite/", "TiDB": "https://python.langchain.com/v0.2/docs/integrations/memory/tidb_chat_message_history/", "ChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/openai/", "vLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/vllm/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "Label Studio": "https://python.langchain.com/v0.2/docs/integrations/callbacks/labelstudio/", "PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/callbacks/promptlayer/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "Trubrics": "https://python.langchain.com/v0.2/docs/integrations/callbacks/trubrics/", "Infino": "https://python.langchain.com/v0.2/docs/integrations/callbacks/infino/", "CnosDB": "https://python.langchain.com/v0.2/docs/integrations/providers/cnosdb/", "Log10": "https://python.langchain.com/v0.2/docs/integrations/providers/log10/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "Arthur": "https://python.langchain.com/v0.2/docs/integrations/providers/arthur_tracking/", "Dataherald": "https://python.langchain.com/v0.2/docs/integrations/providers/dataherald/", "Log, Trace, and Monitor": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/logging_tracing_portkey/", "Portkey": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/index/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_summary/", "Connery Toolkit": "https://python.langchain.com/v0.2/docs/integrations/toolkits/connery/", "CSV": "https://python.langchain.com/v0.2/docs/integrations/toolkits/csv/", "Document Comparison": "https://python.langchain.com/v0.2/docs/integrations/toolkits/document_comparison_toolkit/", "Python": "https://python.langchain.com/v0.2/docs/integrations/toolkits/python/", "PowerBI Dataset": "https://python.langchain.com/v0.2/docs/integrations/toolkits/powerbi/", "SQL Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/sql_database/", "Gmail": "https://python.langchain.com/v0.2/docs/integrations/toolkits/gmail/", "Cassandra Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/cassandra_database/", "Airbyte Question Answering": "https://python.langchain.com/v0.2/docs/integrations/toolkits/airbyte_structured_qa/", "Github": "https://python.langchain.com/v0.2/docs/integrations/toolkits/github/", "Spark SQL": "https://python.langchain.com/v0.2/docs/integrations/toolkits/spark_sql/", "AINetwork": "https://python.langchain.com/v0.2/docs/integrations/toolkits/ainetwork/", "# Cogniswitch Tools": "https://python.langchain.com/v0.2/docs/integrations/toolkits/cogniswitch/", "Pandas Dataframe": "https://python.langchain.com/v0.2/docs/integrations/toolkits/pandas/", "Robocorp": "https://python.langchain.com/v0.2/docs/integrations/toolkits/robocorp/", "MultiOn": "https://python.langchain.com/v0.2/docs/integrations/toolkits/multion/", "Amadeus": "https://python.langchain.com/v0.2/docs/integrations/toolkits/amadeus/", "OpenAPI": "https://python.langchain.com/v0.2/docs/integrations/toolkits/openapi/", "Polygon IO Toolkit": "https://python.langchain.com/v0.2/docs/integrations/toolkits/polygon/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "Hippo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hippo/", "Momento Vector Index (MVI)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/momento_vector_index/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/", "Astra DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/astradb/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "KDB.AI": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kdbai/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "OpenAI metadata tagger": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openai_metadata_tagger/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/", "Figma": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/figma/", "Browserbase": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/browserbase/", "Memgraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/memgraph/", "RDFLib": "https://python.langchain.com/v0.2/docs/integrations/graphs/rdflib_sparql/", "NebulaGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/nebula_graph/", "HugeGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/hugegraph/", "Diffbot": "https://python.langchain.com/v0.2/docs/integrations/graphs/diffbot/", "Ontotext GraphDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/ontotext/", "Apache AGE": "https://python.langchain.com/v0.2/docs/integrations/graphs/apache_age/", "Neo4j": "https://python.langchain.com/v0.2/docs/integrations/graphs/neo4j_cypher/", "ArangoDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/arangodb/", "Amazon Neptune with Cypher": "https://python.langchain.com/v0.2/docs/integrations/graphs/amazon_neptune_open_cypher/", "Kuzu": "https://python.langchain.com/v0.2/docs/integrations/graphs/kuzu_db/", "FalkorDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/falkordb/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Classify Text into Labels": "https://python.langchain.com/v0.2/docs/tutorials/classification/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/", "Build a Simple LLM Application": "https://python.langchain.com/v0.2/docs/tutorials/llm_chain/", "Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/", "Build a Question Answering application over a Graph Database": "https://python.langchain.com/v0.2/docs/tutorials/graph/"}, "SystemMessage": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to compose prompts together": "https://python.langchain.com/v0.2/docs/how_to/prompts_composition/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "Exa Search": "https://python.langchain.com/v0.2/docs/integrations/tools/exa_search/", "solar.md": "https://python.langchain.com/v0.2/docs/integrations/chat/solar/", "Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/", "ChatFireworks": "https://python.langchain.com/v0.2/docs/integrations/chat/fireworks/", "ChatOctoAI": "https://python.langchain.com/v0.2/docs/integrations/chat/octoai/", "LlamaEdge": "https://python.langchain.com/v0.2/docs/integrations/chat/llama_edge/", "Google AI chat models": "https://python.langchain.com/v0.2/docs/integrations/chat/google_generative_ai/", "ChatKonko": "https://python.langchain.com/v0.2/docs/integrations/chat/konko/", "GigaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/gigachat/", "JinaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/jinachat/", "ChatEverlyAI": "https://python.langchain.com/v0.2/docs/integrations/chat/everlyai/", "ChatFriendli": "https://python.langchain.com/v0.2/docs/integrations/chat/friendli/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "vLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/vllm/", "Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/chat/yuan2/", "ChatTongyi": "https://python.langchain.com/v0.2/docs/integrations/chat/tongyi/", "MoonshotChat": "https://python.langchain.com/v0.2/docs/integrations/chat/moonshot/", "ChatPremAI": "https://python.langchain.com/v0.2/docs/integrations/chat/premai/", "ChatAnyscale": "https://python.langchain.com/v0.2/docs/integrations/chat/anyscale/", "ChatYandexGPT": "https://python.langchain.com/v0.2/docs/integrations/chat/yandex/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "Label Studio": "https://python.langchain.com/v0.2/docs/integrations/callbacks/labelstudio/", "Trubrics": "https://python.langchain.com/v0.2/docs/integrations/callbacks/trubrics/", "MLflow Deployments for LLMs": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow/", "MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/", "PremAI": "https://python.langchain.com/v0.2/docs/integrations/providers/premai/", "Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "SQL Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/sql_database/", "Robocorp": "https://python.langchain.com/v0.2/docs/integrations/toolkits/robocorp/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/", "Build a Simple LLM Application": "https://python.langchain.com/v0.2/docs/tutorials/llm_chain/"}, "HumanMessage": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/", "Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "Build an Agent": "https://python.langchain.com/v0.2/docs/tutorials/agents/", "How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to use callbacks in async environments": "https://python.langchain.com/v0.2/docs/how_to/callbacks_async/", "How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to pass multimodal data directly to models": "https://python.langchain.com/v0.2/docs/how_to/multimodal_inputs/", "How to use a model to call tools": "https://python.langchain.com/v0.2/docs/how_to/tool_calling", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to convert tools to OpenAI Functions": "https://python.langchain.com/v0.2/docs/how_to/tools_as_openai_functions/", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "How to return structured data from a model": "https://python.langchain.com/v0.2/docs/how_to/structured_output/", "How to compose prompts together": "https://python.langchain.com/v0.2/docs/how_to/prompts_composition/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "WeChat": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/wechat/", "Discord": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/discord/", "Zep Open Source": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_memorystore/", "Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_cloud_memorystore/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Imagen": "https://python.langchain.com/v0.2/docs/integrations/tools/google_imagen/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "solar.md": "https://python.langchain.com/v0.2/docs/integrations/chat/solar/", "Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/", "AzureMLChatOnlineEndpoint": "https://python.langchain.com/v0.2/docs/integrations/chat/azureml_chat_endpoint/", "Alibaba Cloud PAI EAS": "https://python.langchain.com/v0.2/docs/integrations/chat/alibaba_cloud_pai_eas/", "Chat with Coze Bot": "https://python.langchain.com/v0.2/docs/integrations/chat/coze/", "ChatFireworks": "https://python.langchain.com/v0.2/docs/integrations/chat/fireworks/", "ChatOctoAI": "https://python.langchain.com/v0.2/docs/integrations/chat/octoai/", "DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/chat/deepinfra/", "ChatAnthropic": "https://python.langchain.com/v0.2/docs/integrations/chat/anthropic/", "ChatLiteLLM": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm/", "LlamaEdge": "https://python.langchain.com/v0.2/docs/integrations/chat/llama_edge/", "Google AI chat models": "https://python.langchain.com/v0.2/docs/integrations/chat/google_generative_ai/", "OllamaFunctions": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama_functions/", "VolcEngineMaasChat": "https://python.langchain.com/v0.2/docs/integrations/chat/volcengine_maas/", "ChatKonko": "https://python.langchain.com/v0.2/docs/integrations/chat/konko/", "ChatVertexAI": "https://python.langchain.com/v0.2/docs/integrations/chat/google_vertex_ai_palm/", "ChatBedrock": "https://python.langchain.com/v0.2/docs/integrations/chat/bedrock/", "MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/", "GigaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/gigachat/", "JinaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/jinachat/", "ChatOllama": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama/", "AzureChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/azure_chat_openai/", "ChatEverlyAI": "https://python.langchain.com/v0.2/docs/integrations/chat/everlyai/", "GPTRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/gpt_router/", "ChatLiteLLMRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm_router/", "ChatFriendli": "https://python.langchain.com/v0.2/docs/integrations/chat/friendli/", "MistralAI": "https://python.langchain.com/v0.2/docs/integrations/chat/mistralai/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "Chat with Baichuan-192K": "https://python.langchain.com/v0.2/docs/integrations/chat/baichuan/", "QianfanChatEndpoint": "https://python.langchain.com/v0.2/docs/integrations/chat/baidu_qianfan_endpoint/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/llms/cohere/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/chat/edenai/", "ErnieBotChat": "https://python.langchain.com/v0.2/docs/integrations/chat/ernie/", "vLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/vllm/", "Tencent Hunyuan": "https://python.langchain.com/v0.2/docs/integrations/chat/tencent_hunyuan/", "MiniMaxChat": "https://python.langchain.com/v0.2/docs/integrations/chat/minimax/", "Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/chat/yuan2/", "ChatTongyi": "https://python.langchain.com/v0.2/docs/integrations/chat/tongyi/", "PromptLayerChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/promptlayer_chatopenai/", "SparkLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/sparkllm/", "MoonshotChat": "https://python.langchain.com/v0.2/docs/integrations/chat/moonshot/", "Dappier AI": "https://python.langchain.com/v0.2/docs/integrations/chat/dappier/", "Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/", "ChatPremAI": "https://python.langchain.com/v0.2/docs/integrations/chat/premai/", "ChatAnyscale": "https://python.langchain.com/v0.2/docs/integrations/chat/anyscale/", "ChatYandexGPT": "https://python.langchain.com/v0.2/docs/integrations/chat/yandex/", "NVIDIA NIMs": "https://python.langchain.com/v0.2/docs/integrations/chat/nvidia_ai_endpoints/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "Label Studio": "https://python.langchain.com/v0.2/docs/integrations/callbacks/labelstudio/", "PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/callbacks/promptlayer/", "Trubrics": "https://python.langchain.com/v0.2/docs/integrations/callbacks/trubrics/", "Log10": "https://python.langchain.com/v0.2/docs/integrations/providers/log10/", "MLflow Deployments for LLMs": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow/", "MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/", "-> content='Hello! How can I assist you today?'": "https://python.langchain.com/v0.2/docs/integrations/providers/databricks/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "PremAI": "https://python.langchain.com/v0.2/docs/integrations/providers/premai/", "Arthur": "https://python.langchain.com/v0.2/docs/integrations/providers/arthur_tracking/", "Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Browserbase": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/browserbase/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/", "Databricks": "https://python.langchain.com/v0.2/docs/integrations/llms/databricks/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/", "Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/", "Chat Bot Feedback Template": "https://python.langchain.com/v0.2/docs/templates/chat-bot-feedback/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/", "Build a Simple LLM Application": "https://python.langchain.com/v0.2/docs/tutorials/llm_chain/"}, "RunnableMap": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/"}, "RunnableLambda": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/", "How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_summary/", "Vector stores and retrievers": "https://python.langchain.com/v0.2/docs/tutorials/retrievers/"}, "PromptTemplate": {"Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to use output parsers to parse an LLM response into structured format": "https://python.langchain.com/v0.2/docs/how_to/output_parser_structured/", "How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to select examples by n-gram overlap": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_ngram/", "How to select examples by length": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_length_based/", "How to use example selectors": "https://python.langchain.com/v0.2/docs/how_to/example_selectors/", "How to use few shot examples": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples/", "How to select examples by similarity": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_similarity/", "How to parse XML output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_xml/", "How to reorder retrieved results to mitigate the \"lost in the middle\" effect": "https://python.langchain.com/v0.2/docs/how_to/long_context_reorder/", "How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/", "Run LLMs locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "How to configure runtime chain internals": "https://python.langchain.com/v0.2/docs/how_to/configure/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "How to parse YAML output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_yaml/", "How to compose prompts together": "https://python.langchain.com/v0.2/docs/how_to/prompts_composition/", "How to partially format prompt templates": "https://python.langchain.com/v0.2/docs/how_to/prompts_partial/", "How to parse JSON output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_json/", "How to select examples by maximal marginal relevance (MMR)": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_mmr/", "How to track token usage for LLMs": "https://python.langchain.com/v0.2/docs/how_to/llm_token_usage_tracking/", "Clarifai": "https://python.langchain.com/v0.2/docs/integrations/llms/clarifai/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "Google Drive": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_drive/", "Milvus Hybrid Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/milvus_hybrid_search/", "Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "NVIDIA Riva: ASR and TTS": "https://python.langchain.com/v0.2/docs/integrations/tools/nvidia_riva/", "Exa Search": "https://python.langchain.com/v0.2/docs/integrations/tools/exa_search/", "Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/", "Dall-E Image Generator": "https://python.langchain.com/v0.2/docs/integrations/tools/dalle_image_generator/", "Mot\u00f6rhead": "https://python.langchain.com/v0.2/docs/integrations/memory/motorhead_memory/", "OllamaFunctions": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama_functions/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/", "Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "DSPy": "https://python.langchain.com/v0.2/docs/integrations/providers/dspy/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/", "Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/", "Prediction Guard": "https://python.langchain.com/v0.2/docs/integrations/llms/predictionguard/", "MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/", "Shale Protocol": "https://python.langchain.com/v0.2/docs/integrations/providers/shaleprotocol/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "Ray Serve": "https://python.langchain.com/v0.2/docs/integrations/providers/ray_serve/", "Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "Amazon Document DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/documentdb/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/mongodb_atlas/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "AirbyteLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte/", "Memgraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/memgraph/", "Apache AGE": "https://python.langchain.com/v0.2/docs/integrations/graphs/apache_age/", "Neo4j": "https://python.langchain.com/v0.2/docs/integrations/graphs/neo4j_cypher/", "Baseten": "https://python.langchain.com/v0.2/docs/integrations/llms/baseten/", "StochasticAI": "https://python.langchain.com/v0.2/docs/integrations/llms/stochasticai/", "Solar": "https://python.langchain.com/v0.2/docs/integrations/llms/solar/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/", "IPEX-LLM": "https://python.langchain.com/v0.2/docs/integrations/llms/ipex_llm/", "Banana": "https://python.langchain.com/v0.2/docs/integrations/llms/banana/", "Alibaba Cloud PAI EAS": "https://python.langchain.com/v0.2/docs/integrations/llms/alibabacloud_pai_eas_endpoint/", "OpenLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/openllm/", "SageMakerEndpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/sagemaker/", "Fireworks": "https://python.langchain.com/v0.2/docs/integrations/llms/fireworks/", "OctoAI": "https://python.langchain.com/v0.2/docs/integrations/llms/octoai/", "Writer": "https://python.langchain.com/v0.2/docs/integrations/llms/writer/", "Modal": "https://python.langchain.com/v0.2/docs/integrations/llms/modal/", "TextGen": "https://python.langchain.com/v0.2/docs/integrations/llms/textgen/", "Xorbits Inference (Xinference)": "https://python.langchain.com/v0.2/docs/integrations/llms/xinference/", "Nebula (Symbl.ai)": "https://python.langchain.com/v0.2/docs/integrations/llms/symblai_nebula/", "DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/llms/deepinfra/", "AnthropicLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/anthropic/", "NLP Cloud": "https://python.langchain.com/v0.2/docs/integrations/llms/nlpcloud/", "GPT4All": "https://python.langchain.com/v0.2/docs/integrations/llms/gpt4all/", "ForefrontAI": "https://python.langchain.com/v0.2/docs/integrations/llms/forefrontai/", "MosaicML": "https://python.langchain.com/v0.2/docs/integrations/llms/mosaicml/", "Volc Engine Maas": "https://python.langchain.com/v0.2/docs/integrations/llms/volcengine_maas/", "CerebriumAI": "https://python.langchain.com/v0.2/docs/integrations/llms/cerebriumai/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/llms/openai/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/", "Predibase": "https://python.langchain.com/v0.2/docs/integrations/llms/predibase/", "GigaChat": "https://python.langchain.com/v0.2/docs/integrations/llms/gigachat/", "# Oracle Cloud Infrastructure Generative AI": "https://python.langchain.com/v0.2/docs/integrations/llms/oci_generative_ai/", "Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/llms/llamacpp/", "Hugging Face Local Pipelines": "https://python.langchain.com/v0.2/docs/integrations/llms/huggingface_pipelines/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/", "Titan Takeoff": "https://python.langchain.com/v0.2/docs/integrations/llms/titan_takeoff/", "Aphrodite Engine": "https://python.langchain.com/v0.2/docs/integrations/llms/aphrodite/", "AI21LLM": "https://python.langchain.com/v0.2/docs/integrations/llms/ai21/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/llms/cohere/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/llms/edenai/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/", "IBM watsonx.ai": "https://python.langchain.com/v0.2/docs/integrations/llms/ibm_watsonx/", "C Transformers": "https://python.langchain.com/v0.2/docs/integrations/llms/ctransformers/", "vLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/vllm/", "Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/", "Manifest": "https://python.langchain.com/v0.2/docs/integrations/llms/manifest/", "ExLlamaV2": "https://python.langchain.com/v0.2/docs/integrations/llms/exllamav2/", "Minimax": "https://python.langchain.com/v0.2/docs/integrations/llms/minimax/", "Tongyi Qwen": "https://python.langchain.com/v0.2/docs/integrations/llms/tongyi/", "Huggingface Endpoints": "https://python.langchain.com/v0.2/docs/integrations/llms/huggingface_endpoint/", "MLX Local Pipelines": "https://python.langchain.com/v0.2/docs/integrations/llms/mlx_pipelines/", "Runhouse": "https://python.langchain.com/v0.2/docs/integrations/llms/runhouse/", "Anyscale": "https://python.langchain.com/v0.2/docs/integrations/llms/anyscale/", "YandexGPT": "https://python.langchain.com/v0.2/docs/integrations/llms/yandex/", "GooseAI": "https://python.langchain.com/v0.2/docs/integrations/llms/gooseai/", "OpenLM": "https://python.langchain.com/v0.2/docs/integrations/llms/openlm/", "Aleph Alpha": "https://python.langchain.com/v0.2/docs/integrations/llms/aleph_alpha/", "Cloudflare Workers AI": "https://python.langchain.com/v0.2/docs/integrations/llms/cloudflare_workersai/", "CTranslate2": "https://python.langchain.com/v0.2/docs/integrations/llms/ctranslate2/", "Google AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_ai/", "PipelineAI": "https://python.langchain.com/v0.2/docs/integrations/llms/pipelineai/", "ChatGLM": "https://python.langchain.com/v0.2/docs/integrations/llms/chatglm/", "Gradient": "https://python.langchain.com/v0.2/docs/integrations/llms/gradient/", "Petals": "https://python.langchain.com/v0.2/docs/integrations/llms/petals/", "OpenVINO": "https://python.langchain.com/v0.2/docs/integrations/llms/openvino/", "Intel Weight-Only Quantization": "https://python.langchain.com/v0.2/docs/integrations/llms/weight_only_quantization/", "Replicate": "https://python.langchain.com/v0.2/docs/integrations/llms/replicate/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/", "Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "MessagesPlaceholder": {"Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/memory/redis_chat_message_history/", "Google SQL for MySQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mysql/", "Google AlloyDB for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_alloydb/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "AWS DynamoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/aws_dynamodb/", "MongoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/mongodb_chat_message_history/", "SQL (SQLAlchemy)": "https://python.langchain.com/v0.2/docs/integrations/memory/sql_chat_message_history/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/memory/streamlit_chat_message_history/", "Google El Carro Oracle": "https://python.langchain.com/v0.2/docs/integrations/memory/google_el_carro/", "SQLite": "https://python.langchain.com/v0.2/docs/integrations/memory/sqlite/", "Google SQL for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_pg/", "Google SQL for SQL Server": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mssql/", "TiDB": "https://python.langchain.com/v0.2/docs/integrations/memory/tidb_chat_message_history/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "SQL Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/sql_database/", "Github": "https://python.langchain.com/v0.2/docs/integrations/toolkits/github/", "Build an Extraction Chain": "https://python.langchain.com/v0.2/docs/tutorials/extraction/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "CSVLoader": {"Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "How to load CSVs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_csv/", "ChatGPT plugin": "https://python.langchain.com/v0.2/docs/integrations/retrievers/chatgpt-plugin/", "Aerospike": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aerospike/", "CSV": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/csv/", "Pebblo Safe DocumentLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pebblo/"}, "BaseChatModel": {"Contribute Integrations": "https://python.langchain.com/v0.2/docs/contributing/integrations/", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "deprecated": {"Contribute Integrations": "https://python.langchain.com/v0.2/docs/contributing/integrations/"}, "UnstructuredMarkdownLoader": {"langchain": "https://python.langchain.com/v0.2/docs/changes/changelog/langchain/", "How to load Markdown": "https://python.langchain.com/v0.2/docs/how_to/document_loader_markdown/", "Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/", "StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/"}, "TavilySearchResults": {"Build an Agent": "https://python.langchain.com/v0.2/docs/tutorials/agents/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to debug your LLM apps": "https://python.langchain.com/v0.2/docs/how_to/debugging/", "Tavily Search": "https://python.langchain.com/v0.2/docs/integrations/tools/tavily_search/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/providers/cohere/"}, "WebBaseLoader": {"Build an Agent": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "Infino": "https://python.langchain.com/v0.2/docs/integrations/callbacks/infino/", "Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep_cloud/", "Zep": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "Merge Documents Loader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/merge_doc/", "WebBaseLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/web_base/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "FAISS": {"Build an Agent": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/", "How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to inspect runnables": "https://python.langchain.com/v0.2/docs/how_to/inspect/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "How to use a time-weighted vector store retriever": "https://python.langchain.com/v0.2/docs/how_to/time_weighted_vectorstore/", "How to create and query vector stores": "https://python.langchain.com/v0.2/docs/how_to/vectorstores/", "How to use a vectorstore as a retriever": "https://python.langchain.com/v0.2/docs/how_to/vectorstore_retriever/", "Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/", "How to combine results from multiple retrievers": "https://python.langchain.com/v0.2/docs/how_to/ensemble_retriever/", "How to select examples by maximal marginal relevance (MMR)": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_mmr/", "NVIDIA NIMs ": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/nvidia_ai_endpoints/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/providers/ragatouille/", "Facebook - Meta": "https://python.langchain.com/v0.2/docs/integrations/providers/facebook/", "Document Comparison": "https://python.langchain.com/v0.2/docs/integrations/toolkits/document_comparison_toolkit/", "Faiss (Async)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss_async/", "Faiss": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss/", "VoyageAI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/voyageai-reranker/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "OpenVINO Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openvino_rerank/", "Cross Encoder Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/cross_encoder_reranker/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/", "# Oracle Cloud Infrastructure Generative AI": "https://python.langchain.com/v0.2/docs/integrations/llms/oci_generative_ai/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/"}, "OpenAIEmbeddings": {"Build an Agent": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/", "How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to do per-user retrieval": "https://python.langchain.com/v0.2/docs/how_to/qa_per_user/", "How to use few shot examples": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples/", "How to inspect runnables": "https://python.langchain.com/v0.2/docs/how_to/inspect/", "How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to use few shot examples in chat models": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples_chat/", "How to select examples by similarity": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_similarity/", "Text embedding models": "https://python.langchain.com/v0.2/docs/how_to/embed_text/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to use the LangChain indexing API": "https://python.langchain.com/v0.2/docs/how_to/indexing/", "How to split text based on semantic similarity": "https://python.langchain.com/v0.2/docs/how_to/semantic-chunker/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to use a time-weighted vector store retriever": "https://python.langchain.com/v0.2/docs/how_to/time_weighted_vectorstore/", "How to create and query vector stores": "https://python.langchain.com/v0.2/docs/how_to/vectorstores/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "How to use the Parent Document Retriever": "https://python.langchain.com/v0.2/docs/how_to/parent_document_retriever/", "How deal with high cardinality categoricals when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_high_cardinality/", "How to use a vectorstore as a retriever": "https://python.langchain.com/v0.2/docs/how_to/vectorstore_retriever/", "Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/", "How to combine results from multiple retrievers": "https://python.langchain.com/v0.2/docs/how_to/ensemble_retriever/", "How to select examples by maximal marginal relevance (MMR)": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_mmr/", "How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "Azure OpenAI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/azureopenai/", "Azure AI Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azuresearch/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "Kinetica Vectorstore based Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kinetica/", "JaguarDB Vector Database": "https://python.langchain.com/v0.2/docs/integrations/retrievers/jaguar/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/singlestoredb/", "kNN": "https://python.langchain.com/v0.2/docs/integrations/retrievers/knn/", "DocArray": "https://python.langchain.com/v0.2/docs/integrations/retrievers/docarray_retriever/", "SVM": "https://python.langchain.com/v0.2/docs/integrations/retrievers/svm/", "Pinecone Hybrid Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/pinecone_hybrid_search/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "Milvus Hybrid Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/milvus_hybrid_search/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/", "Milvus": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/milvus/", "PGVector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pgvector_self_query/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/databricks_vector_search/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dingo/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/opensearch/", "Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/elasticsearch/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/chroma/", "Timescale Vector (Postgres) ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/timescalevector_self_query/", "Astra DB (Cassandra)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/astradb/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pinecone/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/supabase/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/redis/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/myscale/", "Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/mongodb_atlas/", "Qdrant": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/qdrant/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/xata/", "Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/providers/ragatouille/", "Upstash Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/upstash/", "Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Astra DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/astradb/", "Cassandra": "https://python.langchain.com/v0.2/docs/integrations/stores/cassandra/", "Document Comparison": "https://python.langchain.com/v0.2/docs/integrations/toolkits/document_comparison_toolkit/", "LanceDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lancedb/", "Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/", "Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "Hippo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hippo/", "Rockset": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/rockset/", "Zilliz": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zilliz/", "Azure Cosmos DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db/", "viking DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vikingdb/", "Couchbase ": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/couchbase/", "Typesense": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/typesense/", "Momento Vector Index (MVI)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/momento_vector_index/", "TiDB Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tidb_vector/", "Activeloop Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/activeloop_deeplake/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/", "Lantern": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lantern/", "DuckDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/duckdb/", "Alibaba Cloud OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/alibabacloud_opensearch/", "StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/", "scikit-learn": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sklearn/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "DocArray HnswSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_hnsw/", "ClickHouse": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/clickhouse/", "Tigris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tigris/", "China Mobile ECloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/ecloud_vector_search/", "Faiss (Async)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss_async/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "USearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/usearch/", "KDB.AI": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kdbai/", "DocArray InMemorySearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_in_memory/", "Postgres Embedding": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgembedding/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Faiss": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss/", "Epsilla": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/epsilla/", "Amazon Document DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/documentdb/", "AnalyticDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/analyticdb/", "Hologres": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hologres/", "Meilisearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/meilisearch/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/", "Psychic": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/psychic/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/", "Vector stores and retrievers": "https://python.langchain.com/v0.2/docs/tutorials/retrievers/"}, "RecursiveCharacterTextSplitter": {"Build an Agent": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to split code": "https://python.langchain.com/v0.2/docs/how_to/code_splitter/", "How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to recursively split text by characters": "https://python.langchain.com/v0.2/docs/how_to/recursive_text_splitter/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "How to use the Parent Document Retriever": "https://python.langchain.com/v0.2/docs/how_to/parent_document_retriever/", "How to split Markdown by Headers": "https://python.langchain.com/v0.2/docs/how_to/markdown_header_metadata_splitter/", "How to split by HTML header ": "https://python.langchain.com/v0.2/docs/how_to/HTML_header_metadata_splitter/", "How to split by HTML sections": "https://python.langchain.com/v0.2/docs/how_to/HTML_section_aware_splitter/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/providers/ragatouille/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Google Vertex AI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_vertex_ai_vector_search/", "viking DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vikingdb/", "Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep_cloud/", "Astra DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/astradb/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "Zep": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep/", "Vearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vearch/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/mongodb_atlas/", "VoyageAI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/voyageai-reranker/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "OpenVINO Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openvino_rerank/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "Cross Encoder Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/cross_encoder_reranker/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/", "Source Code": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/source_code/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/"}, "create_retriever_tool": {"Build an Agent": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/memory/xata_chat_message_history/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/"}, "create_tool_calling_agent": {"Build an Agent": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to use tools in a chain": "https://python.langchain.com/v0.2/docs/how_to/tools_chain/", "How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "How to debug your LLM apps": "https://python.langchain.com/v0.2/docs/how_to/debugging/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "Azure Container Apps dynamic sessions": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_dynamic_sessions/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "AgentExecutor": {"Build an Agent": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to use tools in a chain": "https://python.langchain.com/v0.2/docs/how_to/tools_chain/", "How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to debug your LLM apps": "https://python.langchain.com/v0.2/docs/how_to/debugging/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "Tavily Search": "https://python.langchain.com/v0.2/docs/integrations/tools/tavily_search/", "Infobip": "https://python.langchain.com/v0.2/docs/integrations/tools/infobip/", "AskNews": "https://python.langchain.com/v0.2/docs/integrations/tools/asknews/", "Azure Container Apps dynamic sessions": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_dynamic_sessions/", "Semantic Scholar API Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/semanticscholar/", "Passio NutritionAI": "https://python.langchain.com/v0.2/docs/integrations/tools/passio_nutrition_ai/", "Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "ArXiv": "https://python.langchain.com/v0.2/docs/integrations/tools/arxiv/", "Exa Search": "https://python.langchain.com/v0.2/docs/integrations/tools/exa_search/", "Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/", "You.com Search": "https://python.langchain.com/v0.2/docs/integrations/tools/you/", "Ionic Shopping Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/ionic_shopping/", "Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/", "MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/callbacks/streamlit/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/providers/cohere/", "Dataherald": "https://python.langchain.com/v0.2/docs/integrations/providers/dataherald/", "Log, Trace, and Monitor": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/logging_tracing_portkey/", "Portkey": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/index/", "Python": "https://python.langchain.com/v0.2/docs/integrations/toolkits/python/", "SQL Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/sql_database/", "Gmail": "https://python.langchain.com/v0.2/docs/integrations/toolkits/gmail/", "Slack": "https://python.langchain.com/v0.2/docs/integrations/toolkits/slack/", "Cassandra Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/cassandra_database/", "Robocorp": "https://python.langchain.com/v0.2/docs/integrations/toolkits/robocorp/", "MultiOn": "https://python.langchain.com/v0.2/docs/integrations/toolkits/multion/", "Amadeus": "https://python.langchain.com/v0.2/docs/integrations/toolkits/amadeus/", "Azure AI Services": "https://python.langchain.com/v0.2/docs/integrations/toolkits/azure_ai_services/", "Polygon IO Toolkit": "https://python.langchain.com/v0.2/docs/integrations/toolkits/polygon/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "AIMessage": {"Build an Agent": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to add a human-in-the-loop for tools": "https://python.langchain.com/v0.2/docs/how_to/tools_human/", "How to use prompting alone (no tool calling) to do extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_parse/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to use a model to call tools": "https://python.langchain.com/v0.2/docs/how_to/tool_calling", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "How to return structured data from a model": "https://python.langchain.com/v0.2/docs/how_to/structured_output/", "How to compose prompts together": "https://python.langchain.com/v0.2/docs/how_to/prompts_composition/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "Twitter (via Apify)": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/twitter/", "Zep Open Source": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_memorystore/", "Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_cloud_memorystore/", "Google Imagen": "https://python.langchain.com/v0.2/docs/integrations/tools/google_imagen/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "ChatAnthropic": "https://python.langchain.com/v0.2/docs/integrations/chat/anthropic/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/chat/yuan2/", "SQL Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/sql_database/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/", "ChatGLM": "https://python.langchain.com/v0.2/docs/integrations/llms/chatglm/", "Chat Bot Feedback Template": "https://python.langchain.com/v0.2/docs/templates/chat-bot-feedback/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "ChatMessageHistory": {"Build an Agent": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "BaseChatMessageHistory": {"Build an Agent": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "RunnableWithMessageHistory": {"Build an Agent": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/memory/redis_chat_message_history/", "Google SQL for MySQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mysql/", "Google AlloyDB for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_alloydb/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "AWS DynamoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/aws_dynamodb/", "MongoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/mongodb_chat_message_history/", "SQL (SQLAlchemy)": "https://python.langchain.com/v0.2/docs/integrations/memory/sql_chat_message_history/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/memory/streamlit_chat_message_history/", "Google El Carro Oracle": "https://python.langchain.com/v0.2/docs/integrations/memory/google_el_carro/", "SQLite": "https://python.langchain.com/v0.2/docs/integrations/memory/sqlite/", "Google SQL for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_pg/", "Google SQL for SQL Server": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mssql/", "TiDB": "https://python.langchain.com/v0.2/docs/integrations/memory/tidb_chat_message_history/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "Neo4jGraph": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/", "How to construct knowledge graphs": "https://python.langchain.com/v0.2/docs/how_to/graph_constructing/", "How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "Neo4j": "https://python.langchain.com/v0.2/docs/integrations/graphs/neo4j_cypher/", "Diffbot": "https://python.langchain.com/v0.2/docs/integrations/graphs/diffbot/", "Build a Question Answering application over a Graph Database": "https://python.langchain.com/v0.2/docs/tutorials/graph/"}, "AsyncCallbackManagerForToolRun": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to create custom tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/"}, "CallbackManagerForToolRun": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to create custom tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/"}, "BaseTool": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to create custom tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/"}, "format_to_openai_function_messages": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/"}, "OpenAIFunctionsAgentOutputParser": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/"}, "convert_to_openai_function": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to convert tools to OpenAI Functions": "https://python.langchain.com/v0.2/docs/how_to/tools_as_openai_functions/"}, "BSHTMLLoader": {"How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to load HTML": "https://python.langchain.com/v0.2/docs/how_to/document_loader_html/"}, "TokenTextSplitter": {"How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/", "Azure AI Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/", "StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/"}, "Document": {"How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/", "How to create a custom Document Loader": "https://python.langchain.com/v0.2/docs/how_to/document_loader_custom/", "How to use the LangChain indexing API": "https://python.langchain.com/v0.2/docs/how_to/indexing/", "How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to create a custom Retriever": "https://python.langchain.com/v0.2/docs/how_to/custom_retriever/", "How to construct knowledge graphs": "https://python.langchain.com/v0.2/docs/how_to/graph_constructing/", "How to use a time-weighted vector store retriever": "https://python.langchain.com/v0.2/docs/how_to/time_weighted_vectorstore/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to load Markdown": "https://python.langchain.com/v0.2/docs/how_to/document_loader_markdown/", "How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Oracle AI Vector Search: Generate Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/oracleai/", "Kinetica Vectorstore based Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kinetica/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "ChatGPT plugin": "https://python.langchain.com/v0.2/docs/integrations/retrievers/chatgpt-plugin/", "Cohere RAG": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere/", "Weaviate Hybrid Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/weaviate-hybrid/", "BM25": "https://python.langchain.com/v0.2/docs/integrations/retrievers/bm25/", "Qdrant Sparse Vector": "https://python.langchain.com/v0.2/docs/integrations/retrievers/qdrant-sparse/", "Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/elasticsearch/", "TF-IDF": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tf_idf/", "Milvus": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/milvus/", "PGVector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pgvector_self_query/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/weaviate_self_query/", "Vectara ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "DashVector": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dashvector/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/databricks_vector_search/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dingo/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/opensearch_self_query/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/chroma_self_query/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "Timescale Vector (Postgres) ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/timescalevector_self_query/", "Astra DB (Cassandra)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/astradb/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pinecone/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/supabase_self_query/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/redis_self_query/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/myscale_self_query/", "Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/mongodb_atlas/", "Qdrant": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/qdrant_self_query/", "Oracle AI Vector Search: Generate Summary": "https://python.langchain.com/v0.2/docs/integrations/tools/oracleai/", "Apify": "https://python.langchain.com/v0.2/docs/integrations/tools/apify/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/providers/cohere/", "Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "PGVector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgvector/", "SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/singlestoredb/", "Annoy": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/annoy/", "Oracle AI Vector Search: Vector Store": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/oracle/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/", "Lantern": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lantern/", "Google Firestore (Native Mode)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_firestore/", "Astra DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/astradb/", "Faiss (Async)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss_async/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "PGVecto.rs": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgvecto_rs/", "Postgres Embedding": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgembedding/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Faiss": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss/", "Nuclia": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/nuclia_transformer/", "AI21SemanticTextSplitter": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/ai21_semantic_text_splitter/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "OpenAI metadata tagger": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openai_metadata_tagger/", "Doctran: extract properties": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/doctran_extract_properties/", "Google Translate": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_translate/", "Doctran: interrogate documents": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/doctran_interrogate_document/", "Doctran: language translation": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/doctran_translate_document/", "TensorFlow Datasets": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tensorflow_datasets/", "Google Cloud SQL for MySQL": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_cloud_sql_mysql/", "Airbyte Salesforce (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_salesforce/", "Airbyte CDK (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_cdk/", "Airbyte Stripe (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_stripe/", "Copy Paste": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/copypaste/", "Airbyte Typeform (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_typeform/", "Apify Dataset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/apify_dataset/", "Google Firestore in Datastore Mode": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_datastore/", "Oracle AI Vector Search: Document Processing": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/oracleai/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/", "Airbyte Hubspot (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_hubspot/", "Airbyte Gong (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_gong/", "Google Memorystore for Redis": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_memorystore_redis/", "Google Bigtable": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_bigtable/", "Google Cloud SQL for SQL server": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_cloud_sql_mssql/", "Google El Carro for Oracle Workloads": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_el_carro/", "Airbyte Shopify (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_shopify/", "Airbyte Zendesk Support (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_zendesk_support/", "Google Spanner": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_spanner/", "Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/", "SageMakerEndpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/sagemaker/", "self-query-qdrant": "https://python.langchain.com/v0.2/docs/templates/self-query-qdrant/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/", "Vector stores and retrievers": "https://python.langchain.com/v0.2/docs/tutorials/retrievers/"}, "CharacterTextSplitter": {"How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to split by character": "https://python.langchain.com/v0.2/docs/how_to/character_text_splitter/", "How to use the LangChain indexing API": "https://python.langchain.com/v0.2/docs/how_to/indexing/", "How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "How to create and query vector stores": "https://python.langchain.com/v0.2/docs/how_to/vectorstores/", "How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/", "How to use a vectorstore as a retriever": "https://python.langchain.com/v0.2/docs/how_to/vectorstore_retriever/", "Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Azure AI Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azuresearch/", "Kinetica Vectorstore based Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kinetica/", "JaguarDB Vector Database": "https://python.langchain.com/v0.2/docs/integrations/retrievers/jaguar/", "SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/singlestoredb/", "Vectara ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "Upstash Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/upstash/", "VDMS": "https://python.langchain.com/v0.2/docs/integrations/providers/vdms/", "Document Comparison": "https://python.langchain.com/v0.2/docs/integrations/toolkits/document_comparison_toolkit/", "LanceDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lancedb/", "Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/", "SQLite-VSS": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sqlitevss/", "Vald": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vald/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "DashVector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dashvector/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/databricks_vector_search/", "ScaNN": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/scann/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/xata/", "Hippo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hippo/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vectara/", "Vespa": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vespa/", "Rockset": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/rockset/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dingo/", "Zilliz": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zilliz/", "Azure Cosmos DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db/", "Annoy": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/annoy/", "Couchbase ": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/couchbase/", "Typesense": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/typesense/", "Momento Vector Index (MVI)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/momento_vector_index/", "TiDB Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tidb_vector/", "Relyt": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/relyt/", "Activeloop Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/activeloop_deeplake/", "vlite": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vlite/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/", "Lantern": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lantern/", "Tair": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tair/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/chroma/", "DuckDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/duckdb/", "Alibaba Cloud OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/alibabacloud_opensearch/", "Clarifai": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/clarifai/", "scikit-learn": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sklearn/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "DocArray HnswSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_hnsw/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/myscale/", "TileDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tiledb/", "ClickHouse": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/clickhouse/", "Google Memorystore for Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_memorystore_redis/", "Qdrant": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/qdrant/", "Tigris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tigris/", "China Mobile ECloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/ecloud_vector_search/", "Bagel": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/bagel/", "Baidu Cloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiducloud_vector_search/", "AwaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/awadb/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/supabase/", "SurrealDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/surrealdb/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/opensearch/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pinecone/", "Faiss (Async)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss_async/", "BagelDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/bageldb/", "ManticoreSearch VectorStore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/manticore_search/", "USearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/usearch/", "Milvus": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/milvus/", "Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/elasticsearch/", "PGVecto.rs": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgvecto_rs/", "Marqo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/marqo/", "DocArray InMemorySearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_in_memory/", "Postgres Embedding": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgembedding/", "Intel's Visual Data Management System (VDMS)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vdms/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Faiss": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss/", "Epsilla": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/epsilla/", "Amazon Document DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/documentdb/", "SemaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/semadb/", "AnalyticDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/analyticdb/", "Hologres": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hologres/", "Baidu VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiduvectordb/", "Meilisearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/meilisearch/", "Psychic": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/psychic/", "Manifest": "https://python.langchain.com/v0.2/docs/integrations/llms/manifest/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/"}, "PyPDFLoader": {"How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/", "Document Comparison": "https://python.langchain.com/v0.2/docs/integrations/toolkits/document_comparison_toolkit/", "Google Vertex AI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_vertex_ai_vector_search/", "Astra DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/astradb/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "KDB.AI": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kdbai/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/mongodb_atlas/", "Merge Documents Loader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/merge_doc/", "Google Cloud Storage File": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_cloud_storage_file/"}, "PyMuPDFLoader": {"How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/"}, "MathpixPDFLoader": {"How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/"}, "UnstructuredPDFLoader": {"How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/", "Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/"}, "OnlinePDFLoader": {"How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/", "Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/"}, "PyPDFium2Loader": {"How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/"}, "PDFMinerLoader": {"How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/"}, "PDFMinerPDFasHTMLLoader": {"How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/"}, "PyPDFDirectoryLoader": {"How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/"}, "PDFPlumberLoader": {"How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/"}, "AmazonTextractPDFLoader": {"How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/", "AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon Textract ": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/amazon_textract/"}, "AzureAIDocumentIntelligenceLoader": {"How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/", "How to load Microsoft Office files": "https://python.langchain.com/v0.2/docs/how_to/document_loader_office_file/", "Microsoft Word": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_word/", "Microsoft Excel": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_excel/", "Microsoft PowerPoint": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_powerpoint/", "Azure AI Document Intelligence": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/azure_document_intelligence/"}, "SQLDatabase": {"How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "How to do query validation as part of SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_query_checking/", "SQL Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/sql_database/", "CnosDB": "https://python.langchain.com/v0.2/docs/integrations/providers/cnosdb/", "Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/"}, "create_sql_query_chain": {"How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to do query validation as part of SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_query_checking/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/"}, "FewShotPromptTemplate": {"How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to select examples by n-gram overlap": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_ngram/", "How to select examples by length": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_length_based/", "How to use example selectors": "https://python.langchain.com/v0.2/docs/how_to/example_selectors/", "How to use few shot examples": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples/", "How to select examples by similarity": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_similarity/", "How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "How to select examples by maximal marginal relevance (MMR)": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_mmr/", "Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "SemanticSimilarityExampleSelector": {"How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to use few shot examples": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples/", "How to use few shot examples in chat models": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples_chat/", "How to select examples by similarity": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_similarity/", "How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "How to select examples by maximal marginal relevance (MMR)": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_mmr/"}, "PydanticOutputParser": {"How to use output parsers to parse an LLM response into structured format": "https://python.langchain.com/v0.2/docs/how_to/output_parser_structured/", "How to use prompting alone (no tool calling) to do extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_parse/", "How to use the output-fixing parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_fixing/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/", "How to return structured data from a model": "https://python.langchain.com/v0.2/docs/how_to/structured_output/", "Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "OpenAI": {"How to use output parsers to parse an LLM response into structured format": "https://python.langchain.com/v0.2/docs/how_to/output_parser_structured/", "How to reorder retrieved results to mitigate the \"lost in the middle\" effect": "https://python.langchain.com/v0.2/docs/how_to/long_context_reorder/", "How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/", "How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/", "How to stream responses from an LLM": "https://python.langchain.com/v0.2/docs/how_to/streaming_llm/", "How to cache LLM responses": "https://python.langchain.com/v0.2/docs/how_to/llm_caching/", "How to track token usage for LLMs": "https://python.langchain.com/v0.2/docs/how_to/llm_token_usage_tracking/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Milvus": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/milvus_self_query/", "PGVector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pgvector_self_query/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Vectara ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/databricks_vector_search/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dingo/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/opensearch_self_query/", "Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/elasticsearch_self_query/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/chroma_self_query/", "Timescale Vector (Postgres) ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/timescalevector_self_query/", "Astra DB (Cassandra)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/astradb/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pinecone/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/supabase_self_query/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/redis_self_query/", "Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/mongodb_atlas/", "Qdrant": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/qdrant_self_query/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/llms/openai/", "Google Jobs": "https://python.langchain.com/v0.2/docs/integrations/tools/google_jobs/", "Google Serper": "https://python.langchain.com/v0.2/docs/integrations/tools/google_serper/", "Human as a tool": "https://python.langchain.com/v0.2/docs/integrations/tools/human_tools/", "Google Finance": "https://python.langchain.com/v0.2/docs/integrations/tools/google_finance/", "AWS Lambda": "https://python.langchain.com/v0.2/docs/integrations/tools/awslambda/", "Google Drive": "https://python.langchain.com/v0.2/docs/integrations/tools/google_drive/", "OpenWeatherMap": "https://python.langchain.com/v0.2/docs/integrations/tools/openweathermap/", "Search Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/search_tools/", "Eleven Labs Text2Speech": "https://python.langchain.com/v0.2/docs/integrations/tools/eleven_labs_tts/", "Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "NVIDIA Riva: ASR and TTS": "https://python.langchain.com/v0.2/docs/integrations/tools/nvidia_riva/", "Lemon Agent": "https://python.langchain.com/v0.2/docs/integrations/tools/lemonai/", "GraphQL": "https://python.langchain.com/v0.2/docs/integrations/tools/graphql/", "SearchApi": "https://python.langchain.com/v0.2/docs/integrations/providers/searchapi/", "Gradio": "https://python.langchain.com/v0.2/docs/integrations/tools/gradio_tools/", "SceneXplain": "https://python.langchain.com/v0.2/docs/integrations/tools/sceneXplain/", "Dall-E Image Generator": "https://python.langchain.com/v0.2/docs/integrations/tools/dalle_image_generator/", "Ionic Shopping Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/ionic_shopping/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "Mot\u00f6rhead": "https://python.langchain.com/v0.2/docs/integrations/memory/motorhead_memory/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Fiddler": "https://python.langchain.com/v0.2/docs/integrations/callbacks/fiddler/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/", "Label Studio": "https://python.langchain.com/v0.2/docs/integrations/callbacks/labelstudio/", "Comet Tracing": "https://python.langchain.com/v0.2/docs/integrations/callbacks/comet_tracing/", "Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/callbacks/promptlayer/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/callbacks/streamlit/", "Trubrics": "https://python.langchain.com/v0.2/docs/integrations/callbacks/trubrics/", "Infino": "https://python.langchain.com/v0.2/docs/integrations/callbacks/infino/", "DSPy": "https://python.langchain.com/v0.2/docs/integrations/providers/dspy/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "Log10": "https://python.langchain.com/v0.2/docs/integrations/providers/log10/", "LangChain Decorators \u2728": "https://python.langchain.com/v0.2/docs/integrations/providers/langchain_decorators/", "Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/", "MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/", "Serper - Google Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/google_serper/", "Helicone": "https://python.langchain.com/v0.2/docs/integrations/providers/helicone/", "Shale Protocol": "https://python.langchain.com/v0.2/docs/integrations/providers/shaleprotocol/", "WhyLabs": "https://python.langchain.com/v0.2/docs/integrations/providers/whylabs_profiling/", "WandB Tracing": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracing/", "ClearML": "https://python.langchain.com/v0.2/docs/integrations/providers/clearml_tracking/", "Ray Serve": "https://python.langchain.com/v0.2/docs/integrations/providers/ray_serve/", "Chat Over Documents with Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/", "CSV": "https://python.langchain.com/v0.2/docs/integrations/toolkits/csv/", "Xorbits": "https://python.langchain.com/v0.2/docs/integrations/toolkits/xorbits/", "Jira": "https://python.langchain.com/v0.2/docs/integrations/toolkits/jira/", "Spark Dataframe": "https://python.langchain.com/v0.2/docs/integrations/toolkits/spark/", "Azure Cognitive Services": "https://python.langchain.com/v0.2/docs/integrations/toolkits/azure_cognitive_services/", "Natural Language APIs": "https://python.langchain.com/v0.2/docs/integrations/toolkits/openapi_nla/", "Steam Game Recommendation & Game Details": "https://python.langchain.com/v0.2/docs/integrations/toolkits/steam/", "JSON": "https://python.langchain.com/v0.2/docs/integrations/toolkits/json/", "ClickUp": "https://python.langchain.com/v0.2/docs/integrations/toolkits/clickup/", "Office365": "https://python.langchain.com/v0.2/docs/integrations/toolkits/office365/", "Pandas Dataframe": "https://python.langchain.com/v0.2/docs/integrations/toolkits/pandas/", "NASA": "https://python.langchain.com/v0.2/docs/integrations/toolkits/nasa/", "Azure AI Services": "https://python.langchain.com/v0.2/docs/integrations/toolkits/azure_ai_services/", "OpenAPI": "https://python.langchain.com/v0.2/docs/integrations/toolkits/openapi/", "Gitlab": "https://python.langchain.com/v0.2/docs/integrations/toolkits/gitlab/", "Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/", "Marqo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/marqo/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Amazon Document DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/documentdb/", "VoyageAI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/voyageai-reranker/", "Psychic": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/psychic/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/", "Amazon Textract ": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/amazon_textract/", "NetworkX": "https://python.langchain.com/v0.2/docs/integrations/graphs/networkx/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/", "Layerup Security": "https://python.langchain.com/v0.2/docs/integrations/llms/layerup_security/", "Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "SimpleJsonOutputParser": {"How to use output parsers to parse an LLM response into structured format": "https://python.langchain.com/v0.2/docs/how_to/output_parser_structured/"}, "AsyncCallbackHandler": {"How to use callbacks in async environments": "https://python.langchain.com/v0.2/docs/how_to/callbacks_async/", "Bedrock": "https://python.langchain.com/v0.2/docs/integrations/llms/bedrock/"}, "BaseCallbackHandler": {"How to use callbacks in async environments": "https://python.langchain.com/v0.2/docs/how_to/callbacks_async/", "How to propagate callbacks constructor": "https://python.langchain.com/v0.2/docs/how_to/callbacks_constructor/", "How to attach callbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/callbacks_attach/", "How to create custom callback handlers": "https://python.langchain.com/v0.2/docs/how_to/custom_callbacks/", "How to pass callbacks in at runtime": "https://python.langchain.com/v0.2/docs/how_to/callbacks_runtime/"}, "LLMResult": {"How to use callbacks in async environments": "https://python.langchain.com/v0.2/docs/how_to/callbacks_async/", "How to propagate callbacks constructor": "https://python.langchain.com/v0.2/docs/how_to/callbacks_constructor/", "How to attach callbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/callbacks_attach/", "How to pass callbacks in at runtime": "https://python.langchain.com/v0.2/docs/how_to/callbacks_runtime/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/"}, "RunnableParallel": {"How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/", "How to chain runnables": "https://python.langchain.com/v0.2/docs/how_to/sequence/", "Exa Search": "https://python.langchain.com/v0.2/docs/integrations/tools/exa_search/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/"}, "RunnablePassthrough": {"How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to do per-user retrieval": "https://python.langchain.com/v0.2/docs/how_to/qa_per_user/", "How to inspect runnables": "https://python.langchain.com/v0.2/docs/how_to/inspect/", "How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to add a human-in-the-loop for tools": "https://python.langchain.com/v0.2/docs/how_to/tools_human/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/", "How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to use a model to call tools": "https://python.langchain.com/v0.2/docs/how_to/tool_calling", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to add default invocation args to a Runnable": "https://python.langchain.com/v0.2/docs/how_to/binding/", "How to create a dynamic (self-constructing) chain": "https://python.langchain.com/v0.2/docs/how_to/dynamic_chain/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "How deal with high cardinality categoricals when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_high_cardinality/", "How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/", "Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "NVIDIA NIMs ": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/nvidia_ai_endpoints/", "You.com": "https://python.langchain.com/v0.2/docs/integrations/retrievers/you-retriever/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "AskNews": "https://python.langchain.com/v0.2/docs/integrations/retrievers/asknews/", "Tavily Search API": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tavily/", "Milvus Hybrid Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/milvus_hybrid_search/", "Exa Search": "https://python.langchain.com/v0.2/docs/integrations/tools/exa_search/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "DSPy": "https://python.langchain.com/v0.2/docs/integrations/providers/dspy/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_summary/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "Astra DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/astradb/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "# Oracle Cloud Infrastructure Generative AI": "https://python.langchain.com/v0.2/docs/integrations/llms/oci_generative_ai/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/", "Vector stores and retrievers": "https://python.langchain.com/v0.2/docs/tutorials/retrievers/"}, "StrOutputParser": {"How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to do per-user retrieval": "https://python.langchain.com/v0.2/docs/how_to/qa_per_user/", "How to inspect runnables": "https://python.langchain.com/v0.2/docs/how_to/inspect/", "How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/", "How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/", "How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to add default invocation args to a Runnable": "https://python.langchain.com/v0.2/docs/how_to/binding/", "How to create a dynamic (self-constructing) chain": "https://python.langchain.com/v0.2/docs/how_to/dynamic_chain/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "How to chain runnables": "https://python.langchain.com/v0.2/docs/how_to/sequence/", "Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/", "How to do query validation as part of SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_query_checking/", "Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/", "NVIDIA NIMs ": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/nvidia_ai_endpoints/", "You.com": "https://python.langchain.com/v0.2/docs/integrations/retrievers/you-retriever/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "AskNews": "https://python.langchain.com/v0.2/docs/integrations/retrievers/asknews/", "Tavily Search API": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tavily/", "Milvus Hybrid Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/milvus_hybrid_search/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "ChatOllama": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama/", "Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/", "NVIDIA NIMs": "https://python.langchain.com/v0.2/docs/integrations/chat/nvidia_ai_endpoints/", "Fiddler": "https://python.langchain.com/v0.2/docs/integrations/callbacks/fiddler/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "DSPy": "https://python.langchain.com/v0.2/docs/integrations/providers/dspy/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_summary/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "Astra DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/astradb/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "Volc Engine Maas": "https://python.langchain.com/v0.2/docs/integrations/llms/volcengine_maas/", "# Oracle Cloud Infrastructure Generative AI": "https://python.langchain.com/v0.2/docs/integrations/llms/oci_generative_ai/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/", "AI21LLM": "https://python.langchain.com/v0.2/docs/integrations/llms/ai21/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/", "Build a Simple LLM Application": "https://python.langchain.com/v0.2/docs/tutorials/llm_chain/"}, "RunnableBranch": {"How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/"}, "cosine_similarity": {"How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/"}, "tool": {"How to use tools in a chain": "https://python.langchain.com/v0.2/docs/how_to/tools_chain/", "How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to add a human-in-the-loop for tools": "https://python.langchain.com/v0.2/docs/how_to/tools_human/", "How to create custom tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/", "How to pass multimodal data directly to models": "https://python.langchain.com/v0.2/docs/how_to/multimodal_inputs/", "How to use a model to call tools": "https://python.langchain.com/v0.2/docs/how_to/tool_calling", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "Exa Search": "https://python.langchain.com/v0.2/docs/integrations/tools/exa_search/", "ChatTongyi": "https://python.langchain.com/v0.2/docs/integrations/chat/tongyi/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Log, Trace, and Monitor": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/logging_tracing_portkey/", "Portkey": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/index/", "JSONFormer": "https://python.langchain.com/v0.2/docs/integrations/llms/jsonformer_experimental/"}, "ConfigurableField": {"How to do per-user retrieval": "https://python.langchain.com/v0.2/docs/how_to/qa_per_user/", "How to configure runtime chain internals": "https://python.langchain.com/v0.2/docs/how_to/configure/", "LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/", "How to combine results from multiple retrievers": "https://python.langchain.com/v0.2/docs/how_to/ensemble_retriever/", "Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/"}, "NGramOverlapExampleSelector": {"How to select examples by n-gram overlap": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_ngram/"}, "get_openai_callback": {"How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "How to track token usage for LLMs": "https://python.langchain.com/v0.2/docs/how_to/llm_token_usage_tracking/", "AzureChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/azure_chat_openai/"}, "load_tools": {"How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "ChatGPT Plugins": "https://python.langchain.com/v0.2/docs/integrations/tools/chatgpt_plugins/", "Google Jobs": "https://python.langchain.com/v0.2/docs/integrations/tools/google_jobs/", "Human as a tool": "https://python.langchain.com/v0.2/docs/integrations/tools/human_tools/", "Google Finance": "https://python.langchain.com/v0.2/docs/integrations/tools/google_finance/", "AWS Lambda": "https://python.langchain.com/v0.2/docs/integrations/tools/awslambda/", "Google Drive": "https://python.langchain.com/v0.2/docs/integrations/tools/google_drive/", "Requests": "https://python.langchain.com/v0.2/docs/integrations/tools/requests/", "OpenWeatherMap": "https://python.langchain.com/v0.2/docs/integrations/providers/openweathermap/", "Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "Search Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/search_tools/", "Eleven Labs Text2Speech": "https://python.langchain.com/v0.2/docs/integrations/tools/eleven_labs_tts/", "ArXiv": "https://python.langchain.com/v0.2/docs/integrations/tools/arxiv/", "GraphQL": "https://python.langchain.com/v0.2/docs/integrations/tools/graphql/", "SceneXplain": "https://python.langchain.com/v0.2/docs/integrations/tools/sceneXplain/", "Dall-E Image Generator": "https://python.langchain.com/v0.2/docs/integrations/tools/dalle_image_generator/", "Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/", "MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/", "Comet Tracing": "https://python.langchain.com/v0.2/docs/integrations/callbacks/comet_tracing/", "Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/callbacks/streamlit/", "SerpAPI": "https://python.langchain.com/v0.2/docs/integrations/providers/serpapi/", "SearchApi": "https://python.langchain.com/v0.2/docs/integrations/providers/searchapi/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Golden": "https://python.langchain.com/v0.2/docs/integrations/providers/golden/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "Wolfram Alpha": "https://python.langchain.com/v0.2/docs/integrations/providers/wolfram_alpha/", "MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/", "DataForSEO": "https://python.langchain.com/v0.2/docs/integrations/providers/dataforseo/", "SearxNG Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/searx/", "Serper - Google Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/google_serper/", "Stack Exchange": "https://python.langchain.com/v0.2/docs/integrations/providers/stackexchange/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "WandB Tracing": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracing/", "ClearML": "https://python.langchain.com/v0.2/docs/integrations/providers/clearml_tracking/", "Dataherald": "https://python.langchain.com/v0.2/docs/integrations/providers/dataherald/", "Amazon API Gateway": "https://python.langchain.com/v0.2/docs/integrations/llms/amazon_api_gateway/"}, "get_bedrock_anthropic_callback": {"How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/"}, "CallbackManagerForLLMRun": {"How to create a custom LLM class": "https://python.langchain.com/v0.2/docs/how_to/custom_llm/", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "LLM": {"How to create a custom LLM class": "https://python.langchain.com/v0.2/docs/how_to/custom_llm/"}, "GenerationChunk": {"How to create a custom LLM class": "https://python.langchain.com/v0.2/docs/how_to/custom_llm/"}, "BaseLoader": {"How to create a custom Document Loader": "https://python.langchain.com/v0.2/docs/how_to/document_loader_custom/", "How to use the LangChain indexing API": "https://python.langchain.com/v0.2/docs/how_to/indexing/"}, "BaseBlobParser": {"How to create a custom Document Loader": "https://python.langchain.com/v0.2/docs/how_to/document_loader_custom/"}, "Blob": {"How to create a custom Document Loader": "https://python.langchain.com/v0.2/docs/how_to/document_loader_custom/", "Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Cloud Document AI": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_docai/"}, "FileSystemBlobLoader": {"How to create a custom Document Loader": "https://python.langchain.com/v0.2/docs/how_to/document_loader_custom/"}, "GenericLoader": {"How to create a custom Document Loader": "https://python.langchain.com/v0.2/docs/how_to/document_loader_custom/", "Grobid": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/grobid/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/", "Source Code": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/source_code/"}, "LengthBasedExampleSelector": {"How to select examples by length": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_length_based/"}, "BaseExampleSelector": {"How to use example selectors": "https://python.langchain.com/v0.2/docs/how_to/example_selectors/"}, "Language": {"How to split code": "https://python.langchain.com/v0.2/docs/how_to/code_splitter/", "Source Code": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/source_code/"}, "Chroma": {"How to use few shot examples": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples/", "How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to use few shot examples in chat models": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples_chat/", "How to select examples by similarity": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_similarity/", "How to reorder retrieved results to mitigate the \"lost in the middle\" effect": "https://python.langchain.com/v0.2/docs/how_to/long_context_reorder/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to create and query vector stores": "https://python.langchain.com/v0.2/docs/how_to/vectorstores/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "How to use the Parent Document Retriever": "https://python.langchain.com/v0.2/docs/how_to/parent_document_retriever/", "How deal with high cardinality categoricals when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_high_cardinality/", "How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/chroma/", "Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "Psychic": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/psychic/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/", "Vector stores and retrievers": "https://python.langchain.com/v0.2/docs/tutorials/retrievers/"}, "PydanticToolsParser": {"How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to use a model to call tools": "https://python.langchain.com/v0.2/docs/how_to/tool_calling", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/"}, "chain": {"How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to create a dynamic (self-constructing) chain": "https://python.langchain.com/v0.2/docs/how_to/dynamic_chain/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/"}, "RecursiveJsonSplitter": {"How to split JSON data": "https://python.langchain.com/v0.2/docs/how_to/recursive_json_splitter/"}, "FewShotChatMessagePromptTemplate": {"How to use few shot examples in chat models": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples_chat/", "Fiddler": "https://python.langchain.com/v0.2/docs/integrations/callbacks/fiddler/"}, "ToolMessage": {"How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "How to use a model to call tools": "https://python.langchain.com/v0.2/docs/how_to/tool_calling", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to return structured data from a model": "https://python.langchain.com/v0.2/docs/how_to/structured_output/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "ChatAnthropic": "https://python.langchain.com/v0.2/docs/integrations/chat/anthropic/"}, "XMLOutputParser": {"How to parse XML output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_xml/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/"}, "Runnable": {"How to add a human-in-the-loop for tools": "https://python.langchain.com/v0.2/docs/how_to/tools_human/", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to create a dynamic (self-constructing) chain": "https://python.langchain.com/v0.2/docs/how_to/dynamic_chain/"}, "StructuredTool": {"How to create custom tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/", "Infobip": "https://python.langchain.com/v0.2/docs/integrations/tools/infobip/"}, "ToolException": {"How to create custom tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/"}, "HuggingFaceEmbeddings": {"Text embedding models": "https://python.langchain.com/v0.2/docs/how_to/embed_text/", "How to reorder retrieved results to mitigate the \"lost in the middle\" effect": "https://python.langchain.com/v0.2/docs/how_to/long_context_reorder/", "Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/platforms/huggingface/", "Sentence Transformers on Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/sentence_transformers/", "LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/", "Snowflake": "https://python.langchain.com/v0.2/docs/integrations/providers/snowflake/", "VDMS": "https://python.langchain.com/v0.2/docs/integrations/providers/vdms/", "Vald": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vald/", "ScaNN": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/scann/", "Annoy": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/annoy/", "Oracle AI Vector Search: Vector Store": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/oracle/", "TileDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tiledb/", "SurrealDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/surrealdb/", "Faiss (Async)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss_async/", "Aerospike": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aerospike/", "Intel's Visual Data Management System (VDMS)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vdms/", "Faiss": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss/", "Infinispan": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/infinispanvs/", "SemaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/semadb/", "Vearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vearch/", "Cross Encoder Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/cross_encoder_reranker/", "self-query-qdrant": "https://python.langchain.com/v0.2/docs/templates/self-query-qdrant/"}, "LongContextReorder": {"How to reorder retrieved results to mitigate the \"lost in the middle\" effect": "https://python.langchain.com/v0.2/docs/how_to/long_context_reorder/", "LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/"}, "create_stuff_documents_chain": {"How to reorder retrieved results to mitigate the \"lost in the middle\" effect": "https://python.langchain.com/v0.2/docs/how_to/long_context_reorder/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/retrievers/ragatouille/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "BaseMessage": {"How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to propagate callbacks constructor": "https://python.langchain.com/v0.2/docs/how_to/callbacks_constructor/", "How to attach callbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/callbacks_attach/", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to pass callbacks in at runtime": "https://python.langchain.com/v0.2/docs/how_to/callbacks_runtime/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "WeChat": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/wechat/", "Discord": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/discord/", "Chat Bot Feedback Template": "https://python.langchain.com/v0.2/docs/templates/chat-bot-feedback/"}, "DatetimeOutputParser": {"How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/"}, "CypherQueryCorrector": {"How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/"}, "Schema": {"How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/"}, "set_llm_cache": {"How to cache chat model responses": "https://python.langchain.com/v0.2/docs/how_to/chat_model_caching/", "How to cache LLM responses": "https://python.langchain.com/v0.2/docs/how_to/llm_caching/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "DSPy": "https://python.langchain.com/v0.2/docs/integrations/providers/dspy/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/providers/mongodb_atlas/", "Astra DB": "https://python.langchain.com/v0.2/docs/integrations/providers/astradb/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/providers/redis/", "Cassandra": "https://python.langchain.com/v0.2/docs/integrations/providers/cassandra/", "Momento": "https://python.langchain.com/v0.2/docs/integrations/providers/momento/"}, "InMemoryCache": {"How to cache chat model responses": "https://python.langchain.com/v0.2/docs/how_to/chat_model_caching/", "How to cache LLM responses": "https://python.langchain.com/v0.2/docs/how_to/llm_caching/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/"}, "SQLiteCache": {"How to cache chat model responses": "https://python.langchain.com/v0.2/docs/how_to/chat_model_caching/", "How to cache LLM responses": "https://python.langchain.com/v0.2/docs/how_to/llm_caching/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "DSPy": "https://python.langchain.com/v0.2/docs/integrations/providers/dspy/"}, "create_sql_agent": {"How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "CnosDB": "https://python.langchain.com/v0.2/docs/integrations/providers/cnosdb/", "SQL Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/sql_database/"}, "PythonAstREPLTool": {"How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/"}, "JsonOutputKeyToolsParser": {"How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/"}, "create_pandas_dataframe_agent": {"How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "Airbyte Question Answering": "https://python.langchain.com/v0.2/docs/integrations/toolkits/airbyte_structured_qa/", "Pandas Dataframe": "https://python.langchain.com/v0.2/docs/integrations/toolkits/pandas/"}, "create_retrieval_chain": {"How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/retrievers/ragatouille/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "create_history_aware_retriever": {"How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "OutputFixingParser": {"How to use the output-fixing parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_fixing/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/"}, "FunctionMessage": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "AIMessageChunk": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/"}, "FunctionMessageChunk": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "HumanMessageChunk": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "SystemMessageChunk": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "ToolMessageChunk": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "AsyncCallbackManagerForLLMRun": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "SimpleChatModel": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "ChatGeneration": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/"}, "ChatGenerationChunk": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "ChatResult": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "run_in_executor": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "MoveFileTool": {"How to convert tools to OpenAI Functions": "https://python.langchain.com/v0.2/docs/how_to/tools_as_openai_functions/"}, "RunnableConfig": {"How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/"}, "ToolCall": {"How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/"}, "SQLRecordManager": {"How to use the LangChain indexing API": "https://python.langchain.com/v0.2/docs/how_to/indexing/"}, "index": {"How to use the LangChain indexing API": "https://python.langchain.com/v0.2/docs/how_to/indexing/"}, "create_openai_tools_agent": {"How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "Log, Trace, and Monitor": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/logging_tracing_portkey/", "Portkey": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/index/", "SQL Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/sql_database/", "Slack": "https://python.langchain.com/v0.2/docs/integrations/toolkits/slack/", "Cassandra Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/cassandra_database/"}, "SemanticChunker": {"How to split text based on semantic similarity": "https://python.langchain.com/v0.2/docs/how_to/semantic-chunker/"}, "JsonOutputParser": {"How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "How to parse JSON output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_json/"}, "InMemoryByteStore": {"How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/", "InMemoryByteStore": "https://python.langchain.com/v0.2/docs/integrations/stores/in_memory/"}, "TextLoader": {"How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "How to load documents from a directory": "https://python.langchain.com/v0.2/docs/how_to/document_loader_directory/", "How to create and query vector stores": "https://python.langchain.com/v0.2/docs/how_to/vectorstores/", "How to use the Parent Document Retriever": "https://python.langchain.com/v0.2/docs/how_to/parent_document_retriever/", "How to use a vectorstore as a retriever": "https://python.langchain.com/v0.2/docs/how_to/vectorstore_retriever/", "Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/", "Azure AI Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azuresearch/", "Kinetica Vectorstore based Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kinetica/", "JaguarDB Vector Database": "https://python.langchain.com/v0.2/docs/integrations/retrievers/jaguar/", "LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/", "SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/singlestoredb/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "Vectara ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "Upstash Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/upstash/", "VDMS": "https://python.langchain.com/v0.2/docs/integrations/providers/vdms/", "Chat Over Documents with Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/", "LanceDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lancedb/", "Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/", "SQLite-VSS": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sqlitevss/", "Vald": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vald/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "DashVector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dashvector/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/databricks_vector_search/", "ScaNN": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/scann/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/xata/", "Hippo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hippo/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vectara/", "Vespa": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vespa/", "Rockset": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/rockset/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dingo/", "Zilliz": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zilliz/", "Azure Cosmos DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db/", "viking DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vikingdb/", "Annoy": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/annoy/", "Couchbase ": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/couchbase/", "Typesense": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/typesense/", "Momento Vector Index (MVI)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/momento_vector_index/", "TiDB Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tidb_vector/", "Relyt": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/relyt/", "Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/atlas/", "Activeloop Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/activeloop_deeplake/", "vlite": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vlite/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/", "Lantern": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lantern/", "Tair": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tair/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/chroma/", "DuckDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/duckdb/", "Alibaba Cloud OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/alibabacloud_opensearch/", "Clarifai": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/clarifai/", "scikit-learn": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sklearn/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "DocArray HnswSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_hnsw/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/myscale/", "TileDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tiledb/", "ClickHouse": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/clickhouse/", "Google Memorystore for Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_memorystore_redis/", "Qdrant": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/qdrant/", "Tigris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tigris/", "China Mobile ECloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/ecloud_vector_search/", "Bagel": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/bagel/", "Baidu Cloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiducloud_vector_search/", "AwaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/awadb/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/supabase/", "SurrealDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/surrealdb/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/opensearch/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pinecone/", "Faiss (Async)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss_async/", "BagelDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/bageldb/", "ManticoreSearch VectorStore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/manticore_search/", "USearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/usearch/", "Milvus": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/milvus/", "Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/elasticsearch/", "PGVecto.rs": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgvecto_rs/", "Marqo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/marqo/", "DocArray InMemorySearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_in_memory/", "Postgres Embedding": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgembedding/", "Intel's Visual Data Management System (VDMS)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vdms/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Faiss": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss/", "Epsilla": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/epsilla/", "Amazon Document DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/documentdb/", "SemaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/semadb/", "AnalyticDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/analyticdb/", "Hologres": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hologres/", "Baidu VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiduvectordb/", "Vearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vearch/", "Meilisearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/meilisearch/", "VoyageAI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/voyageai-reranker/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "OpenVINO Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openvino_rerank/", "Cross Encoder Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/cross_encoder_reranker/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/"}, "MultiVectorRetriever": {"How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/"}, "SearchType": {"How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "Zep Open Source": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_memorystore/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/"}, "SQLChatMessageHistory": {"How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/", "SQL (SQLAlchemy)": "https://python.langchain.com/v0.2/docs/integrations/memory/sql_chat_message_history/", "SQLite": "https://python.langchain.com/v0.2/docs/integrations/providers/sqlite/"}, "ConfigurableFieldSpec": {"How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/"}, "Ollama": {"Run LLMs locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "Ollama": "https://python.langchain.com/v0.2/docs/integrations/llms/ollama/"}, "CallbackManager": {"Run LLMs locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "ChatLiteLLM": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm/", "GPTRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/gpt_router/", "ChatLiteLLMRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm_router/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/llms/llamacpp/", "Titan Takeoff": "https://python.langchain.com/v0.2/docs/integrations/llms/titan_takeoff/"}, "StreamingStdOutCallbackHandler": {"Run LLMs locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/chat/deepinfra/", "ChatLiteLLM": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm/", "ChatEverlyAI": "https://python.langchain.com/v0.2/docs/integrations/chat/everlyai/", "GPTRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/gpt_router/", "ChatLiteLLMRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm_router/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/chat/yuan2/", "GPT4All": "https://python.langchain.com/v0.2/docs/integrations/llms/gpt4all/", "Arthur": "https://python.langchain.com/v0.2/docs/integrations/providers/arthur_tracking/", "Chat Over Documents with Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/", "TextGen": "https://python.langchain.com/v0.2/docs/integrations/llms/textgen/", "Bedrock": "https://python.langchain.com/v0.2/docs/integrations/llms/bedrock/", "Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/llms/llamacpp/", "Titan Takeoff": "https://python.langchain.com/v0.2/docs/integrations/llms/titan_takeoff/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/llms/edenai/", "C Transformers": "https://python.langchain.com/v0.2/docs/integrations/llms/ctransformers/", "ExLlamaV2": "https://python.langchain.com/v0.2/docs/integrations/llms/exllamav2/", "Huggingface Endpoints": "https://python.langchain.com/v0.2/docs/integrations/llms/huggingface_endpoint/", "Replicate": "https://python.langchain.com/v0.2/docs/integrations/llms/replicate/"}, "LlamaCpp": {"Run LLMs locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/llms/llamacpp/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/"}, "GPT4All": {"Run LLMs locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/callbacks/promptlayer/", "GPT4All": "https://python.langchain.com/v0.2/docs/integrations/llms/gpt4all/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/"}, "Llamafile": {"Run LLMs locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "Llamafile": "https://python.langchain.com/v0.2/docs/integrations/llms/llamafile/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/"}, "LLMChain": {"Run LLMs locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "Clarifai": "https://python.langchain.com/v0.2/docs/integrations/llms/clarifai/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/", "Dall-E Image Generator": "https://python.langchain.com/v0.2/docs/integrations/tools/dalle_image_generator/", "Mot\u00f6rhead": "https://python.langchain.com/v0.2/docs/integrations/memory/motorhead_memory/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/", "Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "MLflow Deployments for LLMs": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow/", "MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/", "Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/", "Prediction Guard": "https://python.langchain.com/v0.2/docs/integrations/llms/predictionguard/", "MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/", "Shale Protocol": "https://python.langchain.com/v0.2/docs/integrations/providers/shaleprotocol/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "Ray Serve": "https://python.langchain.com/v0.2/docs/integrations/providers/ray_serve/", "Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Chat Over Documents with Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "Baseten": "https://python.langchain.com/v0.2/docs/integrations/llms/baseten/", "StochasticAI": "https://python.langchain.com/v0.2/docs/integrations/llms/stochasticai/", "Solar": "https://python.langchain.com/v0.2/docs/integrations/llms/solar/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/", "IPEX-LLM": "https://python.langchain.com/v0.2/docs/integrations/llms/ipex_llm/", "Banana": "https://python.langchain.com/v0.2/docs/integrations/llms/banana/", "Alibaba Cloud PAI EAS": "https://python.langchain.com/v0.2/docs/integrations/llms/alibabacloud_pai_eas_endpoint/", "OpenLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/openllm/", "OctoAI": "https://python.langchain.com/v0.2/docs/integrations/llms/octoai/", "Writer": "https://python.langchain.com/v0.2/docs/integrations/llms/writer/", "Modal": "https://python.langchain.com/v0.2/docs/integrations/llms/modal/", "TextGen": "https://python.langchain.com/v0.2/docs/integrations/llms/textgen/", "Xorbits Inference (Xinference)": "https://python.langchain.com/v0.2/docs/integrations/llms/xinference/", "Nebula (Symbl.ai)": "https://python.langchain.com/v0.2/docs/integrations/llms/symblai_nebula/", "DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/llms/deepinfra/", "NLP Cloud": "https://python.langchain.com/v0.2/docs/integrations/llms/nlpcloud/", "GPT4All": "https://python.langchain.com/v0.2/docs/integrations/llms/gpt4all/", "ForefrontAI": "https://python.langchain.com/v0.2/docs/integrations/llms/forefrontai/", "MosaicML": "https://python.langchain.com/v0.2/docs/integrations/llms/mosaicml/", "CerebriumAI": "https://python.langchain.com/v0.2/docs/integrations/llms/cerebriumai/", "Predibase": "https://python.langchain.com/v0.2/docs/integrations/llms/predibase/", "GigaChat": "https://python.langchain.com/v0.2/docs/integrations/llms/gigachat/", "# Oracle Cloud Infrastructure Generative AI": "https://python.langchain.com/v0.2/docs/integrations/llms/oci_generative_ai/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/", "Aphrodite Engine": "https://python.langchain.com/v0.2/docs/integrations/llms/aphrodite/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/llms/edenai/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/", "C Transformers": "https://python.langchain.com/v0.2/docs/integrations/llms/ctransformers/", "vLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/vllm/", "Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/", "Minimax": "https://python.langchain.com/v0.2/docs/integrations/llms/minimax/", "Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/llms/yuan2/", "Huggingface Endpoints": "https://python.langchain.com/v0.2/docs/integrations/llms/huggingface_endpoint/", "Runhouse": "https://python.langchain.com/v0.2/docs/integrations/llms/runhouse/", "Anyscale": "https://python.langchain.com/v0.2/docs/integrations/llms/anyscale/", "YandexGPT": "https://python.langchain.com/v0.2/docs/integrations/llms/yandex/", "GooseAI": "https://python.langchain.com/v0.2/docs/integrations/llms/gooseai/", "OpenLM": "https://python.langchain.com/v0.2/docs/integrations/llms/openlm/", "Cloudflare Workers AI": "https://python.langchain.com/v0.2/docs/integrations/llms/cloudflare_workersai/", "CTranslate2": "https://python.langchain.com/v0.2/docs/integrations/llms/ctranslate2/", "PipelineAI": "https://python.langchain.com/v0.2/docs/integrations/llms/pipelineai/", "ChatGLM": "https://python.langchain.com/v0.2/docs/integrations/llms/chatglm/", "Gradient": "https://python.langchain.com/v0.2/docs/integrations/llms/gradient/", "Petals": "https://python.langchain.com/v0.2/docs/integrations/llms/petals/", "Replicate": "https://python.langchain.com/v0.2/docs/integrations/llms/replicate/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/"}, "ConditionalPromptSelector": {"Run LLMs locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/"}, "HubRunnable": {"How to configure runtime chain internals": "https://python.langchain.com/v0.2/docs/how_to/configure/"}, "ContextualCompressionRetriever": {"How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/providers/ragatouille/", "VoyageAI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/voyageai-reranker/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "OpenVINO Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openvino_rerank/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "Cross Encoder Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/cross_encoder_reranker/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/"}, "LLMChainExtractor": {"How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/"}, "LLMChainFilter": {"How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/"}, "EmbeddingsFilter": {"How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/"}, "DocumentCompressorPipeline": {"How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/"}, "EmbeddingsRedundantFilter": {"How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/"}, "Comparator": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/"}, "Comparison": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/"}, "Operation": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/"}, "Operator": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/"}, "StructuredQuery": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/"}, "ChromaTranslator": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/", "How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/"}, "ElasticsearchTranslator": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/"}, "WikipediaQueryRun": {"How to use built-in tools and toolkits": "https://python.langchain.com/v0.2/docs/how_to/tools_builtin/", "Wikipedia": "https://python.langchain.com/v0.2/docs/integrations/tools/wikipedia/"}, "WikipediaAPIWrapper": {"How to use built-in tools and toolkits": "https://python.langchain.com/v0.2/docs/how_to/tools_builtin/", "Wikipedia": "https://python.langchain.com/v0.2/docs/integrations/tools/wikipedia/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/"}, "CallbackManagerForRetrieverRun": {"How to create a custom Retriever": "https://python.langchain.com/v0.2/docs/how_to/custom_retriever/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/"}, "BaseRetriever": {"How to create a custom Retriever": "https://python.langchain.com/v0.2/docs/how_to/custom_retriever/"}, "LLMGraphTransformer": {"How to construct knowledge graphs": "https://python.langchain.com/v0.2/docs/how_to/graph_constructing/"}, "RetryOutputParser": {"How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/"}, "TimeWeightedVectorStoreRetriever": {"How to use a time-weighted vector store retriever": "https://python.langchain.com/v0.2/docs/how_to/time_weighted_vectorstore/"}, "InMemoryDocstore": {"How to use a time-weighted vector store retriever": "https://python.langchain.com/v0.2/docs/how_to/time_weighted_vectorstore/", "Annoy": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/annoy/"}, "mock_now": {"How to use a time-weighted vector store retriever": "https://python.langchain.com/v0.2/docs/how_to/time_weighted_vectorstore/"}, "RunnableGenerator": {"How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/"}, "OutputParserException": {"How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/"}, "BaseOutputParser": {"How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/"}, "BaseGenerationOutputParser": {"How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/"}, "Generation": {"How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/"}, "DirectoryLoader": {"How to load documents from a directory": "https://python.langchain.com/v0.2/docs/how_to/document_loader_directory/", "Azure AI Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/", "StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/"}, "PythonLoader": {"How to load documents from a directory": "https://python.langchain.com/v0.2/docs/how_to/document_loader_directory/"}, "LanceDB": {"How to create and query vector stores": "https://python.langchain.com/v0.2/docs/how_to/vectorstores/", "LanceDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lancedb/"}, "SpacyTextSplitter": {"How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/", "spaCy": "https://python.langchain.com/v0.2/docs/integrations/providers/spacy/", "Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/atlas/"}, "SentenceTransformersTokenTextSplitter": {"How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/"}, "NLTKTextSplitter": {"How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/"}, "KonlpyTextSplitter": {"How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/"}, "WikipediaRetriever": {"How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "Wikipedia": "https://python.langchain.com/v0.2/docs/integrations/providers/wikipedia/"}, "UnstructuredHTMLLoader": {"How to load HTML": "https://python.langchain.com/v0.2/docs/how_to/document_loader_html/", "Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/"}, "MultiQueryRetriever": {"How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_summary/"}, "GraphCypherQAChain": {"How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "Neo4j": "https://python.langchain.com/v0.2/docs/integrations/graphs/neo4j_cypher/", "Memgraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/memgraph/", "Diffbot": "https://python.langchain.com/v0.2/docs/integrations/graphs/diffbot/", "Apache AGE": "https://python.langchain.com/v0.2/docs/integrations/graphs/apache_age/", "Build a Question Answering application over a Graph Database": "https://python.langchain.com/v0.2/docs/tutorials/graph/"}, "Neo4jVector": {"How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "Neo4j": "https://python.langchain.com/v0.2/docs/integrations/providers/neo4j/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/"}, "ParentDocumentRetriever": {"How to use the Parent Document Retriever": "https://python.langchain.com/v0.2/docs/how_to/parent_document_retriever/"}, "InMemoryStore": {"How to use the Parent Document Retriever": "https://python.langchain.com/v0.2/docs/how_to/parent_document_retriever/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/"}, "YamlOutputParser": {"How to parse YAML output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_yaml/"}, "PipelinePromptTemplate": {"How to compose prompts together": "https://python.langchain.com/v0.2/docs/how_to/prompts_composition/"}, "CacheBackedEmbeddings": {"Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/", "Astra DB": "https://python.langchain.com/v0.2/docs/integrations/stores/astradb/", "Cassandra": "https://python.langchain.com/v0.2/docs/integrations/stores/cassandra/"}, "LocalFileStore": {"Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/", "LocalFileStore": "https://python.langchain.com/v0.2/docs/integrations/stores/file_system/"}, "render_text_description": {"How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/", "MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/"}, "RunnableSerializable": {"LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/"}, "Run": {"LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/"}, "MarkdownHeaderTextSplitter": {"How to split Markdown by Headers": "https://python.langchain.com/v0.2/docs/how_to/markdown_header_metadata_splitter/"}, "HTMLHeaderTextSplitter": {"How to split by HTML header ": "https://python.langchain.com/v0.2/docs/how_to/HTML_header_metadata_splitter/"}, "EnsembleRetriever": {"How to combine results from multiple retrievers": "https://python.langchain.com/v0.2/docs/how_to/ensemble_retriever/"}, "BM25Retriever": {"How to combine results from multiple retrievers": "https://python.langchain.com/v0.2/docs/how_to/ensemble_retriever/", "BM25": "https://python.langchain.com/v0.2/docs/integrations/retrievers/bm25/", "Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/"}, "ChatVertexAI": {"Response metadata": "https://python.langchain.com/v0.2/docs/how_to/response_metadata/", "Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google SQL for MySQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mysql/", "Google AlloyDB for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_alloydb/", "Google El Carro Oracle": "https://python.langchain.com/v0.2/docs/integrations/memory/google_el_carro/", "Google SQL for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_pg/", "Google SQL for SQL Server": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mssql/", "ChatVertexAI": "https://python.langchain.com/v0.2/docs/integrations/chat/google_vertex_ai_palm/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/"}, "ChatMistralAI": {"Response metadata": "https://python.langchain.com/v0.2/docs/how_to/response_metadata/", "MistralAI": "https://python.langchain.com/v0.2/docs/integrations/providers/mistralai/", "Build an Extraction Chain": "https://python.langchain.com/v0.2/docs/tutorials/extraction/"}, "ChatGroq": {"Response metadata": "https://python.langchain.com/v0.2/docs/how_to/response_metadata/", "Groq": "https://python.langchain.com/v0.2/docs/integrations/chat/groq/"}, "ChatFireworks": {"Response metadata": "https://python.langchain.com/v0.2/docs/how_to/response_metadata/", "ChatFireworks": "https://python.langchain.com/v0.2/docs/integrations/chat/fireworks/"}, "set_verbose": {"How to debug your LLM apps": "https://python.langchain.com/v0.2/docs/how_to/debugging/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/"}, "set_debug": {"How to debug your LLM apps": "https://python.langchain.com/v0.2/docs/how_to/debugging/", "Document Comparison": "https://python.langchain.com/v0.2/docs/integrations/toolkits/document_comparison_toolkit/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/", "TextGen": "https://python.langchain.com/v0.2/docs/integrations/llms/textgen/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/"}, "MaxMarginalRelevanceExampleSelector": {"How to select examples by maximal marginal relevance (MMR)": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_mmr/"}, "AttributeInfo": {"How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "Milvus": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/milvus_self_query/", "PGVector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pgvector_self_query/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/weaviate_self_query/", "Vectara ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "DashVector": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dashvector/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/databricks_vector_search/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dingo/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/opensearch_self_query/", "Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/elasticsearch_self_query/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/chroma_self_query/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/tencentvectordb/", "Timescale Vector (Postgres) ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/timescalevector_self_query/", "Astra DB (Cassandra)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/astradb/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pinecone/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/supabase_self_query/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/redis_self_query/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/myscale_self_query/", "Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/mongodb_atlas/", "Qdrant": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/qdrant_self_query/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/", "self-query-qdrant": "https://python.langchain.com/v0.2/docs/templates/self-query-qdrant/"}, "SelfQueryRetriever": {"How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "Milvus": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/milvus_self_query/", "PGVector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pgvector_self_query/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/weaviate_self_query/", "Vectara ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "DashVector": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dashvector/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/databricks_vector_search/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dingo/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/opensearch_self_query/", "Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/elasticsearch_self_query/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/providers/chroma/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/tencentvectordb/", "Timescale Vector (Postgres) ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/timescalevector_self_query/", "Astra DB (Cassandra)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/astradb/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pinecone/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/supabase_self_query/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/redis_self_query/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/myscale_self_query/", "Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/mongodb_atlas/", "Qdrant": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/qdrant_self_query/", "Astra DB": "https://python.langchain.com/v0.2/docs/integrations/providers/astradb/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/"}, "StructuredQueryOutputParser": {"How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/"}, "get_query_constructor_prompt": {"How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/"}, "Cassandra": {"Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/", "Cassandra": "https://python.langchain.com/v0.2/docs/integrations/providers/cassandra/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/"}, "HTMLSectionSplitter": {"How to split by HTML sections": "https://python.langchain.com/v0.2/docs/how_to/HTML_section_aware_splitter/"}, "JSONLoader": {"How to load JSON": "https://python.langchain.com/v0.2/docs/how_to/document_loader_json/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/"}, "UpstashRedisCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Upstash Vector": "https://python.langchain.com/v0.2/docs/integrations/providers/upstash/"}, "RedisCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/providers/redis/"}, "RedisSemanticCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/providers/redis/"}, "GPTCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/"}, "MomentoCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Momento": "https://python.langchain.com/v0.2/docs/integrations/providers/momento/"}, "SQLAlchemyCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/"}, "CassandraCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Cassandra": "https://python.langchain.com/v0.2/docs/integrations/providers/cassandra/"}, "CassandraSemanticCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Cassandra": "https://python.langchain.com/v0.2/docs/integrations/providers/cassandra/"}, "AzureCosmosDBSemanticCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/"}, "CosmosDBSimilarityType": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Azure Cosmos DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db/"}, "CosmosDBVectorSearchType": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Azure Cosmos DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db/"}, "load_summarize_chain": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Infino": "https://python.langchain.com/v0.2/docs/integrations/callbacks/infino/", "LarkSuite (FeiShu)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/larksuite/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/"}, "OpenSearchSemanticCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/"}, "map_ai_messages": {"WeChat": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/wechat/", "Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "GMail": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/gmail/", "Slack": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/slack/", "WhatsApp": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/whatsapp/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/", "Telegram": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/telegram/", "Discord": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/discord/"}, "merge_chat_runs": {"WeChat": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/wechat/", "Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "Slack": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/slack/", "WhatsApp": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/whatsapp/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/", "Telegram": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/telegram/", "Discord": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/discord/"}, "ChatSession": {"WeChat": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/wechat/", "Slack": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/slack/", "WhatsApp": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/whatsapp/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/", "Telegram": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/telegram/", "Discord": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/discord/"}, "FolderFacebookMessengerChatLoader": {"Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "Facebook - Meta": "https://python.langchain.com/v0.2/docs/integrations/providers/facebook/"}, "SingleFileFacebookMessengerChatLoader": {"Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "Facebook - Meta": "https://python.langchain.com/v0.2/docs/integrations/providers/facebook/"}, "convert_messages_for_finetuning": {"Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "LangSmith LLM Runs": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_llm_runs/", "LangSmith Chat Datasets": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_dataset/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/"}, "convert_message_to_dict": {"Twitter (via Apify)": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/twitter/"}, "convert_pydantic_to_openai_function": {"LangSmith LLM Runs": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_llm_runs/"}, "PydanticOutputFunctionsParser": {"LangSmith LLM Runs": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_llm_runs/"}, "LangSmithRunChatLoader": {"LangSmith LLM Runs": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_llm_runs/"}, "GMailLoader": {"GMail": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/gmail/"}, "SlackChatLoader": {"Slack": "https://python.langchain.com/v0.2/docs/integrations/providers/slack/"}, "WhatsAppChatLoader": {"WhatsApp": "https://python.langchain.com/v0.2/docs/integrations/providers/whatsapp/", "Facebook - Meta": "https://python.langchain.com/v0.2/docs/integrations/providers/facebook/", "WhatsApp Chat": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/whatsapp_chat/"}, "LangSmithDatasetChatLoader": {"LangSmith Chat Datasets": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_dataset/"}, "IMessageChatLoader": {"iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/"}, "TelegramChatLoader": {"Telegram": "https://python.langchain.com/v0.2/docs/integrations/providers/telegram/"}, "BookendEmbeddings": {"Bookend AI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/bookend/"}, "SolarEmbeddings": {"Solar": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/solar/"}, "HuggingFaceBgeEmbeddings": {"BGE on Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/bge_huggingface/", "Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/platforms/huggingface/"}, "QuantizedBiEncoderEmbeddings": {"Embedding Documents using Optimized and Quantized Embedders": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/optimum_intel/", "Intel": "https://python.langchain.com/v0.2/docs/integrations/providers/intel/"}, "FireworksEmbeddings": {"FireworksEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/fireworks/"}, "XinferenceEmbeddings": {"Xorbits inference (Xinference)": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/xinference/"}, "LLMRailsEmbeddings": {"LLMRails": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/llm_rails/"}, "DeepInfraEmbeddings": {"DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/providers/deepinfra/"}, "HuggingFaceInferenceAPIEmbeddings": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/huggingfacehub/"}, "HuggingFaceEndpointEmbeddings": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/huggingfacehub/", "Text Embeddings Inference": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/text_embeddings_inference/"}, "GoogleGenerativeAIEmbeddings": {"Google Generative AI Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/google_generative_ai/", "Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/"}, "GPT4AllEmbeddings": {"GPT4All": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/gpt4all/", "ManticoreSearch VectorStore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/manticore_search/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/"}, "MosaicMLInstructorEmbeddings": {"MosaicML": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/mosaicml/"}, "QuantizedBgeEmbeddings": {"Intel\u00ae Extension for Transformers Quantized Text Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/itrex/", "Intel": "https://python.langchain.com/v0.2/docs/integrations/providers/intel/"}, "VertexAIEmbeddings": {"Google Vertex AI PaLM ": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/google_vertex_ai_palm/", "Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Cloud SQL for MySQL": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_cloud_sql_mysql/", "Google Vertex AI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_vertex_ai_vector_search/", "Google AlloyDB for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_alloydb/", "Google Firestore (Native Mode)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_firestore/", "Google BigQuery Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_bigquery_vector_search/", "Google Spanner": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_spanner/", "Google Cloud SQL for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_cloud_sql_pg/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/"}, "BedrockEmbeddings": {"Bedrock": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/bedrock/", "AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/"}, "GigaChatEmbeddings": {"GigaChat": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/gigachat/", "Salute Devices": "https://python.langchain.com/v0.2/docs/integrations/providers/salute_devices/"}, "OllamaEmbeddings": {"Ollama": "https://python.langchain.com/v0.2/docs/integrations/providers/ollama/"}, "OCIGenAIEmbeddings": {"Oracle Cloud Infrastructure Generative AI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/oci_generative_ai/", "Oracle Cloud Infrastructure (OCI)": "https://python.langchain.com/v0.2/docs/integrations/providers/oci/", "# Oracle Cloud Infrastructure Generative AI": "https://python.langchain.com/v0.2/docs/integrations/llms/oci_generative_ai/"}, "FastEmbedEmbeddings": {"FastEmbed by Qdrant": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/fastembed/"}, "LlamaCppEmbeddings": {"Llama-cpp": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/llamacpp/", "Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/providers/llamacpp/"}, "NLPCloudEmbeddings": {"NLP Cloud": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/nlp_cloud/", "NLPCloud": "https://python.langchain.com/v0.2/docs/integrations/providers/nlpcloud/"}, "LaserEmbeddings": {"LASER Language-Agnostic SEntence Representations Embeddings by Meta AI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/laser/", "Facebook - Meta": "https://python.langchain.com/v0.2/docs/integrations/providers/facebook/"}, "OpenCLIPEmbeddings": {"OpenClip": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/open_clip/", "SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/singlestoredb/"}, "TitanTakeoffEmbed": {"Titan Takeoff": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/titan_takeoff/"}, "MistralAIEmbeddings": {"MistralAI": "https://python.langchain.com/v0.2/docs/integrations/providers/mistralai/"}, "SpacyEmbeddings": {"SpaCy": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/spacy_embedding/", "spaCy": "https://python.langchain.com/v0.2/docs/integrations/providers/spacy/"}, "BaichuanTextEmbeddings": {"Baichuan Text Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/baichuan/", "Baichuan": "https://python.langchain.com/v0.2/docs/integrations/providers/baichuan/"}, "TogetherEmbeddings": {"TogetherEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/together/"}, "HuggingFaceInstructEmbeddings": {"Instruct Embeddings on Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/instruct_embeddings/", "Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/platforms/huggingface/"}, "OracleEmbeddings": {"Oracle AI Vector Search: Generate Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/oracleai/", "OracleAI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/providers/oracleai/"}, "QianfanEmbeddingsEndpoint": {"Baidu Qianfan": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/baidu_qianfan_endpoint/", "ERNIE": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/ernie/", "Baidu": "https://python.langchain.com/v0.2/docs/integrations/providers/baidu/", "Baidu Cloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiducloud_vector_search/"}, "EdenAiEmbeddings": {"EDEN AI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/edenai/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "JohnSnowLabsEmbeddings": {"John Snow Labs": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/johnsnowlabs_embedding/"}, "ErnieEmbeddings": {"ERNIE": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/ernie/"}, "ClarifaiEmbeddings": {"Clarifai": "https://python.langchain.com/v0.2/docs/integrations/providers/clarifai/"}, "AzureOpenAIEmbeddings": {"Azure OpenAI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/azureopenai/", "Azure AI Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azuresearch/", "Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/"}, "InfinityEmbeddings": {"Infinity": "https://python.langchain.com/v0.2/docs/integrations/providers/infinity/"}, "InfinityEmbeddingsLocal": {"Infinity": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/infinity/"}, "AwaEmbeddings": {"AwaDB": "https://python.langchain.com/v0.2/docs/integrations/providers/awadb/"}, "VolcanoEmbeddings": {"Volc Engine": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/volcengine/"}, "MiniMaxEmbeddings": {"MiniMax": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/minimax/", "Minimax": "https://python.langchain.com/v0.2/docs/integrations/providers/minimax/"}, "FakeEmbeddings": {"Fake Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/fake/", "DocArray": "https://python.langchain.com/v0.2/docs/integrations/retrievers/docarray_retriever/", "Vectara ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vectara/", "Relyt": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/relyt/", "Tair": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tair/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "Google Memorystore for Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_memorystore_redis/", "PGVecto.rs": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgvecto_rs/", "Baidu VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiduvectordb/"}, "ClovaEmbeddings": {"Clova Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/clova/"}, "NeMoEmbeddings": {"NVIDIA NeMo embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/nemo/"}, "SparkLLMTextEmbeddings": {"SparkLLM Text Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/sparkllm/"}, "PremAIEmbeddings": {"PremAI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/premai/"}, "KNNRetriever": {"Voyage AI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/voyageai/", "kNN": "https://python.langchain.com/v0.2/docs/integrations/retrievers/knn/"}, "SelfHostedEmbeddings": {"Self Hosted": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/self-hosted/"}, "SelfHostedHuggingFaceEmbeddings": {"Self Hosted": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/self-hosted/"}, "SelfHostedHuggingFaceInstructEmbeddings": {"Self Hosted": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/self-hosted/"}, "AnyscaleEmbeddings": {"Anyscale": "https://python.langchain.com/v0.2/docs/integrations/providers/anyscale/"}, "EmbaasEmbeddings": {"Embaas": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/embaas/"}, "YandexGPTEmbeddings": {"YandexGPT": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/yandex/"}, "JinaEmbeddings": {"Jina": "https://python.langchain.com/v0.2/docs/integrations/providers/jina/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/"}, "AlephAlphaAsymmetricSemanticEmbedding": {"Aleph Alpha": "https://python.langchain.com/v0.2/docs/integrations/providers/aleph_alpha/"}, "AlephAlphaSymmetricSemanticEmbedding": {"Aleph Alpha": "https://python.langchain.com/v0.2/docs/integrations/providers/aleph_alpha/"}, "CloudflareWorkersAIEmbeddings": {"Cloudflare Workers AI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/cloudflare_workersai/", "Cloudflare": "https://python.langchain.com/v0.2/docs/integrations/providers/cloudflare/"}, "DashScopeEmbeddings": {"DashScope": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/dashscope/", "DashVector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dashvector/"}, "TensorflowHubEmbeddings": {"TensorFlow Hub": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/tensorflowhub/"}, "LlamafileEmbeddings": {"llamafile": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/llamafile/"}, "GradientEmbeddings": {"Gradient": "https://python.langchain.com/v0.2/docs/integrations/providers/gradient/"}, "ModelScopeEmbeddings": {"ModelScope": "https://python.langchain.com/v0.2/docs/integrations/providers/modelscope/"}, "SagemakerEndpointEmbeddings": {"SageMaker": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/sagemaker-endpoint/", "AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/"}, "EmbeddingsContentHandler": {"SageMaker": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/sagemaker-endpoint/"}, "DocArrayInMemorySearch": {"UpstageEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/upstage/", "DocArray InMemorySearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_in_memory/"}, "SambaStudioEmbeddings": {"SambaNova": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/sambanova/"}, "OpenVINOEmbeddings": {"OpenVINO": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/openvino/", "OpenVINO Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openvino_rerank/"}, "OpenVINOBgeEmbeddings": {"OpenVINO": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/openvino/"}, "LocalAIEmbeddings": {"LocalAI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/localai/"}, "AzureAISearchRetriever": {"Azure AI Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/"}, "AzureSearch": {"Azure AI Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azuresearch/"}, "RePhraseQueryRetriever": {"RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/"}, "YouSearchAPIWrapper": {"You.com": "https://python.langchain.com/v0.2/docs/integrations/retrievers/you-retriever/", "You.com Search": "https://python.langchain.com/v0.2/docs/integrations/tools/you/"}, "YouRetriever": {"You.com": "https://python.langchain.com/v0.2/docs/integrations/retrievers/you-retriever/"}, "Kinetica": {"Kinetica Vectorstore based Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kinetica/", "Kinetica": "https://python.langchain.com/v0.2/docs/integrations/providers/kinetica/", "Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/"}, "KineticaSettings": {"Kinetica Vectorstore based Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kinetica/", "Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/", "Kinetica": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/kinetica/"}, "Jaguar": {"JaguarDB Vector Database": "https://python.langchain.com/v0.2/docs/integrations/retrievers/jaguar/", "Jaguar": "https://python.langchain.com/v0.2/docs/integrations/providers/jaguar/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/"}, "BaseStore": {"Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/"}, "VectorStore": {"Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/"}, "AskNewsRetriever": {"AskNews": "https://python.langchain.com/v0.2/docs/integrations/retrievers/asknews/"}, "LLMLinguaCompressor": {"LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/"}, "RetrievalQA": {"LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "Bedrock (Knowledge Bases)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/bedrock/", "Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "Document Comparison": "https://python.langchain.com/v0.2/docs/integrations/toolkits/document_comparison_toolkit/", "Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/", "ScaNN": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/scann/", "Google Vertex AI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_vertex_ai_vector_search/", "Momento Vector Index (MVI)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/momento_vector_index/", "Activeloop Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/activeloop_deeplake/", "StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/", "KDB.AI": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kdbai/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Amazon Document DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/documentdb/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/mongodb_atlas/", "VoyageAI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/voyageai-reranker/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/"}, "ElasticSearchBM25Retriever": {"ElasticSearch BM25": "https://python.langchain.com/v0.2/docs/integrations/retrievers/elastic_search_bm25/"}, "OutlineRetriever": {"Outline": "https://python.langchain.com/v0.2/docs/integrations/providers/outline/"}, "ConversationalRetrievalChain": {"Outline": "https://python.langchain.com/v0.2/docs/integrations/retrievers/outline/", "Wikipedia": "https://python.langchain.com/v0.2/docs/integrations/retrievers/wikipedia/", "SEC filing": "https://python.langchain.com/v0.2/docs/integrations/retrievers/sec_filings/", "Arxiv": "https://python.langchain.com/v0.2/docs/integrations/retrievers/arxiv/", "Rememberizer": "https://python.langchain.com/v0.2/docs/integrations/retrievers/rememberizer/", "Kay.ai": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kay/", "Vectara ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "Chat Over Documents with Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/"}, "ZepMemory": {"Zep Open Source": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_memorystore/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/"}, "SearchScope": {"Zep Open Source": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_memorystore/"}, "ZepRetriever": {"Zep Open Source": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_memorystore/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/"}, "VespaRetriever": {"Vespa": "https://python.langchain.com/v0.2/docs/integrations/providers/vespa/"}, "AmazonKendraRetriever": {"Amazon Kendra": "https://python.langchain.com/v0.2/docs/integrations/retrievers/amazon_kendra_retriever/"}, "AmazonKnowledgeBasesRetriever": {"Bedrock (Knowledge Bases)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/bedrock/"}, "Bedrock": {"Bedrock (Knowledge Bases)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/bedrock/", "Bedrock": "https://python.langchain.com/v0.2/docs/integrations/llms/bedrock/"}, "CohereEmbeddings": {"Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/"}, "Cohere": {"Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/", "self-query-qdrant": "https://python.langchain.com/v0.2/docs/templates/self-query-qdrant/"}, "ZepCloudMemory": {"Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_cloud_memorystore/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/"}, "ZepCloudRetriever": {"Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_cloud_memorystore/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "Zep": "https://python.langchain.com/v0.2/docs/integrations/providers/zep/"}, "NeuralDBRetriever": {"**NeuralDB**": "https://python.langchain.com/v0.2/docs/integrations/retrievers/thirdai_neuraldb/"}, "SingleStoreDB": {"SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/singlestoredb/"}, "MetalRetriever": {"Metal": "https://python.langchain.com/v0.2/docs/integrations/providers/metal/"}, "BreebsRetriever": {"BREEBS (Open Knowledge)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/breebs/"}, "ChatGPTPluginRetriever": {"ChatGPT plugin": "https://python.langchain.com/v0.2/docs/integrations/retrievers/chatgpt-plugin/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/"}, "KayAiRetriever": {"SEC filing": "https://python.langchain.com/v0.2/docs/integrations/retrievers/sec_filings/", "Kay.ai": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kay/"}, "CohereRagRetriever": {"Cohere RAG": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/providers/cohere/"}, "DriaRetriever": {"Dria": "https://python.langchain.com/v0.2/docs/integrations/retrievers/dria_index/"}, "DocArrayRetriever": {"DocArray": "https://python.langchain.com/v0.2/docs/integrations/retrievers/docarray_retriever/"}, "SVMRetriever": {"SVM": "https://python.langchain.com/v0.2/docs/integrations/retrievers/svm/"}, "TavilySearchAPIRetriever": {"Tavily Search API": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tavily/"}, "PineconeHybridSearchRetriever": {"Pinecone Hybrid Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/pinecone_hybrid_search/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/providers/pinecone/"}, "DeepLake": {"Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query/", "Activeloop Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/activeloop_deeplake/"}, "AsyncHtmlLoader": {"Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "HTML to text": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/html2text/", "Markdownify": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/markdownify/", "AsyncHtml": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/async_html/"}, "Html2TextTransformer": {"Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "HTML to text": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/html2text/", "Async Chromium": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/async_chromium/"}, "create_structured_output_chain": {"Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/"}, "HumanMessagePromptTemplate": {"Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "JinaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/jinachat/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "vLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/vllm/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "SQL Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/sql_database/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Figma": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/figma/"}, "PubMedRetriever": {"PubMed": "https://python.langchain.com/v0.2/docs/integrations/providers/pubmed/"}, "WeaviateHybridSearchRetriever": {"Weaviate Hybrid Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/weaviate-hybrid/"}, "EmbedchainRetriever": {"Embedchain": "https://python.langchain.com/v0.2/docs/integrations/retrievers/embedchain/"}, "ArxivRetriever": {"Arxiv": "https://python.langchain.com/v0.2/docs/integrations/providers/arxiv/"}, "QdrantSparseVectorRetriever": {"Qdrant Sparse Vector": "https://python.langchain.com/v0.2/docs/integrations/retrievers/qdrant-sparse/"}, "DeterministicFakeEmbedding": {"Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/elasticsearch_retriever/"}, "Embeddings": {"Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/elasticsearch_retriever/", "Infinispan": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/infinispanvs/"}, "RememberizerRetriever": {"Rememberizer": "https://python.langchain.com/v0.2/docs/integrations/retrievers/rememberizer/"}, "ArceeRetriever": {"Arcee": "https://python.langchain.com/v0.2/docs/integrations/providers/arcee/"}, "FlashrankRerank": {"FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/"}, "ChaindeskRetriever": {"Chaindesk": "https://python.langchain.com/v0.2/docs/integrations/providers/chaindesk/"}, "MergerRetriever": {"LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/"}, "EmbeddingsClusteringFilter": {"LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/"}, "TFIDFRetriever": {"TF-IDF": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tf_idf/"}, "GoogleVertexAIMultiTurnSearchRetriever": {"Google Vertex AI Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/google_vertex_ai_search/"}, "GoogleVertexAISearchRetriever": {"Google Vertex AI Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/google_vertex_ai_search/", "Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/"}, "PGVector": {"PGVector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pgvector_self_query/", "PGVector": "https://python.langchain.com/v0.2/docs/integrations/providers/pgvector/"}, "Weaviate": {"Weaviate": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/weaviate_self_query/"}, "Vectara": {"Vectara ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vectara/", "Chat Over Documents with Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/"}, "DashVector": {"DashVector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dashvector/"}, "Tongyi": {"DashVector": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dashvector/", "Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/", "Tongyi Qwen": "https://python.langchain.com/v0.2/docs/integrations/llms/tongyi/"}, "DatabricksVectorSearch": {"Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/databricks_vector_search/"}, "Dingo": {"DingoDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dingo/"}, "OpenSearchVectorSearch": {"OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/opensearch/", "AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/"}, "ConnectionParams": {"Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "Baidu VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiduvectordb/"}, "MetaField": {"Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/"}, "TencentVectorDB": {"Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "Tencent": "https://python.langchain.com/v0.2/docs/integrations/providers/tencent/"}, "TimescaleVector": {"Timescale Vector (Postgres) ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/timescalevector_self_query/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/"}, "AstraDB": {"Astra DB (Cassandra)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/astradb/"}, "SupabaseVectorStore": {"Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/supabase/"}, "Redis": {"Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/redis/"}, "MyScale": {"MyScale": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/myscale/"}, "MongoDBAtlasVectorSearch": {"MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/mongodb_atlas/"}, "Qdrant": {"Qdrant": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/qdrant/"}, "AzureMLOnlineEndpoint": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/"}, "AzureOpenAI": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "Azure OpenAI": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_openai/"}, "AzureChatOpenAI": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "AzureChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/azure_chat_openai/", "Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/"}, "AzureAIDataLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure AI Data": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/azure_ai_data/"}, "AzureBlobStorageContainerLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Blob Storage Container": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/azure_blob_storage_container/"}, "AzureBlobStorageFileLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Blob Storage File": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/azure_blob_storage_file/"}, "OneDriveLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Microsoft OneDrive": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_onedrive/"}, "UnstructuredWordDocumentLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Microsoft Word": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_word/"}, "UnstructuredExcelLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Microsoft Excel": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_excel/"}, "SharePointLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Microsoft SharePoint": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_sharepoint/"}, "UnstructuredPowerPointLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Microsoft PowerPoint": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_powerpoint/"}, "OneNoteLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Microsoft OneNote": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_onenote/"}, "AzureCosmosDBVectorSearch": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Cosmos DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db/"}, "O365Toolkit": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Office365": "https://python.langchain.com/v0.2/docs/integrations/toolkits/office365/"}, "PowerBIToolkit": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "PowerBI Dataset": "https://python.langchain.com/v0.2/docs/integrations/toolkits/powerbi/"}, "PowerBIDataset": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "PowerBI Dataset": "https://python.langchain.com/v0.2/docs/integrations/toolkits/powerbi/"}, "GremlinGraph": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/"}, "GraphDocument": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/"}, "Node": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/"}, "Relationship": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/"}, "BingSearchAPIWrapper": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Bing Search": "https://python.langchain.com/v0.2/docs/integrations/tools/bing_search/"}, "PresidioAnonymizer": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/"}, "PresidioReversibleAnonymizer": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/"}, "AmazonAPIGateway": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon API Gateway": "https://python.langchain.com/v0.2/docs/integrations/llms/amazon_api_gateway/"}, "ContentHandlerBase": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/"}, "S3DirectoryLoader": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "AWS S3 Directory": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/aws_s3_directory/"}, "S3FileLoader": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "AWS S3 File": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/aws_s3_file/"}, "AthenaLoader": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Athena": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/athena/"}, "DynamoDBChatMessageHistory": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "AWS DynamoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/aws_dynamodb/"}, "NeptuneGraph": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon Neptune with Cypher": "https://python.langchain.com/v0.2/docs/integrations/graphs/amazon_neptune_open_cypher/"}, "NeptuneAnalyticsGraph": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon Neptune with Cypher": "https://python.langchain.com/v0.2/docs/integrations/graphs/amazon_neptune_open_cypher/"}, "NeptuneOpenCypherQAChain": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon Neptune with Cypher": "https://python.langchain.com/v0.2/docs/integrations/graphs/amazon_neptune_open_cypher/"}, "NeptuneRdfGraph": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon Neptune with SPARQL": "https://python.langchain.com/v0.2/docs/integrations/graphs/amazon_neptune_sparql/"}, "NeptuneSparqlQAChain": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon Neptune with SPARQL": "https://python.langchain.com/v0.2/docs/integrations/graphs/amazon_neptune_sparql/"}, "SageMakerCallbackHandler": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/"}, "AmazonComprehendModerationChain": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/"}, "ChatHuggingFace": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/"}, "HuggingFacePipeline": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/platforms/huggingface/", "Hugging Face Local Pipelines": "https://python.langchain.com/v0.2/docs/integrations/llms/huggingface_pipelines/", "LM Format Enforcer": "https://python.langchain.com/v0.2/docs/integrations/llms/lmformatenforcer_experimental/", "RELLM": "https://python.langchain.com/v0.2/docs/integrations/llms/rellm_experimental/", "JSONFormer": "https://python.langchain.com/v0.2/docs/integrations/llms/jsonformer_experimental/", "OpenVINO": "https://python.langchain.com/v0.2/docs/integrations/llms/openvino/"}, "HuggingFaceHubEmbeddings": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/platforms/huggingface/"}, "HuggingFaceDatasetLoader": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/platforms/huggingface/", "HuggingFace dataset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/hugging_face_dataset/"}, "load_huggingface_tool": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/platforms/huggingface/", "HuggingFace Hub Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/huggingface_tools/"}, "ChatGPTLoader": {"OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "ChatGPT Data": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/chatgpt_loader/"}, "DallEAPIWrapper": {"OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "Dall-E Image Generator": "https://python.langchain.com/v0.2/docs/integrations/tools/dalle_image_generator/"}, "OpenAIModerationChain": {"OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/"}, "GoogleGenerativeAI": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_ai/"}, "VertexAIModelGarden": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/"}, "ChatGoogleGenerativeAI": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google AI chat models": "https://python.langchain.com/v0.2/docs/integrations/chat/google_generative_ai/"}, "VectorSearchVectorStore": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Vertex AI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_vertex_ai_vector_search/"}, "ScaNN": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "ScaNN": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/scann/"}, "GoogleDocumentAIWarehouseRetriever": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/"}, "GoogleFinanceQueryRun": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Finance": "https://python.langchain.com/v0.2/docs/integrations/tools/google_finance/"}, "GoogleFinanceAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Finance": "https://python.langchain.com/v0.2/docs/integrations/tools/google_finance/"}, "GoogleJobsQueryRun": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Jobs": "https://python.langchain.com/v0.2/docs/integrations/tools/google_jobs/"}, "GoogleLensQueryRun": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Lens": "https://python.langchain.com/v0.2/docs/integrations/tools/google_lens/"}, "GoogleLensAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Lens": "https://python.langchain.com/v0.2/docs/integrations/tools/google_lens/"}, "GooglePlacesTool": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Places": "https://python.langchain.com/v0.2/docs/integrations/tools/google_places/"}, "GoogleScholarQueryRun": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Scholar": "https://python.langchain.com/v0.2/docs/integrations/tools/google_scholar/"}, "GoogleScholarAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Scholar": "https://python.langchain.com/v0.2/docs/integrations/tools/google_scholar/"}, "GoogleTrendsQueryRun": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Trends": "https://python.langchain.com/v0.2/docs/integrations/tools/google_trends/"}, "GoogleTrendsAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Trends": "https://python.langchain.com/v0.2/docs/integrations/tools/google_trends/"}, "SearchApiAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "SearchApi": "https://python.langchain.com/v0.2/docs/integrations/providers/searchapi/"}, "SerpAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "SerpAPI": "https://python.langchain.com/v0.2/docs/integrations/providers/serpapi/", "Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/", "MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/"}, "GoogleSerperAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Serper": "https://python.langchain.com/v0.2/docs/integrations/tools/google_serper/", "Serper - Google Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/google_serper/"}, "YouTubeSearchTool": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "YouTube": "https://python.langchain.com/v0.2/docs/integrations/tools/youtube/"}, "YoutubeAudioLoader": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/"}, "OpenAIWhisperParser": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/"}, "YoutubeLoader": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "YouTube": "https://python.langchain.com/v0.2/docs/integrations/providers/youtube/", "YouTube transcripts": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_transcript/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/"}, "AnthropicLLM": {"Anthropic": "https://python.langchain.com/v0.2/docs/integrations/platforms/anthropic/", "AnthropicLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/anthropic/"}, "AIPluginTool": {"ChatGPT Plugins": "https://python.langchain.com/v0.2/docs/integrations/tools/chatgpt_plugins/"}, "AgentType": {"ChatGPT Plugins": "https://python.langchain.com/v0.2/docs/integrations/tools/chatgpt_plugins/", "Connery Action Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/connery/", "Google Jobs": "https://python.langchain.com/v0.2/docs/integrations/tools/google_jobs/", "Google Serper": "https://python.langchain.com/v0.2/docs/integrations/tools/google_serper/", "E2B Data Analysis": "https://python.langchain.com/v0.2/docs/integrations/tools/e2b_data_analysis/", "Human as a tool": "https://python.langchain.com/v0.2/docs/integrations/tools/human_tools/", "Yahoo Finance News": "https://python.langchain.com/v0.2/docs/integrations/tools/yahoo_finance_news/", "Google Finance": "https://python.langchain.com/v0.2/docs/integrations/tools/google_finance/", "AWS Lambda": "https://python.langchain.com/v0.2/docs/integrations/tools/awslambda/", "Google Drive": "https://python.langchain.com/v0.2/docs/integrations/tools/google_drive/", "OpenWeatherMap": "https://python.langchain.com/v0.2/docs/integrations/tools/openweathermap/", "Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "Search Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/search_tools/", "Eleven Labs Text2Speech": "https://python.langchain.com/v0.2/docs/integrations/tools/eleven_labs_tts/", "Bearly Code Interpreter": "https://python.langchain.com/v0.2/docs/integrations/tools/bearly/", "Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "GraphQL": "https://python.langchain.com/v0.2/docs/integrations/tools/graphql/", "SearchApi": "https://python.langchain.com/v0.2/docs/integrations/providers/searchapi/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/tools/edenai_tools/", "Shell (bash)": "https://python.langchain.com/v0.2/docs/integrations/tools/bash/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/memory/xata_chat_message_history/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Comet Tracing": "https://python.langchain.com/v0.2/docs/integrations/callbacks/comet_tracing/", "Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/", "Serper - Google Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/google_serper/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "WandB Tracing": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracing/", "ClearML": "https://python.langchain.com/v0.2/docs/integrations/providers/clearml_tracking/", "Connery Toolkit": "https://python.langchain.com/v0.2/docs/integrations/toolkits/connery/", "CSV": "https://python.langchain.com/v0.2/docs/integrations/toolkits/csv/", "Jira": "https://python.langchain.com/v0.2/docs/integrations/toolkits/jira/", "Document Comparison": "https://python.langchain.com/v0.2/docs/integrations/toolkits/document_comparison_toolkit/", "Azure Cognitive Services": "https://python.langchain.com/v0.2/docs/integrations/toolkits/azure_cognitive_services/", "Natural Language APIs": "https://python.langchain.com/v0.2/docs/integrations/toolkits/openapi_nla/", "Steam Game Recommendation & Game Details": "https://python.langchain.com/v0.2/docs/integrations/toolkits/steam/", "Airbyte Question Answering": "https://python.langchain.com/v0.2/docs/integrations/toolkits/airbyte_structured_qa/", "Github": "https://python.langchain.com/v0.2/docs/integrations/toolkits/github/", "ClickUp": "https://python.langchain.com/v0.2/docs/integrations/toolkits/clickup/", "AINetwork": "https://python.langchain.com/v0.2/docs/integrations/toolkits/ainetwork/", "PlayWright Browser": "https://python.langchain.com/v0.2/docs/integrations/toolkits/playwright/", "Office365": "https://python.langchain.com/v0.2/docs/integrations/toolkits/office365/", "Pandas Dataframe": "https://python.langchain.com/v0.2/docs/integrations/toolkits/pandas/", "NASA": "https://python.langchain.com/v0.2/docs/integrations/toolkits/nasa/", "Gitlab": "https://python.langchain.com/v0.2/docs/integrations/toolkits/gitlab/", "Amazon API Gateway": "https://python.langchain.com/v0.2/docs/integrations/llms/amazon_api_gateway/"}, "initialize_agent": {"ChatGPT Plugins": "https://python.langchain.com/v0.2/docs/integrations/tools/chatgpt_plugins/", "Connery Action Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/connery/", "Google Jobs": "https://python.langchain.com/v0.2/docs/integrations/tools/google_jobs/", "Google Serper": "https://python.langchain.com/v0.2/docs/integrations/tools/google_serper/", "E2B Data Analysis": "https://python.langchain.com/v0.2/docs/integrations/tools/e2b_data_analysis/", "Human as a tool": "https://python.langchain.com/v0.2/docs/integrations/tools/human_tools/", "Yahoo Finance News": "https://python.langchain.com/v0.2/docs/integrations/tools/yahoo_finance_news/", "Google Finance": "https://python.langchain.com/v0.2/docs/integrations/tools/google_finance/", "AWS Lambda": "https://python.langchain.com/v0.2/docs/integrations/tools/awslambda/", "Google Drive": "https://python.langchain.com/v0.2/docs/integrations/tools/google_drive/", "OpenWeatherMap": "https://python.langchain.com/v0.2/docs/integrations/tools/openweathermap/", "Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "Search Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/search_tools/", "Eleven Labs Text2Speech": "https://python.langchain.com/v0.2/docs/integrations/tools/eleven_labs_tts/", "Bearly Code Interpreter": "https://python.langchain.com/v0.2/docs/integrations/tools/bearly/", "Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "GraphQL": "https://python.langchain.com/v0.2/docs/integrations/tools/graphql/", "SearchApi": "https://python.langchain.com/v0.2/docs/integrations/providers/searchapi/", "Gradio": "https://python.langchain.com/v0.2/docs/integrations/tools/gradio_tools/", "SceneXplain": "https://python.langchain.com/v0.2/docs/integrations/tools/sceneXplain/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/tools/edenai_tools/", "Dall-E Image Generator": "https://python.langchain.com/v0.2/docs/integrations/tools/dalle_image_generator/", "Shell (bash)": "https://python.langchain.com/v0.2/docs/integrations/tools/bash/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/memory/xata_chat_message_history/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/", "Comet Tracing": "https://python.langchain.com/v0.2/docs/integrations/callbacks/comet_tracing/", "Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/", "Serper - Google Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/google_serper/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "WandB Tracing": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracing/", "ClearML": "https://python.langchain.com/v0.2/docs/integrations/providers/clearml_tracking/", "Connery Toolkit": "https://python.langchain.com/v0.2/docs/integrations/toolkits/connery/", "Jira": "https://python.langchain.com/v0.2/docs/integrations/toolkits/jira/", "Document Comparison": "https://python.langchain.com/v0.2/docs/integrations/toolkits/document_comparison_toolkit/", "Azure Cognitive Services": "https://python.langchain.com/v0.2/docs/integrations/toolkits/azure_cognitive_services/", "Natural Language APIs": "https://python.langchain.com/v0.2/docs/integrations/toolkits/openapi_nla/", "Steam Game Recommendation & Game Details": "https://python.langchain.com/v0.2/docs/integrations/toolkits/steam/", "Github": "https://python.langchain.com/v0.2/docs/integrations/toolkits/github/", "ClickUp": "https://python.langchain.com/v0.2/docs/integrations/toolkits/clickup/", "AINetwork": "https://python.langchain.com/v0.2/docs/integrations/toolkits/ainetwork/", "PlayWright Browser": "https://python.langchain.com/v0.2/docs/integrations/toolkits/playwright/", "Office365": "https://python.langchain.com/v0.2/docs/integrations/toolkits/office365/", "NASA": "https://python.langchain.com/v0.2/docs/integrations/toolkits/nasa/", "Gitlab": "https://python.langchain.com/v0.2/docs/integrations/toolkits/gitlab/", "Amazon API Gateway": "https://python.langchain.com/v0.2/docs/integrations/llms/amazon_api_gateway/"}, "DataForSeoAPIWrapper": {"DataForSEO": "https://python.langchain.com/v0.2/docs/integrations/providers/dataforseo/"}, "Tool": {"DataForSEO": "https://python.langchain.com/v0.2/docs/integrations/tools/dataforseo/", "Python REPL": "https://python.langchain.com/v0.2/docs/integrations/tools/python/", "Google Serper": "https://python.langchain.com/v0.2/docs/integrations/tools/google_serper/", "SerpAPI": "https://python.langchain.com/v0.2/docs/integrations/tools/serpapi/", "SearchApi": "https://python.langchain.com/v0.2/docs/integrations/providers/searchapi/", "Google Search": "https://python.langchain.com/v0.2/docs/integrations/tools/google_search/", "Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/", "Ionic Shopping Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/ionic_shopping/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "Serper - Google Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/google_serper/", "Document Comparison": "https://python.langchain.com/v0.2/docs/integrations/toolkits/document_comparison_toolkit/", "Github": "https://python.langchain.com/v0.2/docs/integrations/toolkits/github/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/"}, "ConneryService": {"Connery Action Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/connery/", "Connery Toolkit": "https://python.langchain.com/v0.2/docs/integrations/toolkits/connery/"}, "DataheraldAPIWrapper": {"Dataherald": "https://python.langchain.com/v0.2/docs/integrations/providers/dataherald/"}, "SearxSearchWrapper": {"SearxNG Search": "https://python.langchain.com/v0.2/docs/integrations/tools/searx_search/", "SearxNG Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/searx/"}, "PythonREPL": {"Python REPL": "https://python.langchain.com/v0.2/docs/integrations/tools/python/"}, "GoogleJobsAPIWrapper": {"Google Jobs": "https://python.langchain.com/v0.2/docs/integrations/tools/google_jobs/"}, "create_openai_functions_agent": {"Tavily Search": "https://python.langchain.com/v0.2/docs/integrations/tools/tavily_search/", "Infobip": "https://python.langchain.com/v0.2/docs/integrations/tools/infobip/", "AskNews": "https://python.langchain.com/v0.2/docs/integrations/tools/asknews/", "Semantic Scholar API Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/semanticscholar/", "Passio NutritionAI": "https://python.langchain.com/v0.2/docs/integrations/tools/passio_nutrition_ai/", "You.com Search": "https://python.langchain.com/v0.2/docs/integrations/tools/you/", "Python": "https://python.langchain.com/v0.2/docs/integrations/toolkits/python/", "Gmail": "https://python.langchain.com/v0.2/docs/integrations/toolkits/gmail/", "MultiOn": "https://python.langchain.com/v0.2/docs/integrations/toolkits/multion/", "Polygon IO Toolkit": "https://python.langchain.com/v0.2/docs/integrations/toolkits/polygon/"}, "InfobipAPIWrapper": {"Infobip": "https://python.langchain.com/v0.2/docs/integrations/tools/infobip/"}, "AskNewsSearch": {"AskNews": "https://python.langchain.com/v0.2/docs/integrations/tools/asknews/"}, "E2BDataAnalysisTool": {"E2B Data Analysis": "https://python.langchain.com/v0.2/docs/integrations/tools/e2b_data_analysis/"}, "HumanInputRun": {"Human as a tool": "https://python.langchain.com/v0.2/docs/integrations/tools/human_tools/"}, "NucliaUnderstandingAPI": {"Nuclia Understanding": "https://python.langchain.com/v0.2/docs/integrations/tools/nuclia/", "Nuclia": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/nuclia/"}, "YahooFinanceNewsTool": {"Yahoo Finance News": "https://python.langchain.com/v0.2/docs/integrations/tools/yahoo_finance_news/"}, "WikidataAPIWrapper": {"Wikidata": "https://python.langchain.com/v0.2/docs/integrations/tools/wikidata/"}, "WikidataQueryRun": {"Wikidata": "https://python.langchain.com/v0.2/docs/integrations/tools/wikidata/"}, "TwilioAPIWrapper": {"Twilio": "https://python.langchain.com/v0.2/docs/integrations/tools/twilio/"}, "IFTTTWebhook": {"IFTTT WebHooks": "https://python.langchain.com/v0.2/docs/integrations/tools/ifttt/"}, "SemanticScholarQueryRun": {"Semantic Scholar API Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/semanticscholar/"}, "AlphaVantageAPIWrapper": {"Alpha Vantage": "https://python.langchain.com/v0.2/docs/integrations/tools/alpha_vantage/"}, "GoogleCloudTextToSpeechTool": {"Google Cloud Text-to-Speech": "https://python.langchain.com/v0.2/docs/integrations/tools/google_cloud_texttospeech/"}, "OracleSummary": {"Oracle AI Vector Search: Generate Summary": "https://python.langchain.com/v0.2/docs/integrations/tools/oracleai/", "OracleAI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/providers/oracleai/"}, "StackExchangeAPIWrapper": {"StackExchange": "https://python.langchain.com/v0.2/docs/integrations/tools/stackexchange/", "Stack Exchange": "https://python.langchain.com/v0.2/docs/integrations/providers/stackexchange/"}, "TextRequestsWrapper": {"Requests": "https://python.langchain.com/v0.2/docs/integrations/tools/requests/"}, "JsonRequestsWrapper": {"Requests": "https://python.langchain.com/v0.2/docs/integrations/tools/requests/"}, "OpenWeatherMapAPIWrapper": {"OpenWeatherMap": "https://python.langchain.com/v0.2/docs/integrations/providers/openweathermap/"}, "get_from_env": {"Passio NutritionAI": "https://python.langchain.com/v0.2/docs/integrations/tools/passio_nutrition_ai/"}, "NutritionAI": {"Passio NutritionAI": "https://python.langchain.com/v0.2/docs/integrations/tools/passio_nutrition_ai/"}, "NutritionAIAPI": {"Passio NutritionAI": "https://python.langchain.com/v0.2/docs/integrations/tools/passio_nutrition_ai/"}, "PubmedQueryRun": {"PubMed": "https://python.langchain.com/v0.2/docs/integrations/tools/pubmed/"}, "ConversationBufferMemory": {"Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "Gradio": "https://python.langchain.com/v0.2/docs/integrations/tools/gradio_tools/", "SceneXplain": "https://python.langchain.com/v0.2/docs/integrations/tools/sceneXplain/", "Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/memory/xata_chat_message_history/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "NVIDIA NIMs": "https://python.langchain.com/v0.2/docs/integrations/chat/nvidia_ai_endpoints/", "Chat Over Documents with Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/", "Bedrock": "https://python.langchain.com/v0.2/docs/integrations/llms/bedrock/"}, "GradientLLM": {"Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "Gradient": "https://python.langchain.com/v0.2/docs/integrations/llms/gradient/"}, "ElevenLabsText2SpeechTool": {"Eleven Labs Text2Speech": "https://python.langchain.com/v0.2/docs/integrations/tools/eleven_labs_tts/", "ElevenLabs": "https://python.langchain.com/v0.2/docs/integrations/providers/elevenlabs/"}, "BearlyInterpreterTool": {"Bearly Code Interpreter": "https://python.langchain.com/v0.2/docs/integrations/tools/bearly/"}, "VectorstoreIndexCreator": {"Apify": "https://python.langchain.com/v0.2/docs/integrations/tools/apify/", "HuggingFace dataset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/hugging_face_dataset/", "Spreedly": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/spreedly/", "Image captions": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/image_captions/", "Figma": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/figma/", "Apify Dataset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/apify_dataset/", "Iugu": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/iugu/", "Stripe": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/stripe/", "Modern Treasury": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/modern_treasury/"}, "ApifyWrapper": {"Apify": "https://python.langchain.com/v0.2/docs/integrations/providers/apify/"}, "ZapierToolkit": {"Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/"}, "ZapierNLAWrapper": {"Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/"}, "SimpleSequentialChain": {"Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/", "Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/", "Predibase": "https://python.langchain.com/v0.2/docs/integrations/llms/predibase/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/llms/edenai/", "Replicate": "https://python.langchain.com/v0.2/docs/integrations/llms/replicate/"}, "TransformChain": {"Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/"}, "ZapierNLARunAction": {"Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/"}, "RivaASR": {"NVIDIA Riva: ASR and TTS": "https://python.langchain.com/v0.2/docs/integrations/tools/nvidia_riva/"}, "RivaTTS": {"NVIDIA Riva: ASR and TTS": "https://python.langchain.com/v0.2/docs/integrations/tools/nvidia_riva/"}, "RivaAudioEncoding": {"NVIDIA Riva: ASR and TTS": "https://python.langchain.com/v0.2/docs/integrations/tools/nvidia_riva/"}, "AudioStream": {"NVIDIA Riva: ASR and TTS": "https://python.langchain.com/v0.2/docs/integrations/tools/nvidia_riva/"}, "GoldenQueryAPIWrapper": {"Golden Query": "https://python.langchain.com/v0.2/docs/integrations/tools/golden_query/", "Golden": "https://python.langchain.com/v0.2/docs/integrations/providers/golden/"}, "create_react_agent": {"ArXiv": "https://python.langchain.com/v0.2/docs/integrations/tools/arxiv/", "Ionic Shopping Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/ionic_shopping/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/callbacks/streamlit/", "Dataherald": "https://python.langchain.com/v0.2/docs/integrations/providers/dataherald/", "Python": "https://python.langchain.com/v0.2/docs/integrations/toolkits/python/", "Amadeus": "https://python.langchain.com/v0.2/docs/integrations/toolkits/amadeus/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/"}, "ArxivAPIWrapper": {"ArXiv": "https://python.langchain.com/v0.2/docs/integrations/tools/arxiv/"}, "DuckDuckGoSearchRun": {"DuckDuckGo Search": "https://python.langchain.com/v0.2/docs/integrations/tools/ddg/", "Github": "https://python.langchain.com/v0.2/docs/integrations/toolkits/github/"}, "DuckDuckGoSearchResults": {"DuckDuckGo Search": "https://python.langchain.com/v0.2/docs/integrations/tools/ddg/"}, "DuckDuckGoSearchAPIWrapper": {"DuckDuckGo Search": "https://python.langchain.com/v0.2/docs/integrations/tools/ddg/"}, "SceneXplainTool": {"SceneXplain": "https://python.langchain.com/v0.2/docs/integrations/tools/sceneXplain/"}, "WolframAlphaAPIWrapper": {"Wolfram Alpha": "https://python.langchain.com/v0.2/docs/integrations/providers/wolfram_alpha/"}, "OpenAIFunctionsAgent": {"Exa Search": "https://python.langchain.com/v0.2/docs/integrations/tools/exa_search/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Robocorp": "https://python.langchain.com/v0.2/docs/integrations/toolkits/robocorp/"}, "EdenAiExplicitImageTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAiObjectDetectionTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAiParsingIDTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAiParsingInvoiceTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAiSpeechToTextTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAiTextModerationTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAiTextToSpeechTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAI": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/llms/edenai/"}, "MojeekSearch": {"Mojeek Search": "https://python.langchain.com/v0.2/docs/integrations/tools/mojeek_search/"}, "GoogleSearchAPIWrapper": {"Google Search": "https://python.langchain.com/v0.2/docs/integrations/tools/google_search/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/"}, "RedditSearchRun": {"Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/"}, "RedditSearchAPIWrapper": {"Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/"}, "RedditSearchSchema": {"Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/"}, "StructuredChatAgent": {"Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/"}, "ReadOnlySharedMemory": {"Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/"}, "YouSearchTool": {"You.com Search": "https://python.langchain.com/v0.2/docs/integrations/tools/you/"}, "VertexAIImageGeneratorChat": {"Google Imagen": "https://python.langchain.com/v0.2/docs/integrations/tools/google_imagen/"}, "VertexAIImageEditorChat": {"Google Imagen": "https://python.langchain.com/v0.2/docs/integrations/tools/google_imagen/"}, "VertexAIImageCaptioning": {"Google Imagen": "https://python.langchain.com/v0.2/docs/integrations/tools/google_imagen/"}, "VertexAIVisualQnAChat": {"Google Imagen": "https://python.langchain.com/v0.2/docs/integrations/tools/google_imagen/"}, "ShellTool": {"Shell (bash)": "https://python.langchain.com/v0.2/docs/integrations/tools/bash/"}, "PolygonAggregates": {"Polygon Stock Market API Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/"}, "PolygonFinancials": {"Polygon Stock Market API Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/"}, "PolygonLastQuote": {"Polygon Stock Market API Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/"}, "PolygonTickerNews": {"Polygon Stock Market API Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/"}, "PolygonAPIWrapper": {"Polygon Stock Market API Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/", "Polygon IO Toolkit": "https://python.langchain.com/v0.2/docs/integrations/toolkits/polygon/"}, "PolygonAggregatesSchema": {"Polygon Stock Market API Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/"}, "FileManagementToolkit": {"File System": "https://python.langchain.com/v0.2/docs/integrations/tools/filesystem/"}, "BraveSearch": {"Brave Search": "https://python.langchain.com/v0.2/docs/integrations/providers/brave_search/"}, "RedisChatMessageHistory": {"Redis": "https://python.langchain.com/v0.2/docs/integrations/memory/redis_chat_message_history/"}, "ElasticsearchChatMessageHistory": {"Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/memory/elasticsearch_chat_message_history/"}, "UpstashRedisChatMessageHistory": {"Upstash Redis": "https://python.langchain.com/v0.2/docs/integrations/memory/upstash_redis_chat_message_history/", "Upstash Vector": "https://python.langchain.com/v0.2/docs/integrations/providers/upstash/"}, "ZepCloudChatMessageHistory": {"ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "Zep": "https://python.langchain.com/v0.2/docs/integrations/providers/zep/"}, "SingleStoreDBChatMessageHistory": {"SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/providers/singlestoredb/"}, "PostgresChatMessageHistory": {"Postgres": "https://python.langchain.com/v0.2/docs/integrations/memory/postgres_chat_message_history/"}, "MomentoChatMessageHistory": {"Momento Cache": "https://python.langchain.com/v0.2/docs/integrations/memory/momento_chat_message_history/", "Momento": "https://python.langchain.com/v0.2/docs/integrations/providers/momento/"}, "XataChatMessageHistory": {"Xata": "https://python.langchain.com/v0.2/docs/integrations/providers/xata/"}, "XataVectorStore": {"Xata": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/xata/"}, "CassandraChatMessageHistory": {"Cassandra ": "https://python.langchain.com/v0.2/docs/integrations/memory/cassandra_chat_message_history/", "Cassandra": "https://python.langchain.com/v0.2/docs/integrations/providers/cassandra/"}, "MotorheadMemory": {"Mot\u00f6rhead": "https://python.langchain.com/v0.2/docs/integrations/providers/motorhead/"}, "AstraDBChatMessageHistory": {"Astra DB ": "https://python.langchain.com/v0.2/docs/integrations/memory/astradb_chat_message_history/"}, "StreamlitChatMessageHistory": {"Streamlit": "https://python.langchain.com/v0.2/docs/integrations/providers/streamlit/"}, "Neo4jChatMessageHistory": {"Neo4j": "https://python.langchain.com/v0.2/docs/integrations/memory/neo4j_chat_message_history/"}, "TiDBChatMessageHistory": {"TiDB": "https://python.langchain.com/v0.2/docs/integrations/providers/tidb/"}, "RocksetChatMessageHistory": {"Rockset": "https://python.langchain.com/v0.2/docs/integrations/providers/rockset/"}, "SolarChat": {"solar.md": "https://python.langchain.com/v0.2/docs/integrations/chat/solar/"}, "HuggingFaceEndpoint": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/", "Huggingface Endpoints": "https://python.langchain.com/v0.2/docs/integrations/llms/huggingface_endpoint/"}, "format_log_to_str": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/", "MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/"}, "ReActJsonSingleInputOutputParser": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/", "MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/", "Amadeus": "https://python.langchain.com/v0.2/docs/integrations/toolkits/amadeus/"}, "AzureMLChatOnlineEndpoint": {"AzureMLChatOnlineEndpoint": "https://python.langchain.com/v0.2/docs/integrations/chat/azureml_chat_endpoint/"}, "AzureMLEndpointApiType": {"AzureMLChatOnlineEndpoint": "https://python.langchain.com/v0.2/docs/integrations/chat/azureml_chat_endpoint/", "Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/"}, "CustomOpenAIChatContentFormatter": {"AzureMLChatOnlineEndpoint": "https://python.langchain.com/v0.2/docs/integrations/chat/azureml_chat_endpoint/"}, "ChatKinetica": {"Kinetica SqlAssist LLM Demo": "https://python.langchain.com/v0.2/docs/integrations/chat/kinetica/", "Kinetica": "https://python.langchain.com/v0.2/docs/integrations/providers/kinetica/"}, "KineticaSqlOutputParser": {"Kinetica SqlAssist LLM Demo": "https://python.langchain.com/v0.2/docs/integrations/chat/kinetica/"}, "KineticaSqlResponse": {"Kinetica SqlAssist LLM Demo": "https://python.langchain.com/v0.2/docs/integrations/chat/kinetica/"}, "PaiEasChatEndpoint": {"Alibaba Cloud PAI EAS": "https://python.langchain.com/v0.2/docs/integrations/chat/alibaba_cloud_pai_eas/", "Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/"}, "ChatCoze": {"Chat with Coze Bot": "https://python.langchain.com/v0.2/docs/integrations/chat/coze/"}, "ChatOctoAI": {"ChatOctoAI": "https://python.langchain.com/v0.2/docs/integrations/chat/octoai/"}, "ChatDeepInfra": {"DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/providers/deepinfra/"}, "ToolsOutputParser": {"ChatAnthropic": "https://python.langchain.com/v0.2/docs/integrations/chat/anthropic/"}, "ChatLiteLLM": {"ChatLiteLLM": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm/"}, "LlamaEdgeChatService": {"LlamaEdge": "https://python.langchain.com/v0.2/docs/integrations/chat/llama_edge/"}, "HarmBlockThreshold": {"Google AI chat models": "https://python.langchain.com/v0.2/docs/integrations/chat/google_generative_ai/", "ChatVertexAI": "https://python.langchain.com/v0.2/docs/integrations/chat/google_vertex_ai_palm/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/", "Google AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_ai/"}, "HarmCategory": {"Google AI chat models": "https://python.langchain.com/v0.2/docs/integrations/chat/google_generative_ai/", "ChatVertexAI": "https://python.langchain.com/v0.2/docs/integrations/chat/google_vertex_ai_palm/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/", "Google AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_ai/"}, "OllamaFunctions": {"OllamaFunctions": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama_functions/", "Ollama": "https://python.langchain.com/v0.2/docs/integrations/providers/ollama/"}, "VolcEngineMaasChat": {"VolcEngineMaasChat": "https://python.langchain.com/v0.2/docs/integrations/chat/volcengine_maas/"}, "ChatLlamaAPI": {"ChatLlamaAPI": "https://python.langchain.com/v0.2/docs/integrations/chat/llama_api/"}, "create_tagging_chain": {"ChatLlamaAPI": "https://python.langchain.com/v0.2/docs/integrations/chat/llama_api/"}, "ChatKonko": {"ChatKonko": "https://python.langchain.com/v0.2/docs/integrations/chat/konko/"}, "create_structured_runnable": {"ChatVertexAI": "https://python.langchain.com/v0.2/docs/integrations/chat/google_vertex_ai_palm/"}, "MLXPipeline": {"MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/", "MLX Local Pipelines": "https://python.langchain.com/v0.2/docs/integrations/llms/mlx_pipelines/"}, "ChatMLX": {"MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/"}, "GigaChat": {"GigaChat": "https://python.langchain.com/v0.2/docs/integrations/llms/gigachat/", "Salute Devices": "https://python.langchain.com/v0.2/docs/integrations/providers/salute_devices/"}, "JinaChat": {"JinaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/jinachat/"}, "SystemMessagePromptTemplate": {"JinaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/jinachat/", "vLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/vllm/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Figma": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/figma/"}, "ChatOllama": {"ChatOllama": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama/", "Ollama": "https://python.langchain.com/v0.2/docs/integrations/providers/ollama/"}, "ChatEverlyAI": {"ChatEverlyAI": "https://python.langchain.com/v0.2/docs/integrations/chat/everlyai/"}, "GPTRouter": {"GPTRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/gpt_router/"}, "GPTRouterModel": {"GPTRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/gpt_router/"}, "ChatLiteLLMRouter": {"ChatLiteLLMRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm_router/"}, "ChatFriendli": {"ChatFriendli": "https://python.langchain.com/v0.2/docs/integrations/chat/friendli/"}, "ChatZhipuAI": {"ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/"}, "create_json_chat_agent": {"ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/"}, "ChatBaichuan": {"Chat with Baichuan-192K": "https://python.langchain.com/v0.2/docs/integrations/chat/baichuan/", "Baichuan": "https://python.langchain.com/v0.2/docs/integrations/providers/baichuan/"}, "ChatTogether": {"Together AI": "https://python.langchain.com/v0.2/docs/integrations/llms/together/"}, "Together": {"Together AI": "https://python.langchain.com/v0.2/docs/integrations/llms/together/"}, "Llama2Chat": {"Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/"}, "HuggingFaceTextGenInference": {"Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/"}, "QianfanChatEndpoint": {"QianfanChatEndpoint": "https://python.langchain.com/v0.2/docs/integrations/chat/baidu_qianfan_endpoint/", "ErnieBotChat": "https://python.langchain.com/v0.2/docs/integrations/chat/ernie/", "Baidu": "https://python.langchain.com/v0.2/docs/integrations/providers/baidu/"}, "ChatEdenAI": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "ErnieBotChat": {"ErnieBotChat": "https://python.langchain.com/v0.2/docs/integrations/chat/ernie/"}, "ChatHunyuan": {"Tencent Hunyuan": "https://python.langchain.com/v0.2/docs/integrations/chat/tencent_hunyuan/", "Tencent": "https://python.langchain.com/v0.2/docs/integrations/providers/tencent/"}, "MiniMaxChat": {"MiniMaxChat": "https://python.langchain.com/v0.2/docs/integrations/chat/minimax/", "Minimax": "https://python.langchain.com/v0.2/docs/integrations/providers/minimax/"}, "ChatYuan2": {"Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/chat/yuan2/"}, "ChatTongyi": {"ChatTongyi": "https://python.langchain.com/v0.2/docs/integrations/chat/tongyi/", "Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/"}, "PromptLayerChatOpenAI": {"PromptLayerChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/promptlayer_chatopenai/", "PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/providers/promptlayer/"}, "ChatSparkLLM": {"SparkLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/sparkllm/"}, "MoonshotChat": {"MoonshotChat": "https://python.langchain.com/v0.2/docs/integrations/chat/moonshot/"}, "ChatDappierAI": {"Dappier AI": "https://python.langchain.com/v0.2/docs/integrations/chat/dappier/"}, "ChatMaritalk": {"Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/"}, "load_qa_chain": {"Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/", "Chat Over Documents with Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/", "Amazon Textract ": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/amazon_textract/", "SageMakerEndpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/sagemaker/"}, "ChatPremAI": {"ChatPremAI": "https://python.langchain.com/v0.2/docs/integrations/chat/premai/", "PremAI": "https://python.langchain.com/v0.2/docs/integrations/providers/premai/"}, "ChatAnyscale": {"ChatAnyscale": "https://python.langchain.com/v0.2/docs/integrations/chat/anyscale/", "Anyscale": "https://python.langchain.com/v0.2/docs/integrations/providers/anyscale/"}, "ChatYandexGPT": {"ChatYandexGPT": "https://python.langchain.com/v0.2/docs/integrations/chat/yandex/", "Yandex": "https://python.langchain.com/v0.2/docs/integrations/providers/yandex/"}, "ChatPerplexity": {"ChatPerplexity": "https://python.langchain.com/v0.2/docs/integrations/chat/perplexity/"}, "ChatAnthropicTools": {"[Deprecated] Experimental Anthropic Tools Wrapper": "https://python.langchain.com/v0.2/docs/integrations/chat/anthropic_functions/"}, "ConversationChain": {"NVIDIA NIMs": "https://python.langchain.com/v0.2/docs/integrations/chat/nvidia_ai_endpoints/", "Bedrock": "https://python.langchain.com/v0.2/docs/integrations/llms/bedrock/"}, "DeepEvalCallbackHandler": {"Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "Confident AI": "https://python.langchain.com/v0.2/docs/integrations/providers/confident/"}, "LLMonitorCallbackHandler": {"LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/providers/llmonitor/"}, "identify": {"LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/"}, "ContextCallbackHandler": {"Context": "https://python.langchain.com/v0.2/docs/integrations/providers/context/"}, "FiddlerCallbackHandler": {"Fiddler": "https://python.langchain.com/v0.2/docs/integrations/providers/fiddler/"}, "LabelStudioCallbackHandler": {"Label Studio": "https://python.langchain.com/v0.2/docs/integrations/providers/labelstudio/"}, "CometTracer": {"Comet Tracing": "https://python.langchain.com/v0.2/docs/integrations/callbacks/comet_tracing/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/"}, "ArgillaCallbackHandler": {"Argilla": "https://python.langchain.com/v0.2/docs/integrations/providers/argilla/"}, "StdOutCallbackHandler": {"Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "ClearML": "https://python.langchain.com/v0.2/docs/integrations/providers/clearml_tracking/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/"}, "PromptLayerCallbackHandler": {"PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/providers/promptlayer/"}, "StreamlitCallbackHandler": {"Streamlit": "https://python.langchain.com/v0.2/docs/integrations/providers/streamlit/", "GPT4All": "https://python.langchain.com/v0.2/docs/integrations/providers/gpt4all/"}, "UpTrainCallbackHandler": {"UpTrain": "https://python.langchain.com/v0.2/docs/integrations/providers/uptrain/"}, "TrubricsCallbackHandler": {"Trubrics": "https://python.langchain.com/v0.2/docs/integrations/providers/trubrics/"}, "InfinoCallbackHandler": {"Infino": "https://python.langchain.com/v0.2/docs/integrations/providers/infino/"}, "FigmaFileLoader": {"Figma": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/figma/"}, "Baseten": {"Baseten": "https://python.langchain.com/v0.2/docs/integrations/llms/baseten/"}, "WeatherDataLoader": {"Weather": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/weather/"}, "Tair": {"Tair": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tair/", "Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/"}, "CollegeConfidentialLoader": {"College Confidential": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/college_confidential/"}, "RWKV": {"RWKV-4": "https://python.langchain.com/v0.2/docs/integrations/providers/rwkv/"}, "LakeFSLoader": {"lakeFS": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/lakefs/"}, "FaunaLoader": {"Fauna": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/fauna/"}, "OCIGenAI": {"Oracle Cloud Infrastructure (OCI)": "https://python.langchain.com/v0.2/docs/integrations/providers/oci/", "# Oracle Cloud Infrastructure Generative AI": "https://python.langchain.com/v0.2/docs/integrations/llms/oci_generative_ai/"}, "OCIModelDeploymentVLLM": {"Oracle Cloud Infrastructure (OCI)": "https://python.langchain.com/v0.2/docs/integrations/providers/oci/", "OCI Data Science Model Deployment Endpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/oci_model_deployment_endpoint/"}, "OCIModelDeploymentTGI": {"Oracle Cloud Infrastructure (OCI)": "https://python.langchain.com/v0.2/docs/integrations/providers/oci/", "OCI Data Science Model Deployment Endpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/oci_model_deployment_endpoint/"}, "OracleDocLoader": {"OracleAI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/providers/oracleai/", "Oracle AI Vector Search: Document Processing": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/oracleai/"}, "OracleTextSplitter": {"OracleAI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/providers/oracleai/", "Oracle AI Vector Search: Document Processing": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/oracleai/"}, "OracleVS": {"OracleAI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/providers/oracleai/", "Oracle AI Vector Search: Vector Store": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/oracle/"}, "Lantern": {"Lantern": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lantern/"}, "Fireworks": {"Fireworks": "https://python.langchain.com/v0.2/docs/integrations/llms/fireworks/"}, "DropboxLoader": {"Dropbox": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/dropbox/"}, "ForefrontAI": {"ForefrontAI": "https://python.langchain.com/v0.2/docs/integrations/llms/forefrontai/"}, "CometCallbackHandler": {"Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/"}, "CTransformers": {"C Transformers": "https://python.langchain.com/v0.2/docs/integrations/llms/ctransformers/"}, "BiliBiliLoader": {"BiliBili": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/bilibili/"}, "TencentCOSDirectoryLoader": {"Tencent": "https://python.langchain.com/v0.2/docs/integrations/providers/tencent/", "Tencent COS Directory": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tencent_cos_directory/"}, "TencentCOSFileLoader": {"Tencent": "https://python.langchain.com/v0.2/docs/integrations/providers/tencent/", "Tencent COS File": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tencent_cos_file/"}, "OBSDirectoryLoader": {"Huawei": "https://python.langchain.com/v0.2/docs/integrations/providers/huawei/", "Huawei OBS Directory": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/huawei_obs_directory/"}, "OBSFileLoader": {"Huawei": "https://python.langchain.com/v0.2/docs/integrations/providers/huawei/", "Huawei OBS File": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/huawei_obs_file/"}, "DiffbotLoader": {"Diffbot": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/diffbot/"}, "DiffbotGraphTransformer": {"Diffbot": "https://python.langchain.com/v0.2/docs/integrations/graphs/diffbot/", "Neo4j": "https://python.langchain.com/v0.2/docs/integrations/providers/neo4j/"}, "DeepSparse": {"DeepSparse": "https://python.langchain.com/v0.2/docs/integrations/llms/deepsparse/"}, "AimCallbackHandler": {"Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/"}, "ModernTreasuryLoader": {"Modern Treasury": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/modern_treasury/"}, "GitHubIssuesLoader": {"GitHub": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/github/"}, "GithubFileLoader": {"GitHub": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/github/"}, "Banana": {"Banana": "https://python.langchain.com/v0.2/docs/integrations/llms/banana/"}, "InfinispanVS": {"Infinispan VS": "https://python.langchain.com/v0.2/docs/integrations/providers/infinispanvs/", "Infinispan": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/infinispanvs/"}, "CerebriumAI": {"CerebriumAI": "https://python.langchain.com/v0.2/docs/integrations/llms/cerebriumai/"}, "GutenbergLoader": {"Gutenberg": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/gutenberg/"}, "WikipediaLoader": {"Wikipedia": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/wikipedia/", "Diffbot": "https://python.langchain.com/v0.2/docs/integrations/graphs/diffbot/"}, "ConfluenceLoader": {"Confluence": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/confluence/"}, "Predibase": {"Predibase": "https://python.langchain.com/v0.2/docs/integrations/llms/predibase/"}, "Beam": {"Beam": "https://python.langchain.com/v0.2/docs/integrations/llms/beam/"}, "GrobidParser": {"Grobid": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/grobid/"}, "Typesense": {"Typesense": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/typesense/"}, "Hologres": {"Hologres": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hologres/", "Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/"}, "ArangoGraph": {"ArangoDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/arangodb/"}, "ArangoGraphQAChain": {"ArangoDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/arangodb/"}, "ArcGISLoader": {"ArcGIS": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/arcgis/"}, "WandbCallbackHandler": {"Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/"}, "ObsidianLoader": {"Obsidian": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/obsidian/"}, "SQLDatabaseToolkit": {"CnosDB": "https://python.langchain.com/v0.2/docs/integrations/providers/cnosdb/", "SQL Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/sql_database/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/"}, "BrowserbaseLoader": {"Browserbase": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/browserbase/"}, "Nebula": {"Nebula": "https://python.langchain.com/v0.2/docs/integrations/providers/symblai_nebula/", "Nebula (Symbl.ai)": "https://python.langchain.com/v0.2/docs/integrations/llms/symblai_nebula/"}, "Writer": {"Writer": "https://python.langchain.com/v0.2/docs/integrations/llms/writer/"}, "BaichuanLLM": {"Baichuan": "https://python.langchain.com/v0.2/docs/integrations/providers/baichuan/", "Baichuan LLM": "https://python.langchain.com/v0.2/docs/integrations/llms/baichuan/"}, "ApacheDoris": {"Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/"}, "ZepCloudVectorStore": {"Zep": "https://python.langchain.com/v0.2/docs/integrations/providers/zep/", "Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep_cloud/"}, "BrowserlessLoader": {"Browserless": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/browserless/"}, "AZLyricsLoader": {"AZLyrics": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/azlyrics/"}, "ToMarkdownLoader": {"2Markdown": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tomarkdown/"}, "Mlflow": {"MLflow Deployments for LLMs": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow/"}, "MlflowEmbeddings": {"MLflow Deployments for LLMs": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow/"}, "ChatMlflow": {"MLflow Deployments for LLMs": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow/"}, "GitLoader": {"Git": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/git/"}, "MlflowAIGateway": {"MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/"}, "MlflowAIGatewayEmbeddings": {"MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/"}, "ChatMLflowAIGateway": {"MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/"}, "Tigris": {"Tigris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tigris/"}, "Meilisearch": {"Meilisearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/meilisearch/"}, "SQLDatabaseChain": {"Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/"}, "SnowflakeLoader": {"Snowflake": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/snowflake/"}, "CubeSemanticLoader": {"Cube": "https://python.langchain.com/v0.2/docs/integrations/providers/cube/", "Cube Semantic Layer": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/cube_semantic/"}, "Clickhouse": {"ClickHouse": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/clickhouse/"}, "ClickhouseSettings": {"ClickHouse": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/clickhouse/"}, "ChatDatabricks": {"-> content='Hello! How can I assist you today?'": "https://python.langchain.com/v0.2/docs/integrations/providers/databricks/", "Databricks": "https://python.langchain.com/v0.2/docs/integrations/llms/databricks/"}, "DatabricksEmbeddings": {"-> content='Hello! How can I assist you today?'": "https://python.langchain.com/v0.2/docs/integrations/providers/databricks/", "Databricks": "https://python.langchain.com/v0.2/docs/integrations/llms/databricks/"}, "TelegramChatFileLoader": {"Telegram": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/telegram/"}, "TelegramChatApiLoader": {"Telegram": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/telegram/"}, "PredictionGuard": {"Prediction Guard": "https://python.langchain.com/v0.2/docs/integrations/llms/predictionguard/"}, "NotionDirectoryLoader": {"Notion DB": "https://python.langchain.com/v0.2/docs/integrations/providers/notion/", "Notion DB 1/2": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/notion/"}, "NotionDBLoader": {"Notion DB": "https://python.langchain.com/v0.2/docs/integrations/providers/notion/", "Notion DB 2/2": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/notiondb/"}, "MWDumpLoader": {"MediaWikiDump": "https://python.langchain.com/v0.2/docs/integrations/providers/mediawikidump/", "MediaWiki Dump": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/mediawikidump/"}, "BraveSearchLoader": {"Brave Search": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/brave_search/"}, "StarRocks": {"StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/"}, "GooseAI": {"GooseAI": "https://python.langchain.com/v0.2/docs/integrations/llms/gooseai/"}, "DatadogLogsLoader": {"Datadog Logs": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/datadog_logs/"}, "ApifyDatasetLoader": {"Apify": "https://python.langchain.com/v0.2/docs/integrations/providers/apify/", "Apify Dataset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/apify_dataset/"}, "NLPCloud": {"NLPCloud": "https://python.langchain.com/v0.2/docs/integrations/providers/nlpcloud/", "NLP Cloud": "https://python.langchain.com/v0.2/docs/integrations/llms/nlpcloud/"}, "Milvus": {"Milvus": "https://python.langchain.com/v0.2/docs/integrations/providers/milvus/", "Zilliz": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zilliz/"}, "SemaDB": {"SemaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/semadb/"}, "GitbookLoader": {"GitBook": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/gitbook/"}, "Rockset": {"Rockset": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/rockset/"}, "RocksetLoader": {"Rockset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/rockset/"}, "Minimax": {"Minimax": "https://python.langchain.com/v0.2/docs/integrations/llms/minimax/"}, "UnstructuredAPIFileIOLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/"}, "UnstructuredAPIFileLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Unstructured File": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/unstructured_file/"}, "UnstructuredCHMLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/"}, "UnstructuredCSVLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "CSV": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/csv/"}, "UnstructuredEmailLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Email": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/email/"}, "UnstructuredEPubLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "EPub ": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/epub/"}, "UnstructuredFileIOLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Google Drive": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_drive/"}, "UnstructuredFileLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Unstructured File": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/unstructured_file/"}, "UnstructuredImageLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Images": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/image/"}, "UnstructuredODTLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Open Document Format (ODT)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/odt/"}, "UnstructuredOrgModeLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Org-mode": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/org_mode/"}, "UnstructuredRSTLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "RST": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/rst/"}, "UnstructuredRTFLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/"}, "UnstructuredTSVLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "TSV": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tsv/"}, "UnstructuredURLLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "URL": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/url/"}, "UnstructuredXMLLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "XML": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/xml/"}, "SelfHostedPipeline": {"Runhouse": "https://python.langchain.com/v0.2/docs/integrations/llms/runhouse/"}, "SelfHostedHuggingFaceLLM": {"Runhouse": "https://python.langchain.com/v0.2/docs/integrations/llms/runhouse/"}, "MlflowCallbackHandler": {"MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/"}, "SpreedlyLoader": {"Spreedly": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/spreedly/"}, "OpenLLM": {"OpenLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/openllm/"}, "PubMedLoader": {"PubMed": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pubmed/"}, "SearxSearchResults": {"SearxNG Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/searx/"}, "Modal": {"Modal": "https://python.langchain.com/v0.2/docs/integrations/llms/modal/"}, "OpenCityDataLoader": {"Geopandas": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/geopandas/", "Open City Data": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/open_city_data/"}, "PGEmbedding": {"Postgres Embedding": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgembedding/"}, "SQLiteVSS": {"SQLite": "https://python.langchain.com/v0.2/docs/integrations/providers/sqlite/", "SQLite-VSS": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sqlitevss/"}, "Xinference": {"Xorbits Inference (Xinference)": "https://python.langchain.com/v0.2/docs/integrations/llms/xinference/"}, "IFixitLoader": {"iFixit": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/ifixit/"}, "AlephAlpha": {"Aleph Alpha": "https://python.langchain.com/v0.2/docs/integrations/llms/aleph_alpha/"}, "PipelineAI": {"PipelineAI": "https://python.langchain.com/v0.2/docs/integrations/llms/pipelineai/"}, "FacebookChatLoader": {"Facebook - Meta": "https://python.langchain.com/v0.2/docs/integrations/providers/facebook/", "Facebook Chat": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/facebook_chat/"}, "Epsilla": {"Epsilla": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/epsilla/"}, "AwaDB": {"AwaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/awadb/"}, "ArxivLoader": {"Arxiv": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/arxiv/"}, "BlockchainDocumentLoader": {"Alchemy": "https://python.langchain.com/v0.2/docs/integrations/providers/alchemy/", "Blockchain": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/blockchain/"}, "BlockchainType": {"Alchemy": "https://python.langchain.com/v0.2/docs/integrations/providers/alchemy/", "Blockchain": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/blockchain/"}, "Anyscale": {"Anyscale": "https://python.langchain.com/v0.2/docs/integrations/llms/anyscale/"}, "AINetworkToolkit": {"AINetwork": "https://python.langchain.com/v0.2/docs/integrations/toolkits/ainetwork/"}, "StripeLoader": {"Stripe": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/stripe/"}, "StochasticAI": {"StochasticAI": "https://python.langchain.com/v0.2/docs/integrations/llms/stochasticai/"}, "Bagel": {"BagelDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/bageldb/", "Bagel": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/bagel/"}, "TigerGraph": {"TigerGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/tigergraph/"}, "BlackboardLoader": {"Blackboard": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/blackboard/"}, "YandexGPT": {"Yandex": "https://python.langchain.com/v0.2/docs/integrations/providers/yandex/", "YandexGPT": "https://python.langchain.com/v0.2/docs/integrations/llms/yandex/"}, "UpstashVectorStore": {"Upstash Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/upstash/"}, "NucliaTextTransformer": {"Nuclia": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/nuclia_transformer/"}, "NucliaLoader": {"Nuclia": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/nuclia/"}, "NucliaDB": {"Nuclia": "https://python.langchain.com/v0.2/docs/integrations/providers/nuclia/", "NucliaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/nucliadb/"}, "AnalyticDB": {"AnalyticDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/analyticdb/", "Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/"}, "GoogleApiYoutubeLoader": {"YouTube": "https://python.langchain.com/v0.2/docs/integrations/providers/youtube/", "YouTube transcripts": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_transcript/"}, "PromptLayerOpenAI": {"PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/providers/promptlayer/", "PromptLayer OpenAI": "https://python.langchain.com/v0.2/docs/integrations/llms/promptlayer_openai/"}, "USearch": {"USearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/usearch/"}, "EtherscanLoader": {"Etherscan": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/etherscan/"}, "Arcee": {"Arcee": "https://python.langchain.com/v0.2/docs/integrations/llms/arcee/"}, "WhyLabsCallbackHandler": {"WhyLabs": "https://python.langchain.com/v0.2/docs/integrations/providers/whylabs_profiling/"}, "IuguLoader": {"Iugu": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/iugu/"}, "CouchbaseLoader": {"Couchbase": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/couchbase/"}, "FlyteCallbackHandler": {"Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/"}, "wandb_tracing_enabled": {"WandB Tracing": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracing/"}, "ManifestWrapper": {"Hazy Research": "https://python.langchain.com/v0.2/docs/integrations/providers/hazy_research/", "Manifest": "https://python.langchain.com/v0.2/docs/integrations/llms/manifest/"}, "OntotextGraphDBGraph": {"Ontotext GraphDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/ontotext/"}, "OntotextGraphDBQAChain": {"Ontotext GraphDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/ontotext/"}, "Marqo": {"Marqo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/marqo/"}, "IMSDbLoader": {"IMSDb": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/imsdb/"}, "TiDBLoader": {"TiDB": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tidb/"}, "TiDBVectorStore": {"TiDB": "https://python.langchain.com/v0.2/docs/integrations/providers/tidb/", "TiDB Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tidb_vector/"}, "DeepInfra": {"DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/llms/deepinfra/"}, "RedditPostsLoader": {"Reddit": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/reddit/"}, "TrelloLoader": {"Trello": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/trello/"}, "AtlasDB": {"Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/atlas/"}, "SKLearnVectorStore": {"scikit-learn": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sklearn/"}, "EverNoteLoader": {"EverNote": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/evernote/"}, "VDMS": {"VDMS": "https://python.langchain.com/v0.2/docs/integrations/providers/vdms/", "Intel's Visual Data Management System (VDMS)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vdms/"}, "VDMS_Client": {"VDMS": "https://python.langchain.com/v0.2/docs/integrations/providers/vdms/", "Intel's Visual Data Management System (VDMS)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vdms/"}, "TwitterTweetLoader": {"Twitter": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/twitter/"}, "DiscordChatLoader": {"Discord": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/discord/"}, "AssemblyAIAudioTranscriptLoader": {"AssemblyAI": "https://python.langchain.com/v0.2/docs/integrations/providers/assemblyai/", "AssemblyAI Audio Transcripts": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/assemblyai/"}, "KineticaLoader": {"Kinetica": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/kinetica/"}, "ClearMLCallbackHandler": {"ClearML": "https://python.langchain.com/v0.2/docs/integrations/providers/clearml_tracking/"}, "SlackDirectoryLoader": {"Slack": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/slack/"}, "HNLoader": {"Hacker News": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/hacker_news/", "Google Spanner": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_spanner/"}, "CTranslate2": {"CTranslate2": "https://python.langchain.com/v0.2/docs/integrations/llms/ctranslate2/"}, "QianfanLLMEndpoint": {"Baidu": "https://python.langchain.com/v0.2/docs/integrations/providers/baidu/", "Baidu Qianfan": "https://python.langchain.com/v0.2/docs/integrations/llms/baidu_qianfan_endpoint/"}, "BESVectorStore": {"Baidu": "https://python.langchain.com/v0.2/docs/integrations/providers/baidu/", "Baidu Cloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiducloud_vector_search/"}, "BaiduVectorDB": {"Baidu": "https://python.langchain.com/v0.2/docs/integrations/providers/baidu/", "Baidu VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiduvectordb/"}, "Aphrodite": {"PygmalionAI": "https://python.langchain.com/v0.2/docs/integrations/providers/pygmalionai/", "Aphrodite Engine": "https://python.langchain.com/v0.2/docs/integrations/llms/aphrodite/"}, "PaiEasEndpoint": {"Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/", "Alibaba Cloud PAI EAS": "https://python.langchain.com/v0.2/docs/integrations/llms/alibabacloud_pai_eas_endpoint/"}, "MaxComputeLoader": {"Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/", "Alibaba Cloud MaxCompute": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/alibaba_cloud_maxcompute/"}, "AlibabaCloudOpenSearch": {"Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/", "Alibaba Cloud OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/alibabacloud_opensearch/"}, "AlibabaCloudOpenSearchSettings": {"Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/", "Alibaba Cloud OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/alibabacloud_opensearch/"}, "DocusaurusLoader": {"Docusaurus": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docusaurus/"}, "Annoy": {"Annoy": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/annoy/"}, "BibtexLoader": {"BibTeX": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/bibtex/"}, "CassandraLoader": {"Cassandra": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/cassandra/"}, "Vearch": {"Vearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vearch/"}, "JoplinLoader": {"Joplin": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/joplin/"}, "ArthurCallbackHandler": {"Arthur": "https://python.langchain.com/v0.2/docs/integrations/providers/arthur_tracking/"}, "AcreomLoader": {"Acreom": "https://python.langchain.com/v0.2/docs/integrations/providers/acreom/", "acreom": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/acreom/"}, "KDBAI": {"KDB.AI": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kdbai/"}, "DuckDBLoader": {"DuckDB": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/duckdb/"}, "Petals": {"Petals": "https://python.langchain.com/v0.2/docs/integrations/llms/petals/"}, "MomentoVectorIndex": {"Momento": "https://python.langchain.com/v0.2/docs/integrations/providers/momento/", "Momento Vector Index (MVI)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/momento_vector_index/"}, "NIBittensorLLM": {"Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/"}, "AirtableLoader": {"Airtable": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airtable/"}, "LarkSuiteDocLoader": {"ByteDance": "https://python.langchain.com/v0.2/docs/integrations/providers/byte_dance/", "LarkSuite (FeiShu)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/larksuite/"}, "JavelinAIGateway": {"Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/"}, "JavelinAIGatewayEmbeddings": {"Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/"}, "ChatJavelinAIGateway": {"Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/"}, "TensorflowDatasetLoader": {"TensorFlow Datasets": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tensorflow_datasets/"}, "Clarifai": {"Clarifai": "https://python.langchain.com/v0.2/docs/integrations/llms/clarifai/"}, "DataheraldTextToSQL": {"Dataherald": "https://python.langchain.com/v0.2/docs/integrations/providers/dataherald/"}, "RoamLoader": {"Roam": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/roam/"}, "CONDENSE_QUESTION_PROMPT": {"Chat Over Documents with Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/"}, "load_qa_with_sources_chain": {"Chat Over Documents with Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/"}, "QA_PROMPT": {"Chat Over Documents with Vectara": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/"}, "RedisStore": {"RedisStore": "https://python.langchain.com/v0.2/docs/integrations/stores/redis/"}, "AstraDBStore": {"Astra DB": "https://python.langchain.com/v0.2/docs/integrations/stores/astradb/"}, "AstraDBByteStore": {"Astra DB": "https://python.langchain.com/v0.2/docs/integrations/stores/astradb/"}, "CassandraByteStore": {"Cassandra": "https://python.langchain.com/v0.2/docs/integrations/stores/cassandra/"}, "UpstashRedisByteStore": {"UpstashRedisByteStore": "https://python.langchain.com/v0.2/docs/integrations/stores/upstash_redis/"}, "ConneryToolkit": {"Connery Toolkit": "https://python.langchain.com/v0.2/docs/integrations/toolkits/connery/"}, "create_csv_agent": {"CSV": "https://python.langchain.com/v0.2/docs/integrations/toolkits/csv/"}, "create_xorbits_agent": {"Xorbits": "https://python.langchain.com/v0.2/docs/integrations/toolkits/xorbits/"}, "JiraToolkit": {"Jira": "https://python.langchain.com/v0.2/docs/integrations/toolkits/jira/"}, "JiraAPIWrapper": {"Jira": "https://python.langchain.com/v0.2/docs/integrations/toolkits/jira/"}, "create_spark_dataframe_agent": {"Spark Dataframe": "https://python.langchain.com/v0.2/docs/integrations/toolkits/spark/"}, "PythonREPLTool": {"Python": "https://python.langchain.com/v0.2/docs/integrations/toolkits/python/"}, "create_pbi_agent": {"PowerBI Dataset": "https://python.langchain.com/v0.2/docs/integrations/toolkits/powerbi/"}, "AzureCognitiveServicesToolkit": {"Azure Cognitive Services": "https://python.langchain.com/v0.2/docs/integrations/toolkits/azure_cognitive_services/"}, "NLAToolkit": {"Natural Language APIs": "https://python.langchain.com/v0.2/docs/integrations/toolkits/openapi_nla/"}, "Requests": {"Natural Language APIs": "https://python.langchain.com/v0.2/docs/integrations/toolkits/openapi_nla/"}, "GmailToolkit": {"Gmail": "https://python.langchain.com/v0.2/docs/integrations/toolkits/gmail/"}, "build_resource_service": {"Gmail": "https://python.langchain.com/v0.2/docs/integrations/toolkits/gmail/"}, "get_gmail_credentials": {"Gmail": "https://python.langchain.com/v0.2/docs/integrations/toolkits/gmail/"}, "SlackToolkit": {"Slack": "https://python.langchain.com/v0.2/docs/integrations/toolkits/slack/"}, "SteamToolkit": {"Steam Game Recommendation & Game Details": "https://python.langchain.com/v0.2/docs/integrations/toolkits/steam/"}, "SteamWebAPIWrapper": {"Steam Game Recommendation & Game Details": "https://python.langchain.com/v0.2/docs/integrations/toolkits/steam/"}, "CassandraDatabaseToolkit": {"Cassandra Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/cassandra_database/"}, "GetSchemaCassandraDatabaseTool": {"Cassandra Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/cassandra_database/"}, "GetTableDataCassandraDatabaseTool": {"Cassandra Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/cassandra_database/"}, "QueryCassandraDatabaseTool": {"Cassandra Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/cassandra_database/"}, "CassandraDatabase": {"Cassandra Database": "https://python.langchain.com/v0.2/docs/integrations/toolkits/cassandra_database/"}, "JsonToolkit": {"JSON": "https://python.langchain.com/v0.2/docs/integrations/toolkits/json/"}, "create_json_agent": {"JSON": "https://python.langchain.com/v0.2/docs/integrations/toolkits/json/"}, "JsonSpec": {"JSON": "https://python.langchain.com/v0.2/docs/integrations/toolkits/json/", "OpenAPI": "https://python.langchain.com/v0.2/docs/integrations/toolkits/openapi/"}, "AirbyteStripeLoader": {"Airbyte Question Answering": "https://python.langchain.com/v0.2/docs/integrations/toolkits/airbyte_structured_qa/", "Airbyte Stripe (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_stripe/"}, "GitHubToolkit": {"Github": "https://python.langchain.com/v0.2/docs/integrations/toolkits/github/"}, "GitHubAPIWrapper": {"Github": "https://python.langchain.com/v0.2/docs/integrations/toolkits/github/"}, "ConversationSummaryBufferMemory": {"Github": "https://python.langchain.com/v0.2/docs/integrations/toolkits/github/"}, "tracing_v2_enabled": {"Github": "https://python.langchain.com/v0.2/docs/integrations/toolkits/github/", "Chat Bot Feedback Template": "https://python.langchain.com/v0.2/docs/templates/chat-bot-feedback/"}, "render_text_description_and_args": {"Github": "https://python.langchain.com/v0.2/docs/integrations/toolkits/github/", "Amadeus": "https://python.langchain.com/v0.2/docs/integrations/toolkits/amadeus/"}, "ClickupToolkit": {"ClickUp": "https://python.langchain.com/v0.2/docs/integrations/toolkits/clickup/"}, "ClickupAPIWrapper": {"ClickUp": "https://python.langchain.com/v0.2/docs/integrations/toolkits/clickup/"}, "SparkSQLToolkit": {"Spark SQL": "https://python.langchain.com/v0.2/docs/integrations/toolkits/spark_sql/"}, "create_spark_sql_agent": {"Spark SQL": "https://python.langchain.com/v0.2/docs/integrations/toolkits/spark_sql/"}, "SparkSQL": {"Spark SQL": "https://python.langchain.com/v0.2/docs/integrations/toolkits/spark_sql/"}, "PlayWrightBrowserToolkit": {"PlayWright Browser": "https://python.langchain.com/v0.2/docs/integrations/toolkits/playwright/"}, "create_async_playwright_browser": {"PlayWright Browser": "https://python.langchain.com/v0.2/docs/integrations/toolkits/playwright/"}, "create_conversational_retrieval_agent": {"# Cogniswitch Tools": "https://python.langchain.com/v0.2/docs/integrations/toolkits/cogniswitch/"}, "CogniswitchToolkit": {"# Cogniswitch Tools": "https://python.langchain.com/v0.2/docs/integrations/toolkits/cogniswitch/"}, "NasaToolkit": {"NASA": "https://python.langchain.com/v0.2/docs/integrations/toolkits/nasa/"}, "NasaAPIWrapper": {"NASA": "https://python.langchain.com/v0.2/docs/integrations/toolkits/nasa/"}, "MultionToolkit": {"MultiOn": "https://python.langchain.com/v0.2/docs/integrations/toolkits/multion/"}, "AmadeusToolkit": {"Amadeus": "https://python.langchain.com/v0.2/docs/integrations/toolkits/amadeus/"}, "HuggingFaceHub": {"Amadeus": "https://python.langchain.com/v0.2/docs/integrations/toolkits/amadeus/"}, "AzureAiServicesToolkit": {"Azure AI Services": "https://python.langchain.com/v0.2/docs/integrations/toolkits/azure_ai_services/"}, "create_structured_chat_agent": {"Azure AI Services": "https://python.langchain.com/v0.2/docs/integrations/toolkits/azure_ai_services/"}, "reduce_openapi_spec": {"OpenAPI": "https://python.langchain.com/v0.2/docs/integrations/toolkits/openapi/"}, "RequestsWrapper": {"OpenAPI": "https://python.langchain.com/v0.2/docs/integrations/toolkits/openapi/"}, "OpenAPIToolkit": {"OpenAPI": "https://python.langchain.com/v0.2/docs/integrations/toolkits/openapi/"}, "create_openapi_agent": {"OpenAPI": "https://python.langchain.com/v0.2/docs/integrations/toolkits/openapi/"}, "GitLabToolkit": {"Gitlab": "https://python.langchain.com/v0.2/docs/integrations/toolkits/gitlab/"}, "GitLabAPIWrapper": {"Gitlab": "https://python.langchain.com/v0.2/docs/integrations/toolkits/gitlab/"}, "PolygonToolkit": {"Polygon IO Toolkit": "https://python.langchain.com/v0.2/docs/integrations/toolkits/polygon/"}, "ApacheDorisSettings": {"Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/"}, "DistanceStrategy": {"Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/singlestoredb/", "Oracle AI Vector Search: Vector Store": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/oracle/", "Google BigQuery Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_bigquery_vector_search/", "SemaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/semadb/"}, "SentenceTransformerEmbeddings": {"SQLite-VSS": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sqlitevss/", "Vespa": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vespa/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/chroma/"}, "Vald": {"Vald": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vald/"}, "RetrievalQAWithSourcesChain": {"Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/", "Marqo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/marqo/", "Psychic": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/psychic/"}, "Yellowbrick": {"Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/"}, "LLMRails": {"LLMRails": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/llm_rails/"}, "HanaDB": {"SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/"}, "VectorSearchVectorStoreDatastore": {"Google Vertex AI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_vertex_ai_vector_search/"}, "VertexAI": {"Google Vertex AI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_vertex_ai_vector_search/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/"}, "Hippo": {"Hippo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hippo/"}, "RedisText": {"Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/redis/"}, "RedisNum": {"Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/redis/"}, "RedisTag": {"Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/redis/"}, "RedisFilter": {"Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/redis/"}, "VespaStore": {"Vespa": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vespa/"}, "NeuralDBVectorStore": {"ThirdAI NeuralDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/thirdai_neuraldb/"}, "VikingDB": {"viking DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vikingdb/"}, "VikingDBConfig": {"viking DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vikingdb/"}, "CouchbaseVectorStore": {"Couchbase ": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/couchbase/"}, "Relyt": {"Relyt": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/relyt/"}, "oraclevs": {"Oracle AI Vector Search: Vector Store": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/oracle/"}, "VLite": {"vlite": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vlite/"}, "DuckDB": {"DuckDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/duckdb/"}, "StarRocksSettings": {"StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/"}, "PathwayVectorClient": {"Pathway": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pathway/"}, "DocArrayHnswSearch": {"DocArray HnswSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_hnsw/"}, "TileDB": {"TileDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tiledb/"}, "EcloudESVectorStore": {"China Mobile ECloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/ecloud_vector_search/"}, "SurrealDBStore": {"SurrealDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/surrealdb/"}, "ManticoreSearch": {"ManticoreSearch VectorStore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/manticore_search/"}, "ManticoreSearchSettings": {"ManticoreSearch VectorStore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/manticore_search/"}, "Aerospike": {"Aerospike": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aerospike/"}, "ElasticVectorSearch": {"Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/elasticsearch/"}, "PGVecto_rs": {"PGVecto.rs": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgvecto_rs/"}, "BigQueryVectorSearch": {"Google BigQuery Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_bigquery_vector_search/"}, "ZepVectorStore": {"Zep": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep/"}, "CollectionConfig": {"Zep": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep/"}, "openai": {"OpenAI Adapter(Old)": "https://python.langchain.com/v0.2/docs/integrations/adapters/openai-old/", "OpenAI Adapter": "https://python.langchain.com/v0.2/docs/integrations/adapters/openai/"}, "RankLLMRerank": {"RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/"}, "AsyncChromiumLoader": {"Beautiful Soup": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/beautiful_soup/", "Async Chromium": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/async_chromium/"}, "BeautifulSoupTransformer": {"Beautiful Soup": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/beautiful_soup/"}, "OpenVINOReranker": {"OpenVINO Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openvino_rerank/"}, "create_metadata_tagger": {"OpenAI metadata tagger": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openai_metadata_tagger/"}, "DoctranPropertyExtractor": {"Doctran: extract properties": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/doctran_extract_properties/"}, "DoctranQATransformer": {"Doctran: interrogate documents": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/doctran_interrogate_document/"}, "CrossEncoderReranker": {"Cross Encoder Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/cross_encoder_reranker/"}, "HuggingFaceCrossEncoder": {"Cross Encoder Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/cross_encoder_reranker/"}, "JinaRerank": {"Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/"}, "DoctranTextTranslator": {"Doctran: language translation": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/doctran_translate_document/"}, "MarkdownifyTransformer": {"Markdownify": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/markdownify/"}, "XorbitsLoader": {"Xorbits Pandas DataFrame": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/xorbits/"}, "OutlookMessageLoader": {"Email": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/email/"}, "TranscriptFormat": {"AssemblyAI Audio Transcripts": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/assemblyai/"}, "AirbyteSalesforceLoader": {"Airbyte Salesforce (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_salesforce/"}, "AirbyteCDKLoader": {"Airbyte CDK (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_cdk/"}, "Docx2txtLoader": {"Microsoft Word": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_word/"}, "RSpaceLoader": {"# replace these ids with some from your own research notes.": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/rspace/"}, "SeleniumURLLoader": {"URL": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/url/"}, "PlaywrightURLLoader": {"URL": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/url/"}, "AirbyteJSONLoader": {"Airbyte JSON (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_json/"}, "GeoDataFrameLoader": {"Geopandas": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/geopandas/"}, "AirbyteTypeformLoader": {"Airbyte Typeform (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_typeform/"}, "MHTMLLoader": {"mhtml": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/mhtml/"}, "SpiderLoader": {"Spider": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/spider/"}, "NewsURLLoader": {"News URL": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/news/"}, "ImageCaptionLoader": {"Image captions": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/image_captions/"}, "LLMSherpaFileLoader": {"LLM Sherpa": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/llmsherpa/"}, "ScrapflyLoader": {"# ScrapFly": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/scrapfly/"}, "TomlLoader": {"TOML": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/toml/"}, "PsychicLoader": {"Psychic": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/psychic/"}, "FireCrawlLoader": {"FireCrawl": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/firecrawl/"}, "LarkSuiteWikiLoader": {"LarkSuite (FeiShu)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/larksuite/"}, "FakeListLLM": {"LarkSuite (FeiShu)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/larksuite/"}, "MergedDataLoader": {"Merge Documents Loader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/merge_doc/"}, "RecursiveUrlLoader": {"Recursive URL": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/recursive_url/"}, "AirbyteHubspotLoader": {"Airbyte Hubspot (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_hubspot/"}, "AirbyteGongLoader": {"Airbyte Gong (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_gong/"}, "AstraDBLoader": {"AstraDB": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/astradb/"}, "ReadTheDocsLoader": {"ReadTheDocs Documentation": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/readthedocs_documentation/"}, "PolarsDataFrameLoader": {"Polars DataFrame": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/polars_dataframe/"}, "DataFrameLoader": {"Pandas DataFrame": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pandas_dataframe/"}, "SurrealDBLoader": {"SurrealDB": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/surrealdb/"}, "GoogleApiClient": {"YouTube transcripts": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_transcript/"}, "ConcurrentLoader": {"Concurrent Loader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/concurrent/"}, "RSSFeedLoader": {"RSS Feeds": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/rss/"}, "PebbloSafeLoader": {"Pebblo Safe DocumentLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pebblo/"}, "VsdxLoader": {"Vsdx": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/vsdx/"}, "NotebookLoader": {"Jupyter Notebook": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/jupyter_notebook/"}, "OracleAutonomousDatabaseLoader": {"Oracle Autonomous Database": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/oracleadb_loader/"}, "LanguageParser": {"Source Code": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/source_code/"}, "SRTLoader": {"Subtitle": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/subtitle/"}, "MastodonTootsLoader": {"Mastodon": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/mastodon/"}, "AirbyteShopifyLoader": {"Airbyte Shopify (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_shopify/"}, "GlueCatalogLoader": {"Glue Catalog": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/glue_catalog/"}, "PySparkDataFrameLoader": {"PySpark": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pyspark_dataframe/"}, "AirbyteZendeskSupportLoader": {"Airbyte Zendesk Support (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_zendesk_support/"}, "CoNLLULoader": {"CoNLL-U": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/conll-u/"}, "MongodbLoader": {"MongoDB": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/mongodb/"}, "SitemapLoader": {"Sitemap": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/sitemap/"}, "YuqueLoader": {"Yuque": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/yuque/"}, "QuipLoader": {"Quip": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/quip/"}, "MemgraphGraph": {"Memgraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/memgraph/"}, "GraphSparqlQAChain": {"RDFLib": "https://python.langchain.com/v0.2/docs/integrations/graphs/rdflib_sparql/"}, "RdfGraph": {"RDFLib": "https://python.langchain.com/v0.2/docs/integrations/graphs/rdflib_sparql/"}, "NebulaGraphQAChain": {"NebulaGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/nebula_graph/"}, "NebulaGraph": {"NebulaGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/nebula_graph/"}, "GremlinQAChain": {"Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/"}, "GraphIndexCreator": {"NetworkX": "https://python.langchain.com/v0.2/docs/integrations/graphs/networkx/"}, "GraphQAChain": {"NetworkX": "https://python.langchain.com/v0.2/docs/integrations/graphs/networkx/"}, "NetworkxEntityGraph": {"NetworkX": "https://python.langchain.com/v0.2/docs/integrations/graphs/networkx/"}, "HugeGraphQAChain": {"HugeGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/hugegraph/"}, "HugeGraph": {"HugeGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/hugegraph/"}, "AGEGraph": {"Apache AGE": "https://python.langchain.com/v0.2/docs/integrations/graphs/apache_age/"}, "KuzuQAChain": {"Kuzu": "https://python.langchain.com/v0.2/docs/integrations/graphs/kuzu_db/"}, "KuzuGraph": {"Kuzu": "https://python.langchain.com/v0.2/docs/integrations/graphs/kuzu_db/"}, "FalkorDBQAChain": {"FalkorDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/falkordb/"}, "FalkorDBGraph": {"FalkorDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/falkordb/"}, "ConversationBufferWindowMemory": {"Baseten": "https://python.langchain.com/v0.2/docs/integrations/llms/baseten/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/"}, "Solar": {"Solar": "https://python.langchain.com/v0.2/docs/integrations/llms/solar/"}, "IpexLLM": {"IPEX-LLM": "https://python.langchain.com/v0.2/docs/integrations/llms/ipex_llm/"}, "SagemakerEndpoint": {"SageMakerEndpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/sagemaker/"}, "LLMContentHandler": {"SageMakerEndpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/sagemaker/"}, "OctoAIEndpoint": {"OctoAI": "https://python.langchain.com/v0.2/docs/integrations/llms/octoai/"}, "TextGen": {"TextGen": "https://python.langchain.com/v0.2/docs/integrations/llms/textgen/"}, "MosaicML": {"MosaicML": "https://python.langchain.com/v0.2/docs/integrations/llms/mosaicml/"}, "VolcEngineMaasLLM": {"Volc Engine Maas": "https://python.langchain.com/v0.2/docs/integrations/llms/volcengine_maas/"}, "KoboldApiLLM": {"KoboldAI API": "https://python.langchain.com/v0.2/docs/integrations/llms/koboldai/"}, "Konko": {"Konko": "https://python.langchain.com/v0.2/docs/integrations/llms/konko/"}, "GemmaChatVertexAIModelGarden": {"Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/"}, "GemmaVertexAIModelGarden": {"Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/"}, "ChatAnthropicVertex": {"Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/"}, "OpaquePrompts": {"OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/"}, "TitanTakeoff": {"Titan Takeoff": "https://python.langchain.com/v0.2/docs/integrations/llms/titan_takeoff/"}, "Friendli": {"Friendli": "https://python.langchain.com/v0.2/docs/integrations/llms/friendli/"}, "Databricks": {"Databricks": "https://python.langchain.com/v0.2/docs/integrations/llms/databricks/"}, "LMFormatEnforcer": {"LM Format Enforcer": "https://python.langchain.com/v0.2/docs/integrations/llms/lmformatenforcer_experimental/"}, "VLLM": {"vLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/vllm/"}, "VLLMOpenAI": {"vLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/vllm/"}, "CustomOpenAIContentFormatter": {"Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/"}, "ContentFormatterBase": {"Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/"}, "DollyContentFormatter": {"Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/"}, "load_llm": {"Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/"}, "MapReduceChain": {"Manifest": "https://python.langchain.com/v0.2/docs/integrations/llms/manifest/"}, "ModelLaboratory": {"Manifest": "https://python.langchain.com/v0.2/docs/integrations/llms/manifest/"}, "ExLlamaV2": {"ExLlamaV2": "https://python.langchain.com/v0.2/docs/integrations/llms/exllamav2/"}, "RELLM": {"RELLM": "https://python.langchain.com/v0.2/docs/integrations/llms/rellm_experimental/"}, "Yuan2": {"Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/llms/yuan2/"}, "SparkLLM": {"SparkLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/sparkllm/"}, "Moonshot": {"MoonshotChat": "https://python.langchain.com/v0.2/docs/integrations/llms/moonshot/"}, "OpenLM": {"OpenLM": "https://python.langchain.com/v0.2/docs/integrations/llms/openlm/"}, "CloudflareWorkersAI": {"Cloudflare Workers AI": "https://python.langchain.com/v0.2/docs/integrations/llms/cloudflare_workersai/"}, "ChatGLM3": {"ChatGLM": "https://python.langchain.com/v0.2/docs/integrations/llms/chatglm/"}, "ChatGLM": {"ChatGLM": "https://python.langchain.com/v0.2/docs/integrations/llms/chatglm/"}, "Sambaverse": {"SambaNova": "https://python.langchain.com/v0.2/docs/integrations/llms/sambanova/"}, "SambaStudio": {"SambaNova": "https://python.langchain.com/v0.2/docs/integrations/llms/sambanova/"}, "LayerupSecurity": {"Layerup Security": "https://python.langchain.com/v0.2/docs/integrations/llms/layerup_security/"}, "JsonFormer": {"JSONFormer": "https://python.langchain.com/v0.2/docs/integrations/llms/jsonformer_experimental/"}, "WeightOnlyQuantPipeline": {"Intel Weight-Only Quantization": "https://python.langchain.com/v0.2/docs/integrations/llms/weight_only_quantization/"}, "Replicate": {"Replicate": "https://python.langchain.com/v0.2/docs/integrations/llms/replicate/"}, "RunnablePick": {"Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/"}, "StuffDocumentsChain": {"Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/"}, "MapReduceDocumentsChain": {"Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/"}, "ReduceDocumentsChain": {"Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/"}, "AnalyzeDocumentChain": {"Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/"}, "QuerySQLDataBaseTool": {"Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/"}, "OPENAI_TEMPLATE": {"Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "create_openai_data_generator": {"Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "DatasetGenerator": {"Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "create_data_generation_chain": {"Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "create_extraction_chain_pydantic": {"Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}}
\ No newline at end of file
+{"ChatPromptTemplate": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/", "Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "# Example": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_rerank_docs_chain/", "# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/llm_router_chain/", "Load docs": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/conversation_retrieval_chain/", "# Basic example (short documents)": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_reduce_chain/", "How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to do per-user retrieval": "https://python.langchain.com/v0.2/docs/how_to/qa_per_user/", "How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "How to create a custom LLM class": "https://python.langchain.com/v0.2/docs/how_to/custom_llm/", "How to inspect runnables": "https://python.langchain.com/v0.2/docs/how_to/inspect/", "How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to use few shot examples in chat models": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples_chat/", "How to summarize text through iterative refinement": "https://python.langchain.com/v0.2/docs/how_to/summarize_refine/", "How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to create tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/", "How to use prompting alone (no tool calling) to do extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_parse/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/", "How to propagate callbacks constructor": "https://python.langchain.com/v0.2/docs/how_to/callbacks_constructor/", "How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/", "How to save and load LangChain objects": "https://python.langchain.com/v0.2/docs/how_to/serialization/", "How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to summarize text through parallelization": "https://python.langchain.com/v0.2/docs/how_to/summarize_map_reduce/", "How to attach callbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/callbacks_attach/", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to add default invocation args to a Runnable": "https://python.langchain.com/v0.2/docs/how_to/binding/", "How to convert Runnables as Tools": "https://python.langchain.com/v0.2/docs/how_to/convert_runnable_to_tool/", "How to stream events from a tool": "https://python.langchain.com/v0.2/docs/how_to/tool_stream_events/", "How to create a dynamic (self-constructing) chain": "https://python.langchain.com/v0.2/docs/how_to/dynamic_chain/", "How to create custom callback handlers": "https://python.langchain.com/v0.2/docs/how_to/custom_callbacks/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "How deal with high cardinality categoricals when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_high_cardinality/", "How to return structured data from a model": "https://python.langchain.com/v0.2/docs/how_to/structured_output/", "How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/", "How to debug your LLM apps": "https://python.langchain.com/v0.2/docs/how_to/debugging/", "How to chain runnables": "https://python.langchain.com/v0.2/docs/how_to/sequence/", "Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "How to do query validation as part of SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_query_checking/", "How to summarize text in a single LLM call": "https://python.langchain.com/v0.2/docs/how_to/summarize_stuff/", "How to use multimodal prompts": "https://python.langchain.com/v0.2/docs/how_to/multimodal_prompts/", "How to use few-shot prompting with tool calling": "https://python.langchain.com/v0.2/docs/how_to/tools_few_shot/", "How to pass callbacks in at runtime": "https://python.langchain.com/v0.2/docs/how_to/callbacks_runtime/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "LangSmith LLM Runs": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_llm_runs/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/", "NVIDIA NIMs ": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/nvidia_ai_endpoints/", "AzureAISearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "You.com": "https://python.langchain.com/v0.2/docs/integrations/retrievers/you-retriever/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "AskNews": "https://python.langchain.com/v0.2/docs/integrations/retrievers/asknews/", "WikipediaRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/wikipedia/", "TavilySearchAPIRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tavily/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/retrievers/ragatouille/", "ArxivRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/arxiv/", "ElasticsearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/elasticsearch_retriever/", "Google Vertex AI Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/google_vertex_ai_search/", "Tavily Search": "https://python.langchain.com/v0.2/docs/integrations/tools/tavily_search/", "FinancialDatasets Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/financial_datasets/", "Databricks Unity Catalog (UC)": "https://python.langchain.com/v0.2/docs/integrations/tools/databricks/", "Riza Code Interpreter": "https://python.langchain.com/v0.2/docs/integrations/tools/riza/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/memory/redis_chat_message_history/", "Google SQL for MySQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mysql/", "Google AlloyDB for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_alloydb/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "AWS DynamoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/aws_dynamodb/", "Couchbase": "https://python.langchain.com/v0.2/docs/integrations/memory/couchbase_chat_message_history/", "MongoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/mongodb_chat_message_history/", "SQL (SQLAlchemy)": "https://python.langchain.com/v0.2/docs/integrations/memory/sql_chat_message_history/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/memory/streamlit_chat_message_history/", "Google El Carro Oracle": "https://python.langchain.com/v0.2/docs/integrations/memory/google_el_carro/", "SQLite": "https://python.langchain.com/v0.2/docs/integrations/memory/sqlite/", "Google SQL for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_pg/", "Google SQL for SQL Server": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mssql/", "TiDB": "https://python.langchain.com/v0.2/docs/integrations/memory/tidb_chat_message_history/", "Kinetica Language To SQL Chat Model": "https://python.langchain.com/v0.2/docs/integrations/chat/kinetica/", "ChatFireworks": "https://python.langchain.com/v0.2/docs/integrations/chat/fireworks/", "ChatYI": "https://python.langchain.com/v0.2/docs/integrations/chat/yi/", "ChatAnthropic": "https://python.langchain.com/v0.2/docs/integrations/chat/anthropic/", "ChatGroq": "https://python.langchain.com/v0.2/docs/integrations/chat/groq/", "ChatGoogleGenerativeAI": "https://python.langchain.com/v0.2/docs/integrations/chat/google_generative_ai/", "OllamaFunctions": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama_functions/", "ChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/openai/", "ChatVertexAI": "https://python.langchain.com/v0.2/docs/integrations/chat/google_vertex_ai_palm/", "ChatBedrock": "https://python.langchain.com/v0.2/docs/integrations/chat/bedrock/", "JinaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/jinachat/", "ChatOllama": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama/", "ChatOCIGenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/oci_generative_ai/", "AzureChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/azure_chat_openai/", "Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/chat/llamacpp/", "ChatMistralAI": "https://python.langchain.com/v0.2/docs/integrations/chat/mistralai/", "ChatAI21": "https://python.langchain.com/v0.2/docs/integrations/chat/ai21/", "ChatDatabricks": "https://python.langchain.com/v0.2/docs/integrations/chat/databricks/", "ChatTogether": "https://python.langchain.com/v0.2/docs/integrations/chat/together/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/providers/cohere/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/chat/edenai/", "ChatWatsonx": "https://python.langchain.com/v0.2/docs/integrations/chat/ibm_watsonx/", "vLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/vllm/", "Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/chat/yuan2/", "Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/", "ChatPerplexity": "https://python.langchain.com/v0.2/docs/integrations/chat/perplexity/", "ChatUpstage": "https://python.langchain.com/v0.2/docs/integrations/chat/upstage/", "ChatNVIDIA": "https://python.langchain.com/v0.2/docs/integrations/chat/nvidia_ai_endpoints/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "Fiddler": "https://python.langchain.com/v0.2/docs/integrations/callbacks/fiddler/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "ApertureDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aperturedb/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "OpenAI metadata tagger": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openai_metadata_tagger/", "Image captions": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/image_captions/", "Figma": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/figma/", "OllamaLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/ollama/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/", "Build an Extraction Chain": "https://python.langchain.com/v0.2/docs/tutorials/extraction/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Classify Text into Labels": "https://python.langchain.com/v0.2/docs/tutorials/classification/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/", "Build a Simple LLM Application with LCEL": "https://python.langchain.com/v0.2/docs/tutorials/llm_chain/", "Build a PDF ingestion and Question/Answering system": "https://python.langchain.com/v0.2/docs/tutorials/pdf_qa/", "Vector stores and retrievers": "https://python.langchain.com/v0.2/docs/tutorials/retrievers/"}, "ChatAnthropic": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/", "Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "How to use callbacks in async environments": "https://python.langchain.com/v0.2/docs/how_to/callbacks_async/", "How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "How to merge consecutive messages of the same type": "https://python.langchain.com/v0.2/docs/how_to/merge_message_runs/", "How to parse XML output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_xml/", "How to use prompting alone (no tool calling) to do extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_parse/", "How to handle rate limits": "https://python.langchain.com/v0.2/docs/how_to/chat_model_rate_limiting/", "How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/", "How to propagate callbacks constructor": "https://python.langchain.com/v0.2/docs/how_to/callbacks_constructor/", "How to stream chat model responses": "https://python.langchain.com/v0.2/docs/how_to/chat_streaming/", "How to attach callbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/callbacks_attach/", "How to filter messages": "https://python.langchain.com/v0.2/docs/how_to/filter_messages/", "How to create a dynamic (self-constructing) chain": "https://python.langchain.com/v0.2/docs/how_to/dynamic_chain/", "How to create custom callback handlers": "https://python.langchain.com/v0.2/docs/how_to/custom_callbacks/", "How to configure runtime chain internals": "https://python.langchain.com/v0.2/docs/how_to/configure/", "How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/", "Response metadata": "https://python.langchain.com/v0.2/docs/how_to/response_metadata/", "How to pass callbacks in at runtime": "https://python.langchain.com/v0.2/docs/how_to/callbacks_runtime/", "Anthropic": "https://python.langchain.com/v0.2/docs/integrations/platforms/anthropic/", "PlayWright Browser Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/playwright/", "Riza Code Interpreter": "https://python.langchain.com/v0.2/docs/integrations/tools/riza/", "ChatAnthropic": "https://python.langchain.com/v0.2/docs/integrations/chat/anthropic/", "Log10": "https://python.langchain.com/v0.2/docs/integrations/providers/log10/", "Build an Agent": "https://python.langchain.com/v0.2/docs/tutorials/agents/"}, "ChatOpenAI": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/", "Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/llm_router_chain/", "Load docs": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/retrieval_qa/", "# Example": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_rerank_docs_chain/", "How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to disable parallel tool calling": "https://python.langchain.com/v0.2/docs/how_to/tool_calling_parallel/", "How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "How to inspect runnables": "https://python.langchain.com/v0.2/docs/how_to/inspect/", "How to bind model-specific tools": "https://python.langchain.com/v0.2/docs/how_to/tools_model_specific/", "How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to trim messages": "https://python.langchain.com/v0.2/docs/how_to/trim_messages/", "How to use few shot examples in chat models": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples_chat/", "How to use LangChain with different Pydantic versions": "https://python.langchain.com/v0.2/docs/how_to/pydantic_compatibility/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/", "How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/", "How to pass multimodal data directly to models": "https://python.langchain.com/v0.2/docs/how_to/multimodal_inputs/", "How to save and load LangChain objects": "https://python.langchain.com/v0.2/docs/how_to/serialization/", "How to use the output-fixing parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_fixing/", "How to convert tools to OpenAI Functions": "https://python.langchain.com/v0.2/docs/how_to/tools_as_openai_functions/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to add default invocation args to a Runnable": "https://python.langchain.com/v0.2/docs/how_to/binding/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to configure runtime chain internals": "https://python.langchain.com/v0.2/docs/how_to/configure/", "How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to construct knowledge graphs": "https://python.langchain.com/v0.2/docs/how_to/graph_constructing/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "How deal with high cardinality categoricals when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_high_cardinality/", "How to get log probabilities": "https://python.langchain.com/v0.2/docs/how_to/logprobs/", "How to parse YAML output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_yaml/", "Response metadata": "https://python.langchain.com/v0.2/docs/how_to/response_metadata/", "How to parse JSON output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_json/", "How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "How to stream tool calls": "https://python.langchain.com/v0.2/docs/how_to/tool_streaming/", "How to use multimodal prompts": "https://python.langchain.com/v0.2/docs/how_to/multimodal_prompts/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "How to use few-shot prompting with tool calling": "https://python.langchain.com/v0.2/docs/how_to/tools_few_shot/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "WeChat": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/wechat/", "Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "LangSmith LLM Runs": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_llm_runs/", "Slack": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/slack/", "WhatsApp": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/whatsapp/", "LangSmith Chat Datasets": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_dataset/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/", "Telegram": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/telegram/", "Discord": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/discord/", "AzureAISearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "You.com": "https://python.langchain.com/v0.2/docs/integrations/retrievers/you-retriever/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "AskNews": "https://python.langchain.com/v0.2/docs/integrations/tools/asknews/", "LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "Outline": "https://python.langchain.com/v0.2/docs/integrations/retrievers/outline/", "SEC filing": "https://python.langchain.com/v0.2/docs/integrations/retrievers/sec_filings/", "TavilySearchAPIRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tavily/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/retrievers/ragatouille/", "ElasticsearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/elasticsearch_retriever/", "Rememberizer": "https://python.langchain.com/v0.2/docs/integrations/retrievers/rememberizer/", "Milvus Hybrid Search Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/milvus_hybrid_search/", "Kay.ai": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kay/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "Vectara self-querying ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/tencentvectordb/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/myscale_self_query/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "ChatGPT Plugins": "https://python.langchain.com/v0.2/docs/integrations/tools/chatgpt_plugins/", "Connery Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/connery/", "Infobip": "https://python.langchain.com/v0.2/docs/integrations/tools/infobip/", "PowerBI Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/powerbi/", "E2B Data Analysis": "https://python.langchain.com/v0.2/docs/integrations/tools/e2b_data_analysis/", "Human as a tool": "https://python.langchain.com/v0.2/docs/integrations/tools/human_tools/", "Azure Container Apps dynamic sessions": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_dynamic_sessions/", "FinancialDatasets Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/financial_datasets/", "Slack Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/slack/", "Cassandra Database Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/cassandra_database/", "Yahoo Finance News": "https://python.langchain.com/v0.2/docs/integrations/tools/yahoo_finance_news/", "Polygon IO Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon_toolkit/", "Semantic Scholar API Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/semanticscholar/", "Spark SQL Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/spark_sql/", "Requests Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/requests/", "AINetwork Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/ainetwork/", "Passio NutritionAI": "https://python.langchain.com/v0.2/docs/integrations/tools/passio_nutrition_ai/", "Cogniswitch Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/cogniswitch/", "Bearly Code Interpreter": "https://python.langchain.com/v0.2/docs/integrations/tools/bearly/", "Pandas Dataframe": "https://python.langchain.com/v0.2/docs/integrations/tools/pandas/", "ArXiv": "https://python.langchain.com/v0.2/docs/integrations/tools/arxiv/", "Robocorp Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/robocorp/", "Connery Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/connery_toolkit/", "MultiOn Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/multion/", "Exa Search": "https://python.langchain.com/v0.2/docs/integrations/tools/exa_search/", "Amadeus Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/amadeus/", "Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/", "You.com Search": "https://python.langchain.com/v0.2/docs/integrations/tools/you/", "OpenAPI Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/openapi/", "Shell (bash)": "https://python.langchain.com/v0.2/docs/integrations/tools/bash/", "Polygon IO Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/memory/redis_chat_message_history/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "AWS DynamoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/aws_dynamodb/", "Couchbase": "https://python.langchain.com/v0.2/docs/integrations/memory/couchbase_chat_message_history/", "MongoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/mongodb_chat_message_history/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/memory/xata_chat_message_history/", "Remembrall": "https://python.langchain.com/v0.2/docs/integrations/memory/remembrall/", "SQL (SQLAlchemy)": "https://python.langchain.com/v0.2/docs/integrations/memory/sql_chat_message_history/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/memory/streamlit_chat_message_history/", "SQLite": "https://python.langchain.com/v0.2/docs/integrations/memory/sqlite/", "TiDB": "https://python.langchain.com/v0.2/docs/integrations/memory/tidb_chat_message_history/", "ChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/openai/", "vLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/vllm/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "Label Studio": "https://python.langchain.com/v0.2/docs/integrations/callbacks/labelstudio/", "PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/callbacks/promptlayer/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "Trubrics": "https://python.langchain.com/v0.2/docs/integrations/callbacks/trubrics/", "Infino": "https://python.langchain.com/v0.2/docs/integrations/callbacks/infino/", "Upstash Ratelimit Callback": "https://python.langchain.com/v0.2/docs/integrations/callbacks/upstash_ratelimit/", "CnosDB": "https://python.langchain.com/v0.2/docs/integrations/providers/cnosdb/", "Log10": "https://python.langchain.com/v0.2/docs/integrations/providers/log10/", "MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "Arthur": "https://python.langchain.com/v0.2/docs/integrations/providers/arthur_tracking/", "Dataherald": "https://python.langchain.com/v0.2/docs/integrations/providers/dataherald/", "Log, Trace, and Monitor": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/logging_tracing_portkey/", "Portkey": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/index/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "Hippo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hippo/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vectara/", "Momento Vector Index (MVI)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/momento_vector_index/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "KDB.AI": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kdbai/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "OpenAI metadata tagger": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openai_metadata_tagger/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/", "Image captions": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/image_captions/", "Figma": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/figma/", "Browserbase": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/browserbase/", "Memgraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/memgraph/", "RDFLib": "https://python.langchain.com/v0.2/docs/integrations/graphs/rdflib_sparql/", "NebulaGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/nebula_graph/", "HugeGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/hugegraph/", "Diffbot": "https://python.langchain.com/v0.2/docs/integrations/graphs/diffbot/", "Ontotext GraphDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/ontotext/", "Apache AGE": "https://python.langchain.com/v0.2/docs/integrations/graphs/apache_age/", "Neo4j": "https://python.langchain.com/v0.2/docs/integrations/graphs/neo4j_cypher/", "ArangoDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/arangodb/", "Amazon Neptune with Cypher": "https://python.langchain.com/v0.2/docs/integrations/graphs/amazon_neptune_open_cypher/", "Kuzu": "https://python.langchain.com/v0.2/docs/integrations/graphs/kuzu_db/", "FalkorDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/falkordb/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Classify Text into Labels": "https://python.langchain.com/v0.2/docs/tutorials/classification/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/", "Build a Simple LLM Application with LCEL": "https://python.langchain.com/v0.2/docs/tutorials/llm_chain/", "Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/", "Build a Question Answering application over a Graph Database": "https://python.langchain.com/v0.2/docs/tutorials/graph/"}, "SystemMessage": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/", "How to merge consecutive messages of the same type": "https://python.langchain.com/v0.2/docs/how_to/merge_message_runs/", "How to trim messages": "https://python.langchain.com/v0.2/docs/how_to/trim_messages/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to filter messages": "https://python.langchain.com/v0.2/docs/how_to/filter_messages/", "How to compose prompts together": "https://python.langchain.com/v0.2/docs/how_to/prompts_composition/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "Robocorp Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/robocorp/", "Exa Search": "https://python.langchain.com/v0.2/docs/integrations/tools/exa_search/", "Snowflake Cortex": "https://python.langchain.com/v0.2/docs/integrations/chat/snowflake/", "# Related": "https://python.langchain.com/v0.2/docs/integrations/chat/solar/", "ChatHuggingFace": "https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/", "ChatOctoAI": "https://python.langchain.com/v0.2/docs/integrations/chat/octoai/", "ChatYI": "https://python.langchain.com/v0.2/docs/integrations/chat/yi/", "LlamaEdge": "https://python.langchain.com/v0.2/docs/integrations/chat/llama_edge/", "ChatKonko": "https://python.langchain.com/v0.2/docs/integrations/chat/konko/", "GigaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/gigachat/", "JinaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/jinachat/", "ChatOCIGenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/oci_generative_ai/", "ChatEverlyAI": "https://python.langchain.com/v0.2/docs/integrations/chat/everlyai/", "ChatFriendli": "https://python.langchain.com/v0.2/docs/integrations/chat/friendli/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "ChatWatsonx": "https://python.langchain.com/v0.2/docs/integrations/chat/ibm_watsonx/", "vLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/vllm/", "Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/chat/yuan2/", "ChatTongyi": "https://python.langchain.com/v0.2/docs/integrations/chat/tongyi/", "MoonshotChat": "https://python.langchain.com/v0.2/docs/integrations/chat/moonshot/", "ChatPremAI": "https://python.langchain.com/v0.2/docs/integrations/chat/premai/", "ChatAnyscale": "https://python.langchain.com/v0.2/docs/integrations/chat/anyscale/", "ChatYandexGPT": "https://python.langchain.com/v0.2/docs/integrations/chat/yandex/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "Label Studio": "https://python.langchain.com/v0.2/docs/integrations/callbacks/labelstudio/", "Trubrics": "https://python.langchain.com/v0.2/docs/integrations/callbacks/trubrics/", "MLflow Deployments for LLMs": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow/", "MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/", "PremAI": "https://python.langchain.com/v0.2/docs/integrations/providers/premai/", "Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/", "Build a Simple LLM Application with LCEL": "https://python.langchain.com/v0.2/docs/tutorials/llm_chain/"}, "HumanMessage": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/", "Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "Build an Agent with AgentExecutor (Legacy)": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to use callbacks in async environments": "https://python.langchain.com/v0.2/docs/how_to/callbacks_async/", "How to merge consecutive messages of the same type": "https://python.langchain.com/v0.2/docs/how_to/merge_message_runs/", "How to trim messages": "https://python.langchain.com/v0.2/docs/how_to/trim_messages/", "How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to pass multimodal data directly to models": "https://python.langchain.com/v0.2/docs/how_to/multimodal_inputs/", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to convert tools to OpenAI Functions": "https://python.langchain.com/v0.2/docs/how_to/tools_as_openai_functions/", "How to filter messages": "https://python.langchain.com/v0.2/docs/how_to/filter_messages/", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to pass tool outputs to chat models": "https://python.langchain.com/v0.2/docs/how_to/tool_results_pass_to_model/", "How to return structured data from a model": "https://python.langchain.com/v0.2/docs/how_to/structured_output/", "How to compose prompts together": "https://python.langchain.com/v0.2/docs/how_to/prompts_composition/", "How to use few-shot prompting with tool calling": "https://python.langchain.com/v0.2/docs/how_to/tools_few_shot/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "WeChat": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/wechat/", "Discord": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/discord/", "Zep Open Source": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_memorystore/", "Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_cloud_memorystore/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Imagen": "https://python.langchain.com/v0.2/docs/integrations/tools/google_imagen/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "Snowflake Cortex": "https://python.langchain.com/v0.2/docs/integrations/chat/snowflake/", "# Related": "https://python.langchain.com/v0.2/docs/integrations/chat/solar/", "ChatHuggingFace": "https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/", "AzureMLChatOnlineEndpoint": "https://python.langchain.com/v0.2/docs/integrations/chat/azureml_chat_endpoint/", "Alibaba Cloud PAI EAS": "https://python.langchain.com/v0.2/docs/integrations/chat/alibaba_cloud_pai_eas/", "Chat with Coze Bot": "https://python.langchain.com/v0.2/docs/integrations/chat/coze/", "ChatOctoAI": "https://python.langchain.com/v0.2/docs/integrations/chat/octoai/", "ChatYI": "https://python.langchain.com/v0.2/docs/integrations/chat/yi/", "DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/chat/deepinfra/", "ChatLiteLLM": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm/", "LlamaEdge": "https://python.langchain.com/v0.2/docs/integrations/chat/llama_edge/", "VolcEngineMaasChat": "https://python.langchain.com/v0.2/docs/integrations/chat/volcengine_maas/", "ChatKonko": "https://python.langchain.com/v0.2/docs/integrations/chat/konko/", "MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/", "GigaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/gigachat/", "JinaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/jinachat/", "ChatOllama": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama/", "ChatOCIGenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/oci_generative_ai/", "ChatEverlyAI": "https://python.langchain.com/v0.2/docs/integrations/chat/everlyai/", "GPTRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/gpt_router/", "ChatLiteLLMRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm_router/", "ChatFriendli": "https://python.langchain.com/v0.2/docs/integrations/chat/friendli/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "Chat with Baichuan-192K": "https://python.langchain.com/v0.2/docs/integrations/chat/baichuan/", "QianfanChatEndpoint": "https://python.langchain.com/v0.2/docs/integrations/chat/baidu_qianfan_endpoint/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/llms/cohere/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/chat/edenai/", "ErnieBotChat": "https://python.langchain.com/v0.2/docs/integrations/chat/ernie/", "ChatWatsonx": "https://python.langchain.com/v0.2/docs/integrations/chat/ibm_watsonx/", "vLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/vllm/", "Tencent Hunyuan": "https://python.langchain.com/v0.2/docs/integrations/chat/tencent_hunyuan/", "MiniMaxChat": "https://python.langchain.com/v0.2/docs/integrations/chat/minimax/", "Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/chat/yuan2/", "ChatTongyi": "https://python.langchain.com/v0.2/docs/integrations/chat/tongyi/", "PromptLayerChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/promptlayer_chatopenai/", "SparkLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/sparkllm/", "MoonshotChat": "https://python.langchain.com/v0.2/docs/integrations/chat/moonshot/", "Dappier AI": "https://python.langchain.com/v0.2/docs/integrations/chat/dappier/", "Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/", "ChatPremAI": "https://python.langchain.com/v0.2/docs/integrations/chat/premai/", "ChatAnyscale": "https://python.langchain.com/v0.2/docs/integrations/chat/anyscale/", "ChatYandexGPT": "https://python.langchain.com/v0.2/docs/integrations/chat/yandex/", "ChatNVIDIA": "https://python.langchain.com/v0.2/docs/integrations/chat/nvidia_ai_endpoints/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "Label Studio": "https://python.langchain.com/v0.2/docs/integrations/callbacks/labelstudio/", "PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/callbacks/promptlayer/", "Trubrics": "https://python.langchain.com/v0.2/docs/integrations/callbacks/trubrics/", "Log10": "https://python.langchain.com/v0.2/docs/integrations/providers/log10/", "MLflow Deployments for LLMs": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow/", "MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "PremAI": "https://python.langchain.com/v0.2/docs/integrations/providers/premai/", "Arthur": "https://python.langchain.com/v0.2/docs/integrations/providers/arthur_tracking/", "Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Browserbase": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/browserbase/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/", "Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/", "Chat Bot Feedback Template": "https://python.langchain.com/v0.2/docs/templates/chat-bot-feedback/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Build an Agent": "https://python.langchain.com/v0.2/docs/tutorials/agents/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/", "Build a Simple LLM Application with LCEL": "https://python.langchain.com/v0.2/docs/tutorials/llm_chain/"}, "RunnableMap": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/"}, "RunnableLambda": {"\ud83e\udd9c\ufe0f\ud83c\udfd3 LangServe": "https://python.langchain.com/v0.2/docs/langserve/", "How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to convert Runnables as Tools": "https://python.langchain.com/v0.2/docs/how_to/convert_runnable_to_tool/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/", "How to select examples from a LangSmith dataset": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_langsmith/", "How to dispatch custom callback events": "https://python.langchain.com/v0.2/docs/how_to/callbacks_custom_events/", "Upstash Ratelimit Callback": "https://python.langchain.com/v0.2/docs/integrations/callbacks/upstash_ratelimit/", "Vector stores and retrievers": "https://python.langchain.com/v0.2/docs/tutorials/retrievers/"}, "PromptTemplate": {"Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "# Example": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_rerank_docs_chain/", "# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/llm_router_chain/", "How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to use output parsers to parse an LLM response into structured format": "https://python.langchain.com/v0.2/docs/how_to/output_parser_structured/", "How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to select examples by n-gram overlap": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_ngram/", "How to select examples by length": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_length_based/", "How to use example selectors": "https://python.langchain.com/v0.2/docs/how_to/example_selectors/", "How to use few shot examples": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples/", "How to select examples by similarity": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_similarity/", "How to parse XML output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_xml/", "How to reorder retrieved results to mitigate the \"lost in the middle\" effect": "https://python.langchain.com/v0.2/docs/how_to/long_context_reorder/", "How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/", "Run models locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "How to configure runtime chain internals": "https://python.langchain.com/v0.2/docs/how_to/configure/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "How to parse YAML output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_yaml/", "How to compose prompts together": "https://python.langchain.com/v0.2/docs/how_to/prompts_composition/", "How to partially format prompt templates": "https://python.langchain.com/v0.2/docs/how_to/prompts_partial/", "How to parse JSON output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_json/", "How to select examples by maximal marginal relevance (MMR)": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_mmr/", "How to track token usage for LLMs": "https://python.langchain.com/v0.2/docs/how_to/llm_token_usage_tracking/", "Clarifai": "https://python.langchain.com/v0.2/docs/integrations/llms/clarifai/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "Google Drive": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_drive/", "Milvus Hybrid Search Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/milvus_hybrid_search/", "Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "NVIDIA Riva: ASR and TTS": "https://python.langchain.com/v0.2/docs/integrations/tools/nvidia_riva/", "Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/", "Dall-E Image Generator": "https://python.langchain.com/v0.2/docs/integrations/tools/dalle_image_generator/", "Mot\u00f6rhead": "https://python.langchain.com/v0.2/docs/integrations/memory/motorhead_memory/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/", "Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "DSPy": "https://python.langchain.com/v0.2/docs/integrations/providers/dspy/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/", "Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/", "Prediction Guard": "https://python.langchain.com/v0.2/docs/integrations/llms/predictionguard/", "Shale Protocol": "https://python.langchain.com/v0.2/docs/integrations/providers/shaleprotocol/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "Ray Serve": "https://python.langchain.com/v0.2/docs/integrations/providers/ray_serve/", "Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Identity-enabled RAG using PebbloRetrievalQA": "https://python.langchain.com/v0.2/docs/integrations/providers/pebblo/pebblo_retrieval_qa/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "Amazon Document DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/documentdb/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "AirbyteLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte/", "Memgraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/memgraph/", "Apache AGE": "https://python.langchain.com/v0.2/docs/integrations/graphs/apache_age/", "Neo4j": "https://python.langchain.com/v0.2/docs/integrations/graphs/neo4j_cypher/", "Baseten": "https://python.langchain.com/v0.2/docs/integrations/llms/baseten/", "StochasticAI": "https://python.langchain.com/v0.2/docs/integrations/llms/stochasticai/", "Solar": "https://python.langchain.com/v0.2/docs/integrations/llms/solar/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/", "IPEX-LLM": "https://python.langchain.com/v0.2/docs/integrations/llms/ipex_llm/", "Banana": "https://python.langchain.com/v0.2/docs/integrations/llms/banana/", "Alibaba Cloud PAI EAS": "https://python.langchain.com/v0.2/docs/integrations/llms/alibabacloud_pai_eas_endpoint/", "OpenLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/openllm/", "SageMakerEndpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/sagemaker/", "Fireworks": "https://python.langchain.com/v0.2/docs/integrations/llms/fireworks/", "OctoAI": "https://python.langchain.com/v0.2/docs/integrations/llms/octoai/", "Writer": "https://python.langchain.com/v0.2/docs/integrations/llms/writer/", "Modal": "https://python.langchain.com/v0.2/docs/integrations/llms/modal/", "TextGen": "https://python.langchain.com/v0.2/docs/integrations/llms/textgen/", "Xorbits Inference (Xinference)": "https://python.langchain.com/v0.2/docs/integrations/llms/xinference/", "Nebula (Symbl.ai)": "https://python.langchain.com/v0.2/docs/integrations/llms/symblai_nebula/", "DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/llms/deepinfra/", "AnthropicLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/anthropic/", "NLP Cloud": "https://python.langchain.com/v0.2/docs/integrations/llms/nlpcloud/", "GPT4All": "https://python.langchain.com/v0.2/docs/integrations/llms/gpt4all/", "ForefrontAI": "https://python.langchain.com/v0.2/docs/integrations/llms/forefrontai/", "MosaicML": "https://python.langchain.com/v0.2/docs/integrations/llms/mosaicml/", "Volc Engine Maas": "https://python.langchain.com/v0.2/docs/integrations/llms/volcengine_maas/", "CerebriumAI": "https://python.langchain.com/v0.2/docs/integrations/llms/cerebriumai/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/llms/openai/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/", "Predibase": "https://python.langchain.com/v0.2/docs/integrations/llms/predibase/", "GigaChat": "https://python.langchain.com/v0.2/docs/integrations/llms/gigachat/", "# Oracle Cloud Infrastructure Generative AI": "https://python.langchain.com/v0.2/docs/integrations/llms/oci_generative_ai/", "Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/llms/llamacpp/", "Hugging Face Local Pipelines": "https://python.langchain.com/v0.2/docs/integrations/llms/huggingface_pipelines/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/", "Titan Takeoff": "https://python.langchain.com/v0.2/docs/integrations/llms/titan_takeoff/", "Aphrodite Engine": "https://python.langchain.com/v0.2/docs/integrations/llms/aphrodite/", "AI21LLM": "https://python.langchain.com/v0.2/docs/integrations/llms/ai21/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/llms/cohere/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/llms/edenai/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/", "IBM watsonx.ai": "https://python.langchain.com/v0.2/docs/integrations/llms/ibm_watsonx/", "C Transformers": "https://python.langchain.com/v0.2/docs/integrations/llms/ctransformers/", "vLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/vllm/", "Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/", "Manifest": "https://python.langchain.com/v0.2/docs/integrations/llms/manifest/", "ExLlamaV2": "https://python.langchain.com/v0.2/docs/integrations/llms/exllamav2/", "Minimax": "https://python.langchain.com/v0.2/docs/integrations/llms/minimax/", "Tongyi Qwen": "https://python.langchain.com/v0.2/docs/integrations/llms/tongyi/", "Huggingface Endpoints": "https://python.langchain.com/v0.2/docs/integrations/llms/huggingface_endpoint/", "MLX Local Pipelines": "https://python.langchain.com/v0.2/docs/integrations/llms/mlx_pipelines/", "Runhouse": "https://python.langchain.com/v0.2/docs/integrations/llms/runhouse/", "Anyscale": "https://python.langchain.com/v0.2/docs/integrations/llms/anyscale/", "YandexGPT": "https://python.langchain.com/v0.2/docs/integrations/llms/yandex/", "GooseAI": "https://python.langchain.com/v0.2/docs/integrations/llms/gooseai/", "OpenLM": "https://python.langchain.com/v0.2/docs/integrations/llms/openlm/", "Aleph Alpha": "https://python.langchain.com/v0.2/docs/integrations/llms/aleph_alpha/", "Cloudflare Workers AI": "https://python.langchain.com/v0.2/docs/integrations/llms/cloudflare_workersai/", "CTranslate2": "https://python.langchain.com/v0.2/docs/integrations/llms/ctranslate2/", "Google AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_ai/", "PipelineAI": "https://python.langchain.com/v0.2/docs/integrations/llms/pipelineai/", "ChatGLM": "https://python.langchain.com/v0.2/docs/integrations/llms/chatglm/", "Gradient": "https://python.langchain.com/v0.2/docs/integrations/llms/gradient/", "Petals": "https://python.langchain.com/v0.2/docs/integrations/llms/petals/", "OpenVINO": "https://python.langchain.com/v0.2/docs/integrations/llms/openvino/", "Intel Weight-Only Quantization": "https://python.langchain.com/v0.2/docs/integrations/llms/weight_only_quantization/", "Replicate": "https://python.langchain.com/v0.2/docs/integrations/llms/replicate/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/", "Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "MessagesPlaceholder": {"Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/memory/redis_chat_message_history/", "Google SQL for MySQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mysql/", "Google AlloyDB for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_alloydb/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "AWS DynamoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/aws_dynamodb/", "Couchbase": "https://python.langchain.com/v0.2/docs/integrations/memory/couchbase_chat_message_history/", "MongoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/mongodb_chat_message_history/", "SQL (SQLAlchemy)": "https://python.langchain.com/v0.2/docs/integrations/memory/sql_chat_message_history/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/memory/streamlit_chat_message_history/", "Google El Carro Oracle": "https://python.langchain.com/v0.2/docs/integrations/memory/google_el_carro/", "SQLite": "https://python.langchain.com/v0.2/docs/integrations/memory/sqlite/", "Google SQL for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_pg/", "Google SQL for SQL Server": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mssql/", "TiDB": "https://python.langchain.com/v0.2/docs/integrations/memory/tidb_chat_message_history/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "Build an Extraction Chain": "https://python.langchain.com/v0.2/docs/tutorials/extraction/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "CSVLoader": {"Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "How to load CSVs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_csv/", "ChatGPT plugin": "https://python.langchain.com/v0.2/docs/integrations/retrievers/chatgpt-plugin/", "Aerospike": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aerospike/", "CSV": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/csv/", "Document loaders": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/index/", "Pebblo Safe DocumentLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pebblo/"}, "StrOutputParser": {"Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/llm_chain/", "# Basic example (short documents)": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_reduce_chain/", "# Example": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/refine_docs_chain/", "Load docs": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/retrieval_qa/", "How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to do per-user retrieval": "https://python.langchain.com/v0.2/docs/how_to/qa_per_user/", "How to inspect runnables": "https://python.langchain.com/v0.2/docs/how_to/inspect/", "How to summarize text through iterative refinement": "https://python.langchain.com/v0.2/docs/how_to/summarize_refine/", "How to create tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/", "How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/", "How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/", "How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to summarize text through parallelization": "https://python.langchain.com/v0.2/docs/how_to/summarize_map_reduce/", "How to add default invocation args to a Runnable": "https://python.langchain.com/v0.2/docs/how_to/binding/", "How to convert Runnables as Tools": "https://python.langchain.com/v0.2/docs/how_to/convert_runnable_to_tool/", "How to stream events from a tool": "https://python.langchain.com/v0.2/docs/how_to/tool_stream_events/", "How to create a dynamic (self-constructing) chain": "https://python.langchain.com/v0.2/docs/how_to/dynamic_chain/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "How to chain runnables": "https://python.langchain.com/v0.2/docs/how_to/sequence/", "Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/", "How to do query validation as part of SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_query_checking/", "Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/", "NVIDIA NIMs ": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/nvidia_ai_endpoints/", "AzureAISearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "You.com": "https://python.langchain.com/v0.2/docs/integrations/retrievers/you-retriever/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "AskNews": "https://python.langchain.com/v0.2/docs/integrations/retrievers/asknews/", "WikipediaRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/wikipedia/", "TavilySearchAPIRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tavily/", "ArxivRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/arxiv/", "ElasticsearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/elasticsearch_retriever/", "Milvus Hybrid Search Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/milvus_hybrid_search/", "Google Vertex AI Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/google_vertex_ai_search/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "ChatOllama": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama/", "Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/", "ChatNVIDIA": "https://python.langchain.com/v0.2/docs/integrations/chat/nvidia_ai_endpoints/", "Fiddler": "https://python.langchain.com/v0.2/docs/integrations/callbacks/fiddler/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "DSPy": "https://python.langchain.com/v0.2/docs/integrations/providers/dspy/", "MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/", "Shale Protocol": "https://python.langchain.com/v0.2/docs/integrations/providers/shaleprotocol/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "Volc Engine Maas": "https://python.langchain.com/v0.2/docs/integrations/llms/volcengine_maas/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/", "AI21LLM": "https://python.langchain.com/v0.2/docs/integrations/llms/ai21/", "PipelineAI": "https://python.langchain.com/v0.2/docs/integrations/llms/pipelineai/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/", "Build a Simple LLM Application with LCEL": "https://python.langchain.com/v0.2/docs/tutorials/llm_chain/"}, "SimpleJsonOutputParser": {"Conceptual guide": "https://python.langchain.com/v0.2/docs/concepts/", "How to use output parsers to parse an LLM response into structured format": "https://python.langchain.com/v0.2/docs/how_to/output_parser_structured/"}, "BaseChatModel": {"Contribute Integrations": "https://python.langchain.com/v0.2/docs/contributing/integrations/", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "deprecated": {"Contribute Integrations": "https://python.langchain.com/v0.2/docs/contributing/integrations/"}, "UnstructuredMarkdownLoader": {"langchain": "https://python.langchain.com/v0.2/docs/changes/changelog/langchain/", "How to load Markdown": "https://python.langchain.com/v0.2/docs/how_to/document_loader_markdown/", "Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/", "StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/", "UnstructuredMarkdownLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/unstructured_markdown/"}, "Document": {"# Example": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_rerank_docs_chain/", "# Basic example (short documents)": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_reduce_chain/", "How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to create a custom Document Loader": "https://python.langchain.com/v0.2/docs/how_to/document_loader_custom/", "How to summarize text through iterative refinement": "https://python.langchain.com/v0.2/docs/how_to/summarize_refine/", "How to summarize text through parallelization": "https://python.langchain.com/v0.2/docs/how_to/summarize_map_reduce/", "How to use the LangChain indexing API": "https://python.langchain.com/v0.2/docs/how_to/indexing/", "How to convert Runnables as Tools": "https://python.langchain.com/v0.2/docs/how_to/convert_runnable_to_tool/", "How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to create a custom Retriever": "https://python.langchain.com/v0.2/docs/how_to/custom_retriever/", "How to construct knowledge graphs": "https://python.langchain.com/v0.2/docs/how_to/graph_constructing/", "How to use a time-weighted vector store retriever": "https://python.langchain.com/v0.2/docs/how_to/time_weighted_vectorstore/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to load Markdown": "https://python.langchain.com/v0.2/docs/how_to/document_loader_markdown/", "How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "How to summarize text in a single LLM call": "https://python.langchain.com/v0.2/docs/how_to/summarize_stuff/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Oracle AI Vector Search: Generate Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/oracleai/", "Kinetica Vectorstore based Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kinetica/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "ChatGPT plugin": "https://python.langchain.com/v0.2/docs/integrations/retrievers/chatgpt-plugin/", "Cohere RAG": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere/", "Weaviate Hybrid Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/weaviate-hybrid/", "BM25": "https://python.langchain.com/v0.2/docs/integrations/retrievers/bm25/", "Qdrant Sparse Vector": "https://python.langchain.com/v0.2/docs/integrations/retrievers/qdrant-sparse/", "ElasticsearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/elasticsearch_retriever/", "TF-IDF": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tf_idf/", "Milvus": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/milvus/", "PGVector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pgvector_self_query/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/weaviate_self_query/", "Vectara self-querying ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "DashVector": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dashvector/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/databricks_vector_search/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dingo/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/opensearch_self_query/", "Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/elasticsearch/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/chroma/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "Timescale Vector (Postgres) ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/timescalevector_self_query/", "Astra DB (Cassandra)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/astradb/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pinecone/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/supabase_self_query/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/redis/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/myscale_self_query/", "Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/mongodb_atlas/", "Qdrant": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/qdrant/", "Oracle AI Vector Search: Generate Summary": "https://python.langchain.com/v0.2/docs/integrations/tools/oracleai/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/providers/cohere/", "Identity-enabled RAG using PebbloRetrievalQA": "https://python.langchain.com/v0.2/docs/integrations/providers/pebblo/pebblo_retrieval_qa/", "Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "PGVector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgvector/", "SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/singlestoredb/", "Annoy": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/annoy/", "Couchbase ": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/couchbase/", "Oracle AI Vector Search: Vector Store": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/oracle/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/", "Lantern": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lantern/", "Google Firestore (Native Mode)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_firestore/", "ClickHouse": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/clickhouse/", "Astra DB Vector Store": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/astradb/", "Faiss (Async)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss_async/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "PGVecto.rs": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgvecto_rs/", "Postgres Embedding": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgembedding/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Faiss": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss/", "Nuclia": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/nuclia_transformer/", "AI21SemanticTextSplitter": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/ai21_semantic_text_splitter/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "OpenAI metadata tagger": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openai_metadata_tagger/", "Doctran: extract properties": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/doctran_extract_properties/", "Google Translate": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_translate/", "Doctran: interrogate documents": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/doctran_interrogate_document/", "Doctran: language translation": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/doctran_translate_document/", "TensorFlow Datasets": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tensorflow_datasets/", "Google Cloud SQL for MySQL": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_cloud_sql_mysql/", "Airbyte Salesforce (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_salesforce/", "Airbyte CDK (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_cdk/", "Airbyte Stripe (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_stripe/", "Copy Paste": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/copypaste/", "Airbyte Typeform (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_typeform/", "Apify Dataset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/apify_dataset/", "Google Firestore in Datastore Mode": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_datastore/", "Oracle AI Vector Search: Document Processing": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/oracleai/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/", "Airbyte Hubspot (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_hubspot/", "Airbyte Gong (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_gong/", "Google Memorystore for Redis": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_memorystore_redis/", "Google Bigtable": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_bigtable/", "Google Cloud SQL for SQL server": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_cloud_sql_mssql/", "Google El Carro for Oracle Workloads": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_el_carro/", "Airbyte Shopify (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_shopify/", "Airbyte Zendesk Support (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_zendesk_support/", "Google Spanner": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_spanner/", "PDFMiner": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pdfminer/", "Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/", "SageMakerEndpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/sagemaker/", "self-query-qdrant": "https://python.langchain.com/v0.2/docs/templates/self-query-qdrant/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/", "Vector stores and retrievers": "https://python.langchain.com/v0.2/docs/tutorials/retrievers/"}, "LLMChain": {"# Example": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_rerank_docs_chain/", "# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/llm_chain/", "# Basic example (short documents)": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_reduce_chain/", "Clarifai": "https://python.langchain.com/v0.2/docs/integrations/llms/clarifai/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/", "Dall-E Image Generator": "https://python.langchain.com/v0.2/docs/integrations/tools/dalle_image_generator/", "Mot\u00f6rhead": "https://python.langchain.com/v0.2/docs/integrations/memory/motorhead_memory/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/", "Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "MLflow Deployments for LLMs": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow/", "MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/", "Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/", "Prediction Guard": "https://python.langchain.com/v0.2/docs/integrations/llms/predictionguard/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "Ray Serve": "https://python.langchain.com/v0.2/docs/integrations/providers/ray_serve/", "Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "Baseten": "https://python.langchain.com/v0.2/docs/integrations/llms/baseten/", "StochasticAI": "https://python.langchain.com/v0.2/docs/integrations/llms/stochasticai/", "Solar": "https://python.langchain.com/v0.2/docs/integrations/llms/solar/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/", "IPEX-LLM": "https://python.langchain.com/v0.2/docs/integrations/llms/ipex_llm/", "Banana": "https://python.langchain.com/v0.2/docs/integrations/llms/banana/", "Alibaba Cloud PAI EAS": "https://python.langchain.com/v0.2/docs/integrations/llms/alibabacloud_pai_eas_endpoint/", "OpenLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/openllm/", "OctoAI": "https://python.langchain.com/v0.2/docs/integrations/llms/octoai/", "Writer": "https://python.langchain.com/v0.2/docs/integrations/llms/writer/", "Modal": "https://python.langchain.com/v0.2/docs/integrations/llms/modal/", "TextGen": "https://python.langchain.com/v0.2/docs/integrations/llms/textgen/", "Xorbits Inference (Xinference)": "https://python.langchain.com/v0.2/docs/integrations/llms/xinference/", "Nebula (Symbl.ai)": "https://python.langchain.com/v0.2/docs/integrations/llms/symblai_nebula/", "DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/llms/deepinfra/", "NLP Cloud": "https://python.langchain.com/v0.2/docs/integrations/llms/nlpcloud/", "ForefrontAI": "https://python.langchain.com/v0.2/docs/integrations/llms/forefrontai/", "MosaicML": "https://python.langchain.com/v0.2/docs/integrations/llms/mosaicml/", "CerebriumAI": "https://python.langchain.com/v0.2/docs/integrations/llms/cerebriumai/", "Predibase": "https://python.langchain.com/v0.2/docs/integrations/llms/predibase/", "GigaChat": "https://python.langchain.com/v0.2/docs/integrations/llms/gigachat/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/", "Aphrodite Engine": "https://python.langchain.com/v0.2/docs/integrations/llms/aphrodite/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/llms/edenai/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/", "C Transformers": "https://python.langchain.com/v0.2/docs/integrations/llms/ctransformers/", "vLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/vllm/", "Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/", "Minimax": "https://python.langchain.com/v0.2/docs/integrations/llms/minimax/", "Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/llms/yuan2/", "Huggingface Endpoints": "https://python.langchain.com/v0.2/docs/integrations/llms/huggingface_endpoint/", "Runhouse": "https://python.langchain.com/v0.2/docs/integrations/llms/runhouse/", "Anyscale": "https://python.langchain.com/v0.2/docs/integrations/llms/anyscale/", "YandexGPT": "https://python.langchain.com/v0.2/docs/integrations/llms/yandex/", "GooseAI": "https://python.langchain.com/v0.2/docs/integrations/llms/gooseai/", "OpenLM": "https://python.langchain.com/v0.2/docs/integrations/llms/openlm/", "Cloudflare Workers AI": "https://python.langchain.com/v0.2/docs/integrations/llms/cloudflare_workersai/", "CTranslate2": "https://python.langchain.com/v0.2/docs/integrations/llms/ctranslate2/", "ChatGLM": "https://python.langchain.com/v0.2/docs/integrations/llms/chatglm/", "Gradient": "https://python.langchain.com/v0.2/docs/integrations/llms/gradient/", "Petals": "https://python.langchain.com/v0.2/docs/integrations/llms/petals/", "Replicate": "https://python.langchain.com/v0.2/docs/integrations/llms/replicate/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/"}, "StuffDocumentsChain": {"# Example": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/stuff_docs_chain/", "# Basic example (short documents)": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_reduce_chain/"}, "create_stuff_documents_chain": {"# Example": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/stuff_docs_chain/", "Load docs": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/retrieval_qa/", "How to reorder retrieved results to mitigate the \"lost in the middle\" effect": "https://python.langchain.com/v0.2/docs/how_to/long_context_reorder/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to summarize text in a single LLM call": "https://python.langchain.com/v0.2/docs/how_to/summarize_stuff/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/retrievers/ragatouille/", "ApertureDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aperturedb/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/", "Image captions": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/image_captions/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Build a PDF ingestion and Question/Answering system": "https://python.langchain.com/v0.2/docs/tutorials/pdf_qa/"}, "LLMMathChain": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/llm_math_chain/"}, "BaseMessage": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/llm_math_chain/", "How to trim messages": "https://python.langchain.com/v0.2/docs/how_to/trim_messages/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to propagate callbacks constructor": "https://python.langchain.com/v0.2/docs/how_to/callbacks_constructor/", "How to attach callbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/callbacks_attach/", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to pass callbacks in at runtime": "https://python.langchain.com/v0.2/docs/how_to/callbacks_runtime/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "WeChat": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/wechat/", "Discord": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/discord/", "Chat Bot Feedback Template": "https://python.langchain.com/v0.2/docs/templates/chat-bot-feedback/"}, "RunnableConfig": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/multi_prompt_chain/", "# Example": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/refine_docs_chain/", "How to access the RunnableConfig from a tool": "https://python.langchain.com/v0.2/docs/how_to/tool_configure/", "How to summarize text through iterative refinement": "https://python.langchain.com/v0.2/docs/how_to/summarize_refine/", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to stream events from a tool": "https://python.langchain.com/v0.2/docs/how_to/tool_stream_events/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/", "How to dispatch custom callback events": "https://python.langchain.com/v0.2/docs/how_to/callbacks_custom_events/", "How to pass runtime secrets to runnables": "https://python.langchain.com/v0.2/docs/how_to/runnable_runtime_secrets/", "Tavily Search": "https://python.langchain.com/v0.2/docs/integrations/tools/tavily_search/"}, "tool": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/llm_math_chain/", "How to disable parallel tool calling": "https://python.langchain.com/v0.2/docs/how_to/tool_calling_parallel/", "How to use tools in a chain": "https://python.langchain.com/v0.2/docs/how_to/tools_chain/", "How to access the RunnableConfig from a tool": "https://python.langchain.com/v0.2/docs/how_to/tool_configure/", "How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to pass run time values to tools": "https://python.langchain.com/v0.2/docs/how_to/tool_runtime/", "How to add a human-in-the-loop for tools": "https://python.langchain.com/v0.2/docs/how_to/tools_human/", "How to create tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/", "How to pass multimodal data directly to models": "https://python.langchain.com/v0.2/docs/how_to/multimodal_inputs/", "How to force models to call a tool": "https://python.langchain.com/v0.2/docs/how_to/tool_choice/", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to stream events from a tool": "https://python.langchain.com/v0.2/docs/how_to/tool_stream_events/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to pass tool outputs to chat models": "https://python.langchain.com/v0.2/docs/how_to/tool_results_pass_to_model/", "How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "How to return artifacts from a tool": "https://python.langchain.com/v0.2/docs/how_to/tool_artifacts/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "How to stream tool calls": "https://python.langchain.com/v0.2/docs/how_to/tool_streaming/", "How to pass runtime secrets to runnables": "https://python.langchain.com/v0.2/docs/how_to/runnable_runtime_secrets/", "How to use few-shot prompting with tool calling": "https://python.langchain.com/v0.2/docs/how_to/tools_few_shot/", "FinancialDatasets Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/financial_datasets/", "Exa Search": "https://python.langchain.com/v0.2/docs/integrations/tools/exa_search/", "DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/chat/deepinfra/", "ChatOllama": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama/", "Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/chat/llamacpp/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/providers/cohere/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/chat/edenai/", "ChatTongyi": "https://python.langchain.com/v0.2/docs/integrations/chat/tongyi/", "ChatPremAI": "https://python.langchain.com/v0.2/docs/integrations/chat/premai/", "ChatNVIDIA": "https://python.langchain.com/v0.2/docs/integrations/chat/nvidia_ai_endpoints/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "PremAI": "https://python.langchain.com/v0.2/docs/integrations/providers/premai/", "Log, Trace, and Monitor": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/logging_tracing_portkey/", "Portkey": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/index/", "JSONFormer": "https://python.langchain.com/v0.2/docs/integrations/llms/jsonformer_experimental/"}, "MultiPromptChain": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/multi_prompt_chain/"}, "ConversationChain": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/conversation_chain/"}, "ConversationBufferMemory": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/conversation_chain/", "Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "Gradio": "https://python.langchain.com/v0.2/docs/integrations/tools/gradio_tools/", "SceneXplain": "https://python.langchain.com/v0.2/docs/integrations/tools/sceneXplain/", "Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/memory/xata_chat_message_history/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/"}, "InMemoryChatMessageHistory": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/conversation_chain/", "How to trim messages": "https://python.langchain.com/v0.2/docs/how_to/trim_messages/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "ChatNVIDIA": "https://python.langchain.com/v0.2/docs/integrations/chat/nvidia_ai_endpoints/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/"}, "RunnableWithMessageHistory": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/conversation_chain/", "Build an Agent with AgentExecutor (Legacy)": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to trim messages": "https://python.langchain.com/v0.2/docs/how_to/trim_messages/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/memory/redis_chat_message_history/", "Google SQL for MySQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mysql/", "Google AlloyDB for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_alloydb/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "AWS DynamoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/aws_dynamodb/", "Couchbase": "https://python.langchain.com/v0.2/docs/integrations/memory/couchbase_chat_message_history/", "MongoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/mongodb_chat_message_history/", "SQL (SQLAlchemy)": "https://python.langchain.com/v0.2/docs/integrations/memory/sql_chat_message_history/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/memory/streamlit_chat_message_history/", "Google El Carro Oracle": "https://python.langchain.com/v0.2/docs/integrations/memory/google_el_carro/", "SQLite": "https://python.langchain.com/v0.2/docs/integrations/memory/sqlite/", "Google SQL for PostgreSQL": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_pg/", "Google SQL for SQL Server": "https://python.langchain.com/v0.2/docs/integrations/memory/google_sql_mssql/", "TiDB": "https://python.langchain.com/v0.2/docs/integrations/memory/tidb_chat_message_history/", "ChatNVIDIA": "https://python.langchain.com/v0.2/docs/integrations/chat/nvidia_ai_endpoints/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "BaseChatMessageHistory": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/conversation_chain/", "Build an Agent with AgentExecutor (Legacy)": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "ConstitutionalChain": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/constitutional_chain/"}, "ConstitutionalPrinciple": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/constitutional_chain/"}, "OpenAI": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/constitutional_chain/", "# Example": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_rerank_docs_chain/", "How to use output parsers to parse an LLM response into structured format": "https://python.langchain.com/v0.2/docs/how_to/output_parser_structured/", "How to reorder retrieved results to mitigate the \"lost in the middle\" effect": "https://python.langchain.com/v0.2/docs/how_to/long_context_reorder/", "How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/", "How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/", "How to stream responses from an LLM": "https://python.langchain.com/v0.2/docs/how_to/streaming_llm/", "How to cache LLM responses": "https://python.langchain.com/v0.2/docs/how_to/llm_caching/", "How to track token usage for LLMs": "https://python.langchain.com/v0.2/docs/how_to/llm_token_usage_tracking/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Milvus": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/milvus_self_query/", "PGVector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pgvector_self_query/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/databricks_vector_search/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dingo/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/opensearch_self_query/", "Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/elasticsearch_self_query/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/chroma_self_query/", "Timescale Vector (Postgres) ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/timescalevector_self_query/", "Astra DB (Cassandra)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/astradb/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pinecone/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/supabase_self_query/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/redis_self_query/", "Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/mongodb_atlas/", "Qdrant": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/qdrant_self_query/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/llms/openai/", "Jira Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/jira/", "Google Jobs": "https://python.langchain.com/v0.2/docs/integrations/tools/google_jobs/", "Google Serper": "https://python.langchain.com/v0.2/docs/integrations/tools/google_serper/", "Azure Cognitive Services Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_cognitive_services/", "Human as a tool": "https://python.langchain.com/v0.2/docs/integrations/tools/human_tools/", "Natural Language API Toolkits": "https://python.langchain.com/v0.2/docs/integrations/tools/openapi_nla/", "Steam Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/steam/", "JSON Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/json/", "Google Finance": "https://python.langchain.com/v0.2/docs/integrations/tools/google_finance/", "ClickUp Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/clickup/", "AWS Lambda": "https://python.langchain.com/v0.2/docs/integrations/tools/awslambda/", "Google Drive": "https://python.langchain.com/v0.2/docs/integrations/tools/google_drive/", "OpenWeatherMap": "https://python.langchain.com/v0.2/docs/integrations/tools/openweathermap/", "Eleven Labs Text2Speech": "https://python.langchain.com/v0.2/docs/integrations/tools/eleven_labs_tts/", "Office365 Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/office365/", "Pandas Dataframe": "https://python.langchain.com/v0.2/docs/integrations/tools/pandas/", "Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "Lemon Agent": "https://python.langchain.com/v0.2/docs/integrations/tools/lemonai/", "NASA Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/nasa/", "GraphQL": "https://python.langchain.com/v0.2/docs/integrations/tools/graphql/", "SearchApi": "https://python.langchain.com/v0.2/docs/integrations/providers/searchapi/", "Gradio": "https://python.langchain.com/v0.2/docs/integrations/tools/gradio_tools/", "SceneXplain": "https://python.langchain.com/v0.2/docs/integrations/tools/sceneXplain/", "Azure AI Services Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_ai_services/", "OpenAPI Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/openapi/", "Dall-E Image Generator": "https://python.langchain.com/v0.2/docs/integrations/tools/dalle_image_generator/", "Gitlab Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/gitlab/", "Ionic Shopping Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/ionic_shopping/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "Mot\u00f6rhead": "https://python.langchain.com/v0.2/docs/integrations/memory/motorhead_memory/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Fiddler": "https://python.langchain.com/v0.2/docs/integrations/callbacks/fiddler/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/", "Label Studio": "https://python.langchain.com/v0.2/docs/integrations/callbacks/labelstudio/", "Comet Tracing": "https://python.langchain.com/v0.2/docs/integrations/callbacks/comet_tracing/", "Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/callbacks/promptlayer/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/callbacks/streamlit/", "Trubrics": "https://python.langchain.com/v0.2/docs/integrations/callbacks/trubrics/", "Infino": "https://python.langchain.com/v0.2/docs/integrations/callbacks/infino/", "DSPy": "https://python.langchain.com/v0.2/docs/integrations/providers/dspy/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "Log10": "https://python.langchain.com/v0.2/docs/integrations/providers/log10/", "LangChain Decorators \u2728": "https://python.langchain.com/v0.2/docs/integrations/providers/langchain_decorators/", "Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/", "Serper - Google Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/google_serper/", "Helicone": "https://python.langchain.com/v0.2/docs/integrations/providers/helicone/", "Shale Protocol": "https://python.langchain.com/v0.2/docs/integrations/providers/shaleprotocol/", "WhyLabs": "https://python.langchain.com/v0.2/docs/integrations/providers/whylabs_profiling/", "WandB Tracing": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracing/", "ClearML": "https://python.langchain.com/v0.2/docs/integrations/providers/clearml_tracking/", "Ray Serve": "https://python.langchain.com/v0.2/docs/integrations/providers/ray_serve/", "Identity-enabled RAG using PebbloRetrievalQA": "https://python.langchain.com/v0.2/docs/integrations/providers/pebblo/pebblo_retrieval_qa/", "Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/", "Marqo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/marqo/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Amazon Document DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/documentdb/", "VoyageAI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/voyageai-reranker/", "Apify Dataset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/apify_dataset/", "Psychic": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/psychic/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/", "Amazon Textract ": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/amazon_textract/", "NetworkX": "https://python.langchain.com/v0.2/docs/integrations/graphs/networkx/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/", "Layerup Security": "https://python.langchain.com/v0.2/docs/integrations/llms/layerup_security/", "Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "CRITIQUE_PROMPT": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/constitutional_chain/"}, "REVISION_PROMPT": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/constitutional_chain/"}, "WebBaseLoader": {"Load docs": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/retrieval_qa/", "# Basic example (short documents)": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_reduce_chain/", "Build an Agent with AgentExecutor (Legacy)": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to summarize text through parallelization": "https://python.langchain.com/v0.2/docs/how_to/summarize_map_reduce/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "Infino": "https://python.langchain.com/v0.2/docs/integrations/callbacks/infino/", "ApertureDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aperturedb/", "Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep_cloud/", "Zep": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "Merge Documents Loader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/merge_doc/", "WebBaseLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/web_base/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "FAISS": {"Load docs": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/retrieval_qa/", "Build an Agent with AgentExecutor (Legacy)": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/", "How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to inspect runnables": "https://python.langchain.com/v0.2/docs/how_to/inspect/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "How to use a time-weighted vector store retriever": "https://python.langchain.com/v0.2/docs/how_to/time_weighted_vectorstore/", "How to create and query vector stores": "https://python.langchain.com/v0.2/docs/how_to/vectorstores/", "How to use a vectorstore as a retriever": "https://python.langchain.com/v0.2/docs/how_to/vectorstore_retriever/", "Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/", "How to combine results from multiple retrievers": "https://python.langchain.com/v0.2/docs/how_to/ensemble_retriever/", "How to select examples by maximal marginal relevance (MMR)": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_mmr/", "NVIDIA NIMs ": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/nvidia_ai_endpoints/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/providers/ragatouille/", "Facebook - Meta": "https://python.langchain.com/v0.2/docs/integrations/providers/facebook/", "Faiss (Async)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss_async/", "Faiss": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss/", "VoyageAI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/voyageai-reranker/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "Volcengine Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/volcengine_rerank/", "OpenVINO Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openvino_rerank/", "Cross Encoder Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/cross_encoder_reranker/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/", "DashScope Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/dashscope_rerank/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/"}, "OpenAIEmbeddings": {"Load docs": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/retrieval_qa/", "Build an Agent with AgentExecutor (Legacy)": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/", "How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to do per-user retrieval": "https://python.langchain.com/v0.2/docs/how_to/qa_per_user/", "How to use few shot examples": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples/", "How to inspect runnables": "https://python.langchain.com/v0.2/docs/how_to/inspect/", "How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to use few shot examples in chat models": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples_chat/", "How to select examples by similarity": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_similarity/", "Text embedding models": "https://python.langchain.com/v0.2/docs/how_to/embed_text/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to use the LangChain indexing API": "https://python.langchain.com/v0.2/docs/how_to/indexing/", "How to split text based on semantic similarity": "https://python.langchain.com/v0.2/docs/how_to/semantic-chunker/", "How to convert Runnables as Tools": "https://python.langchain.com/v0.2/docs/how_to/convert_runnable_to_tool/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to use a time-weighted vector store retriever": "https://python.langchain.com/v0.2/docs/how_to/time_weighted_vectorstore/", "How to create and query vector stores": "https://python.langchain.com/v0.2/docs/how_to/vectorstores/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "How to use the Parent Document Retriever": "https://python.langchain.com/v0.2/docs/how_to/parent_document_retriever/", "How deal with high cardinality categoricals when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_high_cardinality/", "How to use a vectorstore as a retriever": "https://python.langchain.com/v0.2/docs/how_to/vectorstore_retriever/", "Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/", "How to combine results from multiple retrievers": "https://python.langchain.com/v0.2/docs/how_to/ensemble_retriever/", "How to select examples by maximal marginal relevance (MMR)": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_mmr/", "How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "OpenAIEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/openai/", "AzureAISearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "Kinetica Vectorstore based Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kinetica/", "JaguarDB Vector Database": "https://python.langchain.com/v0.2/docs/integrations/retrievers/jaguar/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/singlestoredb/", "kNN": "https://python.langchain.com/v0.2/docs/integrations/retrievers/knn/", "DocArray": "https://python.langchain.com/v0.2/docs/integrations/retrievers/docarray_retriever/", "SVM": "https://python.langchain.com/v0.2/docs/integrations/retrievers/svm/", "Pinecone Hybrid Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/pinecone_hybrid_search/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "Milvus Hybrid Search Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/milvus_hybrid_search/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/", "Milvus": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/milvus_self_query/", "PGVector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pgvector_self_query/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/databricks_vector_search/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dingo/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/opensearch/", "Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/elasticsearch_self_query/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/chroma_self_query/", "Timescale Vector (Postgres) ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/timescalevector_self_query/", "Astra DB (Cassandra)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/astradb/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pinecone/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/supabase/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/redis_self_query/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/myscale/", "Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/mongodb_atlas/", "Qdrant": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/qdrant_self_query/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/xata/", "Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/providers/ragatouille/", "Upstash Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/upstash/", "Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Identity-enabled RAG using PebbloRetrievalQA": "https://python.langchain.com/v0.2/docs/integrations/providers/pebblo/pebblo_retrieval_qa/", "LanceDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lancedb/", "Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/", "Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "Hippo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hippo/", "Rockset": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/rockset/", "Zilliz": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zilliz/", "Azure Cosmos DB Mongo vCore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db/", "viking DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vikingdb/", "Typesense": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/typesense/", "Momento Vector Index (MVI)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/momento_vector_index/", "TiDB Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tidb_vector/", "Activeloop Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/activeloop_deeplake/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/", "Lantern": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lantern/", "DuckDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/duckdb/", "Alibaba Cloud OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/alibabacloud_opensearch/", "StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/", "scikit-learn": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sklearn/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "DocArray HnswSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_hnsw/", "Tigris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tigris/", "China Mobile ECloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/ecloud_vector_search/", "Faiss (Async)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss_async/", "Azure AI Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azuresearch/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "USearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/usearch/", "KDB.AI": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kdbai/", "DocArray InMemorySearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_in_memory/", "Postgres Embedding": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgembedding/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Epsilla": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/epsilla/", "Amazon Document DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/documentdb/", "AnalyticDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/analyticdb/", "Hologres": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hologres/", "Meilisearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/meilisearch/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/", "Image captions": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/image_captions/", "Apify Dataset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/apify_dataset/", "Psychic": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/psychic/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/", "Build a PDF ingestion and Question/Answering system": "https://python.langchain.com/v0.2/docs/tutorials/pdf_qa/", "Vector stores and retrievers": "https://python.langchain.com/v0.2/docs/tutorials/retrievers/"}, "RecursiveCharacterTextSplitter": {"Load docs": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/retrieval_qa/", "Build an Agent with AgentExecutor (Legacy)": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to split code": "https://python.langchain.com/v0.2/docs/how_to/code_splitter/", "How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to recursively split text by characters": "https://python.langchain.com/v0.2/docs/how_to/recursive_text_splitter/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "How to use the Parent Document Retriever": "https://python.langchain.com/v0.2/docs/how_to/parent_document_retriever/", "How to split Markdown by Headers": "https://python.langchain.com/v0.2/docs/how_to/markdown_header_metadata_splitter/", "How to split by HTML header ": "https://python.langchain.com/v0.2/docs/how_to/HTML_header_metadata_splitter/", "How to split by HTML sections": "https://python.langchain.com/v0.2/docs/how_to/HTML_section_aware_splitter/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/providers/ragatouille/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Google Vertex AI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_vertex_ai_vector_search/", "viking DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vikingdb/", "ApertureDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aperturedb/", "Azure Cosmos DB No SQL": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db_no_sql/", "Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep_cloud/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "Zep": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep/", "Vearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vearch/", "VoyageAI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/voyageai-reranker/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "Volcengine Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/volcengine_rerank/", "OpenVINO Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openvino_rerank/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "Cross Encoder Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/cross_encoder_reranker/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/", "DashScope Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/dashscope_rerank/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/", "Image captions": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/image_captions/", "Source Code": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/source_code/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/", "Build a PDF ingestion and Question/Answering system": "https://python.langchain.com/v0.2/docs/tutorials/pdf_qa/"}, "ConversationalRetrievalChain": {"Load docs": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/conversation_retrieval_chain/", "Outline": "https://python.langchain.com/v0.2/docs/integrations/retrievers/outline/", "SEC filing": "https://python.langchain.com/v0.2/docs/integrations/retrievers/sec_filings/", "Rememberizer": "https://python.langchain.com/v0.2/docs/integrations/retrievers/rememberizer/", "Kay.ai": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kay/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/"}, "create_history_aware_retriever": {"Load docs": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/conversation_retrieval_chain/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "create_retrieval_chain": {"Load docs": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/retrieval_qa/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/retrievers/ragatouille/", "ApertureDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aperturedb/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/", "Image captions": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/image_captions/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Build a PDF ingestion and Question/Answering system": "https://python.langchain.com/v0.2/docs/tutorials/pdf_qa/"}, "MapReduceDocumentsChain": {"# Basic example (short documents)": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_reduce_chain/"}, "ReduceDocumentsChain": {"# Basic example (short documents)": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_reduce_chain/"}, "CharacterTextSplitter": {"# Basic example (short documents)": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_reduce_chain/", "How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to split by character": "https://python.langchain.com/v0.2/docs/how_to/character_text_splitter/", "How to summarize text through parallelization": "https://python.langchain.com/v0.2/docs/how_to/summarize_map_reduce/", "How to use the LangChain indexing API": "https://python.langchain.com/v0.2/docs/how_to/indexing/", "How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "How to create and query vector stores": "https://python.langchain.com/v0.2/docs/how_to/vectorstores/", "How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/", "How to use a vectorstore as a retriever": "https://python.langchain.com/v0.2/docs/how_to/vectorstore_retriever/", "Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "AzureAISearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "Kinetica Vectorstore based Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kinetica/", "JaguarDB Vector Database": "https://python.langchain.com/v0.2/docs/integrations/retrievers/jaguar/", "SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/singlestoredb/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "Upstash Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/upstash/", "VDMS": "https://python.langchain.com/v0.2/docs/integrations/providers/vdms/", "LanceDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lancedb/", "Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/", "SQLite-VSS": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sqlitevss/", "Vald": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vald/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "DashVector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dashvector/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/databricks_vector_search/", "ScaNN": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/scann/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/xata/", "Hippo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hippo/", "Vespa": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vespa/", "Rockset": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/rockset/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dingo/", "Zilliz": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zilliz/", "Azure Cosmos DB Mongo vCore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db/", "Annoy": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/annoy/", "Couchbase ": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/couchbase/", "Typesense": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/typesense/", "Momento Vector Index (MVI)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/momento_vector_index/", "TiDB Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tidb_vector/", "Relyt": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/relyt/", "Activeloop Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/activeloop_deeplake/", "vlite": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vlite/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/", "Lantern": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lantern/", "Tair": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tair/", "DuckDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/duckdb/", "Alibaba Cloud OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/alibabacloud_opensearch/", "Clarifai": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/clarifai/", "scikit-learn": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sklearn/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "DocArray HnswSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_hnsw/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/myscale/", "TileDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tiledb/", "Google Memorystore for Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_memorystore_redis/", "Tigris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tigris/", "China Mobile ECloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/ecloud_vector_search/", "Bagel": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/bagel/", "Baidu Cloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiducloud_vector_search/", "AwaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/awadb/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/supabase/", "SurrealDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/surrealdb/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/opensearch/", "Faiss (Async)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss_async/", "BagelDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/bageldb/", "ManticoreSearch VectorStore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/manticore_search/", "Azure AI Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azuresearch/", "USearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/usearch/", "PGVecto.rs": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgvecto_rs/", "Marqo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/marqo/", "DocArray InMemorySearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_in_memory/", "Postgres Embedding": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgembedding/", "Intel's Visual Data Management System (VDMS)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vdms/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Epsilla": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/epsilla/", "Amazon Document DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/documentdb/", "SemaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/semadb/", "AnalyticDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/analyticdb/", "Hologres": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hologres/", "Baidu VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiduvectordb/", "Meilisearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/meilisearch/", "Psychic": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/psychic/", "Manifest": "https://python.langchain.com/v0.2/docs/integrations/llms/manifest/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/"}, "acollapse_docs": {"# Basic example (short documents)": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_reduce_chain/", "How to summarize text through parallelization": "https://python.langchain.com/v0.2/docs/how_to/summarize_map_reduce/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/"}, "split_list_of_docs": {"# Basic example (short documents)": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_reduce_chain/", "How to summarize text through parallelization": "https://python.langchain.com/v0.2/docs/how_to/summarize_map_reduce/", "Summarize Text": "https://python.langchain.com/v0.2/docs/tutorials/summarization/"}, "RefineDocumentsChain": {"# Example": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/refine_docs_chain/"}, "RetrievalQA": {"Load docs": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/retrieval_qa/", "LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "Bedrock (Knowledge Bases) Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/bedrock/", "Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/", "Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/", "ScaNN": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/scann/", "Google Vertex AI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_vertex_ai_vector_search/", "Momento Vector Index (MVI)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/momento_vector_index/", "Activeloop Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/activeloop_deeplake/", "StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/", "KDB.AI": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kdbai/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Amazon Document DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/documentdb/", "VoyageAI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/voyageai-reranker/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/"}, "RunnablePassthrough": {"Load docs": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/retrieval_qa/", "# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/llm_router_chain/", "How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to do per-user retrieval": "https://python.langchain.com/v0.2/docs/how_to/qa_per_user/", "How to inspect runnables": "https://python.langchain.com/v0.2/docs/how_to/inspect/", "How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to add a human-in-the-loop for tools": "https://python.langchain.com/v0.2/docs/how_to/tools_human/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/", "How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to add default invocation args to a Runnable": "https://python.langchain.com/v0.2/docs/how_to/binding/", "How to convert Runnables as Tools": "https://python.langchain.com/v0.2/docs/how_to/convert_runnable_to_tool/", "How to create a dynamic (self-constructing) chain": "https://python.langchain.com/v0.2/docs/how_to/dynamic_chain/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "How deal with high cardinality categoricals when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_high_cardinality/", "How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/", "Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/", "How to use few-shot prompting with tool calling": "https://python.langchain.com/v0.2/docs/how_to/tools_few_shot/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "NVIDIA NIMs ": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/nvidia_ai_endpoints/", "AzureAISearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "You.com": "https://python.langchain.com/v0.2/docs/integrations/retrievers/you-retriever/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "AskNews": "https://python.langchain.com/v0.2/docs/integrations/retrievers/asknews/", "WikipediaRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/wikipedia/", "TavilySearchAPIRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tavily/", "ArxivRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/arxiv/", "ElasticsearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/elasticsearch_retriever/", "Milvus Hybrid Search Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/milvus_hybrid_search/", "Google Vertex AI Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/google_vertex_ai_search/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "DSPy": "https://python.langchain.com/v0.2/docs/integrations/providers/dspy/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/", "Vector stores and retrievers": "https://python.langchain.com/v0.2/docs/tutorials/retrievers/"}, "LLMRouterChain": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/llm_router_chain/"}, "RouterOutputParser": {"# Legacy": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/llm_router_chain/"}, "MapRerankDocumentsChain": {"# Example": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_rerank_docs_chain/"}, "RegexParser": {"# Example": "https://python.langchain.com/v0.2/docs/versions/migrating_chains/map_rerank_docs_chain/"}, "TavilySearchResults": {"Build an Agent with AgentExecutor (Legacy)": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to debug your LLM apps": "https://python.langchain.com/v0.2/docs/how_to/debugging/", "Tavily Search": "https://python.langchain.com/v0.2/docs/integrations/tools/tavily_search/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/providers/cohere/", "Build an Agent": "https://python.langchain.com/v0.2/docs/tutorials/agents/"}, "create_retriever_tool": {"Build an Agent with AgentExecutor (Legacy)": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/memory/xata_chat_message_history/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/"}, "create_tool_calling_agent": {"Build an Agent with AgentExecutor (Legacy)": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to use tools in a chain": "https://python.langchain.com/v0.2/docs/how_to/tools_chain/", "How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to debug your LLM apps": "https://python.langchain.com/v0.2/docs/how_to/debugging/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "Azure Container Apps dynamic sessions": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_dynamic_sessions/", "FinancialDatasets Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/financial_datasets/", "Databricks Unity Catalog (UC)": "https://python.langchain.com/v0.2/docs/integrations/tools/databricks/", "Riza Code Interpreter": "https://python.langchain.com/v0.2/docs/integrations/tools/riza/", "Bing Search": "https://python.langchain.com/v0.2/docs/integrations/tools/bing_search/"}, "AgentExecutor": {"Build an Agent with AgentExecutor (Legacy)": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to use tools in a chain": "https://python.langchain.com/v0.2/docs/how_to/tools_chain/", "How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to debug your LLM apps": "https://python.langchain.com/v0.2/docs/how_to/debugging/", "How to migrate from legacy LangChain agents to LangGraph": "https://python.langchain.com/v0.2/docs/how_to/migrate_agent/", "Infobip": "https://python.langchain.com/v0.2/docs/integrations/tools/infobip/", "AskNews": "https://python.langchain.com/v0.2/docs/integrations/tools/asknews/", "Azure Container Apps dynamic sessions": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_dynamic_sessions/", "FinancialDatasets Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/financial_datasets/", "Cassandra Database Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/cassandra_database/", "Polygon IO Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon_toolkit/", "Semantic Scholar API Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/semanticscholar/", "Databricks Unity Catalog (UC)": "https://python.langchain.com/v0.2/docs/integrations/tools/databricks/", "Passio NutritionAI": "https://python.langchain.com/v0.2/docs/integrations/tools/passio_nutrition_ai/", "Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "Riza Code Interpreter": "https://python.langchain.com/v0.2/docs/integrations/tools/riza/", "ArXiv": "https://python.langchain.com/v0.2/docs/integrations/tools/arxiv/", "Robocorp Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/robocorp/", "MultiOn Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/multion/", "Exa Search": "https://python.langchain.com/v0.2/docs/integrations/tools/exa_search/", "Amadeus Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/amadeus/", "Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/", "You.com Search": "https://python.langchain.com/v0.2/docs/integrations/tools/you/", "Bing Search": "https://python.langchain.com/v0.2/docs/integrations/tools/bing_search/", "Azure AI Services Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_ai_services/", "Polygon IO Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/", "Ionic Shopping Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/ionic_shopping/", "MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/callbacks/streamlit/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/providers/cohere/", "Dataherald": "https://python.langchain.com/v0.2/docs/integrations/providers/dataherald/", "Log, Trace, and Monitor": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/logging_tracing_portkey/", "Portkey": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/index/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/"}, "AIMessage": {"Build an Agent with AgentExecutor (Legacy)": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to merge consecutive messages of the same type": "https://python.langchain.com/v0.2/docs/how_to/merge_message_runs/", "How to trim messages": "https://python.langchain.com/v0.2/docs/how_to/trim_messages/", "How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to add a human-in-the-loop for tools": "https://python.langchain.com/v0.2/docs/how_to/tools_human/", "How to use prompting alone (no tool calling) to do extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_parse/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to filter messages": "https://python.langchain.com/v0.2/docs/how_to/filter_messages/", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/", "How to return structured data from a model": "https://python.langchain.com/v0.2/docs/how_to/structured_output/", "How to compose prompts together": "https://python.langchain.com/v0.2/docs/how_to/prompts_composition/", "How to use few-shot prompting with tool calling": "https://python.langchain.com/v0.2/docs/how_to/tools_few_shot/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "Twitter (via Apify)": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/twitter/", "Zep Open Source": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_memorystore/", "Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_cloud_memorystore/", "Google Imagen": "https://python.langchain.com/v0.2/docs/integrations/tools/google_imagen/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "ChatOllama": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama/", "ChatOCIGenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/oci_generative_ai/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/chat/yuan2/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/", "ChatGLM": "https://python.langchain.com/v0.2/docs/integrations/llms/chatglm/", "Chat Bot Feedback Template": "https://python.langchain.com/v0.2/docs/templates/chat-bot-feedback/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "ChatMessageHistory": {"Build an Agent with AgentExecutor (Legacy)": "https://python.langchain.com/v0.2/docs/how_to/agent_executor/", "How to add tools to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_tools/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/"}, "Neo4jGraph": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/", "How to construct knowledge graphs": "https://python.langchain.com/v0.2/docs/how_to/graph_constructing/", "How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "Neo4j": "https://python.langchain.com/v0.2/docs/integrations/graphs/neo4j_cypher/", "Diffbot": "https://python.langchain.com/v0.2/docs/integrations/graphs/diffbot/", "Build a Question Answering application over a Graph Database": "https://python.langchain.com/v0.2/docs/tutorials/graph/"}, "AsyncCallbackManagerForToolRun": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to create tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/"}, "CallbackManagerForToolRun": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to create tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/"}, "BaseTool": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to use LangChain with different Pydantic versions": "https://python.langchain.com/v0.2/docs/how_to/pydantic_compatibility/", "How to pass run time values to tools": "https://python.langchain.com/v0.2/docs/how_to/tool_runtime/", "How to create tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/", "How to return artifacts from a tool": "https://python.langchain.com/v0.2/docs/how_to/tool_artifacts/"}, "format_to_openai_function_messages": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/"}, "OpenAIFunctionsAgentOutputParser": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/"}, "convert_to_openai_function": {"How to add a semantic layer over graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_semantic/", "How to convert tools to OpenAI Functions": "https://python.langchain.com/v0.2/docs/how_to/tools_as_openai_functions/"}, "BSHTMLLoader": {"How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to load HTML": "https://python.langchain.com/v0.2/docs/how_to/document_loader_html/", "BSHTMLLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/bshtml/"}, "TokenTextSplitter": {"How to handle long text when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_long_text/", "How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/", "AzureAISearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/", "StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/"}, "PyPDFLoader": {"How to load PDFs": "https://python.langchain.com/v0.2/docs/how_to/document_loader_pdf/", "Google Vertex AI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_vertex_ai_vector_search/", "Azure Cosmos DB No SQL": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db_no_sql/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/", "KDB.AI": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kdbai/", "PyPDFLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pypdfloader/", "Merge Documents Loader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/merge_doc/", "Google Cloud Storage File": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_cloud_storage_file/", "Build a PDF ingestion and Question/Answering system": "https://python.langchain.com/v0.2/docs/tutorials/pdf_qa/"}, "SQLDatabase": {"How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "How to do query validation as part of SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_query_checking/", "SQLDatabase Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/sql_database/", "CnosDB": "https://python.langchain.com/v0.2/docs/integrations/providers/cnosdb/", "Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/"}, "create_sql_query_chain": {"How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to do query validation as part of SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_query_checking/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/"}, "FewShotPromptTemplate": {"How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to select examples by n-gram overlap": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_ngram/", "How to select examples by length": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_length_based/", "How to use example selectors": "https://python.langchain.com/v0.2/docs/how_to/example_selectors/", "How to use few shot examples": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples/", "How to select examples by similarity": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_similarity/", "How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "How to select examples by maximal marginal relevance (MMR)": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_mmr/", "Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "SemanticSimilarityExampleSelector": {"How to better prompt when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_prompting/", "How to use few shot examples": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples/", "How to use few shot examples in chat models": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples_chat/", "How to select examples by similarity": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_similarity/", "How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "How to select examples by maximal marginal relevance (MMR)": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_mmr/"}, "PydanticOutputParser": {"How to use output parsers to parse an LLM response into structured format": "https://python.langchain.com/v0.2/docs/how_to/output_parser_structured/", "How to use prompting alone (no tool calling) to do extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_parse/", "How to use the output-fixing parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_fixing/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/", "How to return structured data from a model": "https://python.langchain.com/v0.2/docs/how_to/structured_output/", "Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "AsyncCallbackHandler": {"How to use callbacks in async environments": "https://python.langchain.com/v0.2/docs/how_to/callbacks_async/", "How to dispatch custom callback events": "https://python.langchain.com/v0.2/docs/how_to/callbacks_custom_events/", "Bedrock": "https://python.langchain.com/v0.2/docs/integrations/llms/bedrock/"}, "BaseCallbackHandler": {"How to use callbacks in async environments": "https://python.langchain.com/v0.2/docs/how_to/callbacks_async/", "How to propagate callbacks constructor": "https://python.langchain.com/v0.2/docs/how_to/callbacks_constructor/", "How to attach callbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/callbacks_attach/", "How to create custom callback handlers": "https://python.langchain.com/v0.2/docs/how_to/custom_callbacks/", "How to dispatch custom callback events": "https://python.langchain.com/v0.2/docs/how_to/callbacks_custom_events/", "How to pass callbacks in at runtime": "https://python.langchain.com/v0.2/docs/how_to/callbacks_runtime/", "GPT4All": "https://python.langchain.com/v0.2/docs/integrations/llms/gpt4all/"}, "LLMResult": {"How to use callbacks in async environments": "https://python.langchain.com/v0.2/docs/how_to/callbacks_async/", "How to propagate callbacks constructor": "https://python.langchain.com/v0.2/docs/how_to/callbacks_constructor/", "How to attach callbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/callbacks_attach/", "How to pass callbacks in at runtime": "https://python.langchain.com/v0.2/docs/how_to/callbacks_runtime/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/"}, "RunnableParallel": {"How to add values to a chain's state": "https://python.langchain.com/v0.2/docs/how_to/assign/", "How to invoke runnables in parallel": "https://python.langchain.com/v0.2/docs/how_to/parallel/", "How to pass through arguments from one step to the next": "https://python.langchain.com/v0.2/docs/how_to/passthrough/", "How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/", "How to chain runnables": "https://python.langchain.com/v0.2/docs/how_to/sequence/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/"}, "RunnableBranch": {"How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/"}, "cosine_similarity": {"How to route between sub-chains": "https://python.langchain.com/v0.2/docs/how_to/routing/"}, "ConfigurableField": {"How to do per-user retrieval": "https://python.langchain.com/v0.2/docs/how_to/qa_per_user/", "How to configure runtime chain internals": "https://python.langchain.com/v0.2/docs/how_to/configure/", "LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/", "How to combine results from multiple retrievers": "https://python.langchain.com/v0.2/docs/how_to/ensemble_retriever/", "Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/"}, "NGramOverlapExampleSelector": {"How to select examples by n-gram overlap": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_ngram/"}, "get_openai_callback": {"How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "How to track token usage for LLMs": "https://python.langchain.com/v0.2/docs/how_to/llm_token_usage_tracking/", "AzureChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/azure_chat_openai/"}, "load_tools": {"How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "ChatGPT Plugins": "https://python.langchain.com/v0.2/docs/integrations/tools/chatgpt_plugins/", "Google Jobs": "https://python.langchain.com/v0.2/docs/integrations/tools/google_jobs/", "Human as a tool": "https://python.langchain.com/v0.2/docs/integrations/tools/human_tools/", "Google Finance": "https://python.langchain.com/v0.2/docs/integrations/tools/google_finance/", "AWS Lambda": "https://python.langchain.com/v0.2/docs/integrations/tools/awslambda/", "Google Drive": "https://python.langchain.com/v0.2/docs/integrations/tools/google_drive/", "OpenWeatherMap": "https://python.langchain.com/v0.2/docs/integrations/providers/openweathermap/", "Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "Eleven Labs Text2Speech": "https://python.langchain.com/v0.2/docs/integrations/tools/eleven_labs_tts/", "ArXiv": "https://python.langchain.com/v0.2/docs/integrations/tools/arxiv/", "GraphQL": "https://python.langchain.com/v0.2/docs/integrations/tools/graphql/", "SceneXplain": "https://python.langchain.com/v0.2/docs/integrations/tools/sceneXplain/", "Dall-E Image Generator": "https://python.langchain.com/v0.2/docs/integrations/tools/dalle_image_generator/", "MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/", "Comet Tracing": "https://python.langchain.com/v0.2/docs/integrations/callbacks/comet_tracing/", "Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/callbacks/streamlit/", "SerpAPI": "https://python.langchain.com/v0.2/docs/integrations/providers/serpapi/", "SearchApi": "https://python.langchain.com/v0.2/docs/integrations/providers/searchapi/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Golden": "https://python.langchain.com/v0.2/docs/integrations/providers/golden/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "Wolfram Alpha": "https://python.langchain.com/v0.2/docs/integrations/providers/wolfram_alpha/", "MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/", "DataForSEO": "https://python.langchain.com/v0.2/docs/integrations/providers/dataforseo/", "SearxNG Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/searx/", "Serper - Google Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/google_serper/", "Stack Exchange": "https://python.langchain.com/v0.2/docs/integrations/providers/stackexchange/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "WandB Tracing": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracing/", "ClearML": "https://python.langchain.com/v0.2/docs/integrations/providers/clearml_tracking/", "Dataherald": "https://python.langchain.com/v0.2/docs/integrations/providers/dataherald/", "Amazon API Gateway": "https://python.langchain.com/v0.2/docs/integrations/llms/amazon_api_gateway/"}, "ChatBedrock": {"How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/", "Response metadata": "https://python.langchain.com/v0.2/docs/how_to/response_metadata/", "AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "ChatBedrock": "https://python.langchain.com/v0.2/docs/integrations/chat/bedrock/", "Amazon Neptune with SPARQL": "https://python.langchain.com/v0.2/docs/integrations/graphs/amazon_neptune_sparql/"}, "get_bedrock_anthropic_callback": {"How to track token usage in ChatModels": "https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/"}, "CallbackManagerForLLMRun": {"How to create a custom LLM class": "https://python.langchain.com/v0.2/docs/how_to/custom_llm/", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "LLM": {"How to create a custom LLM class": "https://python.langchain.com/v0.2/docs/how_to/custom_llm/"}, "GenerationChunk": {"How to create a custom LLM class": "https://python.langchain.com/v0.2/docs/how_to/custom_llm/"}, "BaseLoader": {"How to create a custom Document Loader": "https://python.langchain.com/v0.2/docs/how_to/document_loader_custom/", "How to use the LangChain indexing API": "https://python.langchain.com/v0.2/docs/how_to/indexing/"}, "BaseBlobParser": {"How to create a custom Document Loader": "https://python.langchain.com/v0.2/docs/how_to/document_loader_custom/"}, "Blob": {"How to create a custom Document Loader": "https://python.langchain.com/v0.2/docs/how_to/document_loader_custom/", "Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Cloud Document AI": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_docai/"}, "FileSystemBlobLoader": {"How to create a custom Document Loader": "https://python.langchain.com/v0.2/docs/how_to/document_loader_custom/"}, "GenericLoader": {"How to create a custom Document Loader": "https://python.langchain.com/v0.2/docs/how_to/document_loader_custom/", "Grobid": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/grobid/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/", "Source Code": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/source_code/"}, "LengthBasedExampleSelector": {"How to select examples by length": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_length_based/"}, "BaseExampleSelector": {"How to use example selectors": "https://python.langchain.com/v0.2/docs/how_to/example_selectors/"}, "Language": {"How to split code": "https://python.langchain.com/v0.2/docs/how_to/code_splitter/", "Source Code": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/source_code/"}, "Chroma": {"How to use few shot examples": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples/", "How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to use few shot examples in chat models": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples_chat/", "How to select examples by similarity": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_similarity/", "How to reorder retrieved results to mitigate the \"lost in the middle\" effect": "https://python.langchain.com/v0.2/docs/how_to/long_context_reorder/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to stream results from your RAG application": "https://python.langchain.com/v0.2/docs/how_to/qa_streaming/", "How to get your RAG application to return sources": "https://python.langchain.com/v0.2/docs/how_to/qa_sources/", "How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to add chat history": "https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/", "How to add retrieval to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_retrieval/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to create and query vector stores": "https://python.langchain.com/v0.2/docs/how_to/vectorstores/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "How to use the Parent Document Retriever": "https://python.langchain.com/v0.2/docs/how_to/parent_document_retriever/", "How deal with high cardinality categoricals when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_high_cardinality/", "How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/", "LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/chroma/", "Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "Image captions": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/image_captions/", "Psychic": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/psychic/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/", "Build a Retrieval Augmented Generation (RAG) App": "https://python.langchain.com/v0.2/docs/tutorials/rag/", "Build a Local RAG Application": "https://python.langchain.com/v0.2/docs/tutorials/local_rag/", "Conversational RAG": "https://python.langchain.com/v0.2/docs/tutorials/qa_chat_history/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/", "Build a PDF ingestion and Question/Answering system": "https://python.langchain.com/v0.2/docs/tutorials/pdf_qa/", "Vector stores and retrievers": "https://python.langchain.com/v0.2/docs/tutorials/retrievers/"}, "merge_message_runs": {"How to merge consecutive messages of the same type": "https://python.langchain.com/v0.2/docs/how_to/merge_message_runs/"}, "PydanticToolsParser": {"How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to deal with large databases when doing SQL question-answering": "https://python.langchain.com/v0.2/docs/how_to/sql_large_db/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to use chat models to call tools": "https://python.langchain.com/v0.2/docs/how_to/tool_calling/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "ChatPremAI": "https://python.langchain.com/v0.2/docs/integrations/chat/premai/", "PremAI": "https://python.langchain.com/v0.2/docs/integrations/providers/premai/"}, "chain": {"How to handle cases where no queries are generated": "https://python.langchain.com/v0.2/docs/how_to/query_no_queries/", "How to pass run time values to tools": "https://python.langchain.com/v0.2/docs/how_to/tool_runtime/", "How to handle multiple queries when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_queries/", "How to create a dynamic (self-constructing) chain": "https://python.langchain.com/v0.2/docs/how_to/dynamic_chain/", "How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to handle multiple retrievers when doing query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_multiple_retrievers/", "How to run custom functions": "https://python.langchain.com/v0.2/docs/how_to/functions/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "Tavily Search": "https://python.langchain.com/v0.2/docs/integrations/tools/tavily_search/"}, "trim_messages": {"How to trim messages": "https://python.langchain.com/v0.2/docs/how_to/trim_messages/", "How to add memory to chatbots": "https://python.langchain.com/v0.2/docs/how_to/chatbots_memory/", "Build a Chatbot": "https://python.langchain.com/v0.2/docs/tutorials/chatbot/"}, "ToolMessage": {"How to trim messages": "https://python.langchain.com/v0.2/docs/how_to/trim_messages/", "How to do tool/function calling": "https://python.langchain.com/v0.2/docs/how_to/function_calling/", "How to use reference examples when doing extraction": "https://python.langchain.com/v0.2/docs/how_to/extraction_examples/", "How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to return structured data from a model": "https://python.langchain.com/v0.2/docs/how_to/structured_output/", "How to use few-shot prompting with tool calling": "https://python.langchain.com/v0.2/docs/how_to/tools_few_shot/", "How to add examples to the prompt for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_few_shot/", "Cohere": "https://python.langchain.com/v0.2/docs/integrations/providers/cohere/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/chat/edenai/", "ChatPremAI": "https://python.langchain.com/v0.2/docs/integrations/chat/premai/", "PremAI": "https://python.langchain.com/v0.2/docs/integrations/providers/premai/"}, "RecursiveJsonSplitter": {"How to split JSON data": "https://python.langchain.com/v0.2/docs/how_to/recursive_json_splitter/"}, "FewShotChatMessagePromptTemplate": {"How to use few shot examples in chat models": "https://python.langchain.com/v0.2/docs/how_to/few_shot_examples_chat/", "Fiddler": "https://python.langchain.com/v0.2/docs/integrations/callbacks/fiddler/"}, "XMLOutputParser": {"How to parse XML output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_xml/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/"}, "InjectedToolArg": {"How to pass run time values to tools": "https://python.langchain.com/v0.2/docs/how_to/tool_runtime/"}, "Runnable": {"How to add a human-in-the-loop for tools": "https://python.langchain.com/v0.2/docs/how_to/tools_human/", "How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/", "How to create a dynamic (self-constructing) chain": "https://python.langchain.com/v0.2/docs/how_to/dynamic_chain/"}, "StructuredTool": {"How to create tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/", "Infobip": "https://python.langchain.com/v0.2/docs/integrations/tools/infobip/"}, "GenericFakeChatModel": {"How to create tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/"}, "ToolException": {"How to create tools": "https://python.langchain.com/v0.2/docs/how_to/custom_tools/"}, "AzureAIDocumentIntelligenceLoader": {"How to load Microsoft Office files": "https://python.langchain.com/v0.2/docs/how_to/document_loader_office_file/", "Microsoft Word": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_word/", "Microsoft Excel": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_excel/", "Microsoft PowerPoint": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_powerpoint/", "Azure AI Document Intelligence": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/azure_document_intelligence/"}, "InMemoryRateLimiter": {"How to handle rate limits": "https://python.langchain.com/v0.2/docs/how_to/chat_model_rate_limiting/"}, "LongContextReorder": {"How to reorder retrieved results to mitigate the \"lost in the middle\" effect": "https://python.langchain.com/v0.2/docs/how_to/long_context_reorder/", "LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/"}, "DatetimeOutputParser": {"How to add fallbacks to a runnable": "https://python.langchain.com/v0.2/docs/how_to/fallbacks/"}, "CypherQueryCorrector": {"How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/"}, "Schema": {"How to map values to a graph database": "https://python.langchain.com/v0.2/docs/how_to/graph_mapping/"}, "dumpd": {"How to save and load LangChain objects": "https://python.langchain.com/v0.2/docs/how_to/serialization/"}, "dumps": {"How to save and load LangChain objects": "https://python.langchain.com/v0.2/docs/how_to/serialization/"}, "load": {"How to save and load LangChain objects": "https://python.langchain.com/v0.2/docs/how_to/serialization/"}, "loads": {"How to save and load LangChain objects": "https://python.langchain.com/v0.2/docs/how_to/serialization/"}, "set_llm_cache": {"How to cache chat model responses": "https://python.langchain.com/v0.2/docs/how_to/chat_model_caching/", "How to cache LLM responses": "https://python.langchain.com/v0.2/docs/how_to/llm_caching/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "DSPy": "https://python.langchain.com/v0.2/docs/integrations/providers/dspy/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/providers/mongodb_atlas/", "Astra DB": "https://python.langchain.com/v0.2/docs/integrations/providers/astradb/", "Couchbase": "https://python.langchain.com/v0.2/docs/integrations/providers/couchbase/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/providers/redis/", "Cassandra": "https://python.langchain.com/v0.2/docs/integrations/providers/cassandra/", "Momento": "https://python.langchain.com/v0.2/docs/integrations/providers/momento/"}, "InMemoryCache": {"How to cache chat model responses": "https://python.langchain.com/v0.2/docs/how_to/chat_model_caching/", "How to cache LLM responses": "https://python.langchain.com/v0.2/docs/how_to/llm_caching/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/"}, "SQLiteCache": {"How to cache chat model responses": "https://python.langchain.com/v0.2/docs/how_to/chat_model_caching/", "How to cache LLM responses": "https://python.langchain.com/v0.2/docs/how_to/llm_caching/", "Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "DSPy": "https://python.langchain.com/v0.2/docs/integrations/providers/dspy/"}, "create_sql_agent": {"How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "CnosDB": "https://python.langchain.com/v0.2/docs/integrations/providers/cnosdb/"}, "PythonAstREPLTool": {"How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/"}, "JsonOutputKeyToolsParser": {"How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/"}, "create_pandas_dataframe_agent": {"How to do question answering over CSVs": "https://python.langchain.com/v0.2/docs/how_to/sql_csv/", "Pandas Dataframe": "https://python.langchain.com/v0.2/docs/integrations/tools/pandas/"}, "OutputFixingParser": {"How to use the output-fixing parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_fixing/", "How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/"}, "FunctionMessage": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "AIMessageChunk": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/", "Google Cloud Vertex AI": "https://python.langchain.com/v0.2/docs/integrations/llms/google_vertex_ai_palm/"}, "FunctionMessageChunk": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "HumanMessageChunk": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "SystemMessageChunk": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "ToolMessageChunk": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "AsyncCallbackManagerForLLMRun": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "SimpleChatModel": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "ChatGeneration": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/", "How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/"}, "ChatGenerationChunk": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "ChatResult": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "run_in_executor": {"How to create a custom chat model class": "https://python.langchain.com/v0.2/docs/how_to/custom_chat_model/"}, "MoveFileTool": {"How to convert tools to OpenAI Functions": "https://python.langchain.com/v0.2/docs/how_to/tools_as_openai_functions/"}, "filter_messages": {"How to filter messages": "https://python.langchain.com/v0.2/docs/how_to/filter_messages/"}, "ToolCall": {"How to handle tool errors": "https://python.langchain.com/v0.2/docs/how_to/tools_error/"}, "SQLRecordManager": {"How to use the LangChain indexing API": "https://python.langchain.com/v0.2/docs/how_to/indexing/"}, "index": {"How to use the LangChain indexing API": "https://python.langchain.com/v0.2/docs/how_to/indexing/"}, "SemanticChunker": {"How to split text based on semantic similarity": "https://python.langchain.com/v0.2/docs/how_to/semantic-chunker/"}, "InMemoryVectorStore": {"How to convert Runnables as Tools": "https://python.langchain.com/v0.2/docs/how_to/convert_runnable_to_tool/", "FireworksEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/fireworks/", "OpenAIEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/openai/", "OllamaEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/ollama/", "MistralAIEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/mistralai/", "AI21Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/ai21/", "TogetherEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/together/", "CohereEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/cohere/", "AzureOpenAIEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/azureopenai/", "NomicEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/nomic/", "AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon MemoryDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/memorydb/"}, "JsonOutputParser": {"How to stream runnables": "https://python.langchain.com/v0.2/docs/how_to/streaming/", "How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "How to parse JSON output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_json/"}, "InMemoryByteStore": {"How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/", "InMemoryByteStore": "https://python.langchain.com/v0.2/docs/integrations/stores/in_memory/"}, "TextLoader": {"How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "How to load documents from a directory": "https://python.langchain.com/v0.2/docs/how_to/document_loader_directory/", "How to create and query vector stores": "https://python.langchain.com/v0.2/docs/how_to/vectorstores/", "How to use the Parent Document Retriever": "https://python.langchain.com/v0.2/docs/how_to/parent_document_retriever/", "How to use a vectorstore as a retriever": "https://python.langchain.com/v0.2/docs/how_to/vectorstore_retriever/", "Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/", "AzureAISearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "Kinetica Vectorstore based Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kinetica/", "JaguarDB Vector Database": "https://python.langchain.com/v0.2/docs/integrations/retrievers/jaguar/", "LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/", "SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/singlestoredb/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "Upstash Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/upstash/", "VDMS": "https://python.langchain.com/v0.2/docs/integrations/providers/vdms/", "Vectara Chat": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/", "LanceDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lancedb/", "Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/", "SQLite-VSS": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sqlitevss/", "Vald": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vald/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "DashVector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dashvector/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/databricks_vector_search/", "ScaNN": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/scann/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/xata/", "Hippo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hippo/", "Vespa": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vespa/", "Rockset": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/rockset/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dingo/", "Zilliz": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zilliz/", "Azure Cosmos DB Mongo vCore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db/", "viking DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vikingdb/", "Annoy": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/annoy/", "Couchbase ": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/couchbase/", "Typesense": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/typesense/", "Momento Vector Index (MVI)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/momento_vector_index/", "TiDB Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tidb_vector/", "Relyt": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/relyt/", "Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/atlas/", "Activeloop Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/activeloop_deeplake/", "vlite": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vlite/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/", "Lantern": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lantern/", "Tair": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tair/", "DuckDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/duckdb/", "Alibaba Cloud OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/alibabacloud_opensearch/", "Clarifai": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/clarifai/", "scikit-learn": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sklearn/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "DocArray HnswSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_hnsw/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/myscale/", "TileDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tiledb/", "Google Memorystore for Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_memorystore_redis/", "Tigris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tigris/", "China Mobile ECloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/ecloud_vector_search/", "Bagel": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/bagel/", "Baidu Cloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiducloud_vector_search/", "AwaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/awadb/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/supabase/", "SurrealDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/surrealdb/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/opensearch/", "Faiss (Async)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss_async/", "BagelDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/bageldb/", "ManticoreSearch VectorStore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/manticore_search/", "Azure AI Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azuresearch/", "USearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/usearch/", "PGVecto.rs": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgvecto_rs/", "Marqo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/marqo/", "DocArray InMemorySearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_in_memory/", "Postgres Embedding": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgembedding/", "Intel's Visual Data Management System (VDMS)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vdms/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Epsilla": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/epsilla/", "Amazon Document DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/documentdb/", "SemaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/semadb/", "AnalyticDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/analyticdb/", "Hologres": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hologres/", "Baidu VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiduvectordb/", "Vearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vearch/", "Meilisearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/meilisearch/", "VoyageAI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/voyageai-reranker/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "Volcengine Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/volcengine_rerank/", "OpenVINO Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openvino_rerank/", "Cross Encoder Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/cross_encoder_reranker/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/", "DashScope Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/dashscope_rerank/"}, "MultiVectorRetriever": {"How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/"}, "SearchType": {"How to retrieve using multiple vectors per document": "https://python.langchain.com/v0.2/docs/how_to/multi_vector/", "Zep Open Source": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_memorystore/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/"}, "init_chat_model": {"How to init any model in one line": "https://python.langchain.com/v0.2/docs/how_to/chat_models_universal_init/", "How to select examples from a LangSmith dataset": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_langsmith/"}, "SQLChatMessageHistory": {"How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/", "SQL (SQLAlchemy)": "https://python.langchain.com/v0.2/docs/integrations/memory/sql_chat_message_history/", "SQLite": "https://python.langchain.com/v0.2/docs/integrations/providers/sqlite/"}, "ConfigurableFieldSpec": {"How to add message history": "https://python.langchain.com/v0.2/docs/how_to/message_history/"}, "LlamaCpp": {"Run models locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/llms/llamacpp/"}, "CallbackManager": {"Run models locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "ChatLiteLLM": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm/", "GPTRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/gpt_router/", "ChatLiteLLMRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm_router/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/llms/llamacpp/", "Titan Takeoff": "https://python.langchain.com/v0.2/docs/integrations/llms/titan_takeoff/"}, "StreamingStdOutCallbackHandler": {"Run models locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/chat/deepinfra/", "ChatLiteLLM": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm/", "ChatEverlyAI": "https://python.langchain.com/v0.2/docs/integrations/chat/everlyai/", "GPTRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/gpt_router/", "ChatLiteLLMRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm_router/", "ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/chat/yuan2/", "GPT4All": "https://python.langchain.com/v0.2/docs/integrations/providers/gpt4all/", "Arthur": "https://python.langchain.com/v0.2/docs/integrations/providers/arthur_tracking/", "TextGen": "https://python.langchain.com/v0.2/docs/integrations/llms/textgen/", "Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/llms/llamacpp/", "Titan Takeoff": "https://python.langchain.com/v0.2/docs/integrations/llms/titan_takeoff/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/llms/edenai/", "C Transformers": "https://python.langchain.com/v0.2/docs/integrations/llms/ctransformers/", "ExLlamaV2": "https://python.langchain.com/v0.2/docs/integrations/llms/exllamav2/", "Huggingface Endpoints": "https://python.langchain.com/v0.2/docs/integrations/llms/huggingface_endpoint/", "Replicate": "https://python.langchain.com/v0.2/docs/integrations/llms/replicate/"}, "GPT4All": {"Run models locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/callbacks/promptlayer/", "GPT4All": "https://python.langchain.com/v0.2/docs/integrations/llms/gpt4all/"}, "Llamafile": {"Run models locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/", "Llamafile": "https://python.langchain.com/v0.2/docs/integrations/llms/llamafile/"}, "ConditionalPromptSelector": {"Run models locally": "https://python.langchain.com/v0.2/docs/how_to/local_llms/"}, "HubRunnable": {"How to configure runtime chain internals": "https://python.langchain.com/v0.2/docs/how_to/configure/"}, "ContextualCompressionRetriever": {"How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/", "Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/", "FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "RAGatouille": "https://python.langchain.com/v0.2/docs/integrations/providers/ragatouille/", "VoyageAI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/voyageai-reranker/", "RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/", "Volcengine Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/volcengine_rerank/", "OpenVINO Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openvino_rerank/", "Google Cloud Vertex AI Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/google_cloud_vertexai_rerank/", "Cross Encoder Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/cross_encoder_reranker/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/", "DashScope Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/dashscope_rerank/"}, "LLMChainExtractor": {"How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/"}, "LLMChainFilter": {"How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/"}, "LLMListwiseRerank": {"How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/"}, "EmbeddingsFilter": {"How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/"}, "DocumentCompressorPipeline": {"How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/"}, "EmbeddingsRedundantFilter": {"How to do retrieval with contextual compression": "https://python.langchain.com/v0.2/docs/how_to/contextual_compression/", "LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/"}, "Comparator": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/"}, "Comparison": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/"}, "Operation": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/"}, "Operator": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/"}, "StructuredQuery": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/"}, "ChromaTranslator": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/", "How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/"}, "ElasticsearchTranslator": {"How to construct filters for query analysis": "https://python.langchain.com/v0.2/docs/how_to/query_constructing_filters/"}, "WikipediaQueryRun": {"How to use built-in tools and toolkits": "https://python.langchain.com/v0.2/docs/how_to/tools_builtin/", "Wikipedia": "https://python.langchain.com/v0.2/docs/integrations/tools/wikipedia/"}, "WikipediaAPIWrapper": {"How to use built-in tools and toolkits": "https://python.langchain.com/v0.2/docs/how_to/tools_builtin/", "Wikipedia": "https://python.langchain.com/v0.2/docs/integrations/tools/wikipedia/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/"}, "CallbackManagerForRetrieverRun": {"How to create a custom Retriever": "https://python.langchain.com/v0.2/docs/how_to/custom_retriever/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/"}, "BaseRetriever": {"How to create a custom Retriever": "https://python.langchain.com/v0.2/docs/how_to/custom_retriever/"}, "LLMGraphTransformer": {"How to construct knowledge graphs": "https://python.langchain.com/v0.2/docs/how_to/graph_constructing/"}, "RetryOutputParser": {"How to retry when a parsing error occurs": "https://python.langchain.com/v0.2/docs/how_to/output_parser_retry/"}, "TimeWeightedVectorStoreRetriever": {"How to use a time-weighted vector store retriever": "https://python.langchain.com/v0.2/docs/how_to/time_weighted_vectorstore/"}, "InMemoryDocstore": {"How to use a time-weighted vector store retriever": "https://python.langchain.com/v0.2/docs/how_to/time_weighted_vectorstore/", "Annoy": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/annoy/", "Faiss": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/faiss/"}, "mock_now": {"How to use a time-weighted vector store retriever": "https://python.langchain.com/v0.2/docs/how_to/time_weighted_vectorstore/"}, "RunnableGenerator": {"How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/"}, "OutputParserException": {"How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/"}, "BaseOutputParser": {"How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/", "How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/"}, "BaseGenerationOutputParser": {"How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/"}, "Generation": {"How to create a custom Output Parser": "https://python.langchain.com/v0.2/docs/how_to/output_parser_custom/"}, "DirectoryLoader": {"How to load documents from a directory": "https://python.langchain.com/v0.2/docs/how_to/document_loader_directory/", "AzureAISearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/", "StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/"}, "PythonLoader": {"How to load documents from a directory": "https://python.langchain.com/v0.2/docs/how_to/document_loader_directory/"}, "LanceDB": {"How to create and query vector stores": "https://python.langchain.com/v0.2/docs/how_to/vectorstores/", "LanceDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lancedb/"}, "SpacyTextSplitter": {"How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/", "spaCy": "https://python.langchain.com/v0.2/docs/integrations/providers/spacy/", "Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/atlas/"}, "SentenceTransformersTokenTextSplitter": {"How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/"}, "NLTKTextSplitter": {"How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/"}, "KonlpyTextSplitter": {"How to split text by tokens ": "https://python.langchain.com/v0.2/docs/how_to/split_by_token/"}, "WikipediaRetriever": {"How to get a RAG application to add citations": "https://python.langchain.com/v0.2/docs/how_to/qa_citations/", "WikipediaRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/wikipedia/", "Wikipedia": "https://python.langchain.com/v0.2/docs/integrations/providers/wikipedia/"}, "UnstructuredHTMLLoader": {"How to load HTML": "https://python.langchain.com/v0.2/docs/how_to/document_loader_html/", "Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/"}, "MultiQueryRetriever": {"How to use the MultiQueryRetriever": "https://python.langchain.com/v0.2/docs/how_to/MultiQueryRetriever/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vectara/"}, "GraphCypherQAChain": {"How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "Neo4j": "https://python.langchain.com/v0.2/docs/integrations/graphs/neo4j_cypher/", "Memgraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/memgraph/", "Diffbot": "https://python.langchain.com/v0.2/docs/integrations/graphs/diffbot/", "Apache AGE": "https://python.langchain.com/v0.2/docs/integrations/graphs/apache_age/", "Build a Question Answering application over a Graph Database": "https://python.langchain.com/v0.2/docs/tutorials/graph/"}, "Neo4jVector": {"How to best prompt for Graph-RAG": "https://python.langchain.com/v0.2/docs/how_to/graph_prompting/", "Neo4j": "https://python.langchain.com/v0.2/docs/integrations/providers/neo4j/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/"}, "ParentDocumentRetriever": {"How to use the Parent Document Retriever": "https://python.langchain.com/v0.2/docs/how_to/parent_document_retriever/"}, "InMemoryStore": {"How to use the Parent Document Retriever": "https://python.langchain.com/v0.2/docs/how_to/parent_document_retriever/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/"}, "YamlOutputParser": {"How to parse YAML output": "https://python.langchain.com/v0.2/docs/how_to/output_parser_yaml/"}, "PipelinePromptTemplate": {"How to compose prompts together": "https://python.langchain.com/v0.2/docs/how_to/prompts_composition/"}, "CacheBackedEmbeddings": {"Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/"}, "LocalFileStore": {"Caching": "https://python.langchain.com/v0.2/docs/how_to/caching_embeddings/", "LocalFileStore": "https://python.langchain.com/v0.2/docs/integrations/stores/file_system/"}, "Ollama": {"How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "ApertureDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aperturedb/"}, "render_text_description": {"How to add ad-hoc tool calling capability to LLMs and Chat Models": "https://python.langchain.com/v0.2/docs/how_to/tools_prompting/", "MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/"}, "RunnableSerializable": {"LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/"}, "Run": {"LangChain Expression Language Cheatsheet": "https://python.langchain.com/v0.2/docs/how_to/lcel_cheatsheet/"}, "MarkdownHeaderTextSplitter": {"How to split Markdown by Headers": "https://python.langchain.com/v0.2/docs/how_to/markdown_header_metadata_splitter/"}, "HTMLHeaderTextSplitter": {"How to split by HTML header ": "https://python.langchain.com/v0.2/docs/how_to/HTML_header_metadata_splitter/"}, "EnsembleRetriever": {"How to combine results from multiple retrievers": "https://python.langchain.com/v0.2/docs/how_to/ensemble_retriever/"}, "BM25Retriever": {"How to combine results from multiple retrievers": "https://python.langchain.com/v0.2/docs/how_to/ensemble_retriever/", "BM25": "https://python.langchain.com/v0.2/docs/integrations/retrievers/bm25/", "Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/"}, "ChatMistralAI": {"Response metadata": "https://python.langchain.com/v0.2/docs/how_to/response_metadata/", "ChatMistralAI": "https://python.langchain.com/v0.2/docs/integrations/chat/mistralai/", "MistralAI": "https://python.langchain.com/v0.2/docs/integrations/providers/mistralai/", "Build an Extraction Chain": "https://python.langchain.com/v0.2/docs/tutorials/extraction/"}, "ChatGroq": {"Response metadata": "https://python.langchain.com/v0.2/docs/how_to/response_metadata/", "ChatGroq": "https://python.langchain.com/v0.2/docs/integrations/chat/groq/"}, "set_verbose": {"How to debug your LLM apps": "https://python.langchain.com/v0.2/docs/how_to/debugging/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/"}, "set_debug": {"How to debug your LLM apps": "https://python.langchain.com/v0.2/docs/how_to/debugging/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/", "TextGen": "https://python.langchain.com/v0.2/docs/integrations/llms/textgen/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/"}, "MaxMarginalRelevanceExampleSelector": {"How to select examples by maximal marginal relevance (MMR)": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_mmr/"}, "AttributeInfo": {"How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "Milvus": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/milvus_self_query/", "PGVector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pgvector_self_query/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/weaviate_self_query/", "Vectara self-querying ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/hanavector_self_query/", "DashVector": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dashvector/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/databricks_vector_search/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dingo/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/opensearch_self_query/", "Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/elasticsearch_self_query/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/chroma_self_query/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/tencentvectordb/", "Timescale Vector (Postgres) ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/timescalevector_self_query/", "Astra DB (Cassandra)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/astradb/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pinecone/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/supabase_self_query/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/redis_self_query/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/myscale_self_query/", "Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/mongodb_atlas/", "Qdrant": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/qdrant_self_query/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/", "self-query-qdrant": "https://python.langchain.com/v0.2/docs/templates/self-query-qdrant/"}, "SelfQueryRetriever": {"How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "How to add scores to retriever results": "https://python.langchain.com/v0.2/docs/how_to/add_scores_retriever/", "Milvus": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/milvus_self_query/", "PGVector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pgvector_self_query/", "Weaviate": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/weaviate_self_query/", "Vectara self-querying ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/hanavector_self_query/", "DashVector": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dashvector/", "Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/databricks_vector_search/", "DingoDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dingo/", "OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/opensearch_self_query/", "Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/elasticsearch_self_query/", "Chroma": "https://python.langchain.com/v0.2/docs/integrations/providers/chroma/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/tencentvectordb/", "Timescale Vector (Postgres) ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/timescalevector_self_query/", "Astra DB (Cassandra)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/astradb/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pinecone/", "Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/supabase_self_query/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/redis_self_query/", "MyScale": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/myscale_self_query/", "Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query/", "MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/mongodb_atlas/", "Qdrant": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/qdrant_self_query/", "Astra DB": "https://python.langchain.com/v0.2/docs/integrations/providers/astradb/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "Docugami": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docugami/"}, "StructuredQueryOutputParser": {"How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/hanavector_self_query/"}, "get_query_constructor_prompt": {"How to do \"self-querying\" retrieval": "https://python.langchain.com/v0.2/docs/how_to/self_query/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/hanavector_self_query/"}, "add": {"How to select examples from a LangSmith dataset": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_langsmith/"}, "cos": {"How to select examples from a LangSmith dataset": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_langsmith/"}, "divide": {"How to select examples from a LangSmith dataset": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_langsmith/"}, "log": {"How to select examples from a LangSmith dataset": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_langsmith/"}, "multiply": {"How to select examples from a LangSmith dataset": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_langsmith/"}, "negate": {"How to select examples from a LangSmith dataset": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_langsmith/"}, "pi": {"How to select examples from a LangSmith dataset": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_langsmith/"}, "power": {"How to select examples from a LangSmith dataset": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_langsmith/"}, "sin": {"How to select examples from a LangSmith dataset": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_langsmith/"}, "subtract": {"How to select examples from a LangSmith dataset": "https://python.langchain.com/v0.2/docs/how_to/example_selectors_langsmith/"}, "adispatch_custom_event": {"How to dispatch custom callback events": "https://python.langchain.com/v0.2/docs/how_to/callbacks_custom_events/"}, "dispatch_custom_event": {"How to dispatch custom callback events": "https://python.langchain.com/v0.2/docs/how_to/callbacks_custom_events/"}, "Cassandra": {"Hybrid Search": "https://python.langchain.com/v0.2/docs/how_to/hybrid/", "Cassandra": "https://python.langchain.com/v0.2/docs/integrations/providers/cassandra/", "Apache Cassandra": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/cassandra/"}, "HTMLSectionSplitter": {"How to split by HTML sections": "https://python.langchain.com/v0.2/docs/how_to/HTML_section_aware_splitter/"}, "JSONLoader": {"How to load JSON": "https://python.langchain.com/v0.2/docs/how_to/document_loader_json/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/", "JSONLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/json/"}, "UpstashRedisCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Upstash Vector": "https://python.langchain.com/v0.2/docs/integrations/providers/upstash/"}, "RedisCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/providers/redis/"}, "RedisSemanticCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Redis": "https://python.langchain.com/v0.2/docs/integrations/providers/redis/"}, "GPTCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/"}, "MomentoCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Momento": "https://python.langchain.com/v0.2/docs/integrations/providers/momento/"}, "SQLAlchemyCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/"}, "CassandraCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Cassandra": "https://python.langchain.com/v0.2/docs/integrations/providers/cassandra/"}, "CassandraSemanticCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Cassandra": "https://python.langchain.com/v0.2/docs/integrations/providers/cassandra/"}, "AzureCosmosDBSemanticCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/"}, "CosmosDBSimilarityType": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Azure Cosmos DB Mongo vCore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db/"}, "CosmosDBVectorSearchType": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Azure Cosmos DB Mongo vCore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db/"}, "load_summarize_chain": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/", "Infino": "https://python.langchain.com/v0.2/docs/integrations/callbacks/infino/", "LarkSuite (FeiShu)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/larksuite/"}, "OpenSearchSemanticCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/"}, "SingleStoreDBSemanticCache": {"Model caches": "https://python.langchain.com/v0.2/docs/integrations/llm_caching/"}, "map_ai_messages": {"WeChat": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/wechat/", "Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "GMail": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/gmail/", "Slack": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/slack/", "WhatsApp": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/whatsapp/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/", "Telegram": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/telegram/", "Discord": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/discord/"}, "merge_chat_runs": {"WeChat": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/wechat/", "Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "Slack": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/slack/", "WhatsApp": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/whatsapp/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/", "Telegram": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/telegram/", "Discord": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/discord/"}, "ChatSession": {"WeChat": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/wechat/", "Slack": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/slack/", "WhatsApp": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/whatsapp/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/", "Telegram": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/telegram/", "Discord": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/discord/"}, "FolderFacebookMessengerChatLoader": {"Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "Facebook - Meta": "https://python.langchain.com/v0.2/docs/integrations/providers/facebook/"}, "SingleFileFacebookMessengerChatLoader": {"Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "Facebook - Meta": "https://python.langchain.com/v0.2/docs/integrations/providers/facebook/"}, "convert_messages_for_finetuning": {"Facebook Messenger": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/facebook/", "LangSmith LLM Runs": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_llm_runs/", "LangSmith Chat Datasets": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_dataset/", "iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/"}, "convert_message_to_dict": {"Twitter (via Apify)": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/twitter/"}, "convert_pydantic_to_openai_function": {"LangSmith LLM Runs": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_llm_runs/"}, "PydanticOutputFunctionsParser": {"LangSmith LLM Runs": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_llm_runs/"}, "LangSmithRunChatLoader": {"LangSmith LLM Runs": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_llm_runs/"}, "GMailLoader": {"GMail": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/gmail/"}, "SlackChatLoader": {"Slack": "https://python.langchain.com/v0.2/docs/integrations/providers/slack/"}, "WhatsAppChatLoader": {"WhatsApp": "https://python.langchain.com/v0.2/docs/integrations/providers/whatsapp/", "Facebook - Meta": "https://python.langchain.com/v0.2/docs/integrations/providers/facebook/", "WhatsApp Chat": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/whatsapp_chat/"}, "LangSmithDatasetChatLoader": {"LangSmith Chat Datasets": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/langsmith_dataset/"}, "IMessageChatLoader": {"iMessage": "https://python.langchain.com/v0.2/docs/integrations/chat_loaders/imessage/"}, "TelegramChatLoader": {"Telegram": "https://python.langchain.com/v0.2/docs/integrations/providers/telegram/"}, "BookendEmbeddings": {"Bookend AI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/bookend/"}, "SolarEmbeddings": {"Solar": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/solar/"}, "HuggingFaceBgeEmbeddings": {"BGE on Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/bge_huggingface/", "Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/platforms/huggingface/"}, "IpexLLMBgeEmbeddings": {"Local BGE Embeddings with IPEX-LLM on Intel CPU": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/ipex_llm/", "Local BGE Embeddings with IPEX-LLM on Intel GPU": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/ipex_llm_gpu/"}, "QuantizedBiEncoderEmbeddings": {"Embedding Documents using Optimized and Quantized Embedders": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/optimum_intel/", "Intel": "https://python.langchain.com/v0.2/docs/integrations/providers/intel/"}, "XinferenceEmbeddings": {"Xorbits inference (Xinference)": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/xinference/"}, "LLMRailsEmbeddings": {"LLMRails": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/llm_rails/"}, "AscendEmbeddings": {"# Related": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/ascend/", "Ascend": "https://python.langchain.com/v0.2/docs/integrations/providers/ascend/"}, "DeepInfraEmbeddings": {"DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/providers/deepinfra/"}, "HuggingFaceInferenceAPIEmbeddings": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/huggingfacehub/"}, "GPT4AllEmbeddings": {"GPT4All": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/gpt4all/", "ManticoreSearch VectorStore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/manticore_search/"}, "MosaicMLInstructorEmbeddings": {"MosaicML": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/mosaicml/"}, "QuantizedBgeEmbeddings": {"Intel\u00ae Extension for Transformers Quantized Text Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/itrex/", "Intel": "https://python.langchain.com/v0.2/docs/integrations/providers/intel/"}, "BedrockEmbeddings": {"Bedrock": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/bedrock/", "AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon MemoryDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/memorydb/"}, "GigaChatEmbeddings": {"GigaChat": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/gigachat/", "Salute Devices": "https://python.langchain.com/v0.2/docs/integrations/providers/salute_devices/"}, "OCIGenAIEmbeddings": {"Oracle Cloud Infrastructure Generative AI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/oci_generative_ai/", "Oracle Cloud Infrastructure (OCI)": "https://python.langchain.com/v0.2/docs/integrations/providers/oci/"}, "OVHCloudEmbeddings": {"OVHcloud": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/ovhcloud/"}, "FastEmbedEmbeddings": {"FastEmbed by Qdrant": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/fastembed/"}, "LlamaCppEmbeddings": {"Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/providers/llamacpp/"}, "NLPCloudEmbeddings": {"NLP Cloud": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/nlp_cloud/", "NLPCloud": "https://python.langchain.com/v0.2/docs/integrations/providers/nlpcloud/"}, "TextEmbedEmbeddings": {"TextEmbed - Embedding Inference Server": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/textembed/"}, "LaserEmbeddings": {"LASER Language-Agnostic SEntence Representations Embeddings by Meta AI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/laser/", "Facebook - Meta": "https://python.langchain.com/v0.2/docs/integrations/providers/facebook/"}, "OpenCLIPEmbeddings": {"OpenClip": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/open_clip/", "LanceDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lancedb/", "SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/singlestoredb/"}, "TitanTakeoffEmbed": {"Titan Takeoff": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/titan_takeoff/"}, "MistralAIEmbeddings": {"MistralAIEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/mistralai/", "MistralAI": "https://python.langchain.com/v0.2/docs/integrations/providers/mistralai/"}, "SpacyEmbeddings": {"SpaCy": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/spacy_embedding/", "NanoPQ (Product Quantization)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/nanopq/", "spaCy": "https://python.langchain.com/v0.2/docs/integrations/providers/spacy/"}, "DatabricksEmbeddings": {"Databricks": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/databricks/"}, "BaichuanTextEmbeddings": {"Baichuan Text Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/baichuan/", "Baichuan": "https://python.langchain.com/v0.2/docs/integrations/providers/baichuan/"}, "TogetherEmbeddings": {"TogetherEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/together/"}, "HuggingFaceInstructEmbeddings": {"Instruct Embeddings on Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/instruct_embeddings/", "Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/platforms/huggingface/"}, "OracleEmbeddings": {"Oracle AI Vector Search: Generate Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/oracleai/", "OracleAI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/providers/oracleai/"}, "QianfanEmbeddingsEndpoint": {"Baidu Qianfan": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/baidu_qianfan_endpoint/", "ERNIE": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/ernie/", "Baidu": "https://python.langchain.com/v0.2/docs/integrations/providers/baidu/", "Baidu Cloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiducloud_vector_search/"}, "EdenAiEmbeddings": {"EDEN AI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/edenai/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "JohnSnowLabsEmbeddings": {"John Snow Labs": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/johnsnowlabs_embedding/"}, "ErnieEmbeddings": {"ERNIE": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/ernie/"}, "ClarifaiEmbeddings": {"Clarifai": "https://python.langchain.com/v0.2/docs/integrations/providers/clarifai/"}, "AzureOpenAIEmbeddings": {"AzureOpenAIEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/azureopenai/", "AzureAISearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Cosmos DB No SQL": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db_no_sql/", "Azure AI Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azuresearch/"}, "InfinityEmbeddings": {"Infinity": "https://python.langchain.com/v0.2/docs/integrations/providers/infinity/"}, "InfinityEmbeddingsLocal": {"Infinity": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/infinity/"}, "AwaEmbeddings": {"AwaDB": "https://python.langchain.com/v0.2/docs/integrations/providers/awadb/"}, "VolcanoEmbeddings": {"Volc Engine": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/volcengine/"}, "MiniMaxEmbeddings": {"MiniMax": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/minimax/", "Minimax": "https://python.langchain.com/v0.2/docs/integrations/providers/minimax/"}, "FakeEmbeddings": {"Fake Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/fake/", "DocArray": "https://python.langchain.com/v0.2/docs/integrations/retrievers/docarray_retriever/", "Relyt": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/relyt/", "Tair": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tair/", "Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "Google Memorystore for Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_memorystore_redis/", "PGVecto.rs": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgvecto_rs/", "Baidu VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiduvectordb/"}, "ClovaEmbeddings": {"Clova Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/clova/"}, "NeMoEmbeddings": {"NVIDIA NeMo embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/nemo/"}, "SparkLLMTextEmbeddings": {"SparkLLM Text Embeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/sparkllm/", "iFlytek": "https://python.langchain.com/v0.2/docs/integrations/providers/iflytek/"}, "PremAIEmbeddings": {"PremAI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/premai/"}, "KNNRetriever": {"Voyage AI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/voyageai/", "kNN": "https://python.langchain.com/v0.2/docs/integrations/retrievers/knn/"}, "SelfHostedEmbeddings": {"Self Hosted": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/self-hosted/"}, "SelfHostedHuggingFaceEmbeddings": {"Self Hosted": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/self-hosted/"}, "SelfHostedHuggingFaceInstructEmbeddings": {"Self Hosted": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/self-hosted/"}, "AnyscaleEmbeddings": {"Anyscale": "https://python.langchain.com/v0.2/docs/integrations/providers/anyscale/"}, "EmbaasEmbeddings": {"Embaas": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/embaas/"}, "YandexGPTEmbeddings": {"YandexGPT": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/yandex/"}, "JinaEmbeddings": {"Jina": "https://python.langchain.com/v0.2/docs/integrations/providers/jina/", "Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/"}, "AlephAlphaAsymmetricSemanticEmbedding": {"Aleph Alpha": "https://python.langchain.com/v0.2/docs/integrations/providers/aleph_alpha/"}, "AlephAlphaSymmetricSemanticEmbedding": {"Aleph Alpha": "https://python.langchain.com/v0.2/docs/integrations/providers/aleph_alpha/"}, "CloudflareWorkersAIEmbeddings": {"Cloudflare Workers AI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/cloudflare_workersai/", "Cloudflare": "https://python.langchain.com/v0.2/docs/integrations/providers/cloudflare/"}, "DashScopeEmbeddings": {"DashScope": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/dashscope/", "DashVector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dashvector/", "DashScope Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/dashscope_rerank/"}, "TensorflowHubEmbeddings": {"TensorFlow Hub": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/tensorflowhub/"}, "LlamafileEmbeddings": {"llamafile": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/llamafile/"}, "GradientEmbeddings": {"Gradient": "https://python.langchain.com/v0.2/docs/integrations/providers/gradient/"}, "ModelScopeEmbeddings": {"ModelScope": "https://python.langchain.com/v0.2/docs/integrations/providers/modelscope/"}, "SagemakerEndpointEmbeddings": {"SageMaker": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/sagemaker-endpoint/", "AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/"}, "EmbeddingsContentHandler": {"SageMaker": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/sagemaker-endpoint/"}, "DocArrayInMemorySearch": {"UpstageEmbeddings": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/upstage/", "DocArray InMemorySearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_in_memory/"}, "SambaStudioEmbeddings": {"SambaNova": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/sambanova/"}, "OpenVINOEmbeddings": {"OpenVINO": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/openvino/", "OpenVINO Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openvino_rerank/"}, "OpenVINOBgeEmbeddings": {"OpenVINO": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/openvino/"}, "LocalAIEmbeddings": {"LocalAI": "https://python.langchain.com/v0.2/docs/integrations/text_embedding/localai/"}, "AzureAISearchRetriever": {"AzureAISearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/"}, "AzureSearch": {"AzureAISearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/azure_ai_search/", "Azure AI Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azuresearch/"}, "RePhraseQueryRetriever": {"RePhraseQuery": "https://python.langchain.com/v0.2/docs/integrations/retrievers/re_phrase/"}, "YouSearchAPIWrapper": {"You.com": "https://python.langchain.com/v0.2/docs/integrations/retrievers/you-retriever/", "You.com Search": "https://python.langchain.com/v0.2/docs/integrations/tools/you/"}, "YouRetriever": {"You.com": "https://python.langchain.com/v0.2/docs/integrations/retrievers/you-retriever/"}, "Kinetica": {"Kinetica Vectorstore based Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kinetica/", "Kinetica": "https://python.langchain.com/v0.2/docs/integrations/providers/kinetica/", "Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/"}, "KineticaSettings": {"Kinetica Vectorstore based Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kinetica/", "Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/", "Kinetica": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/kinetica/"}, "Jaguar": {"JaguarDB Vector Database": "https://python.langchain.com/v0.2/docs/integrations/retrievers/jaguar/", "Jaguar": "https://python.langchain.com/v0.2/docs/integrations/providers/jaguar/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/"}, "BaseStore": {"Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/"}, "VectorStore": {"Fleet AI Context": "https://python.langchain.com/v0.2/docs/integrations/retrievers/fleet_context/"}, "AskNewsRetriever": {"AskNews": "https://python.langchain.com/v0.2/docs/integrations/retrievers/asknews/"}, "LLMLinguaCompressor": {"LLMLingua Document Compressor": "https://python.langchain.com/v0.2/docs/integrations/retrievers/llmlingua/"}, "ElasticSearchBM25Retriever": {"ElasticSearch BM25": "https://python.langchain.com/v0.2/docs/integrations/retrievers/elastic_search_bm25/"}, "OutlineRetriever": {"Outline": "https://python.langchain.com/v0.2/docs/integrations/providers/outline/"}, "ZepMemory": {"Zep Open Source": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_memorystore/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/"}, "SearchScope": {"Zep Open Source": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_memorystore/"}, "ZepRetriever": {"Zep Open Source": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_memorystore/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/"}, "VespaRetriever": {"Vespa": "https://python.langchain.com/v0.2/docs/integrations/providers/vespa/"}, "AmazonKendraRetriever": {"Amazon Kendra": "https://python.langchain.com/v0.2/docs/integrations/retrievers/amazon_kendra_retriever/", "AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/"}, "AmazonKnowledgeBasesRetriever": {"Bedrock (Knowledge Bases) Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/bedrock/", "AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/"}, "Bedrock": {"Bedrock (Knowledge Bases) Retriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/bedrock/"}, "CohereEmbeddings": {"Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/"}, "Cohere": {"Cohere reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/cohere-reranker/", "self-query-qdrant": "https://python.langchain.com/v0.2/docs/templates/self-query-qdrant/"}, "ZepCloudMemory": {"Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_cloud_memorystore/", "ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/"}, "ZepCloudRetriever": {"Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/retrievers/zep_cloud_memorystore/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "Zep": "https://python.langchain.com/v0.2/docs/integrations/providers/zep/"}, "NeuralDBRetriever": {"**NeuralDB**": "https://python.langchain.com/v0.2/docs/integrations/retrievers/thirdai_neuraldb/"}, "SingleStoreDB": {"SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/singlestoredb/"}, "MetalRetriever": {"Metal": "https://python.langchain.com/v0.2/docs/integrations/providers/metal/"}, "BreebsRetriever": {"BREEBS (Open Knowledge)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/breebs/"}, "NanoPQRetriever": {"NanoPQ (Product Quantization)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/nanopq/"}, "ChatGPTPluginRetriever": {"ChatGPT plugin": "https://python.langchain.com/v0.2/docs/integrations/retrievers/chatgpt-plugin/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/"}, "KayAiRetriever": {"SEC filing": "https://python.langchain.com/v0.2/docs/integrations/retrievers/sec_filings/", "Kay.ai": "https://python.langchain.com/v0.2/docs/integrations/retrievers/kay/"}, "DriaRetriever": {"Dria": "https://python.langchain.com/v0.2/docs/integrations/retrievers/dria_index/"}, "DocArrayRetriever": {"DocArray": "https://python.langchain.com/v0.2/docs/integrations/retrievers/docarray_retriever/"}, "SVMRetriever": {"SVM": "https://python.langchain.com/v0.2/docs/integrations/retrievers/svm/", "scikit-learn": "https://python.langchain.com/v0.2/docs/integrations/providers/sklearn/"}, "TavilySearchAPIRetriever": {"TavilySearchAPIRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tavily/"}, "PineconeHybridSearchRetriever": {"Pinecone Hybrid Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/pinecone_hybrid_search/", "Pinecone": "https://python.langchain.com/v0.2/docs/integrations/providers/pinecone/"}, "DeepLake": {"Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query/", "Activeloop Deep Lake": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/activeloop_deeplake/"}, "AsyncHtmlLoader": {"Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "HTML to text": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/html2text/", "Markdownify": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/markdownify/", "AsyncHtml": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/async_html/"}, "Html2TextTransformer": {"Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "HTML to text": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/html2text/", "Async Chromium": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/async_chromium/"}, "create_structured_output_chain": {"Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/"}, "HumanMessagePromptTemplate": {"Activeloop Deep Memory": "https://python.langchain.com/v0.2/docs/integrations/retrievers/activeloop/", "JinaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/jinachat/", "Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/", "vLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/vllm/", "Context": "https://python.langchain.com/v0.2/docs/integrations/callbacks/context/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Figma": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/figma/"}, "PubMedRetriever": {"PubMed": "https://python.langchain.com/v0.2/docs/integrations/providers/pubmed/"}, "WeaviateHybridSearchRetriever": {"Weaviate Hybrid Search": "https://python.langchain.com/v0.2/docs/integrations/retrievers/weaviate-hybrid/"}, "EmbedchainRetriever": {"Embedchain": "https://python.langchain.com/v0.2/docs/integrations/retrievers/embedchain/"}, "ArxivRetriever": {"ArxivRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/arxiv/", "Arxiv": "https://python.langchain.com/v0.2/docs/integrations/providers/arxiv/"}, "QdrantSparseVectorRetriever": {"Qdrant Sparse Vector": "https://python.langchain.com/v0.2/docs/integrations/retrievers/qdrant-sparse/"}, "DeterministicFakeEmbedding": {"ElasticsearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/elasticsearch_retriever/"}, "Embeddings": {"ElasticsearchRetriever": "https://python.langchain.com/v0.2/docs/integrations/retrievers/elasticsearch_retriever/", "Infinispan": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/infinispanvs/"}, "RememberizerRetriever": {"Rememberizer": "https://python.langchain.com/v0.2/docs/integrations/retrievers/rememberizer/"}, "ArceeRetriever": {"Arcee": "https://python.langchain.com/v0.2/docs/integrations/providers/arcee/"}, "FlashrankRerank": {"FlashRank reranker": "https://python.langchain.com/v0.2/docs/integrations/retrievers/flashrank-reranker/", "UpTrain": "https://python.langchain.com/v0.2/docs/integrations/callbacks/uptrain/"}, "ChaindeskRetriever": {"Chaindesk": "https://python.langchain.com/v0.2/docs/integrations/providers/chaindesk/"}, "MergerRetriever": {"LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/"}, "EmbeddingsClusteringFilter": {"LOTR (Merger Retriever)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/merger_retriever/"}, "TFIDFRetriever": {"TF-IDF": "https://python.langchain.com/v0.2/docs/integrations/retrievers/tf_idf/"}, "PGVector": {"PGVector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pgvector_self_query/", "PGVector": "https://python.langchain.com/v0.2/docs/integrations/providers/pgvector/"}, "Weaviate": {"Weaviate": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/weaviate_self_query/"}, "Vectara": {"Vectara self-querying ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/vectara_self_query/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vectara/", "Vectara Chat": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/"}, "HanaDB": {"SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "SAP": "https://python.langchain.com/v0.2/docs/integrations/providers/sap/"}, "HanaTranslator": {"SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/hanavector_self_query/"}, "DashVector": {"DashVector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dashvector/"}, "Tongyi": {"DashVector": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/dashvector/", "Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/", "Tongyi Qwen": "https://python.langchain.com/v0.2/docs/integrations/llms/tongyi/"}, "DatabricksVectorSearch": {"Databricks Vector Search": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/databricks_vector_search/"}, "Dingo": {"DingoDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/dingo/"}, "OpenSearchVectorSearch": {"OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/opensearch/", "AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/"}, "ConnectionParams": {"Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "Baidu VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiduvectordb/"}, "MetaField": {"Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/"}, "TencentVectorDB": {"Tencent Cloud VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tencentvectordb/", "Tencent": "https://python.langchain.com/v0.2/docs/integrations/providers/tencent/"}, "TimescaleVector": {"Timescale Vector (Postgres) ": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/timescalevector_self_query/", "Timescale Vector (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/timescalevector/"}, "AstraDB": {"Astra DB (Cassandra)": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/astradb/"}, "SupabaseVectorStore": {"Supabase (Postgres)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/supabase/"}, "Redis": {"Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/redis/"}, "MyScale": {"MyScale": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/myscale/"}, "MongoDBAtlasVectorSearch": {"MongoDB Atlas": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/mongodb_atlas/"}, "Qdrant": {"Qdrant": "https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/qdrant_self_query/", "Identity-enabled RAG using PebbloRetrievalQA": "https://python.langchain.com/v0.2/docs/integrations/providers/pebblo/pebblo_retrieval_qa/"}, "AzureChatOpenAI": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "Bing Search": "https://python.langchain.com/v0.2/docs/integrations/tools/bing_search/", "AzureChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/azure_chat_openai/", "Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/"}, "AzureMLOnlineEndpoint": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/"}, "AzureOpenAI": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "Azure OpenAI": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_openai/"}, "AzureAIDataLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure AI Data": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/azure_ai_data/"}, "AzureBlobStorageContainerLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Blob Storage Container": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/azure_blob_storage_container/"}, "AzureBlobStorageFileLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Blob Storage File": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/azure_blob_storage_file/"}, "OneDriveLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Microsoft OneDrive": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_onedrive/"}, "OneDriveFileLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/"}, "UnstructuredWordDocumentLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Microsoft Word": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_word/"}, "UnstructuredExcelLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Microsoft Excel": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_excel/"}, "SharePointLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Microsoft SharePoint": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_sharepoint/"}, "UnstructuredPowerPointLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Microsoft PowerPoint": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_powerpoint/"}, "OneNoteLoader": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Microsoft OneNote": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_onenote/"}, "AzureCosmosDBVectorSearch": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Cosmos DB Mongo vCore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db/"}, "BingSearchResults": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Bing Search": "https://python.langchain.com/v0.2/docs/integrations/tools/bing_search/"}, "BingSearchAPIWrapper": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Bing Search": "https://python.langchain.com/v0.2/docs/integrations/tools/bing_search/"}, "O365Toolkit": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Office365 Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/office365/"}, "PowerBIToolkit": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "PowerBI Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/powerbi/"}, "PowerBIDataset": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "PowerBI Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/powerbi/"}, "PlayWrightBrowserToolkit": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "PlayWright Browser Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/playwright/"}, "GremlinGraph": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/"}, "GraphDocument": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/"}, "Node": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/"}, "Relationship": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/", "Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/"}, "PresidioAnonymizer": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/"}, "PresidioReversibleAnonymizer": {"Microsoft": "https://python.langchain.com/v0.2/docs/integrations/platforms/microsoft/"}, "BedrockLLM": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Bedrock": "https://python.langchain.com/v0.2/docs/integrations/llms/bedrock/"}, "AmazonAPIGateway": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon API Gateway": "https://python.langchain.com/v0.2/docs/integrations/llms/amazon_api_gateway/"}, "SagemakerEndpoint": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "SageMakerEndpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/sagemaker/"}, "ContentHandlerBase": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/"}, "S3DirectoryLoader": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "AWS S3 Directory": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/aws_s3_directory/"}, "S3FileLoader": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "AWS S3 File": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/aws_s3_file/"}, "AmazonTextractPDFLoader": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon Textract ": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/amazon_textract/"}, "AthenaLoader": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Athena": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/athena/"}, "GlueCatalogLoader": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Glue Catalog": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/glue_catalog/"}, "DynamoDBChatMessageHistory": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "AWS DynamoDB": "https://python.langchain.com/v0.2/docs/integrations/memory/aws_dynamodb/"}, "NeptuneGraph": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon Neptune with Cypher": "https://python.langchain.com/v0.2/docs/integrations/graphs/amazon_neptune_open_cypher/"}, "NeptuneAnalyticsGraph": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon Neptune with Cypher": "https://python.langchain.com/v0.2/docs/integrations/graphs/amazon_neptune_open_cypher/"}, "NeptuneOpenCypherQAChain": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon Neptune with Cypher": "https://python.langchain.com/v0.2/docs/integrations/graphs/amazon_neptune_open_cypher/"}, "NeptuneRdfGraph": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon Neptune with SPARQL": "https://python.langchain.com/v0.2/docs/integrations/graphs/amazon_neptune_sparql/"}, "NeptuneSparqlQAChain": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "Amazon Neptune with SPARQL": "https://python.langchain.com/v0.2/docs/integrations/graphs/amazon_neptune_sparql/"}, "SageMakerCallbackHandler": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/"}, "AmazonComprehendModerationChain": {"AWS": "https://python.langchain.com/v0.2/docs/integrations/platforms/aws/"}, "HuggingFaceHubEmbeddings": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/platforms/huggingface/"}, "HuggingFaceDatasetLoader": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/platforms/huggingface/", "HuggingFace dataset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/hugging_face_dataset/"}, "load_huggingface_tool": {"Hugging Face": "https://python.langchain.com/v0.2/docs/integrations/platforms/huggingface/", "HuggingFace Hub Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/huggingface_tools/"}, "ChatGPTLoader": {"OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "ChatGPT Data": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/chatgpt_loader/"}, "DallEAPIWrapper": {"OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/", "Dall-E Image Generator": "https://python.langchain.com/v0.2/docs/integrations/tools/dalle_image_generator/"}, "OpenAIModerationChain": {"OpenAI": "https://python.langchain.com/v0.2/docs/integrations/platforms/openai/"}, "GooglePalmEmbeddings": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/"}, "ScaNN": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "ScaNN": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/scann/"}, "GoogleVertexAISearchRetriever": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/"}, "GoogleDocumentAIWarehouseRetriever": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/"}, "GoogleFinanceQueryRun": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Finance": "https://python.langchain.com/v0.2/docs/integrations/tools/google_finance/"}, "GoogleFinanceAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Finance": "https://python.langchain.com/v0.2/docs/integrations/tools/google_finance/"}, "GoogleJobsQueryRun": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Jobs": "https://python.langchain.com/v0.2/docs/integrations/tools/google_jobs/"}, "GoogleLensQueryRun": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Lens": "https://python.langchain.com/v0.2/docs/integrations/tools/google_lens/"}, "GoogleLensAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Lens": "https://python.langchain.com/v0.2/docs/integrations/tools/google_lens/"}, "GooglePlacesTool": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Places": "https://python.langchain.com/v0.2/docs/integrations/tools/google_places/"}, "GoogleScholarQueryRun": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Scholar": "https://python.langchain.com/v0.2/docs/integrations/tools/google_scholar/"}, "GoogleScholarAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Scholar": "https://python.langchain.com/v0.2/docs/integrations/tools/google_scholar/"}, "GoogleTrendsQueryRun": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Trends": "https://python.langchain.com/v0.2/docs/integrations/tools/google_trends/"}, "GoogleTrendsAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Trends": "https://python.langchain.com/v0.2/docs/integrations/tools/google_trends/"}, "SearchApiAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "SearchApi": "https://python.langchain.com/v0.2/docs/integrations/providers/searchapi/"}, "SerpAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "SerpAPI": "https://python.langchain.com/v0.2/docs/integrations/providers/serpapi/", "MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/"}, "GoogleSerperAPIWrapper": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "Google Serper": "https://python.langchain.com/v0.2/docs/integrations/tools/google_serper/", "Serper - Google Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/google_serper/"}, "YouTubeSearchTool": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "YouTube": "https://python.langchain.com/v0.2/docs/integrations/tools/youtube/"}, "YoutubeAudioLoader": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/"}, "OpenAIWhisperParser": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "YouTube audio": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_audio/"}, "YoutubeLoader": {"Google": "https://python.langchain.com/v0.2/docs/integrations/platforms/google/", "YouTube": "https://python.langchain.com/v0.2/docs/integrations/providers/youtube/", "YouTube transcripts": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_transcript/", "Build a Query Analysis System": "https://python.langchain.com/v0.2/docs/tutorials/query_analysis/"}, "AnthropicLLM": {"Anthropic": "https://python.langchain.com/v0.2/docs/integrations/platforms/anthropic/", "AnthropicLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/anthropic/"}, "AIPluginTool": {"ChatGPT Plugins": "https://python.langchain.com/v0.2/docs/integrations/tools/chatgpt_plugins/"}, "AgentType": {"ChatGPT Plugins": "https://python.langchain.com/v0.2/docs/integrations/tools/chatgpt_plugins/", "Connery Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/connery/", "Jira Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/jira/", "Google Jobs": "https://python.langchain.com/v0.2/docs/integrations/tools/google_jobs/", "Google Serper": "https://python.langchain.com/v0.2/docs/integrations/tools/google_serper/", "Azure Cognitive Services Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_cognitive_services/", "E2B Data Analysis": "https://python.langchain.com/v0.2/docs/integrations/tools/e2b_data_analysis/", "Human as a tool": "https://python.langchain.com/v0.2/docs/integrations/tools/human_tools/", "Natural Language API Toolkits": "https://python.langchain.com/v0.2/docs/integrations/tools/openapi_nla/", "Steam Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/steam/", "Yahoo Finance News": "https://python.langchain.com/v0.2/docs/integrations/tools/yahoo_finance_news/", "Google Finance": "https://python.langchain.com/v0.2/docs/integrations/tools/google_finance/", "ClickUp Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/clickup/", "AWS Lambda": "https://python.langchain.com/v0.2/docs/integrations/tools/awslambda/", "Google Drive": "https://python.langchain.com/v0.2/docs/integrations/tools/google_drive/", "OpenWeatherMap": "https://python.langchain.com/v0.2/docs/integrations/tools/openweathermap/", "AINetwork Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/ainetwork/", "Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "PlayWright Browser Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/playwright/", "Eleven Labs Text2Speech": "https://python.langchain.com/v0.2/docs/integrations/tools/eleven_labs_tts/", "Office365 Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/office365/", "Bearly Code Interpreter": "https://python.langchain.com/v0.2/docs/integrations/tools/bearly/", "Pandas Dataframe": "https://python.langchain.com/v0.2/docs/integrations/tools/pandas/", "Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "NASA Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/nasa/", "Connery Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/connery_toolkit/", "GraphQL": "https://python.langchain.com/v0.2/docs/integrations/tools/graphql/", "SearchApi": "https://python.langchain.com/v0.2/docs/integrations/providers/searchapi/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/tools/edenai_tools/", "Gitlab Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/gitlab/", "Shell (bash)": "https://python.langchain.com/v0.2/docs/integrations/tools/bash/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/memory/xata_chat_message_history/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "Comet Tracing": "https://python.langchain.com/v0.2/docs/integrations/callbacks/comet_tracing/", "Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/", "Serper - Google Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/google_serper/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "WandB Tracing": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracing/", "ClearML": "https://python.langchain.com/v0.2/docs/integrations/providers/clearml_tracking/", "Amazon API Gateway": "https://python.langchain.com/v0.2/docs/integrations/llms/amazon_api_gateway/"}, "initialize_agent": {"ChatGPT Plugins": "https://python.langchain.com/v0.2/docs/integrations/tools/chatgpt_plugins/", "Connery Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/connery/", "Jira Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/jira/", "Google Jobs": "https://python.langchain.com/v0.2/docs/integrations/tools/google_jobs/", "Google Serper": "https://python.langchain.com/v0.2/docs/integrations/tools/google_serper/", "Azure Cognitive Services Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_cognitive_services/", "E2B Data Analysis": "https://python.langchain.com/v0.2/docs/integrations/tools/e2b_data_analysis/", "Human as a tool": "https://python.langchain.com/v0.2/docs/integrations/tools/human_tools/", "Natural Language API Toolkits": "https://python.langchain.com/v0.2/docs/integrations/tools/openapi_nla/", "Steam Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/steam/", "Yahoo Finance News": "https://python.langchain.com/v0.2/docs/integrations/tools/yahoo_finance_news/", "Google Finance": "https://python.langchain.com/v0.2/docs/integrations/tools/google_finance/", "ClickUp Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/clickup/", "AWS Lambda": "https://python.langchain.com/v0.2/docs/integrations/tools/awslambda/", "Google Drive": "https://python.langchain.com/v0.2/docs/integrations/tools/google_drive/", "OpenWeatherMap": "https://python.langchain.com/v0.2/docs/integrations/tools/openweathermap/", "AINetwork Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/ainetwork/", "Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "PlayWright Browser Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/playwright/", "Eleven Labs Text2Speech": "https://python.langchain.com/v0.2/docs/integrations/tools/eleven_labs_tts/", "Office365 Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/office365/", "Bearly Code Interpreter": "https://python.langchain.com/v0.2/docs/integrations/tools/bearly/", "Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "NASA Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/nasa/", "Connery Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/connery_toolkit/", "GraphQL": "https://python.langchain.com/v0.2/docs/integrations/tools/graphql/", "SearchApi": "https://python.langchain.com/v0.2/docs/integrations/providers/searchapi/", "Gradio": "https://python.langchain.com/v0.2/docs/integrations/tools/gradio_tools/", "SceneXplain": "https://python.langchain.com/v0.2/docs/integrations/tools/sceneXplain/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/tools/edenai_tools/", "Dall-E Image Generator": "https://python.langchain.com/v0.2/docs/integrations/tools/dalle_image_generator/", "Gitlab Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/gitlab/", "Shell (bash)": "https://python.langchain.com/v0.2/docs/integrations/tools/bash/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "Xata": "https://python.langchain.com/v0.2/docs/integrations/memory/xata_chat_message_history/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/", "Comet Tracing": "https://python.langchain.com/v0.2/docs/integrations/callbacks/comet_tracing/", "Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/", "Serper - Google Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/google_serper/", "Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/", "WandB Tracing": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracing/", "ClearML": "https://python.langchain.com/v0.2/docs/integrations/providers/clearml_tracking/", "Amazon API Gateway": "https://python.langchain.com/v0.2/docs/integrations/llms/amazon_api_gateway/"}, "DataForSeoAPIWrapper": {"DataForSEO": "https://python.langchain.com/v0.2/docs/integrations/providers/dataforseo/"}, "Tool": {"DataForSEO": "https://python.langchain.com/v0.2/docs/integrations/tools/dataforseo/", "Python REPL": "https://python.langchain.com/v0.2/docs/integrations/tools/python/", "Google Serper": "https://python.langchain.com/v0.2/docs/integrations/tools/google_serper/", "SerpAPI": "https://python.langchain.com/v0.2/docs/integrations/tools/serpapi/", "SearchApi": "https://python.langchain.com/v0.2/docs/integrations/providers/searchapi/", "Google Search": "https://python.langchain.com/v0.2/docs/integrations/tools/google_search/", "Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/", "Ionic Shopping Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/ionic_shopping/", "Zep Open Source Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory/", "Zep Cloud Memory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_memory_cloud/", "Serper - Google Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/google_serper/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/"}, "ConneryToolkit": {"Connery Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/connery/", "Connery Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/connery_toolkit/"}, "ConneryService": {"Connery Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/connery/", "Connery Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/connery_toolkit/"}, "DataheraldAPIWrapper": {"Dataherald": "https://python.langchain.com/v0.2/docs/integrations/providers/dataherald/"}, "SearxSearchWrapper": {"SearxNG Search": "https://python.langchain.com/v0.2/docs/integrations/tools/searx_search/", "SearxNG Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/searx/"}, "JiraToolkit": {"Jira Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/jira/"}, "JiraAPIWrapper": {"Jira Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/jira/"}, "PythonREPL": {"Python REPL": "https://python.langchain.com/v0.2/docs/integrations/tools/python/"}, "GoogleJobsAPIWrapper": {"Google Jobs": "https://python.langchain.com/v0.2/docs/integrations/tools/google_jobs/"}, "InfobipAPIWrapper": {"Infobip": "https://python.langchain.com/v0.2/docs/integrations/tools/infobip/"}, "create_openai_functions_agent": {"Infobip": "https://python.langchain.com/v0.2/docs/integrations/tools/infobip/", "AskNews": "https://python.langchain.com/v0.2/docs/integrations/tools/asknews/", "Polygon IO Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon_toolkit/", "Semantic Scholar API Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/semanticscholar/", "Passio NutritionAI": "https://python.langchain.com/v0.2/docs/integrations/tools/passio_nutrition_ai/", "MultiOn Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/multion/", "You.com Search": "https://python.langchain.com/v0.2/docs/integrations/tools/you/", "Polygon IO Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/"}, "AskNewsSearch": {"AskNews": "https://python.langchain.com/v0.2/docs/integrations/tools/asknews/"}, "create_pbi_agent": {"PowerBI Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/powerbi/"}, "AzureCognitiveServicesToolkit": {"Azure Cognitive Services Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_cognitive_services/"}, "E2BDataAnalysisTool": {"E2B Data Analysis": "https://python.langchain.com/v0.2/docs/integrations/tools/e2b_data_analysis/"}, "SQLDatabaseToolkit": {"SQLDatabase Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/sql_database/", "CnosDB": "https://python.langchain.com/v0.2/docs/integrations/providers/cnosdb/", "Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/"}, "HumanInputRun": {"Human as a tool": "https://python.langchain.com/v0.2/docs/integrations/tools/human_tools/"}, "FinancialDatasetsToolkit": {"FinancialDatasets Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/financial_datasets/"}, "FinancialDatasetsAPIWrapper": {"FinancialDatasets Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/financial_datasets/"}, "NLAToolkit": {"Natural Language API Toolkits": "https://python.langchain.com/v0.2/docs/integrations/tools/openapi_nla/"}, "Requests": {"Natural Language API Toolkits": "https://python.langchain.com/v0.2/docs/integrations/tools/openapi_nla/"}, "ZenGuardTool": {"ZenGuard AI": "https://python.langchain.com/v0.2/docs/integrations/tools/zenguard/"}, "Detector": {"ZenGuard AI": "https://python.langchain.com/v0.2/docs/integrations/tools/zenguard/"}, "SlackToolkit": {"Slack Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/slack/", "Slack": "https://python.langchain.com/v0.2/docs/integrations/providers/slack/"}, "SteamToolkit": {"Steam Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/steam/"}, "SteamWebAPIWrapper": {"Steam Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/steam/"}, "create_openai_tools_agent": {"Cassandra Database Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/cassandra_database/", "Log, Trace, and Monitor": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/logging_tracing_portkey/", "Portkey": "https://python.langchain.com/v0.2/docs/integrations/providers/portkey/index/"}, "CassandraDatabaseToolkit": {"Cassandra Database Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/cassandra_database/", "Cassandra": "https://python.langchain.com/v0.2/docs/integrations/providers/cassandra/"}, "CassandraDatabase": {"Cassandra Database Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/cassandra_database/"}, "NucliaUnderstandingAPI": {"Nuclia Understanding": "https://python.langchain.com/v0.2/docs/integrations/tools/nuclia/", "Nuclia": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/nuclia/"}, "YahooFinanceNewsTool": {"Yahoo Finance News": "https://python.langchain.com/v0.2/docs/integrations/tools/yahoo_finance_news/"}, "JsonToolkit": {"JSON Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/json/"}, "create_json_agent": {"JSON Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/json/"}, "JsonSpec": {"JSON Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/json/", "OpenAPI Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/openapi/"}, "PolygonToolkit": {"Polygon IO Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon_toolkit/", "Polygon IO Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/"}, "PolygonAPIWrapper": {"Polygon IO Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon_toolkit/", "Polygon IO Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/"}, "WikidataAPIWrapper": {"Wikidata": "https://python.langchain.com/v0.2/docs/integrations/tools/wikidata/"}, "WikidataQueryRun": {"Wikidata": "https://python.langchain.com/v0.2/docs/integrations/tools/wikidata/"}, "TwilioAPIWrapper": {"Twilio": "https://python.langchain.com/v0.2/docs/integrations/tools/twilio/"}, "IFTTTWebhook": {"IFTTT WebHooks": "https://python.langchain.com/v0.2/docs/integrations/tools/ifttt/"}, "SemanticScholarQueryRun": {"Semantic Scholar API Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/semanticscholar/"}, "AlphaVantageAPIWrapper": {"Alpha Vantage": "https://python.langchain.com/v0.2/docs/integrations/tools/alpha_vantage/"}, "GitHubToolkit": {"Github Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/github/"}, "GitHubAPIWrapper": {"Github Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/github/"}, "ChatDatabricks": {"Databricks Unity Catalog (UC)": "https://python.langchain.com/v0.2/docs/integrations/tools/databricks/", "ChatDatabricks": "https://python.langchain.com/v0.2/docs/integrations/chat/databricks/"}, "UCFunctionToolkit": {"Databricks Unity Catalog (UC)": "https://python.langchain.com/v0.2/docs/integrations/tools/databricks/"}, "GoogleCloudTextToSpeechTool": {"Google Cloud Text-to-Speech": "https://python.langchain.com/v0.2/docs/integrations/tools/google_cloud_texttospeech/"}, "ClickupToolkit": {"ClickUp Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/clickup/"}, "ClickupAPIWrapper": {"ClickUp Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/clickup/"}, "SparkSQLToolkit": {"Spark SQL Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/spark_sql/"}, "create_spark_sql_agent": {"Spark SQL Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/spark_sql/"}, "SparkSQL": {"Spark SQL Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/spark_sql/"}, "OracleSummary": {"Oracle AI Vector Search: Generate Summary": "https://python.langchain.com/v0.2/docs/integrations/tools/oracleai/", "OracleAI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/providers/oracleai/"}, "StackExchangeAPIWrapper": {"StackExchange": "https://python.langchain.com/v0.2/docs/integrations/tools/stackexchange/", "Stack Exchange": "https://python.langchain.com/v0.2/docs/integrations/providers/stackexchange/"}, "RequestsToolkit": {"Requests Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/requests/"}, "TextRequestsWrapper": {"Requests Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/requests/"}, "OpenWeatherMapAPIWrapper": {"OpenWeatherMap": "https://python.langchain.com/v0.2/docs/integrations/providers/openweathermap/"}, "AINetworkToolkit": {"AINetwork Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/ainetwork/", "AINetwork": "https://python.langchain.com/v0.2/docs/integrations/providers/ainetwork/"}, "get_from_env": {"Passio NutritionAI": "https://python.langchain.com/v0.2/docs/integrations/tools/passio_nutrition_ai/"}, "NutritionAI": {"Passio NutritionAI": "https://python.langchain.com/v0.2/docs/integrations/tools/passio_nutrition_ai/"}, "NutritionAIAPI": {"Passio NutritionAI": "https://python.langchain.com/v0.2/docs/integrations/tools/passio_nutrition_ai/"}, "PubmedQueryRun": {"PubMed": "https://python.langchain.com/v0.2/docs/integrations/tools/pubmed/"}, "GradientLLM": {"Memorize": "https://python.langchain.com/v0.2/docs/integrations/tools/memorize/", "Gradient": "https://python.langchain.com/v0.2/docs/integrations/llms/gradient/"}, "create_async_playwright_browser": {"PlayWright Browser Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/playwright/"}, "ElevenLabsText2SpeechTool": {"Eleven Labs Text2Speech": "https://python.langchain.com/v0.2/docs/integrations/tools/eleven_labs_tts/", "ElevenLabs": "https://python.langchain.com/v0.2/docs/integrations/providers/elevenlabs/"}, "create_conversational_retrieval_agent": {"Cogniswitch Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/cogniswitch/"}, "CogniswitchToolkit": {"Cogniswitch Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/cogniswitch/"}, "BearlyInterpreterTool": {"Bearly Code Interpreter": "https://python.langchain.com/v0.2/docs/integrations/tools/bearly/"}, "ExecPython": {"Riza Code Interpreter": "https://python.langchain.com/v0.2/docs/integrations/tools/riza/"}, "ZapierToolkit": {"Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/"}, "ZapierNLAWrapper": {"Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/"}, "SimpleSequentialChain": {"Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "SageMaker Tracking": "https://python.langchain.com/v0.2/docs/integrations/callbacks/sagemaker_tracking/", "Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/", "Predibase": "https://python.langchain.com/v0.2/docs/integrations/llms/predibase/", "Eden AI": "https://python.langchain.com/v0.2/docs/integrations/llms/edenai/", "Replicate": "https://python.langchain.com/v0.2/docs/integrations/llms/replicate/"}, "TransformChain": {"Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/", "Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/"}, "ZapierNLARunAction": {"Zapier Natural Language Actions": "https://python.langchain.com/v0.2/docs/integrations/tools/zapier/"}, "RivaASR": {"NVIDIA Riva: ASR and TTS": "https://python.langchain.com/v0.2/docs/integrations/tools/nvidia_riva/"}, "RivaTTS": {"NVIDIA Riva: ASR and TTS": "https://python.langchain.com/v0.2/docs/integrations/tools/nvidia_riva/"}, "RivaAudioEncoding": {"NVIDIA Riva: ASR and TTS": "https://python.langchain.com/v0.2/docs/integrations/tools/nvidia_riva/"}, "AudioStream": {"NVIDIA Riva: ASR and TTS": "https://python.langchain.com/v0.2/docs/integrations/tools/nvidia_riva/"}, "GoldenQueryAPIWrapper": {"Golden Query": "https://python.langchain.com/v0.2/docs/integrations/tools/golden_query/", "Golden": "https://python.langchain.com/v0.2/docs/integrations/providers/golden/"}, "create_react_agent": {"ArXiv": "https://python.langchain.com/v0.2/docs/integrations/tools/arxiv/", "Amadeus Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/amadeus/", "Ionic Shopping Tool": "https://python.langchain.com/v0.2/docs/integrations/tools/ionic_shopping/", "Streamlit": "https://python.langchain.com/v0.2/docs/integrations/callbacks/streamlit/", "Dataherald": "https://python.langchain.com/v0.2/docs/integrations/providers/dataherald/", "Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/"}, "ArxivAPIWrapper": {"ArXiv": "https://python.langchain.com/v0.2/docs/integrations/tools/arxiv/"}, "OpenAIFunctionsAgent": {"Robocorp Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/robocorp/", "Exa Search": "https://python.langchain.com/v0.2/docs/integrations/tools/exa_search/", "LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/"}, "NasaToolkit": {"NASA Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/nasa/"}, "NasaAPIWrapper": {"NASA Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/nasa/"}, "MultionToolkit": {"MultiOn Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/multion/"}, "DuckDuckGoSearchRun": {"DuckDuckGo Search": "https://python.langchain.com/v0.2/docs/integrations/tools/ddg/"}, "DuckDuckGoSearchResults": {"DuckDuckGo Search": "https://python.langchain.com/v0.2/docs/integrations/tools/ddg/"}, "DuckDuckGoSearchAPIWrapper": {"DuckDuckGo Search": "https://python.langchain.com/v0.2/docs/integrations/tools/ddg/"}, "SceneXplainTool": {"SceneXplain": "https://python.langchain.com/v0.2/docs/integrations/tools/sceneXplain/"}, "WolframAlphaAPIWrapper": {"Wolfram Alpha": "https://python.langchain.com/v0.2/docs/integrations/providers/wolfram_alpha/"}, "AmadeusToolkit": {"Amadeus Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/amadeus/"}, "HuggingFaceHub": {"Amadeus Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/amadeus/"}, "ReActJsonSingleInputOutputParser": {"Amadeus Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/amadeus/", "MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/"}, "render_text_description_and_args": {"Amadeus Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/amadeus/"}, "EdenAiExplicitImageTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAiObjectDetectionTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAiParsingIDTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAiParsingInvoiceTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAiSpeechToTextTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAiTextModerationTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAiTextToSpeechTool": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "EdenAI": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/llms/edenai/"}, "MojeekSearch": {"Mojeek Search": "https://python.langchain.com/v0.2/docs/integrations/tools/mojeek_search/"}, "RedditSearchRun": {"Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/"}, "RedditSearchAPIWrapper": {"Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/"}, "RedditSearchSchema": {"Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/"}, "StructuredChatAgent": {"Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/"}, "ReadOnlySharedMemory": {"Reddit Search ": "https://python.langchain.com/v0.2/docs/integrations/tools/reddit_search/"}, "YouSearchTool": {"You.com Search": "https://python.langchain.com/v0.2/docs/integrations/tools/you/"}, "AzureAiServicesToolkit": {"Azure AI Services Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_ai_services/"}, "create_structured_chat_agent": {"Azure AI Services Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/azure_ai_services/"}, "reduce_openapi_spec": {"OpenAPI Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/openapi/"}, "RequestsWrapper": {"OpenAPI Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/openapi/"}, "OpenAPIToolkit": {"OpenAPI Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/openapi/"}, "create_openapi_agent": {"OpenAPI Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/openapi/"}, "GitLabToolkit": {"Gitlab Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/gitlab/"}, "GitLabAPIWrapper": {"Gitlab Toolkit": "https://python.langchain.com/v0.2/docs/integrations/tools/gitlab/"}, "ShellTool": {"Shell (bash)": "https://python.langchain.com/v0.2/docs/integrations/tools/bash/"}, "PolygonAggregates": {"Polygon IO Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/"}, "PolygonFinancials": {"Polygon IO Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/"}, "PolygonLastQuote": {"Polygon IO Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/"}, "PolygonTickerNews": {"Polygon IO Toolkit and Tools": "https://python.langchain.com/v0.2/docs/integrations/tools/polygon/"}, "FileManagementToolkit": {"File System": "https://python.langchain.com/v0.2/docs/integrations/tools/filesystem/"}, "BraveSearch": {"Brave Search": "https://python.langchain.com/v0.2/docs/integrations/providers/brave_search/"}, "RedisChatMessageHistory": {"Redis": "https://python.langchain.com/v0.2/docs/integrations/memory/redis_chat_message_history/"}, "KafkaChatMessageHistory": {"Kafka": "https://python.langchain.com/v0.2/docs/integrations/memory/kafka_chat_message_history/"}, "ElasticsearchChatMessageHistory": {"Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/memory/elasticsearch_chat_message_history/"}, "UpstashRedisChatMessageHistory": {"Upstash Redis": "https://python.langchain.com/v0.2/docs/integrations/memory/upstash_redis_chat_message_history/", "Upstash Vector": "https://python.langchain.com/v0.2/docs/integrations/providers/upstash/"}, "ZepCloudChatMessageHistory": {"ZepCloudChatMessageHistory": "https://python.langchain.com/v0.2/docs/integrations/memory/zep_cloud_chat_message_history/", "Zep": "https://python.langchain.com/v0.2/docs/integrations/providers/zep/"}, "SingleStoreDBChatMessageHistory": {"SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/providers/singlestoredb/"}, "PostgresChatMessageHistory": {"Postgres": "https://python.langchain.com/v0.2/docs/integrations/memory/postgres_chat_message_history/"}, "MomentoChatMessageHistory": {"Momento Cache": "https://python.langchain.com/v0.2/docs/integrations/memory/momento_chat_message_history/", "Momento": "https://python.langchain.com/v0.2/docs/integrations/providers/momento/"}, "XataChatMessageHistory": {"Xata": "https://python.langchain.com/v0.2/docs/integrations/providers/xata/"}, "XataVectorStore": {"Xata": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/xata/"}, "CassandraChatMessageHistory": {"Cassandra ": "https://python.langchain.com/v0.2/docs/integrations/memory/cassandra_chat_message_history/", "Cassandra": "https://python.langchain.com/v0.2/docs/integrations/providers/cassandra/"}, "MotorheadMemory": {"Mot\u00f6rhead": "https://python.langchain.com/v0.2/docs/integrations/memory/motorhead_memory/"}, "AstraDBChatMessageHistory": {"Astra DB ": "https://python.langchain.com/v0.2/docs/integrations/memory/astradb_chat_message_history/"}, "StreamlitChatMessageHistory": {"Streamlit": "https://python.langchain.com/v0.2/docs/integrations/providers/streamlit/"}, "Neo4jChatMessageHistory": {"Neo4j": "https://python.langchain.com/v0.2/docs/integrations/memory/neo4j_chat_message_history/"}, "TiDBChatMessageHistory": {"TiDB": "https://python.langchain.com/v0.2/docs/integrations/providers/tidb/"}, "RocksetChatMessageHistory": {"Rockset": "https://python.langchain.com/v0.2/docs/integrations/providers/rockset/"}, "ChatSnowflakeCortex": {"Snowflake Cortex": "https://python.langchain.com/v0.2/docs/integrations/chat/snowflake/"}, "SolarChat": {"# Related": "https://python.langchain.com/v0.2/docs/integrations/chat/solar/"}, "AzureMLChatOnlineEndpoint": {"AzureMLChatOnlineEndpoint": "https://python.langchain.com/v0.2/docs/integrations/chat/azureml_chat_endpoint/"}, "AzureMLEndpointApiType": {"AzureMLChatOnlineEndpoint": "https://python.langchain.com/v0.2/docs/integrations/chat/azureml_chat_endpoint/", "Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/"}, "CustomOpenAIChatContentFormatter": {"AzureMLChatOnlineEndpoint": "https://python.langchain.com/v0.2/docs/integrations/chat/azureml_chat_endpoint/"}, "ChatKinetica": {"Kinetica Language To SQL Chat Model": "https://python.langchain.com/v0.2/docs/integrations/chat/kinetica/", "Kinetica": "https://python.langchain.com/v0.2/docs/integrations/providers/kinetica/"}, "KineticaSqlOutputParser": {"Kinetica Language To SQL Chat Model": "https://python.langchain.com/v0.2/docs/integrations/chat/kinetica/"}, "KineticaSqlResponse": {"Kinetica Language To SQL Chat Model": "https://python.langchain.com/v0.2/docs/integrations/chat/kinetica/"}, "PaiEasChatEndpoint": {"Alibaba Cloud PAI EAS": "https://python.langchain.com/v0.2/docs/integrations/chat/alibaba_cloud_pai_eas/", "Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/"}, "ChatCoze": {"Chat with Coze Bot": "https://python.langchain.com/v0.2/docs/integrations/chat/coze/"}, "ChatOctoAI": {"ChatOctoAI": "https://python.langchain.com/v0.2/docs/integrations/chat/octoai/", "OctoAI": "https://python.langchain.com/v0.2/docs/integrations/providers/octoai/"}, "ChatYi": {"ChatYI": "https://python.langchain.com/v0.2/docs/integrations/chat/yi/", "01.AI": "https://python.langchain.com/v0.2/docs/integrations/providers/yi/"}, "ChatDeepInfra": {"DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/providers/deepinfra/"}, "ChatLiteLLM": {"ChatLiteLLM": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm/"}, "LlamaEdgeChatService": {"LlamaEdge": "https://python.langchain.com/v0.2/docs/integrations/chat/llama_edge/"}, "OllamaFunctions": {"OllamaFunctions": "https://python.langchain.com/v0.2/docs/integrations/chat/ollama_functions/"}, "VolcEngineMaasChat": {"VolcEngineMaasChat": "https://python.langchain.com/v0.2/docs/integrations/chat/volcengine_maas/"}, "ChatLlamaAPI": {"ChatLlamaAPI": "https://python.langchain.com/v0.2/docs/integrations/chat/llama_api/"}, "create_tagging_chain": {"ChatLlamaAPI": "https://python.langchain.com/v0.2/docs/integrations/chat/llama_api/"}, "ChatKonko": {"ChatKonko": "https://python.langchain.com/v0.2/docs/integrations/chat/konko/"}, "ChatBedrockConverse": {"ChatBedrock": "https://python.langchain.com/v0.2/docs/integrations/chat/bedrock/"}, "MLXPipeline": {"MLX": "https://python.langchain.com/v0.2/docs/integrations/providers/mlx/", "MLX Local Pipelines": "https://python.langchain.com/v0.2/docs/integrations/llms/mlx_pipelines/"}, "ChatMLX": {"MLX": "https://python.langchain.com/v0.2/docs/integrations/providers/mlx/"}, "format_log_to_str": {"MLX": "https://python.langchain.com/v0.2/docs/integrations/chat/mlx/"}, "GigaChat": {"GigaChat": "https://python.langchain.com/v0.2/docs/integrations/llms/gigachat/", "Salute Devices": "https://python.langchain.com/v0.2/docs/integrations/providers/salute_devices/"}, "JinaChat": {"JinaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/jinachat/"}, "SystemMessagePromptTemplate": {"JinaChat": "https://python.langchain.com/v0.2/docs/integrations/chat/jinachat/", "vLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/vllm/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Figma": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/figma/"}, "ChatOCIGenAI": {"ChatOCIGenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/oci_generative_ai/", "Oracle Cloud Infrastructure (OCI)": "https://python.langchain.com/v0.2/docs/integrations/providers/oci/"}, "ChatLlamaCpp": {"Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/providers/llamacpp/"}, "convert_to_openai_tool": {"Llama.cpp": "https://python.langchain.com/v0.2/docs/integrations/chat/llamacpp/"}, "ChatEverlyAI": {"ChatEverlyAI": "https://python.langchain.com/v0.2/docs/integrations/chat/everlyai/"}, "GPTRouter": {"GPTRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/gpt_router/"}, "GPTRouterModel": {"GPTRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/gpt_router/"}, "ChatLiteLLMRouter": {"ChatLiteLLMRouter": "https://python.langchain.com/v0.2/docs/integrations/chat/litellm_router/"}, "ChatFriendli": {"ChatFriendli": "https://python.langchain.com/v0.2/docs/integrations/chat/friendli/"}, "ChatZhipuAI": {"ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/", "Zhipu AI": "https://python.langchain.com/v0.2/docs/integrations/providers/zhipuai/"}, "create_json_chat_agent": {"ZHIPU AI": "https://python.langchain.com/v0.2/docs/integrations/chat/zhipuai/"}, "ChatBaichuan": {"Chat with Baichuan-192K": "https://python.langchain.com/v0.2/docs/integrations/chat/baichuan/", "Baichuan": "https://python.langchain.com/v0.2/docs/integrations/providers/baichuan/"}, "ChatTogether": {"ChatTogether": "https://python.langchain.com/v0.2/docs/integrations/chat/together/", "Together AI": "https://python.langchain.com/v0.2/docs/integrations/llms/together/"}, "Llama2Chat": {"Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/"}, "HuggingFaceTextGenInference": {"Llama2Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/llama2_chat/"}, "QianfanChatEndpoint": {"QianfanChatEndpoint": "https://python.langchain.com/v0.2/docs/integrations/chat/baidu_qianfan_endpoint/", "ErnieBotChat": "https://python.langchain.com/v0.2/docs/integrations/chat/ernie/", "Baidu": "https://python.langchain.com/v0.2/docs/integrations/providers/baidu/"}, "ChatEdenAI": {"Eden AI": "https://python.langchain.com/v0.2/docs/integrations/providers/edenai/"}, "ErnieBotChat": {"ErnieBotChat": "https://python.langchain.com/v0.2/docs/integrations/chat/ernie/"}, "ChatHunyuan": {"Tencent Hunyuan": "https://python.langchain.com/v0.2/docs/integrations/chat/tencent_hunyuan/", "Tencent": "https://python.langchain.com/v0.2/docs/integrations/providers/tencent/"}, "MiniMaxChat": {"MiniMaxChat": "https://python.langchain.com/v0.2/docs/integrations/chat/minimax/", "Minimax": "https://python.langchain.com/v0.2/docs/integrations/providers/minimax/"}, "ChatYuan2": {"Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/chat/yuan2/", "IEIT Systems": "https://python.langchain.com/v0.2/docs/integrations/providers/ieit_systems/"}, "ChatTongyi": {"ChatTongyi": "https://python.langchain.com/v0.2/docs/integrations/chat/tongyi/", "Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/"}, "PromptLayerChatOpenAI": {"PromptLayerChatOpenAI": "https://python.langchain.com/v0.2/docs/integrations/chat/promptlayer_chatopenai/", "PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/providers/promptlayer/"}, "ChatSparkLLM": {"SparkLLM Chat": "https://python.langchain.com/v0.2/docs/integrations/chat/sparkllm/", "iFlytek": "https://python.langchain.com/v0.2/docs/integrations/providers/iflytek/"}, "MoonshotChat": {"MoonshotChat": "https://python.langchain.com/v0.2/docs/integrations/chat/moonshot/"}, "ChatDappierAI": {"Dappier AI": "https://python.langchain.com/v0.2/docs/integrations/chat/dappier/"}, "ChatMaritalk": {"Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/", "MariTalk": "https://python.langchain.com/v0.2/docs/integrations/providers/maritalk/"}, "OnlinePDFLoader": {"Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/", "UnstructuredPDFLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/unstructured_pdfloader/"}, "load_qa_chain": {"Maritalk": "https://python.langchain.com/v0.2/docs/integrations/chat/maritalk/", "Amazon Textract ": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/amazon_textract/", "SageMakerEndpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/sagemaker/"}, "ChatPremAI": {"ChatPremAI": "https://python.langchain.com/v0.2/docs/integrations/chat/premai/", "PremAI": "https://python.langchain.com/v0.2/docs/integrations/providers/premai/"}, "ChatAnyscale": {"ChatAnyscale": "https://python.langchain.com/v0.2/docs/integrations/chat/anyscale/", "Anyscale": "https://python.langchain.com/v0.2/docs/integrations/providers/anyscale/"}, "ChatYandexGPT": {"ChatYandexGPT": "https://python.langchain.com/v0.2/docs/integrations/chat/yandex/", "Yandex": "https://python.langchain.com/v0.2/docs/integrations/providers/yandex/"}, "ChatPerplexity": {"ChatPerplexity": "https://python.langchain.com/v0.2/docs/integrations/chat/perplexity/", "Perplexity": "https://python.langchain.com/v0.2/docs/integrations/providers/perplexity/"}, "ChatAnthropicTools": {"[Deprecated] Experimental Anthropic Tools Wrapper": "https://python.langchain.com/v0.2/docs/integrations/chat/anthropic_functions/"}, "DeepEvalCallbackHandler": {"Confident": "https://python.langchain.com/v0.2/docs/integrations/callbacks/confident/", "Confident AI": "https://python.langchain.com/v0.2/docs/integrations/providers/confident/"}, "LLMonitorCallbackHandler": {"LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/providers/llmonitor/"}, "identify": {"LLMonitor": "https://python.langchain.com/v0.2/docs/integrations/callbacks/llmonitor/"}, "ContextCallbackHandler": {"Context": "https://python.langchain.com/v0.2/docs/integrations/providers/context/"}, "FiddlerCallbackHandler": {"Fiddler": "https://python.langchain.com/v0.2/docs/integrations/providers/fiddler/"}, "LabelStudioCallbackHandler": {"Label Studio": "https://python.langchain.com/v0.2/docs/integrations/providers/labelstudio/"}, "CometTracer": {"Comet Tracing": "https://python.langchain.com/v0.2/docs/integrations/callbacks/comet_tracing/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/"}, "ArgillaCallbackHandler": {"Argilla": "https://python.langchain.com/v0.2/docs/integrations/providers/argilla/"}, "StdOutCallbackHandler": {"Argilla": "https://python.langchain.com/v0.2/docs/integrations/callbacks/argilla/", "Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/", "Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/", "Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/", "ClearML": "https://python.langchain.com/v0.2/docs/integrations/providers/clearml_tracking/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/"}, "PromptLayerCallbackHandler": {"PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/providers/promptlayer/"}, "StreamlitCallbackHandler": {"Streamlit": "https://python.langchain.com/v0.2/docs/integrations/providers/streamlit/", "GPT4All": "https://python.langchain.com/v0.2/docs/integrations/providers/gpt4all/"}, "UpTrainCallbackHandler": {"UpTrain": "https://python.langchain.com/v0.2/docs/integrations/providers/uptrain/"}, "TrubricsCallbackHandler": {"Trubrics": "https://python.langchain.com/v0.2/docs/integrations/providers/trubrics/"}, "InfinoCallbackHandler": {"Infino": "https://python.langchain.com/v0.2/docs/integrations/providers/infino/"}, "UpstashRatelimitError": {"Upstash Ratelimit Callback": "https://python.langchain.com/v0.2/docs/integrations/callbacks/upstash_ratelimit/"}, "UpstashRatelimitHandler": {"Upstash Ratelimit Callback": "https://python.langchain.com/v0.2/docs/integrations/callbacks/upstash_ratelimit/"}, "FigmaFileLoader": {"Figma": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/figma/"}, "Baseten": {"Baseten": "https://python.langchain.com/v0.2/docs/integrations/llms/baseten/"}, "WeatherDataLoader": {"Weather": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/weather/"}, "Tair": {"Tair": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tair/", "Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/"}, "CollegeConfidentialLoader": {"College Confidential": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/college_confidential/"}, "RWKV": {"RWKV-4": "https://python.langchain.com/v0.2/docs/integrations/providers/rwkv/"}, "LakeFSLoader": {"lakeFS": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/lakefs/"}, "FaunaLoader": {"Fauna": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/fauna/"}, "OCIGenAI": {"Oracle Cloud Infrastructure (OCI)": "https://python.langchain.com/v0.2/docs/integrations/providers/oci/", "# Oracle Cloud Infrastructure Generative AI": "https://python.langchain.com/v0.2/docs/integrations/llms/oci_generative_ai/"}, "OCIModelDeploymentVLLM": {"Oracle Cloud Infrastructure (OCI)": "https://python.langchain.com/v0.2/docs/integrations/providers/oci/", "OCI Data Science Model Deployment Endpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/oci_model_deployment_endpoint/"}, "OCIModelDeploymentTGI": {"Oracle Cloud Infrastructure (OCI)": "https://python.langchain.com/v0.2/docs/integrations/providers/oci/", "OCI Data Science Model Deployment Endpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/oci_model_deployment_endpoint/"}, "OracleDocLoader": {"OracleAI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/providers/oracleai/", "Oracle AI Vector Search: Document Processing": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/oracleai/"}, "OracleTextSplitter": {"OracleAI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/providers/oracleai/", "Oracle AI Vector Search: Document Processing": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/oracleai/"}, "OracleVS": {"OracleAI Vector Search": "https://python.langchain.com/v0.2/docs/integrations/providers/oracleai/", "Oracle AI Vector Search: Vector Store": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/oracle/"}, "Lantern": {"Lantern": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/lantern/"}, "DropboxLoader": {"Dropbox": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/dropbox/"}, "ForefrontAI": {"ForefrontAI": "https://python.langchain.com/v0.2/docs/integrations/llms/forefrontai/"}, "CometCallbackHandler": {"Comet": "https://python.langchain.com/v0.2/docs/integrations/providers/comet_tracking/"}, "CTransformers": {"C Transformers": "https://python.langchain.com/v0.2/docs/integrations/llms/ctransformers/"}, "BiliBiliLoader": {"BiliBili": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/bilibili/"}, "TencentCOSDirectoryLoader": {"Tencent": "https://python.langchain.com/v0.2/docs/integrations/providers/tencent/", "Tencent COS Directory": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tencent_cos_directory/"}, "TencentCOSFileLoader": {"Tencent": "https://python.langchain.com/v0.2/docs/integrations/providers/tencent/", "Tencent COS File": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tencent_cos_file/"}, "OBSDirectoryLoader": {"Huawei": "https://python.langchain.com/v0.2/docs/integrations/providers/huawei/", "Huawei OBS Directory": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/huawei_obs_directory/"}, "OBSFileLoader": {"Huawei": "https://python.langchain.com/v0.2/docs/integrations/providers/huawei/", "Huawei OBS File": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/huawei_obs_file/"}, "DiffbotLoader": {"Diffbot": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/diffbot/"}, "DiffbotGraphTransformer": {"Diffbot": "https://python.langchain.com/v0.2/docs/integrations/graphs/diffbot/", "Neo4j": "https://python.langchain.com/v0.2/docs/integrations/providers/neo4j/"}, "DeepSparse": {"DeepSparse": "https://python.langchain.com/v0.2/docs/integrations/llms/deepsparse/"}, "AimCallbackHandler": {"Aim": "https://python.langchain.com/v0.2/docs/integrations/providers/aim_tracking/"}, "ModernTreasuryLoader": {"Modern Treasury": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/modern_treasury/"}, "GitHubIssuesLoader": {"GitHub": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/github/"}, "GithubFileLoader": {"GitHub": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/github/"}, "Banana": {"Banana": "https://python.langchain.com/v0.2/docs/integrations/llms/banana/"}, "InfinispanVS": {"Infinispan VS": "https://python.langchain.com/v0.2/docs/integrations/providers/infinispanvs/", "Infinispan": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/infinispanvs/"}, "CerebriumAI": {"CerebriumAI": "https://python.langchain.com/v0.2/docs/integrations/llms/cerebriumai/"}, "GutenbergLoader": {"Gutenberg": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/gutenberg/"}, "WikipediaLoader": {"Wikipedia": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/wikipedia/", "Diffbot": "https://python.langchain.com/v0.2/docs/integrations/graphs/diffbot/"}, "ConfluenceLoader": {"Confluence": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/confluence/"}, "Predibase": {"Predibase": "https://python.langchain.com/v0.2/docs/integrations/llms/predibase/"}, "Beam": {"Beam": "https://python.langchain.com/v0.2/docs/integrations/llms/beam/"}, "GrobidParser": {"Grobid": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/grobid/"}, "Typesense": {"Typesense": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/typesense/"}, "Hologres": {"Hologres": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hologres/", "Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/"}, "ArangoGraph": {"ArangoDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/arangodb/"}, "ArangoGraphQAChain": {"ArangoDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/arangodb/"}, "ArcGISLoader": {"ArcGIS": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/arcgis/"}, "WandbCallbackHandler": {"Weights & Biases": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracking/"}, "ObsidianLoader": {"Obsidian": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/obsidian/"}, "BrowserbaseLoader": {"Browserbase": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/browserbase/"}, "OctoAIEndpoint": {"OctoAI": "https://python.langchain.com/v0.2/docs/integrations/llms/octoai/"}, "OctoAIEmbeddings": {"OctoAI": "https://python.langchain.com/v0.2/docs/integrations/providers/octoai/"}, "Nebula": {"Nebula": "https://python.langchain.com/v0.2/docs/integrations/providers/symblai_nebula/", "Nebula (Symbl.ai)": "https://python.langchain.com/v0.2/docs/integrations/llms/symblai_nebula/"}, "Writer": {"Writer": "https://python.langchain.com/v0.2/docs/integrations/llms/writer/"}, "BaichuanLLM": {"Baichuan": "https://python.langchain.com/v0.2/docs/integrations/providers/baichuan/", "Baichuan LLM": "https://python.langchain.com/v0.2/docs/integrations/llms/baichuan/"}, "ApacheDoris": {"Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/"}, "ZepCloudVectorStore": {"Zep": "https://python.langchain.com/v0.2/docs/integrations/providers/zep/", "Zep Cloud": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep_cloud/"}, "BrowserlessLoader": {"Browserless": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/browserless/"}, "AZLyricsLoader": {"AZLyrics": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/azlyrics/"}, "ToMarkdownLoader": {"2Markdown": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tomarkdown/"}, "SparkLLM": {"iFlytek": "https://python.langchain.com/v0.2/docs/integrations/providers/iflytek/", "SparkLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/sparkllm/"}, "Mlflow": {"MLflow Deployments for LLMs": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow/"}, "MlflowEmbeddings": {"MLflow Deployments for LLMs": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow/"}, "ChatMlflow": {"MLflow Deployments for LLMs": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow/"}, "GitLoader": {"Git": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/git/"}, "MlflowAIGateway": {"MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/"}, "MlflowAIGatewayEmbeddings": {"MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/"}, "ChatMLflowAIGateway": {"MLflow AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_ai_gateway/"}, "Tigris": {"Tigris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tigris/"}, "Meilisearch": {"Meilisearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/meilisearch/"}, "SQLDatabaseChain": {"Rebuff": "https://python.langchain.com/v0.2/docs/integrations/providers/rebuff/"}, "SnowflakeLoader": {"Snowflake": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/snowflake/"}, "CubeSemanticLoader": {"Cube": "https://python.langchain.com/v0.2/docs/integrations/providers/cube/", "Cube Semantic Layer": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/cube_semantic/"}, "Clickhouse": {"ClickHouse": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/clickhouse/"}, "ClickhouseSettings": {"ClickHouse": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/clickhouse/"}, "TelegramChatFileLoader": {"Telegram": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/telegram/"}, "TelegramChatApiLoader": {"Telegram": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/telegram/"}, "PredictionGuard": {"Prediction Guard": "https://python.langchain.com/v0.2/docs/integrations/llms/predictionguard/"}, "Together": {"Together AI": "https://python.langchain.com/v0.2/docs/integrations/llms/together/"}, "NotionDirectoryLoader": {"Notion DB": "https://python.langchain.com/v0.2/docs/integrations/providers/notion/", "Notion DB 2/2": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/notion/"}, "NotionDBLoader": {"Notion DB": "https://python.langchain.com/v0.2/docs/integrations/providers/notion/", "Notion DB 2/2": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/notiondb/"}, "MWDumpLoader": {"MediaWikiDump": "https://python.langchain.com/v0.2/docs/integrations/providers/mediawikidump/", "MediaWiki Dump": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/mediawikidump/"}, "BraveSearchLoader": {"Brave Search": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/brave_search/"}, "StarRocks": {"StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/"}, "GooseAI": {"GooseAI": "https://python.langchain.com/v0.2/docs/integrations/llms/gooseai/"}, "DatadogLogsLoader": {"Datadog Logs": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/datadog_logs/"}, "ApifyWrapper": {"Apify": "https://python.langchain.com/v0.2/docs/integrations/providers/apify/", "Apify Dataset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/apify_dataset/"}, "ApifyDatasetLoader": {"Apify": "https://python.langchain.com/v0.2/docs/integrations/providers/apify/", "Apify Dataset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/apify_dataset/"}, "NLPCloud": {"NLPCloud": "https://python.langchain.com/v0.2/docs/integrations/providers/nlpcloud/", "NLP Cloud": "https://python.langchain.com/v0.2/docs/integrations/llms/nlpcloud/"}, "Milvus": {"Milvus": "https://python.langchain.com/v0.2/docs/integrations/providers/milvus/", "Zilliz": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zilliz/"}, "SemaDB": {"SemaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/semadb/"}, "GitbookLoader": {"GitBook": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/gitbook/"}, "Rockset": {"Rockset": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/rockset/"}, "RocksetLoader": {"Rockset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/rockset/"}, "Minimax": {"Minimax": "https://python.langchain.com/v0.2/docs/integrations/llms/minimax/"}, "UnstructuredCHMLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/"}, "UnstructuredCSVLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "CSV": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/csv/"}, "UnstructuredEmailLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Email": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/email/"}, "UnstructuredEPubLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "EPub ": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/epub/"}, "UnstructuredFileIOLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Google Drive": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/google_drive/"}, "UnstructuredImageLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Images": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/image/"}, "UnstructuredODTLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Open Document Format (ODT)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/odt/"}, "UnstructuredOrgModeLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "Org-mode": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/org_mode/"}, "UnstructuredPDFLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "UnstructuredPDFLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/unstructured_pdfloader/"}, "UnstructuredRSTLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "RST": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/rst/"}, "UnstructuredRTFLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/"}, "UnstructuredTSVLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "TSV": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tsv/"}, "UnstructuredURLLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "URL": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/url/"}, "UnstructuredXMLLoader": {"Unstructured": "https://python.langchain.com/v0.2/docs/integrations/providers/unstructured/", "UnstructuredXMLLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/xml/"}, "SelfHostedPipeline": {"Runhouse": "https://python.langchain.com/v0.2/docs/integrations/llms/runhouse/"}, "SelfHostedHuggingFaceLLM": {"Runhouse": "https://python.langchain.com/v0.2/docs/integrations/llms/runhouse/"}, "MlflowCallbackHandler": {"MLflow": "https://python.langchain.com/v0.2/docs/integrations/providers/mlflow_tracking/"}, "SpreedlyLoader": {"Spreedly": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/spreedly/"}, "OpenLLM": {"OpenLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/openllm/"}, "PubMedLoader": {"PubMed": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pubmed/"}, "SearxSearchResults": {"SearxNG Search API": "https://python.langchain.com/v0.2/docs/integrations/providers/searx/"}, "Modal": {"Modal": "https://python.langchain.com/v0.2/docs/integrations/llms/modal/"}, "OpenCityDataLoader": {"Geopandas": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/geopandas/", "Open City Data": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/open_city_data/"}, "PGEmbedding": {"Postgres Embedding": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgembedding/"}, "SQLiteVSS": {"SQLite": "https://python.langchain.com/v0.2/docs/integrations/providers/sqlite/", "SQLite-VSS": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sqlitevss/"}, "Xinference": {"Xorbits Inference (Xinference)": "https://python.langchain.com/v0.2/docs/integrations/llms/xinference/"}, "IFixitLoader": {"iFixit": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/ifixit/"}, "AlephAlpha": {"Aleph Alpha": "https://python.langchain.com/v0.2/docs/integrations/llms/aleph_alpha/"}, "PipelineAI": {"PipelineAI": "https://python.langchain.com/v0.2/docs/integrations/llms/pipelineai/"}, "FacebookChatLoader": {"Facebook - Meta": "https://python.langchain.com/v0.2/docs/integrations/providers/facebook/", "Facebook Chat": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/facebook_chat/"}, "Epsilla": {"Epsilla": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/epsilla/"}, "AwaDB": {"AwaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/awadb/"}, "ArxivLoader": {"Arxiv": "https://python.langchain.com/v0.2/docs/integrations/providers/arxiv/", "ArxivLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/arxiv/"}, "BlockchainDocumentLoader": {"Alchemy": "https://python.langchain.com/v0.2/docs/integrations/providers/alchemy/", "Blockchain": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/blockchain/"}, "BlockchainType": {"Alchemy": "https://python.langchain.com/v0.2/docs/integrations/providers/alchemy/", "Blockchain": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/blockchain/"}, "Anyscale": {"Anyscale": "https://python.langchain.com/v0.2/docs/integrations/llms/anyscale/"}, "StripeLoader": {"Stripe": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/stripe/"}, "StochasticAI": {"StochasticAI": "https://python.langchain.com/v0.2/docs/integrations/llms/stochasticai/"}, "Bagel": {"BagelDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/bageldb/", "Bagel": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/bagel/"}, "TigerGraph": {"TigerGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/tigergraph/"}, "BlackboardLoader": {"Blackboard": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/blackboard/"}, "YandexGPT": {"Yandex": "https://python.langchain.com/v0.2/docs/integrations/providers/yandex/", "YandexGPT": "https://python.langchain.com/v0.2/docs/integrations/llms/yandex/"}, "UpstashVectorStore": {"Upstash Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/upstash/"}, "NucliaTextTransformer": {"Nuclia": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/nuclia_transformer/"}, "NucliaLoader": {"Nuclia": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/nuclia/"}, "NucliaDB": {"Nuclia": "https://python.langchain.com/v0.2/docs/integrations/providers/nuclia/", "NucliaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/nucliadb/"}, "AnalyticDB": {"AnalyticDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/analyticdb/", "Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/"}, "GoogleApiYoutubeLoader": {"YouTube": "https://python.langchain.com/v0.2/docs/integrations/providers/youtube/", "YouTube transcripts": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_transcript/"}, "PromptLayerOpenAI": {"PromptLayer": "https://python.langchain.com/v0.2/docs/integrations/providers/promptlayer/", "PromptLayer OpenAI": "https://python.langchain.com/v0.2/docs/integrations/llms/promptlayer_openai/"}, "USearch": {"USearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/usearch/"}, "EtherscanLoader": {"Etherscan": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/etherscan/"}, "Arcee": {"Arcee": "https://python.langchain.com/v0.2/docs/integrations/llms/arcee/"}, "WhyLabsCallbackHandler": {"WhyLabs": "https://python.langchain.com/v0.2/docs/integrations/providers/whylabs_profiling/"}, "YiLLM": {"01.AI": "https://python.langchain.com/v0.2/docs/integrations/providers/yi/", "Yi": "https://python.langchain.com/v0.2/docs/integrations/llms/yi/"}, "IuguLoader": {"Iugu": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/iugu/"}, "CouchbaseLoader": {"Couchbase": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/couchbase/"}, "FlyteCallbackHandler": {"Flyte": "https://python.langchain.com/v0.2/docs/integrations/providers/flyte/"}, "wandb_tracing_enabled": {"WandB Tracing": "https://python.langchain.com/v0.2/docs/integrations/providers/wandb_tracing/"}, "ManifestWrapper": {"Hazy Research": "https://python.langchain.com/v0.2/docs/integrations/providers/hazy_research/", "Manifest": "https://python.langchain.com/v0.2/docs/integrations/llms/manifest/"}, "OntotextGraphDBGraph": {"Ontotext GraphDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/ontotext/"}, "OntotextGraphDBQAChain": {"Ontotext GraphDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/ontotext/"}, "Marqo": {"Marqo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/marqo/"}, "IMSDbLoader": {"IMSDb": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/imsdb/"}, "TiDBLoader": {"TiDB": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tidb/"}, "TiDBVectorStore": {"TiDB": "https://python.langchain.com/v0.2/docs/integrations/providers/tidb/", "TiDB Vector": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tidb_vector/"}, "DeepInfra": {"DeepInfra": "https://python.langchain.com/v0.2/docs/integrations/llms/deepinfra/"}, "RedditPostsLoader": {"Reddit": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/reddit/"}, "TrelloLoader": {"Trello": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/trello/"}, "AtlasDB": {"Atlas": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/atlas/"}, "SKLearnVectorStore": {"scikit-learn": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sklearn/"}, "EverNoteLoader": {"EverNote": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/evernote/"}, "VDMS": {"VDMS": "https://python.langchain.com/v0.2/docs/integrations/providers/vdms/", "Intel's Visual Data Management System (VDMS)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vdms/"}, "VDMS_Client": {"VDMS": "https://python.langchain.com/v0.2/docs/integrations/providers/vdms/", "Intel's Visual Data Management System (VDMS)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vdms/"}, "TwitterTweetLoader": {"Twitter": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/twitter/"}, "DiscordChatLoader": {"Discord": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/discord/"}, "AssemblyAIAudioTranscriptLoader": {"AssemblyAI": "https://python.langchain.com/v0.2/docs/integrations/providers/assemblyai/", "AssemblyAI Audio Transcripts": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/assemblyai/"}, "KineticaLoader": {"Kinetica": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/kinetica/"}, "ClearMLCallbackHandler": {"ClearML": "https://python.langchain.com/v0.2/docs/integrations/providers/clearml_tracking/"}, "CohereRagRetriever": {"Cohere": "https://python.langchain.com/v0.2/docs/integrations/providers/cohere/"}, "SlackDirectoryLoader": {"Slack": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/slack/"}, "OllamaEmbeddings": {"Ollama": "https://python.langchain.com/v0.2/docs/integrations/providers/ollama/", "ApertureDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aperturedb/"}, "HNLoader": {"Hacker News": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/hacker_news/", "Google Spanner": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_spanner/"}, "CTranslate2": {"CTranslate2": "https://python.langchain.com/v0.2/docs/integrations/llms/ctranslate2/"}, "QianfanLLMEndpoint": {"Baidu": "https://python.langchain.com/v0.2/docs/integrations/providers/baidu/", "Baidu Qianfan": "https://python.langchain.com/v0.2/docs/integrations/llms/baidu_qianfan_endpoint/"}, "BESVectorStore": {"Baidu": "https://python.langchain.com/v0.2/docs/integrations/providers/baidu/", "Baidu Cloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiducloud_vector_search/"}, "BaiduVectorDB": {"Baidu": "https://python.langchain.com/v0.2/docs/integrations/providers/baidu/", "Baidu VectorDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/baiduvectordb/"}, "Aphrodite": {"PygmalionAI": "https://python.langchain.com/v0.2/docs/integrations/providers/pygmalionai/", "Aphrodite Engine": "https://python.langchain.com/v0.2/docs/integrations/llms/aphrodite/"}, "PaiEasEndpoint": {"Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/", "Alibaba Cloud PAI EAS": "https://python.langchain.com/v0.2/docs/integrations/llms/alibabacloud_pai_eas_endpoint/"}, "MaxComputeLoader": {"Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/", "Alibaba Cloud MaxCompute": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/alibaba_cloud_maxcompute/"}, "AlibabaCloudOpenSearch": {"Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/", "Alibaba Cloud OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/alibabacloud_opensearch/"}, "AlibabaCloudOpenSearchSettings": {"Alibaba Cloud": "https://python.langchain.com/v0.2/docs/integrations/providers/alibaba_cloud/", "Alibaba Cloud OpenSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/alibabacloud_opensearch/"}, "DocusaurusLoader": {"Docusaurus": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/docusaurus/"}, "Annoy": {"Annoy": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/annoy/"}, "BibtexLoader": {"BibTeX": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/bibtex/"}, "Yuan2": {"IEIT Systems": "https://python.langchain.com/v0.2/docs/integrations/providers/ieit_systems/", "Yuan2.0": "https://python.langchain.com/v0.2/docs/integrations/llms/yuan2/"}, "CassandraLoader": {"Cassandra": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/cassandra/"}, "Vearch": {"Vearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vearch/"}, "JoplinLoader": {"Joplin": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/joplin/"}, "ArthurCallbackHandler": {"Arthur": "https://python.langchain.com/v0.2/docs/integrations/providers/arthur_tracking/"}, "AcreomLoader": {"Acreom": "https://python.langchain.com/v0.2/docs/integrations/providers/acreom/", "acreom": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/acreom/"}, "KDBAI": {"KDB.AI": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kdbai/"}, "DuckDBLoader": {"DuckDB": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/duckdb/"}, "Petals": {"Petals": "https://python.langchain.com/v0.2/docs/integrations/llms/petals/"}, "MomentoVectorIndex": {"Momento": "https://python.langchain.com/v0.2/docs/integrations/providers/momento/", "Momento Vector Index (MVI)": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/momento_vector_index/"}, "NIBittensorLLM": {"Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/"}, "AirtableLoader": {"Airtable": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airtable/"}, "LarkSuiteDocLoader": {"ByteDance": "https://python.langchain.com/v0.2/docs/integrations/providers/byte_dance/", "LarkSuite (FeiShu)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/larksuite/"}, "JavelinAIGateway": {"Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/"}, "JavelinAIGatewayEmbeddings": {"Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/"}, "ChatJavelinAIGateway": {"Javelin AI Gateway": "https://python.langchain.com/v0.2/docs/integrations/providers/javelin_ai_gateway/", "Javelin AI Gateway Tutorial": "https://python.langchain.com/v0.2/docs/integrations/llms/javelin/"}, "TensorflowDatasetLoader": {"TensorFlow Datasets": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/tensorflow_datasets/"}, "Clarifai": {"Clarifai": "https://python.langchain.com/v0.2/docs/integrations/llms/clarifai/"}, "DataheraldTextToSQL": {"Dataherald": "https://python.langchain.com/v0.2/docs/integrations/providers/dataherald/"}, "RoamLoader": {"Roam": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/roam/"}, "RerankConfig": {"Vectara Chat": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vectara/"}, "SummaryConfig": {"Vectara Chat": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vectara/"}, "VectaraQueryConfig": {"Vectara Chat": "https://python.langchain.com/v0.2/docs/integrations/providers/vectara/vectara_chat/", "Vectara": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vectara/"}, "PebbloRetrievalQA": {"Identity-enabled RAG using PebbloRetrievalQA": "https://python.langchain.com/v0.2/docs/integrations/providers/pebblo/pebblo_retrieval_qa/"}, "AuthContext": {"Identity-enabled RAG using PebbloRetrievalQA": "https://python.langchain.com/v0.2/docs/integrations/providers/pebblo/pebblo_retrieval_qa/"}, "ChainInput": {"Identity-enabled RAG using PebbloRetrievalQA": "https://python.langchain.com/v0.2/docs/integrations/providers/pebblo/pebblo_retrieval_qa/"}, "SemanticContext": {"Identity-enabled RAG using PebbloRetrievalQA": "https://python.langchain.com/v0.2/docs/integrations/providers/pebblo/pebblo_retrieval_qa/"}, "RedisStore": {"RedisStore": "https://python.langchain.com/v0.2/docs/integrations/stores/redis/"}, "CassandraByteStore": {"CassandraByteStore": "https://python.langchain.com/v0.2/docs/integrations/stores/cassandra/"}, "UpstashRedisByteStore": {"UpstashRedisByteStore": "https://python.langchain.com/v0.2/docs/integrations/stores/upstash_redis/"}, "ApacheDorisSettings": {"Apache Doris": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/apache_doris/"}, "DistanceStrategy": {"Kinetica Vectorstore API": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/kinetica/", "SAP HANA Cloud Vector Engine": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sap_hanavector/", "SingleStoreDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/singlestoredb/", "Oracle AI Vector Search: Vector Store": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/oracle/", "SemaDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/semadb/"}, "SentenceTransformerEmbeddings": {"SQLite-VSS": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/sqlitevss/", "Vespa": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vespa/"}, "Vald": {"Vald": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vald/"}, "RetrievalQAWithSourcesChain": {"Weaviate": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/weaviate/", "Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/", "Jaguar Vector Database": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/jaguar/", "Neo4j Vector Index": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/neo4jvector/", "Marqo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/marqo/", "Psychic": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/psychic/"}, "Yellowbrick": {"Yellowbrick": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/yellowbrick/"}, "LLMRails": {"LLMRails": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/llm_rails/"}, "ChatGooglePalm": {"ScaNN": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/scann/"}, "Hippo": {"Hippo": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/hippo/"}, "RedisText": {"Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/redis/"}, "RedisNum": {"Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/redis/"}, "RedisTag": {"Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/redis/"}, "RedisFilter": {"Redis": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/redis/"}, "VespaStore": {"Vespa": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vespa/"}, "NeuralDBVectorStore": {"ThirdAI NeuralDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/thirdai_neuraldb/"}, "VikingDB": {"viking DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vikingdb/"}, "VikingDBConfig": {"viking DB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vikingdb/"}, "ApertureDB": {"ApertureDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aperturedb/"}, "Relyt": {"Relyt": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/relyt/"}, "oraclevs": {"Oracle AI Vector Search: Vector Store": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/oracle/"}, "VLite": {"vlite": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/vlite/"}, "AzureCosmosDBNoSqlVectorSearch": {"Azure Cosmos DB No SQL": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db_no_sql/"}, "DuckDB": {"DuckDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/duckdb/"}, "StarRocksSettings": {"StarRocks": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/starrocks/"}, "PathwayVectorClient": {"Pathway": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pathway/"}, "DocArrayHnswSearch": {"DocArray HnswSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/docarray_hnsw/"}, "TileDB": {"TileDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/tiledb/"}, "EcloudESVectorStore": {"China Mobile ECloud ElasticSearch VectorSearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/ecloud_vector_search/"}, "SurrealDBStore": {"SurrealDB": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/surrealdb/"}, "ManticoreSearch": {"ManticoreSearch VectorStore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/manticore_search/"}, "ManticoreSearchSettings": {"ManticoreSearch VectorStore": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/manticore_search/"}, "HuggingFaceEmbeddings": {"Aerospike": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aerospike/", "self-query-qdrant": "https://python.langchain.com/v0.2/docs/templates/self-query-qdrant/"}, "Aerospike": {"Aerospike": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/aerospike/"}, "ElasticVectorSearch": {"Elasticsearch": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/elasticsearch/"}, "PGVecto_rs": {"PGVecto.rs": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/pgvecto_rs/"}, "ZepVectorStore": {"Zep": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep/"}, "CollectionConfig": {"Zep": "https://python.langchain.com/v0.2/docs/integrations/vectorstores/zep/"}, "openai": {"OpenAI Adapter(Old)": "https://python.langchain.com/v0.2/docs/integrations/adapters/openai-old/", "OpenAI Adapter": "https://python.langchain.com/v0.2/docs/integrations/adapters/openai/"}, "RankLLMRerank": {"RankLLM Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/rankllm-reranker/"}, "AsyncChromiumLoader": {"Beautiful Soup": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/beautiful_soup/", "Async Chromium": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/async_chromium/"}, "BeautifulSoupTransformer": {"Beautiful Soup": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/beautiful_soup/"}, "VolcengineRerank": {"Volcengine Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/volcengine_rerank/"}, "OpenVINOReranker": {"OpenVINO Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openvino_rerank/"}, "create_metadata_tagger": {"OpenAI metadata tagger": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/openai_metadata_tagger/"}, "DoctranPropertyExtractor": {"Doctran: extract properties": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/doctran_extract_properties/"}, "DoctranQATransformer": {"Doctran: interrogate documents": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/doctran_interrogate_document/"}, "CrossEncoderReranker": {"Cross Encoder Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/cross_encoder_reranker/"}, "HuggingFaceCrossEncoder": {"Cross Encoder Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/cross_encoder_reranker/"}, "JinaRerank": {"Jina Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/jina_rerank/"}, "DoctranTextTranslator": {"Doctran: language translation": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/doctran_translate_document/"}, "MarkdownifyTransformer": {"Markdownify": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/markdownify/"}, "DashScopeRerank": {"DashScope Reranker": "https://python.langchain.com/v0.2/docs/integrations/document_transformers/dashscope_rerank/"}, "XorbitsLoader": {"Xorbits Pandas DataFrame": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/xorbits/"}, "OutlookMessageLoader": {"Email": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/email/"}, "TranscriptFormat": {"AssemblyAI Audio Transcripts": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/assemblyai/", "YouTube transcripts": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_transcript/"}, "ScrapingAntLoader": {"ScrapingAnt": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/scrapingant/"}, "AirbyteSalesforceLoader": {"Airbyte Salesforce (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_salesforce/"}, "AirbyteCDKLoader": {"Airbyte CDK (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_cdk/"}, "Docx2txtLoader": {"Microsoft Word": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/microsoft_word/"}, "RSpaceLoader": {"# replace these ids with some from your own research notes.": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/rspace/"}, "SeleniumURLLoader": {"URL": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/url/"}, "PlaywrightURLLoader": {"URL": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/url/"}, "AirbyteJSONLoader": {"Airbyte JSON (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_json/"}, "AirbyteStripeLoader": {"Airbyte Stripe (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_stripe/"}, "GeoDataFrameLoader": {"Geopandas": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/geopandas/"}, "VectorstoreIndexCreator": {"HuggingFace dataset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/hugging_face_dataset/", "Spreedly": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/spreedly/", "Figma": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/figma/", "Apify Dataset": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/apify_dataset/", "Iugu": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/iugu/", "Stripe": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/stripe/", "Modern Treasury": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/modern_treasury/"}, "AirbyteTypeformLoader": {"Airbyte Typeform (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_typeform/"}, "MHTMLLoader": {"mhtml": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/mhtml/"}, "SpiderLoader": {"Spider": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/spider/"}, "NewsURLLoader": {"News URL": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/news/"}, "ImageCaptionLoader": {"Image captions": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/image_captions/"}, "LLMSherpaFileLoader": {"LLM Sherpa": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/llmsherpa/"}, "PyMuPDFLoader": {"PyMuPDF": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pymupdf/"}, "ScrapflyLoader": {"# ScrapFly": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/scrapfly/"}, "TomlLoader": {"TOML": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/toml/"}, "PsychicLoader": {"Psychic": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/psychic/"}, "FireCrawlLoader": {"FireCrawl": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/firecrawl/"}, "LarkSuiteWikiLoader": {"LarkSuite (FeiShu)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/larksuite/"}, "FakeListLLM": {"LarkSuite (FeiShu)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/larksuite/"}, "MergedDataLoader": {"Merge Documents Loader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/merge_doc/"}, "RecursiveUrlLoader": {"Recursive URL": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/recursive_url/"}, "PDFPlumberLoader": {"PDFPlumber": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pdfplumber/"}, "PyPDFium2Loader": {"PyPDFium2Loader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pypdfium2/"}, "AirbyteHubspotLoader": {"Airbyte Hubspot (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_hubspot/"}, "AirbyteGongLoader": {"Airbyte Gong (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_gong/"}, "AstraDBLoader": {"AstraDB": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/astradb/"}, "ReadTheDocsLoader": {"ReadTheDocs Documentation": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/readthedocs_documentation/"}, "MathpixPDFLoader": {"MathPixPDFLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/mathpix/"}, "PolarsDataFrameLoader": {"Polars DataFrame": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/polars_dataframe/"}, "DataFrameLoader": {"Pandas DataFrame": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pandas_dataframe/"}, "SurrealDBLoader": {"SurrealDB": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/surrealdb/"}, "DedocFileLoader": {"Dedoc": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/dedoc/"}, "DedocPDFLoader": {"Dedoc": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/dedoc/"}, "DedocAPIFileLoader": {"Dedoc": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/dedoc/"}, "GoogleApiClient": {"YouTube transcripts": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/youtube_transcript/"}, "ConcurrentLoader": {"Concurrent Loader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/concurrent/"}, "RSSFeedLoader": {"RSS Feeds": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/rss/"}, "PebbloSafeLoader": {"Pebblo Safe DocumentLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pebblo/"}, "VsdxLoader": {"Vsdx": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/vsdx/"}, "NotebookLoader": {"Jupyter Notebook": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/jupyter_notebook/"}, "OracleAutonomousDatabaseLoader": {"Oracle Autonomous Database": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/oracleadb_loader/"}, "LanguageParser": {"Source Code": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/source_code/"}, "SRTLoader": {"Subtitle": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/subtitle/"}, "MastodonTootsLoader": {"Mastodon": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/mastodon/"}, "AirbyteShopifyLoader": {"Airbyte Shopify (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_shopify/"}, "PyPDFDirectoryLoader": {"PyPDFDirectoryLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pypdfdirectory/"}, "PySparkDataFrameLoader": {"PySpark": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pyspark_dataframe/"}, "AirbyteZendeskSupportLoader": {"Airbyte Zendesk Support (Deprecated)": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/airbyte_zendesk_support/"}, "CoNLLULoader": {"CoNLL-U": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/conll-u/"}, "MongodbLoader": {"MongoDB": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/mongodb/"}, "SitemapLoader": {"Sitemap": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/sitemap/"}, "YuqueLoader": {"Yuque": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/yuque/"}, "PDFMinerLoader": {"PDFMiner": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pdfminer/"}, "PDFMinerPDFasHTMLLoader": {"PDFMiner": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/pdfminer/"}, "QuipLoader": {"Quip": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/quip/"}, "LangSmithLoader": {"LangSmithLoader": "https://python.langchain.com/v0.2/docs/integrations/document_loaders/langsmith/"}, "MemgraphGraph": {"Memgraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/memgraph/"}, "GraphSparqlQAChain": {"RDFLib": "https://python.langchain.com/v0.2/docs/integrations/graphs/rdflib_sparql/"}, "RdfGraph": {"RDFLib": "https://python.langchain.com/v0.2/docs/integrations/graphs/rdflib_sparql/"}, "NebulaGraphQAChain": {"NebulaGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/nebula_graph/"}, "NebulaGraph": {"NebulaGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/nebula_graph/"}, "GremlinQAChain": {"Azure Cosmos DB for Apache Gremlin": "https://python.langchain.com/v0.2/docs/integrations/graphs/azure_cosmosdb_gremlin/"}, "GraphIndexCreator": {"NetworkX": "https://python.langchain.com/v0.2/docs/integrations/graphs/networkx/"}, "GraphQAChain": {"NetworkX": "https://python.langchain.com/v0.2/docs/integrations/graphs/networkx/"}, "NetworkxEntityGraph": {"NetworkX": "https://python.langchain.com/v0.2/docs/integrations/graphs/networkx/"}, "HugeGraphQAChain": {"HugeGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/hugegraph/"}, "HugeGraph": {"HugeGraph": "https://python.langchain.com/v0.2/docs/integrations/graphs/hugegraph/"}, "AGEGraph": {"Apache AGE": "https://python.langchain.com/v0.2/docs/integrations/graphs/apache_age/"}, "KuzuQAChain": {"Kuzu": "https://python.langchain.com/v0.2/docs/integrations/graphs/kuzu_db/"}, "KuzuGraph": {"Kuzu": "https://python.langchain.com/v0.2/docs/integrations/graphs/kuzu_db/"}, "FalkorDBQAChain": {"FalkorDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/falkordb/"}, "FalkorDBGraph": {"FalkorDB": "https://python.langchain.com/v0.2/docs/integrations/graphs/falkordb/"}, "ConversationBufferWindowMemory": {"Baseten": "https://python.langchain.com/v0.2/docs/integrations/llms/baseten/", "OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/"}, "Solar": {"Solar": "https://python.langchain.com/v0.2/docs/integrations/llms/solar/"}, "GoogleSearchAPIWrapper": {"Bittensor": "https://python.langchain.com/v0.2/docs/integrations/llms/bittensor/"}, "IpexLLM": {"IPEX-LLM": "https://python.langchain.com/v0.2/docs/integrations/llms/ipex_llm/"}, "LLMContentHandler": {"SageMakerEndpoint": "https://python.langchain.com/v0.2/docs/integrations/llms/sagemaker/"}, "TextGen": {"TextGen": "https://python.langchain.com/v0.2/docs/integrations/llms/textgen/"}, "MosaicML": {"MosaicML": "https://python.langchain.com/v0.2/docs/integrations/llms/mosaicml/"}, "VolcEngineMaasLLM": {"Volc Engine Maas": "https://python.langchain.com/v0.2/docs/integrations/llms/volcengine_maas/"}, "KoboldApiLLM": {"KoboldAI API": "https://python.langchain.com/v0.2/docs/integrations/llms/koboldai/"}, "Konko": {"Konko": "https://python.langchain.com/v0.2/docs/integrations/llms/konko/"}, "OpaquePrompts": {"OpaquePrompts": "https://python.langchain.com/v0.2/docs/integrations/llms/opaqueprompts/"}, "TitanTakeoff": {"Titan Takeoff": "https://python.langchain.com/v0.2/docs/integrations/llms/titan_takeoff/"}, "Friendli": {"Friendli": "https://python.langchain.com/v0.2/docs/integrations/llms/friendli/"}, "Databricks": {"Databricks": "https://python.langchain.com/v0.2/docs/integrations/llms/databricks/"}, "LMFormatEnforcer": {"LM Format Enforcer": "https://python.langchain.com/v0.2/docs/integrations/llms/lmformatenforcer_experimental/"}, "VLLM": {"vLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/vllm/"}, "VLLMOpenAI": {"vLLM": "https://python.langchain.com/v0.2/docs/integrations/llms/vllm/"}, "CustomOpenAIContentFormatter": {"Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/"}, "ContentFormatterBase": {"Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/"}, "DollyContentFormatter": {"Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/"}, "load_llm": {"Azure ML": "https://python.langchain.com/v0.2/docs/integrations/llms/azure_ml/"}, "MapReduceChain": {"Manifest": "https://python.langchain.com/v0.2/docs/integrations/llms/manifest/"}, "ModelLaboratory": {"Manifest": "https://python.langchain.com/v0.2/docs/integrations/llms/manifest/"}, "ExLlamaV2": {"ExLlamaV2": "https://python.langchain.com/v0.2/docs/integrations/llms/exllamav2/"}, "RELLM": {"RELLM": "https://python.langchain.com/v0.2/docs/integrations/llms/rellm_experimental/"}, "Moonshot": {"MoonshotChat": "https://python.langchain.com/v0.2/docs/integrations/llms/moonshot/"}, "OpenLM": {"OpenLM": "https://python.langchain.com/v0.2/docs/integrations/llms/openlm/"}, "CloudflareWorkersAI": {"Cloudflare Workers AI": "https://python.langchain.com/v0.2/docs/integrations/llms/cloudflare_workersai/"}, "ChatGLM3": {"ChatGLM": "https://python.langchain.com/v0.2/docs/integrations/llms/chatglm/"}, "ChatGLM": {"ChatGLM": "https://python.langchain.com/v0.2/docs/integrations/llms/chatglm/"}, "Sambaverse": {"SambaNova": "https://python.langchain.com/v0.2/docs/integrations/llms/sambanova/"}, "SambaStudio": {"SambaNova": "https://python.langchain.com/v0.2/docs/integrations/llms/sambanova/"}, "LayerupSecurity": {"Layerup Security": "https://python.langchain.com/v0.2/docs/integrations/llms/layerup_security/"}, "JsonFormer": {"JSONFormer": "https://python.langchain.com/v0.2/docs/integrations/llms/jsonformer_experimental/"}, "WeightOnlyQuantPipeline": {"Intel Weight-Only Quantization": "https://python.langchain.com/v0.2/docs/integrations/llms/weight_only_quantization/"}, "Replicate": {"Replicate": "https://python.langchain.com/v0.2/docs/integrations/llms/replicate/"}, "tracing_v2_enabled": {"Chat Bot Feedback Template": "https://python.langchain.com/v0.2/docs/templates/chat-bot-feedback/"}, "QuerySQLDataBaseTool": {"Build a Question/Answering system over SQL data": "https://python.langchain.com/v0.2/docs/tutorials/sql_qa/"}, "OPENAI_TEMPLATE": {"Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "create_openai_data_generator": {"Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "DatasetGenerator": {"Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "create_data_generation_chain": {"Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}, "create_extraction_chain_pydantic": {"Generate Synthetic Data": "https://python.langchain.com/v0.2/docs/tutorials/data_generation/"}}
\ No newline at end of file
diff --git a/docs/docs/concepts.mdx b/docs/docs/concepts.mdx
index f9180272c3167..8ddeb85372608 100644
--- a/docs/docs/concepts.mdx
+++ b/docs/docs/concepts.mdx
@@ -209,7 +209,7 @@ Some language models take a list of messages as input and return a message.
There are a few different types of messages.
All messages have a `role`, `content`, and `response_metadata` property.
-The `role` describes WHO is saying the message.
+The `role` describes WHO is saying the message. The standard roles are "user", "assistant", "system", and "tool".
LangChain has different message classes for different roles.
The `content` property describes the content of the message.
@@ -218,13 +218,16 @@ This can be a few different things:
- A string (most models deal this type of content)
- A List of dictionaries (this is used for multimodal input, where the dictionary contains information about that input type and that input location)
+Optionally, messages can have a `name` property which allows for differentiating between multiple speakers with the same role.
+For example, if there are two users in the chat history it can be useful to differentiate between them. Not all models support this.
+
#### HumanMessage
-This represents a message from the user.
+This represents a message with role "user".
#### AIMessage
-This represents a message from the model. In addition to the `content` property, these messages also have:
+This represents a message with role "assistant". In addition to the `content` property, these messages also have:
**`response_metadata`**
@@ -244,11 +247,11 @@ This property returns a list of `ToolCall`s. A `ToolCall` is a dictionary with t
#### SystemMessage
-This represents a system message, which tells the model how to behave. Not every model provider supports this.
+This represents a message with role "system", which tells the model how to behave. Not every model provider supports this.
#### ToolMessage
-This represents the result of a tool call. In addition to `role` and `content`, this message has:
+This represents a message with role "tool", which contains the result of calling a tool. In addition to `role` and `content`, this message has:
- a `tool_call_id` field which conveys the id of the call to the tool that was called to produce this result.
- an `artifact` field which can be used to pass along arbitrary artifacts of the tool execution which are useful to track but which should not be sent to the model.
@@ -343,6 +346,7 @@ For specifics on how to use prompt templates, see the [relevant how-to guides he
### Example selectors
One common prompting technique for achieving better performance is to include examples as part of the prompt.
+This is known as [few-shot prompting](/docs/concepts/#few-shot-prompting).
This gives the language model concrete examples of how it should behave.
Sometimes these examples are hardcoded into the prompt, but for more advanced situations it may be nice to dynamically select them.
Example Selectors are classes responsible for selecting and then formatting examples into prompts.
@@ -1101,6 +1105,81 @@ The following how-to guides are good practical resources for using function/tool
For a full list of model providers that support tool calling, [see this table](/docs/integrations/chat/#advanced-features).
+### Few-shot prompting
+
+One of the most effective ways to improve model performance is to give a model examples of what you want it to do. The technique of adding example inputs and expected outputs to a model prompt is known as "few-shot prompting". There are a few things to think about when doing few-shot prompting:
+
+1. How are examples generated?
+2. How many examples are in each prompt?
+3. How are examples selected at runtime?
+4. How are examples formatted in the prompt?
+
+Here are the considerations for each.
+
+#### 1. Generating examples
+
+The first and most important step of few-shot prompting is coming up with a good dataset of examples. Good examples should be relevant at runtime, clear, informative, and provide information that was not already known to the model.
+
+At a high-level, the basic ways to generate examples are:
+- Manual: a person/people generates examples they think are useful.
+- Better model: a better (presumably more expensive/slower) model's responses are used as examples for a worse (presumably cheaper/faster) model.
+- User feedback: users (or labelers) leave feedback on interactions with the application and examples are generated based on that feedback (for example, all interactions with positive feedback could be turned into examples).
+- LLM feedback: same as user feedback but the process is automated by having models evaluate themselves.
+
+Which approach is best depends on your task. For tasks where a small number core principles need to be understood really well, it can be valuable hand-craft a few really good examples.
+For tasks where the space of correct behaviors is broader and more nuanced, it can be useful to generate many examples in a more automated fashion so that there's a higher likelihood of there being some highly relevant examples for any runtime input.
+
+**Single-turn v.s. multi-turn examples**
+
+Another dimension to think about when generating examples is what the example is actually showing.
+
+The simplest types of examples just have a user input and an expected model output. These are single-turn examples.
+
+One more complex type if example is where the example is an entire conversation, usually in which a model initially responds incorrectly and a user then tells the model how to correct its answer.
+This is called a multi-turn example. Multi-turn examples can be useful for more nuanced tasks where its useful to show common errors and spell out exactly why they're wrong and what should be done instead.
+
+#### 2. Number of examples
+
+Once we have a dataset of examples, we need to think about how many examples should be in each prompt.
+The key tradeoff is that more examples generally improve performance, but larger prompts increase costs and latency.
+And beyond some threshold having too many examples can start to confuse the model.
+Finding the right number of examples is highly dependent on the model, the task, the quality of the examples, and your cost and latency constraints.
+Anecdotally, the better the model is the fewer examples it needs to perform well and the more quickly you hit steeply diminishing returns on adding more examples.
+But, the best/only way to reliably answer this question is to run some experiments with different numbers of examples.
+
+#### 3. Selecting examples
+
+Assuming we are not adding our entire example dataset into each prompt, we need to have a way of selecting examples from our dataset based on a given input. We can do this:
+- Randomly
+- By (semantic or keyword-based) similarity of the inputs
+- Based on some other constraints, like token size
+
+LangChain has a number of [`ExampleSelectors`](/docs/concepts/#example-selectors) which make it easy to use any of these techniques.
+
+Generally, selecting by semantic similarity leads to the best model performance. But how important this is is again model and task specific, and is something worth experimenting with.
+
+#### 4. Formatting examples
+
+Most state-of-the-art models these days are chat models, so we'll focus on formatting examples for those. Our basic options are to insert the examples:
+- In the system prompt as a string
+- As their own messages
+
+If we insert our examples into the system prompt as a string, we'll need to make sure it's clear to the model where each example begins and which parts are the input versus output. Different models respond better to different syntaxes, like [ChatML](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/chat-markup-language), XML, TypeScript, etc.
+
+If we insert our examples as messages, where each example is represented as a sequence of Human, AI messages, we might want to also assign [names](/docs/concepts/#messages) to our messages like `"example_user"` and `"example_assistant"` to make it clear that these messages correspond to different actors than the latest input message.
+
+**Formatting tool call examples**
+
+One area where formatting examples as messages can be tricky is when our example outputs have tool calls. This is because different models have different constraints on what types of message sequences are allowed when any tool calls are generated.
+- Some models require that any AIMessage with tool calls be immediately followed by ToolMessages for every tool call,
+- Some models additionally require that any ToolMessages be immediately followed by an AIMessage before the next HumanMessage,
+- Some models require that tools are passed in to the model if there are any tool calls / ToolMessages in the chat history.
+
+These requirements are model-specific and should be checked for the model you are using. If your model requires ToolMessages after tool calls and/or AIMessages after ToolMessages and your examples only include expected tool calls and not the actual tool outputs, you can try adding dummy ToolMessages / AIMessages to the end of each example with generic contents to satisfy the API constraints.
+In these cases it's especially worth experimenting with inserting your examples as strings versus messages, as having dummy messages can adversely affect certain models.
+
+You can see a case study of how Anthropic and OpenAI respond to different few-shot prompting techniques on two different tool calling benchmarks [here](https://blog.langchain.dev/few-shot-prompting-to-improve-tool-calling-performance/).
+
### Retrieval
LLMs are trained on a large but fixed dataset, limiting their ability to reason over private or recent information. Fine-tuning an LLM with specific facts is one way to mitigate this, but is often [poorly suited for factual recall](https://www.anyscale.com/blog/fine-tuning-is-for-form-not-facts) and [can be costly](https://www.glean.com/blog/how-to-build-an-ai-assistant-for-the-enterprise).
diff --git a/docs/docs/how_to/document_loader_markdown.ipynb b/docs/docs/how_to/document_loader_markdown.ipynb
index b68d4eadc1496..a5a3e0138847a 100644
--- a/docs/docs/how_to/document_loader_markdown.ipynb
+++ b/docs/docs/how_to/document_loader_markdown.ipynb
@@ -26,7 +26,7 @@
"metadata": {},
"outputs": [],
"source": [
- "%pip install \"unstructured[md]\""
+ "%pip install \"unstructured[md]\" nltk"
]
},
{
diff --git a/docs/docs/how_to/example_selectors_langsmith.ipynb b/docs/docs/how_to/example_selectors_langsmith.ipynb
new file mode 100644
index 0000000000000..0db835427c0b8
--- /dev/null
+++ b/docs/docs/how_to/example_selectors_langsmith.ipynb
@@ -0,0 +1,353 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "4f7e423b",
+ "metadata": {},
+ "source": [
+ "# How to select examples from a LangSmith dataset\n",
+ "\n",
+ "import Prerequisites from \"@theme/Prerequisites\";\n",
+ "import Compatibility from \"@theme/Compatibility\";\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "LangSmith datasets have built-in support for similarity search, making them a great tool for building and querying few-shot examples.\n",
+ "\n",
+ "In this guide we'll see how to use an indexed LangSmith dataset as a few-shot example selector.\n",
+ "\n",
+ "## Setup\n",
+ "\n",
+ "Before getting started make sure you've [created a LangSmith account](https://smith.langchain.com/) and set your credentials:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "85445e0e",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Set LangSmith API key:\n",
+ "\n",
+ "········\n"
+ ]
+ }
+ ],
+ "source": [
+ "import getpass\n",
+ "import os\n",
+ "\n",
+ "if not os.environ.get(\"LANGSMITH_API_KEY\"):\n",
+ " os.environ[\"LANGSMITH_API_KEY\"] = getpass.getpass(\"Set LangSmith API key:\\n\\n\")\n",
+ "\n",
+ "os.environ[\"LANGSMITH_TRACING\"] = \"true\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ca899e29",
+ "metadata": {},
+ "source": [
+ "We'll need to install the `langsmith` SDK. In this example we'll also make use of `langchain`, `langchain-openai`, and `langchain-benchmarks`:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "b4fa7810",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%pip install -qU \"langsmith>=0.1.101\" \"langchain-core>=0.2.34\" langchain langchain-openai langchain-benchmarks"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "fc716e12",
+ "metadata": {},
+ "source": [
+ "Now we'll clone a public dataset and turn on indexing for the dataset. We can also turn on indexing via the [LangSmith UI](https://docs.smith.langchain.com/how_to_guides/datasets/index_datasets_for_dynamic_few_shot_example_selection).\n",
+ "\n",
+ "We'll clone the [Multiverse math few shot example dataset](https://blog.langchain.dev/few-shot-prompting-to-improve-tool-calling-performance/).\n",
+ "\n",
+ "This enables searching over the dataset and will make sure that anytime we update/add examples they are also indexed."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "cf53d280",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langsmith import Client as LangSmith\n",
+ "\n",
+ "ls_client = LangSmith()\n",
+ "\n",
+ "dataset_name = \"multiverse-math-few-shot-examples-v2\"\n",
+ "dataset_public_url = (\n",
+ " \"https://smith.langchain.com/public/620596ee-570b-4d2b-8c8f-f828adbe5242/d\"\n",
+ ")\n",
+ "\n",
+ "ls_client.clone_public_dataset(dataset_public_url)\n",
+ "\n",
+ "dataset_id = ls_client.read_dataset(dataset_name=dataset_name).id\n",
+ "\n",
+ "ls_client.index_dataset(dataset_id=dataset_id)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5767d171",
+ "metadata": {},
+ "source": [
+ "## Querying dataset\n",
+ "\n",
+ "Indexing can take a few seconds. Once the dataset is indexed, we can search for similar examples. Note that the input to the `similar_examples` method must have the same schema as the examples inputs. In this case our example inputs are a dictionary with a \"question\" key:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "5013a56f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "3"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "examples = ls_client.similar_examples(\n",
+ " {\"question\": \"whats the negation of the negation of the negation of 3\"},\n",
+ " limit=3,\n",
+ " dataset_id=dataset_id,\n",
+ ")\n",
+ "len(examples)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "a142db06",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'evaluate the negation of -100'"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "examples[0].inputs[\"question\"]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d2627125",
+ "metadata": {},
+ "source": [
+ "For this dataset, the outputs are the conversation that followed the question in OpenAI message format:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "af5b9191",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[{'role': 'assistant',\n",
+ " 'content': None,\n",
+ " 'tool_calls': [{'id': 'toolu_01HTpq4cYNUac6F7omUc2Wz3',\n",
+ " 'type': 'function',\n",
+ " 'function': {'name': 'negate', 'arguments': '{\"a\": -100}'}}]},\n",
+ " {'role': 'tool',\n",
+ " 'content': '-100.0',\n",
+ " 'tool_call_id': 'toolu_01HTpq4cYNUac6F7omUc2Wz3'},\n",
+ " {'role': 'assistant', 'content': 'So the answer is 100.'},\n",
+ " {'role': 'user',\n",
+ " 'content': '100 is incorrect. Please refer to the output of your tool call.'},\n",
+ " {'role': 'assistant',\n",
+ " 'content': [{'text': \"You're right, my previous answer was incorrect. Let me re-evaluate using the tool output:\",\n",
+ " 'type': 'text'}],\n",
+ " 'tool_calls': [{'id': 'toolu_01XsJQboYghGDygQpPjJkeRq',\n",
+ " 'type': 'function',\n",
+ " 'function': {'name': 'negate', 'arguments': '{\"a\": -100}'}}]},\n",
+ " {'role': 'tool',\n",
+ " 'content': '-100.0',\n",
+ " 'tool_call_id': 'toolu_01XsJQboYghGDygQpPjJkeRq'},\n",
+ " {'role': 'assistant', 'content': 'The answer is -100.0'},\n",
+ " {'role': 'user',\n",
+ " 'content': 'You have the correct numerical answer but are returning additional text. Please only respond with the numerical answer.'},\n",
+ " {'role': 'assistant', 'content': '-100.0'}]"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "examples[0].outputs[\"conversation\"]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "e852c8ef",
+ "metadata": {},
+ "source": [
+ "## Creating dynamic few-shot prompts\n",
+ "\n",
+ "The search returns the examples whose inputs are most similar to the query input. We can use this for few-shot prompting a model like so:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "id": "12cba1e1",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langchain.chat_models import init_chat_model\n",
+ "from langchain_benchmarks.tool_usage.tasks.multiverse_math import (\n",
+ " add,\n",
+ " cos,\n",
+ " divide,\n",
+ " log,\n",
+ " multiply,\n",
+ " negate,\n",
+ " pi,\n",
+ " power,\n",
+ " sin,\n",
+ " subtract,\n",
+ ")\n",
+ "from langchain_core.runnables import RunnableLambda\n",
+ "from langsmith import AsyncClient as AsyncLangSmith\n",
+ "\n",
+ "async_ls_client = AsyncLangSmith()\n",
+ "\n",
+ "\n",
+ "def similar_examples(input_: dict) -> dict:\n",
+ " examples = ls_client.similar_examples(input_, limit=5, dataset_id=dataset_id)\n",
+ " return {**input_, \"examples\": examples}\n",
+ "\n",
+ "\n",
+ "async def asimilar_examples(input_: dict) -> dict:\n",
+ " examples = await async_ls_client.similar_examples(\n",
+ " input_, limit=5, dataset_id=dataset_id\n",
+ " )\n",
+ " return {**input_, \"examples\": examples}\n",
+ "\n",
+ "\n",
+ "def construct_prompt(input_: dict) -> list:\n",
+ " instructions = \"\"\"You are great at using mathematical tools.\"\"\"\n",
+ " examples = []\n",
+ " for ex in input_[\"examples\"]:\n",
+ " examples.append({\"role\": \"user\", \"content\": ex.inputs[\"question\"]})\n",
+ " for msg in ex.outputs[\"conversation\"]:\n",
+ " if msg[\"role\"] == \"assistant\":\n",
+ " msg[\"name\"] = \"example_assistant\"\n",
+ " if msg[\"role\"] == \"user\":\n",
+ " msg[\"name\"] = \"example_user\"\n",
+ " examples.append(msg)\n",
+ " return [\n",
+ " {\"role\": \"system\", \"content\": instructions},\n",
+ " *examples,\n",
+ " {\"role\": \"user\", \"content\": input_[\"question\"]},\n",
+ " ]\n",
+ "\n",
+ "\n",
+ "tools = [add, cos, divide, log, multiply, negate, pi, power, sin, subtract]\n",
+ "llm = init_chat_model(\"gpt-4o-2024-08-06\")\n",
+ "llm_with_tools = llm.bind_tools(tools)\n",
+ "\n",
+ "example_selector = RunnableLambda(func=similar_examples, afunc=asimilar_examples)\n",
+ "\n",
+ "chain = example_selector | construct_prompt | llm_with_tools"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "id": "c423b367",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[{'name': 'negate',\n",
+ " 'args': {'a': 3},\n",
+ " 'id': 'call_uMSdoTl6ehfHh5a6JQUb2NoZ',\n",
+ " 'type': 'tool_call'}]"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ai_msg = await chain.ainvoke({\"question\": \"whats the negation of the negation of 3\"})\n",
+ "ai_msg.tool_calls"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "94489b4a",
+ "metadata": {},
+ "source": [
+ "Looking at the LangSmith trace, we can see that relevant examples were pulled in in the `similar_examples` step and passed as messages to ChatOpenAI: https://smith.langchain.com/public/9585e30f-765a-4ed9-b964-2211420cd2f8/r/fdea98d6-e90f-49d4-ac22-dfd012e9e0d9."
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "poetry-venv-311",
+ "language": "python",
+ "name": "poetry-venv-311"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/docs/docs/how_to/index.mdx b/docs/docs/how_to/index.mdx
index de9000095fb28..b7ab308dff4de 100644
--- a/docs/docs/how_to/index.mdx
+++ b/docs/docs/how_to/index.mdx
@@ -69,6 +69,7 @@ These are the core building blocks you can use when building applications.
- [How to: select examples by semantic similarity](/docs/how_to/example_selectors_similarity)
- [How to: select examples by semantic ngram overlap](/docs/how_to/example_selectors_ngram)
- [How to: select examples by maximal marginal relevance](/docs/how_to/example_selectors_mmr)
+- [How to: select examples from LangSmith few-shot datasets](/docs/how_to/example_selectors_langsmith/)
### Chat models
@@ -315,6 +316,15 @@ For a high-level tutorial, check out [this guide](/docs/tutorials/graph/).
- [How to: improve results with prompting](/docs/how_to/graph_prompting)
- [How to: construct knowledge graphs](/docs/how_to/graph_constructing)
+### Summarization
+
+LLMs can summarize and otherwise distill desired information from text, including
+large volumes of text. For a high-level tutorial, check out [this guide](/docs/tutorials/summarization).
+
+- [How to: summarize text in a single LLM call](/docs/how_to/summarize_stuff)
+- [How to: summarize text through parallelization](/docs/how_to/summarize_map_reduce)
+- [How to: summarize text through iterative refinement](/docs/how_to/summarize_refine)
+
## [LangGraph](https://langchain-ai.github.io/langgraph)
LangGraph is an extension of LangChain aimed at
diff --git a/docs/docs/how_to/qa_chat_history_how_to.ipynb b/docs/docs/how_to/qa_chat_history_how_to.ipynb
index fc82be236277f..7d76f804d6e8c 100644
--- a/docs/docs/how_to/qa_chat_history_how_to.ipynb
+++ b/docs/docs/how_to/qa_chat_history_how_to.ipynb
@@ -42,7 +42,7 @@
"outputs": [],
"source": [
"%%capture --no-stderr\n",
- "%pip install --upgrade --quiet langchain langchain-community langchain-chroma bs4"
+ "%pip install --upgrade --quiet langchain langchain-community langchain-chroma beautifulsoup4"
]
},
{
diff --git a/docs/docs/how_to/qa_sources.ipynb b/docs/docs/how_to/qa_sources.ipynb
index 98d220a677602..32f27a7d7b39c 100644
--- a/docs/docs/how_to/qa_sources.ipynb
+++ b/docs/docs/how_to/qa_sources.ipynb
@@ -40,7 +40,7 @@
"metadata": {},
"outputs": [],
"source": [
- "%pip install --upgrade --quiet langchain langchain-community langchainhub langchain-openai langchain-chroma bs4"
+ "%pip install --upgrade --quiet langchain langchain-community langchainhub langchain-openai langchain-chroma beautifulsoup4"
]
},
{
diff --git a/docs/docs/how_to/qa_streaming.ipynb b/docs/docs/how_to/qa_streaming.ipynb
index 003204058dc09..67b80b1d6fe4b 100644
--- a/docs/docs/how_to/qa_streaming.ipynb
+++ b/docs/docs/how_to/qa_streaming.ipynb
@@ -33,7 +33,7 @@
"metadata": {},
"outputs": [],
"source": [
- "%pip install --upgrade --quiet langchain langchain-community langchainhub langchain-openai langchain-chroma bs4"
+ "%pip install --upgrade --quiet langchain langchain-community langchainhub langchain-openai langchain-chroma beautifulsoup4"
]
},
{
diff --git a/docs/docs/how_to/summarize_map_reduce.ipynb b/docs/docs/how_to/summarize_map_reduce.ipynb
new file mode 100644
index 0000000000000..71ffa176e09ce
--- /dev/null
+++ b/docs/docs/how_to/summarize_map_reduce.ipynb
@@ -0,0 +1,449 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "c47f5b2f-e14c-43e7-a0ab-d71562636624",
+ "metadata": {},
+ "source": [
+ "---\n",
+ "sidebar_position: 3\n",
+ "keywords: [summarize, summarization, map reduce]\n",
+ "---"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "682a4f53-27db-43ef-a909-dd9ded76051b",
+ "metadata": {},
+ "source": [
+ "# How to summarize text through parallelization\n",
+ "\n",
+ "LLMs can summarize and otherwise distill desired information from text, including large volumes of text. In many cases, especially when the amount of text is large compared to the size of the model's context window, it can be helpful (or necessary) to break up the summarization task into smaller components.\n",
+ "\n",
+ "Map-reduce represents one class of strategies for accomplishing this. The idea is to break the text into \"sub-documents\", and first map each sub-document to an individual summary using an LLM. Then, we reduce or consolidate those summaries into a single global summary.\n",
+ "\n",
+ "Note that the map step is typically parallelized over the input documents. This strategy is especially effective when understanding of a sub-document does not rely on preceeding context. For example, when summarizing a corpus of many, shorter documents.\n",
+ "\n",
+ "[LangGraph](https://langchain-ai.github.io/langgraph/), built on top of `langchain-core`, suports [map-reduce](https://langchain-ai.github.io/langgraph/how-tos/map-reduce/) workflows and is well-suited to this problem:\n",
+ "\n",
+ "- LangGraph allows for individual steps (such as successive summarizations) to be streamed, allowing for greater control of execution;\n",
+ "- LangGraph's [checkpointing](https://langchain-ai.github.io/langgraph/how-tos/persistence/) supports error recovery, extending with human-in-the-loop workflows, and easier incorporation into conversational applications.\n",
+ "- The LangGraph implementation is straightforward to modify and extend.\n",
+ "\n",
+ "Below, we demonstrate how to summarize text via a map-reduce strategy."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "4aa52e84-d1b5-4b33-b4c4-541156686ef3",
+ "metadata": {},
+ "source": [
+ "## Load chat model\n",
+ "\n",
+ "Let's first load a chat model:\n",
+ "```{=mdx}\n",
+ "import ChatModelTabs from \"@theme/ChatModelTabs\";\n",
+ "\n",
+ "\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "e5f426fc-cea6-4351-8931-1e422d3c8b69",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# | output: false\n",
+ "# | echo: false\n",
+ "\n",
+ "from langchain_openai import ChatOpenAI\n",
+ "\n",
+ "llm = ChatOpenAI(model=\"gpt-4o-mini\", temperature=0)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "b137fe82-0a53-4910-b53e-b87a297f329d",
+ "metadata": {},
+ "source": [
+ "## Load documents\n",
+ "\n",
+ "First we load in our documents. We will use [WebBaseLoader](https://api.python.langchain.com/en/latest/document_loaders/langchain_community.document_loaders.web_base.WebBaseLoader.html) to load a blog post, and split the documents into smaller sub-documents."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "27c8fed0-b2d7-4549-a086-f5ee657efc41",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "Created a chunk of size 1003, which is longer than the specified 1000\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Generated 14 documents.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from langchain_community.document_loaders import WebBaseLoader\n",
+ "from langchain_text_splitters import CharacterTextSplitter\n",
+ "\n",
+ "text_splitter = CharacterTextSplitter.from_tiktoken_encoder(\n",
+ " chunk_size=1000, chunk_overlap=0\n",
+ ")\n",
+ "\n",
+ "loader = WebBaseLoader(\"https://lilianweng.github.io/posts/2023-06-23-agent/\")\n",
+ "docs = loader.load()\n",
+ "\n",
+ "split_docs = text_splitter.split_documents(docs)\n",
+ "print(f\"Generated {len(split_docs)} documents.\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "84216044-6f1e-4b90-b4fa-29ec305abf51",
+ "metadata": {},
+ "source": [
+ "## Create graph\n",
+ "\n",
+ "### Map step\n",
+ "Let's first define the prompt associated with the map step, and associated it with the LLM via a [chain](/docs/how_to/sequence/):"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "669afa40-2708-4fa1-841e-c74a67bd9175",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langchain_core.output_parsers import StrOutputParser\n",
+ "from langchain_core.prompts import ChatPromptTemplate\n",
+ "\n",
+ "map_prompt = ChatPromptTemplate.from_messages(\n",
+ " [(\"human\", \"Write a concise summary of the following:\\\\n\\\\n{context}\")]\n",
+ ")\n",
+ "\n",
+ "map_chain = map_prompt | llm | StrOutputParser()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "81597ed0-8df5-4cbc-a242-3140a168a7f4",
+ "metadata": {},
+ "source": [
+ "### Reduce step\n",
+ "\n",
+ "We also define a chain that takes the document mapping results and reduces them into a single output."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "de59caae-8fb2-4cf4-aea0-be78a081a695",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "reduce_template = \"\"\"\n",
+ "The following is a set of summaries:\n",
+ "{docs}\n",
+ "Take these and distill it into a final, consolidated summary\n",
+ "of the main themes.\n",
+ "\"\"\"\n",
+ "\n",
+ "reduce_prompt = ChatPromptTemplate([(\"human\", reduce_template)])\n",
+ "\n",
+ "reduce_chain = reduce_prompt | llm | StrOutputParser()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "cb264a71-12f5-44ef-ad2e-d38c4bf71bbd",
+ "metadata": {},
+ "source": [
+ "### Orchestration via LangGraph\n",
+ "\n",
+ "Below we implement a simple application that maps the summarization step on a list of documents, then reduces them using the above prompts.\n",
+ "\n",
+ "Map-reduce flows are particularly useful when texts are long compared to the context window of a LLM. For long texts, we need a mechanism that ensures that the context to be summarized in the reduce step does not exceed a model's context window size. Here we implement a recursive \"collapsing\" of the summaries: the inputs are partitioned based on a token limit, and summaries are generated of the partitions. This step is repeated until the total length of the summaries is within a desired limit, allowing for the summarization of arbitrary-length text.\n",
+ "\n",
+ "We will need to install `langgraph`:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "6dc8cf11-c0e5-4448-a921-9377acad1df0",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pip install -qU langgraph"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "dafedc2e-feeb-44bc-9f38-e55394953de5",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import operator\n",
+ "from typing import Annotated, List, Literal, TypedDict\n",
+ "\n",
+ "from langchain.chains.combine_documents.reduce import (\n",
+ " acollapse_docs,\n",
+ " split_list_of_docs,\n",
+ ")\n",
+ "from langchain_core.documents import Document\n",
+ "from langgraph.constants import Send\n",
+ "from langgraph.graph import END, START, StateGraph\n",
+ "\n",
+ "token_max = 1000\n",
+ "\n",
+ "\n",
+ "def length_function(documents: List[Document]) -> int:\n",
+ " \"\"\"Get number of tokens for input contents.\"\"\"\n",
+ " return sum(llm.get_num_tokens(doc.page_content) for doc in documents)\n",
+ "\n",
+ "\n",
+ "# This will be the overall state of the main graph.\n",
+ "# It will contain the input document contents, corresponding\n",
+ "# summaries, and a final summary.\n",
+ "class OverallState(TypedDict):\n",
+ " # Notice here we use the operator.add\n",
+ " # This is because we want combine all the summaries we generate\n",
+ " # from individual nodes back into one list - this is essentially\n",
+ " # the \"reduce\" part\n",
+ " contents: List[str]\n",
+ " summaries: Annotated[list, operator.add]\n",
+ " collapsed_summaries: List[Document]\n",
+ " final_summary: str\n",
+ "\n",
+ "\n",
+ "# This will be the state of the node that we will \"map\" all\n",
+ "# documents to in order to generate summaries\n",
+ "class SummaryState(TypedDict):\n",
+ " content: str\n",
+ "\n",
+ "\n",
+ "# Here we generate a summary, given a document\n",
+ "async def generate_summary(state: SummaryState):\n",
+ " response = await map_chain.ainvoke(state[\"content\"])\n",
+ " return {\"summaries\": [response]}\n",
+ "\n",
+ "\n",
+ "# Here we define the logic to map out over the documents\n",
+ "# We will use this an edge in the graph\n",
+ "def map_summaries(state: OverallState):\n",
+ " # We will return a list of `Send` objects\n",
+ " # Each `Send` object consists of the name of a node in the graph\n",
+ " # as well as the state to send to that node\n",
+ " return [\n",
+ " Send(\"generate_summary\", {\"content\": content}) for content in state[\"contents\"]\n",
+ " ]\n",
+ "\n",
+ "\n",
+ "def collect_summaries(state: OverallState):\n",
+ " return {\n",
+ " \"collapsed_summaries\": [Document(summary) for summary in state[\"summaries\"]]\n",
+ " }\n",
+ "\n",
+ "\n",
+ "# Add node to collapse summaries\n",
+ "async def collapse_summaries(state: OverallState):\n",
+ " doc_lists = split_list_of_docs(\n",
+ " state[\"collapsed_summaries\"], length_function, token_max\n",
+ " )\n",
+ " results = []\n",
+ " for doc_list in doc_lists:\n",
+ " results.append(await acollapse_docs(doc_list, reduce_chain.ainvoke))\n",
+ "\n",
+ " return {\"collapsed_summaries\": results}\n",
+ "\n",
+ "\n",
+ "# This represents a conditional edge in the graph that determines\n",
+ "# if we should collapse the summaries or not\n",
+ "def should_collapse(\n",
+ " state: OverallState,\n",
+ ") -> Literal[\"collapse_summaries\", \"generate_final_summary\"]:\n",
+ " num_tokens = length_function(state[\"collapsed_summaries\"])\n",
+ " if num_tokens > token_max:\n",
+ " return \"collapse_summaries\"\n",
+ " else:\n",
+ " return \"generate_final_summary\"\n",
+ "\n",
+ "\n",
+ "# Here we will generate the final summary\n",
+ "async def generate_final_summary(state: OverallState):\n",
+ " response = await reduce_chain.ainvoke(state[\"collapsed_summaries\"])\n",
+ " return {\"final_summary\": response}\n",
+ "\n",
+ "\n",
+ "# Construct the graph\n",
+ "# Nodes:\n",
+ "graph = StateGraph(OverallState)\n",
+ "graph.add_node(\"generate_summary\", generate_summary) # same as before\n",
+ "graph.add_node(\"collect_summaries\", collect_summaries)\n",
+ "graph.add_node(\"collapse_summaries\", collapse_summaries)\n",
+ "graph.add_node(\"generate_final_summary\", generate_final_summary)\n",
+ "\n",
+ "# Edges:\n",
+ "graph.add_conditional_edges(START, map_summaries, [\"generate_summary\"])\n",
+ "graph.add_edge(\"generate_summary\", \"collect_summaries\")\n",
+ "graph.add_conditional_edges(\"collect_summaries\", should_collapse)\n",
+ "graph.add_conditional_edges(\"collapse_summaries\", should_collapse)\n",
+ "graph.add_edge(\"generate_final_summary\", END)\n",
+ "\n",
+ "app = graph.compile()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c2de9413-fa18-4807-9c1f-85a62a8eb7ab",
+ "metadata": {},
+ "source": [
+ "LangGraph allows the graph structure to be plotted to help visualize its function:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "4f26c1e3-3d3c-44f7-bb5f-46db9dc40f4b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAHXARsDASIAAhEBAxEB/8QAHQABAAMAAwEBAQAAAAAAAAAAAAUGBwMECAECCf/EAFcQAAEEAQIDAggHCgoJAwMFAAEAAgMEBQYRBxIhEzEIFBYiQVFWlBUXVZOV0dMyQlJTVGGBs9LUCSM3OHF1dpKhtDM0NmJygpGxsiQ1dCZEw3ODheHw/8QAGgEBAQEBAQEBAAAAAAAAAAAAAAECBAMFB//EADMRAQABAgIHBQcFAQEAAAAAAAABAhEDkRIUIVFSYdEEEzFToSNBcbHB0uEVM4Gi8EIy/9oADAMBAAIRAxEAPwD+qaIiAiIgIiICIuhmsxFhaYmfHJYle9sUNaAAyTSOPRjQSB6ySSA0AuJABIsRNU2gd9R02o8TXeWS5SlE8fevsMB/xKifI92dHballGQc4f8At0TnClEN/ueXp2p9Bc/v6kNYDyqRj0jgoW8seFxzG777Nqxgb/8ARe+jhU7Kpmfh/vo1sffKrCfLFD3pn1p5VYT5Yoe9M+tffJbC/JFD3Zn1J5LYX5Ioe7M+pPY8/Q2PnlVhPlih70z608qsJ8sUPemfWvvkthfkih7sz6k8lsL8kUPdmfUnsefobHzyqwnyxQ96Z9aeVWE+WKHvTPrX3yWwvyRQ92Z9SeS2F+SKHuzPqT2PP0Nj9RakxE7w2LKUpHH71lhhP/dSSiZNJYKZhZJhce9h6lrqsZH/AGUb5Eswn8dpmb4Hkb18RBJpS/7pi7o/+KPlI6b8wHKWjhVbImY+Ph/v4TYtCKOwmZZma0jjDJVswvMVirLtzwvHoO3QggggjoQQR3qRXjVTNM2lBERZBERAREQEREBERAREQEREBERAREQEREBERAVYrbZfX9x79nQ4etHFC0+iabd0jvVvyNiAPeOZ46bnezqsYUeJ651JXfuDajrXozt0cOQxOAPrBiG//EPWujC8K599vrEfK6x71nRdTK5ajgsbZyGSuV8fQrMMs9q1K2KKJg73Oe4gNA9ZKpQ8IThYe7iXo8//AM9V+0XOi/Pe2NjnuIa1o3JPoCxat4SsWqOHGpNVaa0hqSanRxU+Sxt29Sjjq5FrNwHRntgeXccxa/kcWgkDdW6vx84ZXJ469biLpOzZlcI4oYs5Vc+RxOwa0CTqSdgAse0Dwo1jNntXVa+lH8M9H5nT9unYwUmYjv035OZ2zbFWOMnsWBpfzbBnNu3zNxugv+h+N+Vy3BrB6tyehdTz5K3BVacfj6kEstt8kDXmeFrZy1sBJOxkcwj0gdN/tnwn9K0eHdrV9rH5ytXpZiPBX8ZJSHj9K2+RjOSSIO67dox3mF27XDl5j0Wb3NHcSc9wd0FpvKaEtNraYnpVczga+crM+H6sVZ8RMcjZABGJBFIYpSzmA2Pd1isHwK1fQ0tqLFVtEVdP1bmvsPqSljqV6u+GGkx9Xtm/dNAfGIHFzQNiXbML+9Bf9aeEVqTA624e42pw41IaudkvizRmip+OyCGEuYIv/Vhjeuz3c5Hmjp16LemO5mNcWlpI35T3hZLxr01qZ+tOHOsdNYPymk03cueNYmO3FWmlisVnRc7HylrN2O5SQSNweinDx84d0ia+W11pbD5SL+Lt461naglqzDo+J47T7prt2n84KDQEVBf4QPC6JwD+JOkGEgO2dnao6Ebg/wCk9IIKuWIzFDUGMr5HF3q2Sx9lnaQW6crZYpW/hNe0kOH5wUEJktsRrrEWWbNZlo5KE46+fJGx00TvV0a2cfn5h6lZ1WNRt8c1bpOqwEugnnyD9huAxkD4ep9HnWG/07H86s66MX/zRPL6z9Fn3CIi50EREBERAREQEREBERAREQEREBERAREQEREBQuoMTPZmp5LHiP4VolwiEri1ksT9u0icR3B3K0g9dnMYdiAQZpFqmqaJvB4IzEZylqGCQRbtmj82xTsN5ZoHfgyM9Hcdj3EdQSCCu18G1PyWD5sfUulmtLYvPyRy3K29mNpbHbgkdDPGCdyGysIe0b7HYHboFHO0PICez1LnYm778otMd/i5hP8AivbRwqtsVW+PX8LsT4x1RpBFaEEdQRGF2FVvIif2pz3z8X2SeRE/tTnvn4vsk7vD4/SVtG9aUVF1LojOeTmV+AtU5b4b8Ul8R8bnj7HxjkPZ8+0W/Lzcu+3o3XX0ZojUnklh/KfVOT8ovFI/hHxCePxfxjlHadnvFvy82+2/oTu8Pj9JLRvaEuu7H1XuLnVoXOJ3JMY3Kr3kRP7U575+L7JPIif2pz3z8X2Sd3h8fpJaN6wfBtT8lg+bH1Lq5fOUNOVojYkbG6Q8letEN5Z3fgRsHVx/MO7vOwBKihoiQjaTUudkbvvsbLG/4tYD/ipDC6TxeBmknq13OtyDlfbsyvnnePUZHku2/Nvt+ZNHCp2zVf4R9Z6SbHHgMVYbbtZfJMYzJW2tj7JjuZteFpJZGD6T5xLiO8n1AKcRF5V1TXN5SdoiIsIIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIK7xGrY65w91RBl70mMxMuLtMuXofu68JicJJG9D1a3cjoe7uXR4P08Pj+FWkaun8nNmsHDi67KORsb9pZhEYDJHbgdXDY9w7+5SOv7MNPQmpLFjEnPQRY2zJJimt5jdaInEwAbHfnHm7bH7ruK6fCm5XyPDPS1qpgHaWrTY2vJFhHs5DQaYwRCW7Dbk+522Hd3ILWiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIInVseWm0rmY8BLFBnXUpm4+WcbxssFh7Iu3B80P5Seh6ehdfQUOfr6JwUWq54LOpmUom5KaqAIn2OUdoWbADYu326D+hcfEatjrnD3VEGXvSYzEy4u0y5eh+7rwmJwkkb0PVrdyOh7u5dHg/Tw+P4VaRq6fyc2awcOLrso5Gxv2lmERgMkduB1cNj3Dv7kFwREQEREBERAREQEREBERAREQEREBERAREQEREBERARFD6h1CMKK8MMBuZC04tgrB3ICBtzPc7Y8rGgjc7HvAAJIB1TTNc6NPiJhFSTnNXk7ihhAPUbUx2/T2fVfPhzWH5Dg/epvs11arXvjOFsu6KkfDmsPyHB+9TfZp8Oaw/IcH71N9mmq174zgsu6KkfDmsPyHB+9TfZp8Oaw/IcH71N9mmq174zgsu6KkfDmsPyHB+9TfZp8Oaw/IcH71N9mmq174zgs8Hfwo3Ax2N1Di+KOMrk1skGY7Llo35Z2N2hkP8AxRt5N+4dk30uUZ/BdcFJM/r7JcSrsbmUMCx9LHu6gSW5Yy2Qg+kMieQQfxzT6F7Y4r6RzfF/h5nNH5rH4TxDKVzEZG2ZS6F4IdHI3ePbmY8NcN+m7eq6vBjQeb4I8NsLo7DU8LLVx8ZD7MliUPsSuJdJI7aPvc4np12Gw7gmq174zgs21FSPhzWH5Dg/epvs0+HNYfkOD96m+zTVa98ZwWXdFSPhzWH5Dg/epvs0+HNYfkOD96m+zTVa98ZwWXdFSPhzWH5Dg/epvs0+HNYfkOD96m+zTVa98ZwWXdFSPhzWH5Dg/epvs0+HNYD/AOxwZ/N41MP/AMaarXvjOCy7ooTTuo3Zh1irareI5OsGmauH9owtdvyvY/YczTykb7AggggembXNXRVROjV4oIiLAIiICIiAiIgIiICIiAiIgKlaiO/EbCj0DFXdvzfx1X/+v+iuqpOov5R8N/VNz9dWXZ2X9z+J+UtQk0WTceNcZbTF7RGHx+bh0nV1BlH07mo54Y5BTayCSVrGiUGMPlcwMaXggdehOyyOnxw13W0XXoVcna1Rm83rK9g8dnaVKoTLRrxFxmrROdFC5x7JwHO8t5jIRzANavSaoibMvWqLyzkeIPGDTuCfWyBv4sWdQ4bH4zN5/H0PGZWWZzFYjlhrSvjIZ5hDm8hPMR023Xc1fxl1hwfHErEXMm7WF7FV8RPhrlqpBDKH3p31yyVsXZxuDHsDh9zvvyl3pTSgemkXmevrLi9prF6ss5KDOy4mvprIXWZXUFDF15aV6KIvh7NtWaRsjHedu17NwWt85wJUrNqTVen+DGGz+e4iXxn9Sx49tOHGYKrYeyxIwvNerDyDne8Hq6Vzmt7Mu2aNwGkPQMkjIY3SSOaxjRu5zjsAPWSv0vGevNZ6u1t4N/FzD6kv5CrlNNZKtXNi1SqwWrNeQV5WMnjiMkTXDtfuoyNw1vd5wOkcTdZ630jn9JcPcJlc7nsxdp28nezlOhjn5B0McjGsYyOUw1h1lALuUkBo80klwaQ9CIs74I5XW2T03kGa5x1mnerX3xU7FyOvFPbq8rHMkljgkkjY/mL2kNdseQHYb7Lq+EBmNY4PSWOs6Q8cjAyUTctaxlJl27Wo8r+0kggeC2Rwd2e42ceUuIaSrfZcaciw7RHEy/nOIPD3HUdWs1Vp/K6dyV6e+ylHB43NDYrsY9zQ0GNzA97HMHKN992gjYVKrxP11qPUmGwdXU3wYclrvUGDfbbQglfFTqxzPiYwOZtzNEYAc4Hr1dz9xmlA9PIvJ8/EHiXp7RmuNT2dc/CTdFanGH8RkxNaNmTriWvzOnc1u7ZOWxsDFyAcg3B3O3e4i8QuIVOrxqzuK1h8G1dD3I3UMb8GV5Y52eJ15nxzPc3mLSXu25S1wLju4jlDWkPUSLA4ddak0DrrKYbVOtY72Jm0dY1GMraxsMXwZLDKyN/KyIN549pQ4MdzO8zbmO6qejOMGu6eos5isnkM1kKNrSN3P4vIZ/DVKE7JYXMAdHHC47xkSg8szQ8Fo33BKaUD1Qi82VNW8QtM8E9I8TsxrGXMRSR4rJ5rGMx1aOBlCVgFgsLY+fna2Zkrjzbbwu5Q1ruVaZwv1bldcav19fdcEmlqOSZh8TXbGwAyQMHjU3OBzODpXlg3JA7HoBud7FVxc8OduJUw9eIbv+f+OO3/AHP/AFV3VHw/8pc39UD9cVeF5dq/9x8IakREXGyIiICIiAiIgIiICIiAiIgKk6i/lHw39U3P11ZXZVbVuLtNyePzdOu646pFLWnqx7do6KQscXM373NdG3zdxuC7bchoPV2aYjE27p+UrDK/CQ0Tktc6RxlTG4nKZowZBtiWrisjUqyFoY8AltuN8MoBIIa8DY7OBBaFAaH4NZ3WXDiTC8Rpb9OSllW3dOzQ264ymKYxjRG4zVo2xdoHGXblaRyuAO/o1t2sYGHZ2KzoO3UDDWjt+kR7L55Z1/krPfQlv7NdncVzN9GV0ZVb4j6NrBVMbldTakzrq+aqZ1tzJ3I5JjNXex8bOkYY2MmMbtY1u+5O4J3XZ1LwR0zrDJ6rt5mKxfj1Ljq2MvVHyARCOB8j43R7AOa8OlJ5uY7FrSNtutg8s6/yVnvoS39mnlnX+Ss99CW/s1e4r4TRncq2K4JQUtP5/EZDWGq9RVsxjpMW92YyDJXV4Xtc0mMCNrefZx89wc47Dcld3UnB7Eak0bp7T7r2Sx50++vNjMpRmYy3WlhjMbJA4sLCSxzmkFhaQ49FOeWdf5Kz30Jb+zTyzr/JWe+hLf2adxXwyaM7lKpeDnpqDCa0xVy/mczW1fHGMq7I3BJI+VjC3tmODQWvI5Og80dmzla0Ag/cl4PuPy+Nwrbmq9UTZ7DTSS0NTeOxNyUDZGhskXOIgx0bg0btcw77b96unlnX+Ss99CW/s08s6/yVnvoS39mncV8MmjO5ANxmrNBYehi9NVG6zY0ySWMhqjUEkFkvc/m721pA4dT0AaGgAAbd3Xuaf1dxFx5qahdNoF1Wdlird0jnzYmldyva5kglqMbybOB5SHAnY9C0FT+Q4hY3FULN27TzNSnWidNPYnw9pkcUbQS5znGPYAAEknuAX4xPEnE57GVcjja2XyGPtxNmr2q2IsyRTRuG7XNcIyHAjqCE7jE4ZTRlUofBw09jcVpqvh8tnMFfwJteL5elaYbcosv57ImMkb2P7R+zju3oQOXlXNpXwd9OaRt4KzUyGYsS4fM3s5A65ZbK6Se3E+OUSOLOZzQJHEdebfYlzuu9y8s6/wAlZ76Et/Zp5Z1/krPfQlv7NO4r4V0Z3KvkuBGAymlNY6fluZJtLVOWOYuyMljEkcxMJ5YyWbBn8Qzo4OPV3Xu2/eZ4HYHOYfiFjZ7eRZBrd4kyLo5Iw6I9hHB/E7sIb5sbT5wd1J9HRWXyzr/JWe+hLf2aeWdf5Kz30Jb+zTuK+E0Z3IHVXBbTutMzPkMt41ZFjT9jTUtXtA2J9WaSN73dG8wkBibs4OAHXpvsRA0fBvxMGUjydzVOqMzkWYuzhjZyN2KQupzMDTEWiINHKWh4cAHFwHMXDor55Z1/krPfQlv7NPLOv8lZ76Et/Zp3FfCmjO5WdWaVt6a4LN0dprBv1U2PFswUVW7bjg5oOx7HtJpCACA0Au5W7nc7NUnwc4dw8J+GGnNJxPbM7GVGxzzM32lnO7pZBv186Rz3dfWpPyzr/JWe+hLf2aeWVc92KzxP9S2h/wDjTuMTx0ZXRnc7WH/lLm/qgfrirwqppXG2rOYtZ23WkoiWuyrXrTbdqGBznOe8DflLiRs3fcBoJ2JLRa1x9pmJrtHuiEkREXIgiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIKNx1/kR4hf2dyP8AlpFEeC7/ADcOGX9naP6lql+Ov8iPEL+zuR/y0iiPBd/m4cMv7O0f1LUGoIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiCjcdf5EeIX9ncj/AJaRRHgu/wA3Dhl/Z2j+papfjr/IjxC/s7kf8tIojwXf5uHDL+ztH9S1BqCIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAi432Io3cr5WMPqc4BfnxyD8fH/AHwraRzIuHxyD8fH/fCeOQfj4/74S0jmRcPjkH4+P++E8cg/Hx/3wlpHMi4fHIPx8f8AfCeOQfj4/wC+EtI8Y+Gp4ZGR4RZPUvDa3oA3KmbwskdPOfC3Zh8c8Lo3P7LsD1Y/nHLz9eUHcc3SM8BzwxrvEG5ozhJV0E+OviMOIbeeblecRxV4eUSmHsRsHydmzbn6GQdTt1vn8IXwVg4t8Fpc3jgyXUWlee/AGEF0tcgeMR/3Wh49O8ew+6UT/BwcE4eGnCN+rcoyOLPaq5Z2CQgPhpN/0Le/pz7mQ7d4czfq1LSPYKLh8cg/Hx/3wnjkH4+P++EtI5kXD45B+Pj/AL4TxyD8fH/fCWkcyLh8cg/Hx/3wnjkH4+P++EtI5kXD45B+Pj/vhfplmKRwa2VjnH0BwJS0jkREUBERAREQEREBERAREQEREBERAVa15kbFHF1IK0zq0l+5FUM0Z2exrty4tOx2dytIB9BO6sqqHEb/AEWnv63h/wDCRdPZoicWmJWPFFt4faYA87T2Mld6XzVGSPcfWXOBJP5yd19+L7S3s3iPcIv2VLZLJVMNjrN+/Zip0qsbpp7E7wyOJjRu5znHoAACSSqPp/j9oLU1HJ3aOeDaWNq+O2bVypPVibB+Na+VjQ9n+80kFd/f4nHOZed6xfF9pb2bxHuEX7KfF9pb2bxHuEX7KplnwgNN53Q+ssppLJR38tgcRPkxSv1J6ziGxPfG8xytje6NxZtzN6H0FceL4rZa7q7hZipK9IV9U6ftZW65rH88csUdVzWxHm2Dd537hwcejeo67zWMTjnMvO9d/i+0t7N4j3CL9lPi+0t7N4j3CL9lV6Dj3oKzqluno9QxOyT7Rosd2EwrPsAkGFtgs7J0m4I5A8ncbbb9FyXuOmh8frA6XkzfaZptiOpJDWqTzRwzPIDI5JWMMcbySPNc4HqE7/E45zLzvTvxfaW9m8R7hF+ynxfaW9m8R7hF+yqbwy49YviPrLVmnIqV6nbw2SlpQvfRsiOeOOOJzpHSuibHG7mkcBGXcxDQ4bhwK02zZhpVpbFiVkEETDJJLI4NaxoG5JJ7gB6VYx8SfCucy870J8X2lvZvEe4Rfsp8X2lvZvEe4RfsqrY3wieH2W09lc5Vzr34nGNhfZtOx9pjQyZ/ZxPYHRgyNc7oHMDh0J32Vh1HxK03pLI2qOWyPilqriLGdmj7CR/LSgLRNLu1pB5S9vmjzjv0BTv8TjnMvO92Pi+0t7N4j3CL9lPi+0t7N4j3CL9lUxvhO8Nn2hWj1BLLZki7evDFi7b33I/w64ERNhvp3i5gACe4KTt8etB0sLgcs7Pslo55spxjq1aad9sx7c7GMYwuLwTtybc24I23B2nf4nHOZed6wfF9pb2bxHuEX7KfF9pb2bxHuEX7KqGI8JXhvnbVCClqQSuu2RSje6lZZGywXFogle6MNhlJGwjkLXHcbDqFI5TjtobCaybpW/nPFc0bEdTklqTiETSAGOMz8nZB7g5uzS/c7j1p3+JxzmXnenvi+0t7N4j3CL9lPi+0t7N4j3CL9lQ1/jXo7HaysaTkyc0uoq8sMU1Ctj7M74jK1ro3OMcbg1hD27vJ5RvsSCoLSnHjBWtD5PVebzlBmIjzNjHVJKtK3DKQ1/LHA6CVgldY23DmsYRuDsNgU7/E45zLzvXb4vtLezeI9wi/ZTyA0wAeXTuKYT98ynG0jruNiBuOoBVbHhA6AOlp9QHULG46C2yhIx1acWW2XdWQmsWdtzuHUN5NyOoGyt2ltUYzWeCq5nD2HWcfZ5uzkfC+JxLXFjgWPAc0hzSCCAeivf4k/wDc5l53pHQd6eerlKE877Rxl11Rk0ri+RzOzjlaHuPVxAlDeY7k8oJJJJNnVO4e/wCv6w/rgf5OqriuDtMRGLNuXrEE+IiIuZBERAREQEREBERAREQEREBVDiN/otPf1vD/AOEit6qPEVhNbBP+8jy0BcfVuHNH+LgP0rq7N+9SseKgeEfozK8QOCmp8HhIW2snYiikiqveGCz2c0crodz0HaNY5nXp53XoqHxP1DkOOHCjM4XB6I1RQvVPE8i6jm8YaUdrsLUUr6jXPOz3ObG4Dl3YenndV6GRe8xdHmfUuPznG7WefzOH0xmsHQg0Pk8GJM9SdRlu27RaY4Wsk2JYzkJL/ud3dCe9cmFhzc2W4EZx2mc/Tr1MLe09kGvouFjG2JGVo2SSx97Yuau89p9ztyu7iF6URTRHkDg9wyoUsLpzQms9KcRJc3jLbWTyMyF9+Bc6KUyRWmu7YQchLWP5QOYOP3PTdX3g9nMlwkdk9FZnRupbeSn1DctR5nHY11indis2XSNsyTg8rC1jwHteQ4CPoD0C9BIkU2GLcLZ7+juLPETAZLA5hrc9nnZihloqL3498LqcLSHTjzWPDoXN5XbEkt233Wt52GCxhMhFaqOyFZ9eRstRjeZ07C0gsA6blw3G3518z2AxmqcTYxeYoVspjbAAmqW4hJFIAQ4czT0OxAP6FVsRwM4dYDJ1sjjdDafoX6zxLBZrY2JkkTx3Oa4N3B/OFbTGwecJdPax1Bwx13o/TOG1VNomriac2Go6ro+LXq9mKy176UDnbOmjEUY5S7m2OzQ4hTvEi3l+J2sNU5LFaQ1PXx54Y5vGwzZDETV3T25HwlsDGOHMXnboNvO68vMASvVSLOiMNxunMpHxO4K2nYu42rj9K361uc13hlaV0dINjkdtsxx5H7NOxPK71FUrhpozPY/WHDKWzgsjWr0dSatmnfLUkYyvFM+YwvcSNmtfzDlJ2DtxtvuvU6K6I8sZ3Rmel4K8TqcWCyL79riJ4/VrspyGWaD4Wqv7aNu27mcjXO5x05QTvsCq/wAbMbrHVcevKeSxGustmoMzDNhaWJilbhm42GaGVsnmERzylrZCWu55OflDWjYFex0Umm4yfhphLdXjfxcy8+Os1qmSfiPFbc9d0bbDWU9nBjnAc3K4kEDuO4OxWI5fhvqJjK+fsYLUljF4jiHqC9cx+FknqZGSpZfIyK1XMbmSPDeYHzDu5j3bbglexkVmm48y29EaLs6HymdbpPibFYuZeo4XpfHLOahmrseYLkcc0j5WsZ2j2dW7ncgsLdita4E5TVmY4cUrOs4Z4sx207GPt1m1rE1dsrhBLNC3pHI6MNLmjuJ7h3LQEViLDo8Pf9f1h/XA/wAnVVxVQ4fMItark72S5fdp2PXarXYf8WkfoVvXh2n92fhHyhZERFyoIiICIiAiIgIiICIiAiIgLr5DH1srSmqXIWWK0zeV8bxuCP8A/eldhFYmYm8Cnu4f2mHlg1dnIIh9zHy1JOUermfA5x/pJJ/OvnkBf9s838zR/dlcUXTrOLyyjo1eVO8gL/tnm/maP7snkBf9s838zR/dlcV+ZHiONzyCQ0EkNBJ/QB1Kazicso6F5VDyAv8Atnm/maP7ss1uZqzrDK610foDiFen13p2CJ0jctj4DQimeSRHI9lZpJ2HXlPTmB67OAm6+Ty3hEaOxOU09lNT8M6MGZ7SbxrHsht5KrEdwGCTcxxyO5TuR1Ac0tIK1uKrDXlnkihjjkncHyvY0AyODQ0Fx9J5WtG59AA9Ca1icso6F5UbDcPM/FiqjMrrrJWsk2JoszU6dOGF8m3nFjHQvLW79wLifzru+QF/2zzfzNH92VxRNZxOWUdC8qd5AX/bPN/M0f3ZPIC/7Z5v5mj+7K4oms4nLKOheVO8gL/tnm/maP7suvkeHuakoWWUdcZWvddG4QS2KlOWNj9vNLmCBpcAdtwHDf1jvV5RNZxOWUdC8sAr5q/oGXRWnOJfEO1X1nqWaatWdhcdCKEsrXjkY1z67i0lr2bcxG7ubbZad5AX/bPN/M0f3ZWyerDZdE6aGOV0L+0jL2gljtiOYb9x2JG49ZWUZC9mOAGmdWajzeV1JxHxc2TFuvQrUY5beNryOHaNHLymSNhLndw5WtAA6EprOJyyjoXla/IC/wC2eb+Zo/uyeQF/2zzfzNH92VsqWW3KsNhjZGMlY17WyxujeARvs5rgC0+sEAj0rlTWcTllHQvKneQF/wBs838zR/dl+maBt77S6uzczD3sLKjN+vrbACP0FW9E1nE5ZR0Ly6mLxdXC0IaVKEQVohs1gJPedyST1JJJJJ3JJJJJK7aIuaZmZvLIiIoCIiAiIgIiICIiAiIgIiICIiAiKl8Y9Q6o0pw4y+W0ZhW6i1JW7F1XFvBIsAzMEjehBB7MvIO/QjfY9xDu8QNYWtJ6TzmRw2Gn1XmsdXbPHgqErRYnLjs0de4HZx32JIY7YOI2NdxXDp+rNX6S4i6idlsRqGhiex8m48kX0KliVp7Zxaw8sjwHFnNvykNadtwCJnR/DDTmktR5/U+OxQq6g1G+OfJ2nyvkke5rQAwFxPK0dTyt2G57u7a4ICIiAiIgIiICIiAiIgz/ACfDZmI4g5biNibGXu5yXDOpHA/CJZRuvZ50J5Heax4PM0O6NHaOJG5JMjw01rkdX6Ow2R1FgJ9HZ662QS4O9Mx0rHscWu5SPumnbmB2B5SCQFb1U9Y8LdM69zWm8vmsaLOU07b8dxltkr4pK8nTfZzSN2nYbtO4Ow3HRBbEVH4M6k1Xq3QVXJ61wTdN5+WxYbJjWgjso2zPbEepO5LA07+nfuCvCAiIgIiICIiAiIgIiICIiAiIgIiICIiAqRxqxmZzPDDOU9P6nh0ZmJWRivnLDg1lUiVhJJPraC3/AJld1mHhMeR3xHao+MDxzyQ7OHx/xDftuXt4+Tl26/d8n6N0GlVWubWhD3iV4YA54++O3euVcFHs/Eq/Y79j2beTfv5dun+C50BERAREQEREBERAREQEReEf4Ufgi/P6TxHEzHRF9rCAY7JbdSar3kxP/oZK9w//AHvzIPWXBDFZvC8OqNTUOq4da5Vs1gyZmu4OZK0zPLWgj8BpDP8AlV8X8dv4P7gvPxW4+4rKStkZhtKSR5izMzoDMx4NePf1ukaHbelsb1/YlAREQEREBERAREQEREBERAREQEREBERAVI41ZPM4bhhnLmn9MQ6zzETIzXwdhocy0TKwEEH1NJd/yq7qkcasZmczwwzlPT+p4dGZiVkYr5yw4NZVIlYSST62gt/5kFyquc6tCXsETywFzB96du5cq4qrXNrQh7xK8MAc8ffHbvXKgIiIK3mtV2K199DE48ZO3CAZ3Sz9hBDuAQ1z+VxLiDvytadhsTtu3eO8qNW+zmH+mpf3VdXTp5srqgnv+Fngn0naKID/AAAH6FOL6uhh4dqZoifDfu5TDWyEb5Uat9nMP9NS/uqeVGrfZzD/AE1L+6qSXTOZx7cu3Em9WGUdAbTaJmb25hDg0yBm/NyBxA5tttyAnsvLjOrqX5OHyo1b7OYf6al/dU8qNW+zmH+mpf3Vc2IzOP1Bjochi71bJUJwTFapzNlikAJB5XNJB6gjofQu4nsvLjOrqX5I3yo1b7OYf6al/dU8qNW+zmH+mpf3VSSJbC8uP7dS/JG+VGrfZzD/AE1L+6qL1Q/O6y05k8FltKYW3jMlWkqWYXZuXz43tLXD/Veh2Pf6FZkS2F5cf26l+TDfBi4LZjwZ9CWMDRxeIzF65bfauZN+TkhdMe6NvJ4u7ZrWgDbmPUuPTm2GweVGrfZzD/TUv7qpJEtheXH9upfkjfKjVvs5h/pqX91Tyo1b7OYf6al/dVJIlsLy4/t1L8kb5Uat9nMP9NS/uqeVGrfZzD/TUv7qpJEtheXH9upfkjfKjVvs5h/pqX91Tyo1b7OYf6al/dV2clkqeGx9i/kLUFGjWjMs9mzII4omAblznOIDQB3krnilZPEyWJ7ZI3tDmvYdw4HuIPpCey8uM6upfkj/ACo1b7OYf6al/dV+ma1y+P8A47NYOvVoN/0tihedaMQ/CcwxMPKPSRvsOuykF08y0Ow94OAcDBICCNwfNKsU4VU20IznqXjcZfi/orCaQy2qbGp8bJp/EyCG9fqTizHXkJYAx3Z8xDt5Gebtv5w9aiMtx0wVE6Dkx+OzmoqWszG7HXcNjnzwxRP7LaawTsYWATNcS4bgB3TzSF2+FOgNNaa4fY+ti8BjqFfIwQ3bkUFZjW2J3MYTJINvOduB1PqHqV6a0MaGtAa0DYADYAL5ldOjVNO5mVKxms9TX+JWd0/NomzS07QqiWrqeW7GYbsxEZ7JsI88bc793HpvGR6QqjW4z6j0HpzT9jinpmPEZXO6hiwVZmn5hcrw9q0dlLM9xBa0uEgJAO2zfWtkUFro51ujc2/SzKsmpY6cz8Yy43eF1kMPZtd1bsC7Yb7jbdYE6ih9HTZmxpPDSairw1c+6nCchDXfzxMscg7QMPpbzb7fmUwgIiICIiAsw8JjyO+I7VHxgeOeSHZw+P8AiG/bcvbx8nLt1+75P0brT1SONWTzOG4YZy5p/TEOs8xEyM18HYaHMtEysBBB9TSXf8qC4Uez8Sr9jv2PZt5N+/l26f4LnXFVc51aEvYInlgLmD707dy5UBERBQNOf+6ao/raT9VEs0zGc1jxE4v6l0lp3U/kZi9MUqctm1BQhtWbliyJHtH8cHNbG1sfXZvMST1Gy0vTn/umqP62k/VRKsa04KY3Vuqm6lp5zPaUzrqwpWLun7bIXW4GklrJWvY9ruUuds7YOG52K+ti+OXyWfFSZ8pxC1xr3V2msNrSPTbdHUqML7TMXBMcpdmr9s6SUSBwjhA5Ryx7Hcu87oFC8INey8UOMmhdV2K7atnK8N5bE0Me/K2Tx+AP5d+vLzA7b+jZX/UXg8YjO2zag1JqfCW7GOhxeRsYzIhkmUgiaWs8Zc9ji54DnDtG8r/OPnKYg4Ladx2f0llsSbmEm01Rdi6sNCflimpkN/iJmuB52Asa4dQeYb7rwtKML4f6su4DwZOGGPw+oMnh87lJbEVWrhMVDkLt0Nkmc9kbJj2bA0bOdI/zQBt0Lguzj+L2vtQ8PtI1nZiTBail1/JpTIZB2PrmaSBjLB3dD58bJCGR78hIDmnYlp2Ok1/Bm0/jcbjamKz2osQ/FZCzexVqpcjMuPbYbtNWi543DsXd/K8OIJ6EdNqvrXwbJKOH0ziNKX86+u7W0WocjdkyMZtVAa0zJp45JBu4l5Y4g85Lnu2HLuBm1UQOhqDW/FLT8/EDRuKyUmq85h4cZkqeWjx8HjwpWJXtsN7FobDJMxsT3MHKA7fuJAB6eY43Z+TA6HwOktRZPV2X1DdyEdjL1sRUhyVRlRrXSQGrO6GFk4MjAecDZocQw7hajiuAOMw2GzletqbU7c3mrENi9qY5BvwnIYduyZziPkDGjcBgZy7OcCDuumfBl0v5PQUW5LOR5eHKy5uPUsd0NybbsjQySXtAzk85gDCzk5C0AcvRW0jvcD8try9UzlbW+PvQsq2WfBl/Jw1YLVuFzAXdrHWlkjDmPBG7SA4Fp5Qd1zcfMrrHDaIgs6MbZ8aGQgGQmx9Rlu5BR3PbSV4X+bJIPN2aQehdsCQF2YMHqjh7hYKWnGya5nmmkmtXNV550EzSQ0NDTHWkby9D5oawDbpvuV1reE1lxDpux+oIjoSOF7bEGS0nqJ09l0g3HI5slNjeQhxJB5gSB09K17rCoaS4n38trLhPQx2sPKrC5rH5uW9eNCOs+1JXfXEQfHygxPj7R7HNHLuQd29wFascUdc5bNQ4mlqMY51riRf04LPiMEpiox0nyNY1pbsXNc3cOO5325uZu7TosPg36eoYnA18Zl87icphrVu5Bna1pjrssto72TKZI3Mf2h2JBZt5rdttlyad8HTTumn42SDJZq1LR1FPqZsly0yV8tuWB0LxI4s3czZxO2/NzffbdFLVDIMxr/iZpfSPFDPya7ORHD/LitFWlxFVgycIZBM4WHNYCHcs/IDF2e3Lud99hNcRtccQI8lxwu4fWJw9HQsFe7j6DMZXmbPvj47Ekcr3tLiwuDtuXZwLz5xADRqOa4EYDO6a1/hLFzJMqa0tG5kHxyxiSJ5iij2hJYQ0bQt+6DupPXu27OW4MYTMxcRY5rV9o11A2vkuzkYOxa2qKwMO7DynkG/nc3nfm6JaRn2I19qfR+tKFTVOsIshhczpK3n5LVjHxQtxUsBhLyzswC6HlmJ5XlzvMHnHcqH4R8VtZz8TcVhsxkszm8Bn8LayNG9nMLVxry+F0RD4GQuLuyc2X7mZoePNO53K1rO8FdO6lu0Z8kbdmKrgrWnTVdI0RzVbAjEnPs3m59omgFpG256d20RprwesXpzUmCzsmp9TZnI4avLSqOyl2ORgrSM5DCWNiaNhsx3MAHksbzOcBslpGPxZniFqPwPMnr/Na6fZyVrTcl3xAYag+oQ0F2z2Phdzl7W7PB83zzytGwKl9QcT9fal13l9NaSiztKlpuhQEsunsbjbJmsWK4mHai3NGGxhpaA2Ju5If5w2AWvV+C2ErcFTwwbayBwBxbsT4yZGeNdk5paXc3Jy82x7+Xb8y6Oo+AeJzWoGZzHZ/UOlMu6nHj7dvA3GQOvQxgiMTB0bmlzdzs9oa4bkA7bKaMjL9QcSOJuIuaRu61yE/DTBTYqL4QvUsXBfrMyfbuY+O28l/YROZ2Za4EAF5Bk6L0jlzviLpHd2D/8AxKz7XPAbHcQa8FLJan1RHhxRix9vFV8kBXvxMJP8dzMc4udvs57XNc4bAnotAyrQzDXGtADRXeAB6ByleuHExVF1jxSmhf8AYjT39XV/1TVOKD0L/sRp7+rq/wCqamP11pvLahs4CjqHFXc7WjM0+Mr3YpLMTA4NL3RB3M1oc5oJI23IHpXDjfuVfGSfFOIi62TtvoY23airSXJIYnyNrw7c8pAJDG7+k7bD+leSMy4G0tLady3EPTundSXc7bq6glvZKtc5nDHTWWtkFeN5aA5gA/CcQdwSD0WrKicGH2cpoanqHK6Pq6J1Jnd72VxteMCTtj5odK7la5zyxrN+Ybju3O26vaAiIgIiICpHGrGZnM8MM5T0/qeHRmYlZGK+csODWVSJWEkk+toLf+ZXdZh4THkd8R2qPjA8c8kOzh8f8Q37bl7ePk5duv3fJ+jdBpVVrm1oQ94leGAOePvjt3rlXBR7PxKv2O/Y9m3k37+Xbp/gudAREQUK61+kcxlZbFazNjshY8ajsVa75+zcWMY5j2saXDq3mDtttiQSNhvweXeJ9WR+i7X2a0RF3R2imYjTpvPxt9JavHvZ35d4n1ZH6LtfZp5d4n1ZH6LtfZrREV1jC4Jz/BsZ35d4n1ZH6LtfZp5d4n1ZH6LtfZrRETWMLgnP8Gxnfl3ifVkfou19mnl3ifVkfou19mtERNYwuCc/wbGd+XeJ9WR+i7X2aeXeJ9WR+i7X2a0RE1jC4Jz/AAbGXYbivpjUVBl7FXp8nSeXNbZp0bEsbi0kOAc2Mg7EEH84Xd8u8T6sj9F2vs10fBpyul8zwixlvRunrWlsA6xaEOMub9pG8WJBI47ud908OcOvcVqSaxhcE5/g2M78u8T6sj9F2vs08u8T6sj9F2vs1oiJrGFwTn+DYzvy7xPqyP0Xa+zTy7xPqyP0Xa+zWiImsYXBOf4NjO/LvE+rI/Rdr7NPLvE+rI/Rdr7NaIiaxhcE5/g2M78u8T6sj9F2vs1+LGofKCpNQw9O9YuWGOiY6alNBDFuNud8j2BoA3326k7dAStHRNYojbFM3+P4gvD+XvhwaL496Bs3LFzVGVzHDAu7Co7FSmCvWgJ2jgswx7dWjZokcCHdPO5jyiG/g4Is5p3UnEbXuHwcuqXYXCQY84WnKGW7L7NqNzTHzDl2aytK525B6NAB3O39VbtKvkac9S3BFaqzsMcsEzA9kjCNi1zT0II6EFZvwi8HXRnA3P6ryejqk+Mi1G6u+zju1560Doe02MII5mhxmeSC4gdA0NA2XDMzM3llz5PjdjdO+QMOcwmcxmQ1f2ccFUUXTeIzP7ICKy5m4iIdKBuenmv/AASoDiNq1nFLP5rhTpHVt/Ses8aauQvXYaMo5KrXwyOZFN0ZzObLGOhd0LgQRvtsyKAiIgIiICIiAqRxqyeZw3DDOXNP6Yh1nmImRmvg7DQ5lomVgIIPqaS7/lV3VG43Y/LZThbnq2C1TBonKvjjMOesvDI6m0rC5ziegBaHN/5kF0quc6tCXsETywFzB96du5cq62OmbYx9WVlhlpj4mubPG4ObICBs4EdCD37/AJ12UBERAREQEREBERAREQERfiaaOvE+WV7YomNLnvedmtA6kk+gIKdwgta2uaEpy8QqdKhqkyzieDHkGEMErhERs5w3MfIT17ye5XRZr4O+LoYfhVjauN1q/iFTbPZczPvl7QzkzvJbzczt+Qks7/vfQtKQEREBERAREQEREBERAREQEREBERAREQF0M9gcbqjD3MTl6NfJ4y5GYrFS1GJI5WHvDmnoV30QZhW0fqfh3mtB4DQNHB1OGlCGWpk6Fl0vjULduaOSJ+55jzAgh3UmQk797bboniJpriRjrF7TGbp5urWsSVJpKknN2crDs5rh3g9Nxv3ggjcEFWJUHX2gMzY09aj4d5ejobPWMizJWLjcbHNFdeNg9s7OhdzgNBeDzeaOqC/IqVheLeBzPE3NcP2Pts1NiKkV2eOanJHDLC8N/jInkcrmguDT179wN9jtA8LPCV0Jxm1rqrTOlMm7I29PFna2Whvi9tp3Dn13hxMjGuHKXbAEkFpc1wcQ1NERAREQEREBFlvGPwkdGcC85pPFaoszQ2dSXBUrui7MR1m8zWusWHve0RwtLxu7qdgdgdjtO664p0dC6k0ngpcXl8rkNSXDVrtxlJ0zIGt2Mk0zx0Yxgc0nrvsSQCASAkOInEXT3CnSV3Uup8gzGYioBzzOaXOc4nZrGtaCXOJ6AAKFZQ1VqnXDrc2Qw8/C63hxG3EyUXut25pfunSl+wawM2Abt1Ejg5u4BXJoXQGcwl/VVjVGq59YQ5bJeN0aVqrHHBjYWH+KijaB1I2YS7pu5ocACXF17QRemdMYnRmCp4XBY6vicTTZ2denUjDI42/mA9JO5J7ySSepUoiICIiAiIgIiICIiAiIgIiICIiAi62SutxuOtW3NLmwRPlLR6Q0E7f4LO8fpahqXHVMnnK7crkLULJpH2CXsYXNB5Y2k7MYN9gAB6zuSSenCwYxImqqbRn9YW29pqLOfi50x8hUfmQnxc6Y+QqPzIXvq+FxzlH3LsaMizn4udMfIVH5kJ8XOmPkKj8yE1fC45yj7jY0ZFnPxc6Y+QqPzIT4udMfIVH5kJq+FxzlH3GxlHh88R9b6F4VQ0NA4bLWMtnHyVrmZxlB8/wfTa3+M/jWHeKR5ewMcQfNEpBa5rSv5l+Dxxcv+D7xkweqeynbBWl7DI1Ni101V/SRux23O3nN36czWn0L+xfxc6Y+QqPzIXHNww0lYG0uncdKPU+u0pq+FxzlH3GxoGMyVXNY2pkKM7LVK3CyeCeI7tkjc0Oa4H0ggg/pXaWcM4baWjY1jMBQaxo2DWwgAD1L78XOmPkKj8yE1fC45yj7jY0ZFnPxc6Y+QqPzIT4udMfIVH5kJq+FxzlH3Gxoy4rVmGlWlsWJWQQQsMkksjg1rGgbkknuAHpWffFzpj5Co/MhPi50x8hUfmQmr4XHOUfcbH8hfCk4zW/CF425jPwCWfGNf4hh4GsJIqxuIZs3bfd5LpCPQXkepf0J/g4tVazucJruk9WaZyWIr6cfG3GZTIRTx+OwzGR5jAkGxMXKBuw7cskY5QRu/bIeF+ka42i05joh/uV2j/suX4udMfIVH5kJq+FxzlH3GxoyLOfi50x8hUfmQnxc6Y+QqPzITV8LjnKPuNjRkWc/Fzpj5Co/MhPi50x8hUfmQmr4XHOUfcbGjIs5+LnTHyFR+ZCfFzpj5Co/MhNXwuOco+42NGRZvNo3HYmtLZwtduIvxNL4Zqu7BzDrs5o6OadtiCD0/wCqvGncr8O6fxmS5QzxyrFY5R3DnYHbf4rxxcGKI0qZvHwt9ZS25IIiLlQREQEREBERAREQReqv9mMx/wDDm/8AAqvaZ/2cxX/xIv8AwCsOqv8AZjMf/Dm/8Cq9pn/ZzFf/ABIv/AL6OD+zPx+jXuUuHwhdA2tXV9M1s463mLFx1CGOvSsPiknZv2jGzCPs3Fmx5tnHl2PNtsuZ/HzQMeqvJ52oYhkvGxQ5uwm8W8Z327Dxjk7HtN+nJz82/TbfovOPD8TYbUGh9G6sGSwGmNNapnmwdi7p25DLesvknZWiltFpgG5ncd2OPaeb3EldvhdwupY7DY/h9rjTHEa9lq+RdHPPVyF84Ky3xgyx292zCBrfuXluwcHA+aSsRVMst9t+ENw+oZmxi59QCO3WvfBtk+J2DDWs8/II5pRHyREuIAL3AO9BK7es+OOiOH+XOLzmcFW8yITzRxVZrArRnfZ8zo2OELTsdjIWjYbrE9VaMz1jgNx8oRYLIy5DJanvWaFVlSQy2mF1cskiaBu8HlOzm7jzTt3Lg1Bo92l+KXESTU2n+IWao6htx38ba0bduivYjNdkTq07K8rGMe0sIDpdgWkecANk0pG5Z3jnonTucgw1rMumylinFkIKlClYuPmrSuc1krBDG/mbux25G+w2J2BBPwcdtDeWrdJuznZZx1k0mxS1J2RPsDfeJs7mCJz+h80O3/MqjoHQDNIcfJxjsNbp6do6GxuKo2JmPexgjs2CYBK7fmc1vZkjmJ25SfQsh1vR1hqHJCzm8RrvJ6jxWtK1/sKkE3wNWxkN5ro3wMYRHO7sQ09A+UOLtwACrNUwN40Hx6xeuOJOrtHspXatrCXvE4ZnUbPZ2A2Fr5HOkMQjj2c5zWtc7zg0ObuHBSOE496C1HqSHBY/UMU9+eV8FdxgmZXsyN35mQzuYIpXDY9GOceh9SoNChl8bxL4u6alxGYrHWL2WMTnq9KSSiwHHMhJkmaCI3NkiI2dsTu3bfdVDgnoPFSQaG03qXSHEatqHT7oHym/kL0mErWqrN2TRudN2Do3OZ5jYwducDlA3S8j1avP2nvCWl1VqTXlmtJXx+k9LCSFwtYLIvtzPbHGe1LmsDWtD5ADEGOk5Wl3mggr0CsS0Hp7KU8BxyjsY25BJkdRZGekySB7TajdRrta+MEee0ua4At3BII9C1NxM43wgtL43TemJNRZuvJm8tha+YbDhsfcmbYikbuZYIhG6Xk33OzhzNGxcApjNcc9EYHTWGz9nN9ticywyUJ6NSe2Z2gAkhkTHOAG433A29Oyy/gZpXNYjW3Dmxfw9+lDU4WUsdYlsVXxthtNlhLoHkgcsgAJLD5w2PRVDTFDV2m9BcPcRk8drLG6TE2bdkq+mKs7Mh25vyOqMk7MCaKF0bnuDmbA+buQ0hY0pG25rjFFPl+Fz9M2KOWwOr8hNXfdAc49kypNMDGQ4crueIA8wO3nDYHu05eQ9CaY1HpTRPCy1Z0pqD/6Y1nlHX6Dq7prkVez42I5gAT2rB4xGXPYXDq47nYr14tUzfxFKocZdH5XW82kqeXNnOwzSV5IYqsxibKxhe+LtuTsudrQSWc2427lzVOLek72mdN6hgyvPh9RWYaeLs+LSjxiWUkRt5SzmbuWnq4ADbqQskxYy+n+PXi+isLqrH4jKZezLqenlseW4hw7N3/rqtg90j3tZ5jHEO5iS1pG6pOm6moKvDbgzoOXRupGZfTGp8f8K2XYyQVIYoZZAZWzbcsjCCHBzNwB90W+maUjb7nhOcNMfYfFZ1M2AR25aEk76VkQR2Y3Oa+F8vZ8jZN2O2YXAuGxaCHAmRh49aEl01l88/PCrjMPYhq5F9ypPXkqSSvYyPtYpGNkYHGRuzi3l2JO+wJGMN0ZnviegpHBZHxwcTvhA1/E5O08W+GjJ2/Ltv2fZ+fz93L132X3jJo3PZTN8aX0sFkbcWRZpLxR0FSR4smG6503Z7Dz+RuxdtvyjbfYKaUjUZPCh4axOuMfnrLLFNoksVnYi6J4ott+2MXY84i269rtydR53UKY1bx10PoerjLOWzfJXyVbx2rNUqT2mSQbA9qTCx4azYg8zth171WrWn8hJ4QGtMh8G2XY6zoupUitdg4wyzCxbLomu22c4BzSWg77OHTqFkWAx+rsfpDhzgc9i9cwabh0ZWijx+mYZoJ35QbtfDbezlfC1rOz5Q9zI9y7mPTZW8j0PqTjZorSYwXwjm2752s+3ixUrzWjdiaIyTEImOLztKwho6kHcAgHbsUeLuk8hpnP6gjyhjxWA7QZOSzVmgfVLImyuDo3sD9+R7XDZp336bnosL4M6PzlPIeD8clgMlUfgdN5ijedbpvaKc4NaNrXOI2bzBj+Q7+e3ct3C5uNWjcha464nTVCNr9P8SWV351u/VgxkjZZHf0TQujhP/CE0ptcelJZ2WcY+aMkxyQl7SWlp2Ldx0PUfpXb4c/ye6X/AKrq/qmrguf6nP8A/pu/7Ln4c/ye6X/qur+qatYv7P8AMfKWvcsSIi+cyIiICIiAiIgIiII3UsbptOZWNgLnuqStAHpJYVW9LvEmmcQ5p3a6nCQR6RyBXZVCfQU1eVww+bs4mo4lwpiGKWKMnv5OZu7Rv97vsPQAOi7cDEpimaKpt7/9ZqPCyi43weeH2J1NHnq+nx8IxWjdi7W5YlgisEl3asgfIYmP3JPM1oIPULRlH+RWc9rJvcIfqTyKzntZN7hD9S947qPCuMp6FuaQRR/kVnPayb3CH6k8is57WTe4Q/Ul8LzI9ehbmkEUf5FZz2sm9wh+pPIrOe1k3uEP1JfC8yPXoW5pBcVqrDerTVrETJ68zDHJFI3dr2kbEEekELqeRWc9rJvcIfqTyKzntZN7hD9SXwvMj16FuamDwduFrSCOHmmQR1BGKh/ZWhqP8is57WTe4Q/UnkVnPayb3CH6k9lH/cZT0S0b0gip/EPHah0ZoDU2oINTPsT4nGWb8cMlGINe6KJzw07DfYluy6PCIaj4jcLdJ6ptakdUs5nGV78kENGIsjdJGHFrSRvsN/Sl8LzI9ei25r8s9f4PHC+R7nv4e6Zc5x3LjioSSf7quXkVnPayb3CH6k8is57WTe4Q/Unsp/7jKeiWje7VOnBj6kFWrCyvWgY2KKGJoa1jGjYNAHcAABsuZR/kVnPayb3CH6k8is57WTe4Q/Ul8LzI9ei25pBFH+RWc9rJvcIfqTyKzntZN7hD9SXwvMj16FuaQRR/kVnPayb3CH6k8is57WTe4Q/Ul8LzI9ehbmkFXqHD/T+N1jktVwY1g1FkImwWMhI98j+zaGgMZzEiNvmNJawAEjc7nqpHyKzntZN7hD9SeRWc9rJvcIfqS+FxxlPRLRvdnIPbHQsvcQ1rYnEk+gbFdrh9E6HQWmo3gtezGVmuB9BETVHx6Bnt7xZjOWcpSd0kp9hFFHMPwZOVu5b62ggEEg7gkK4LxxsSnQ0KZvtv/rr7rCIi4WRERAREQEREBERAREQEREBERAREQEREBERBRuOv8iPEL+zuR/y0iiPBd/m4cMv7O0f1LVL8df5EeIX9ncj/AJaRRHgu/wA3Dhl/Z2j+pag1BERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQUbjr/IjxC/s7kf8tIojwXf5uHDL+ztH9S1S/HX+RHiF/Z3I/wCWkUR4Lv8ANw4Zf2do/qWoNQREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERARdLMZqhgKEl3JW4aVSP7qWZ4aNz3AesnuAHUnuWd3uPNBspbjsLkL0YOwnl5K7XfnAcef/q0LrweyY/aP2qZn5ZrZqKLIfj7sey8vvzP2U+Pux7Ly+/M/ZXX+lds4PWOpZ4g/hQ+CcunuIGP4l0mPfj9QNZTvk9RFbijDY+voD4mDYD0xPPpUf8AwYHCO7qbixc13K6SHD6aicyLYkNntzRPiDdu4hsT5SfSC5nrXrXjfqCpxx4YZzRuU05LWiyEQ7G220x7q0zSHRygbDflcBuNxuNxuN11PB/yNTwf+F2L0djdPSXjWL5rV82GROtzvO7pC3Y7dOVoG52a1o3OyfpXbOD1jqWeo0WQ/H3Y9l5ffmfsp8fdj2Xl9+Z+yn6V2zg9Y6lmvIsto8eab5Wtv4PIU4ydjLC5k7W/nIBDtv6AVoeEz2P1Jj2XcZbiu1XHYSRO32PpaR3gj0g7ELkxuyY/Z9uLTMR6ZlnfREXIgiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIC4rVqKlWmsTyNighYZJJHHYNaBuSf6AuVUfjVZfW4a5UMO3bvr1X/nZLPHG8fpa8j9K98DD77Fow+KYjOVjbLI9Saqta3yYyNnnjrN3NOo8bdgw+kj8Nw6k+jfYdB1jURfpuHh04VMUURaIYmbiIss4r62z1HVeD0vp2O82zdrT3rFjGwV5rDY43MaGsbYe2PqX9SdyABsOpImJiRhU6Uo1NFhp1XxDZW0zjcjNLgruQ1BJj23LVSs6axT8Vkka90bHvYyQOaR5p23YCQQS0/bfEfVGChzmmvhGLI52PUVPB0cxarMaGMswslEkkbA1rnMaXjoACeXp378+t0+MxMdbXsraGZKnJkJKDbUDr0cbZn1RIDK1jiQ15bvuGktcAe47H1LsrIdBYrKYfjlqSvls3Jn7PwBRc23LWjgdy9vP5pbGA07Hc77DoQPRudeXvhVziUzMxbbKC7uB1Hd0dlRlKHPJsNrNNp821GPvSO7nH3ru8Hp3FwPSRbropxKZori8SsTZ6ex9+vlaFa7VkE1axG2WKQffNcNwf+hXYVC4IWXTcP68Tvua1qzAz/hEz+UfoBA/Qr6vzLtGF3ONXh7pmG58RERc6CIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAoHXennaq0hlMXGWieeHeAu7hK0h0ZP5g9rVPIt0Vzh1xXT4xtHlaCUzRNc6N8T+50cg2cxw6FpHoIO4P9Cr2byWrK2QfHicBi8hSAHLPay767yduoLBXeB1/3v+i9AcQ+FkmXsy5bBdlHkJPOsVZXFsdg7AcwOx5X7D1bO6b7fdLJb1a9iZTFkcVkKEgOxE1Z5b+h7QWO/Q4r9E7P2zC7ZRE0VWn3xsv6+7mW3KWc1r3ptpPB/n31BL+6LrZXQ0/ECGhez0T9MZ/GzPNK7gMkZZYmOaA4c74Wgh3cWFhHmg7+q4fCtb8J/wA076k+Fa34T/mnfUuucLSi1czMfx0TRncrrOG1MxaeFnJ5TITYS6+/DYuWBJLLI5kjCJCW9W7SO2DeXbYbdBsurmuEGDz3lEbUl3tM1ar3nyxTBj6s8EbGRSQOA3YQGA7nfrv6DsrZ8K1vwn/NO+pPhWt+E/5p31Kzg0TFpj/Wt8jRncpFDh7d0TkredxFq7qvOXIIaU3lBkmwt7FjnuBDo4HbHd+23Lse/od95EZnXmzt9KYMHbptqCXqfdP6VZvhWt+E/wCad9SfCtb8J/zTvqUjC0dlEzEfx9YNGdyEw+U1fYyMMeT09iaNE79pYrZmSeRnQ7bMNZgO52H3Q23367bKx2Jm14HyuDnBg35WDdx/MB6SfQFyUYbeWlbHj8bfvSE7bQVXlo/pcQGgfnJC1Th9woloXIMvqBsZtwnnrUI3c7IXeh73dznj0Aea09fOPKW8vaO14XY6JnEqvO7Zf0+a6O9beHWnpdL6NxtCwALYa6awBt0lkcXvHT1FxH6FZERfneJXOLXNdXjM3PEREXmCIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiD/2Q==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from IPython.display import Image\n",
+ "\n",
+ "Image(app.get_graph().draw_mermaid_png())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "74f3e276-f003-4112-ba14-c6952076c4f8",
+ "metadata": {},
+ "source": [
+ "## Invoke graph\n",
+ "\n",
+ "When running the application, we can stream the graph to observe its sequence of steps. Below, we will simply print out the name of the step.\n",
+ "\n",
+ "Note that because we have a loop in the graph, it can be helpful to specify a [recursion_limit](https://langchain-ai.github.io/langgraph/reference/errors/#langgraph.errors.GraphRecursionError) on its execution. This will raise a specific error when the specified limit is exceeded."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "0701bb7d-fbc6-497e-a577-25d56e6e43c6",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "['generate_summary']\n",
+ "['generate_summary']\n",
+ "['generate_summary']\n",
+ "['generate_summary']\n",
+ "['generate_summary']\n",
+ "['generate_summary']\n",
+ "['generate_summary']\n",
+ "['generate_summary']\n",
+ "['generate_summary']\n",
+ "['generate_summary']\n",
+ "['generate_summary']\n",
+ "['generate_summary']\n",
+ "['generate_summary']\n",
+ "['generate_summary']\n",
+ "['collect_summaries']\n",
+ "['collapse_summaries']\n",
+ "['collapse_summaries']\n",
+ "['generate_final_summary']\n"
+ ]
+ }
+ ],
+ "source": [
+ "async for step in app.astream(\n",
+ " {\"contents\": [doc.page_content for doc in split_docs]},\n",
+ " {\"recursion_limit\": 10},\n",
+ "):\n",
+ " print(list(step.keys()))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "0dc27458-7b37-4a2b-9452-b59274a55828",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "{'generate_final_summary': {'final_summary': 'The consolidated summary of the main themes from the provided documents highlights the advancements and applications of large language models (LLMs) in artificial intelligence, particularly in autonomous agents and software development. Key themes include:\\n\\n1. **Integration of LLMs**: LLMs play a crucial role in enabling autonomous agents to perform complex tasks through advanced reasoning and decision-making techniques, such as Chain of Thought (CoT) and Tree of Thoughts.\\n\\n2. **Memory Management**: The categorization of memory into sensory, short-term, and long-term types parallels machine learning concepts, with short-term memory facilitating in-context learning and long-term memory enhanced by external storage solutions.\\n\\n3. **Tool Use and APIs**: Autonomous agents utilize external APIs to expand their capabilities, demonstrating adaptability and improved problem-solving skills.\\n\\n4. **Search Algorithms**: Various approximate nearest neighbor search algorithms, including Locality-Sensitive Hashing (LSH) and FAISS, are discussed for enhancing search efficiency in high-dimensional spaces.\\n\\n5. **Neuro-Symbolic Architectures**: The integration of neuro-symbolic systems, such as the MRKL framework, combines expert modules with LLMs to improve problem-solving, particularly in complex tasks.\\n\\n6. **Challenges and Innovations**: The documents address challenges like hallucination and inefficient planning in LLMs, alongside innovative methods such as Chain of Hindsight (CoH) and Algorithm Distillation (AD) for performance enhancement.\\n\\n7. **Software Development Practices**: The use of LLMs in software development is explored, particularly in creating structured applications like a Super Mario game using the model-view-controller (MVC) architecture, emphasizing task management, component organization, and documentation.\\n\\n8. **Limitations of LLMs**: Constraints such as finite context length and challenges in long-term planning are acknowledged, along with concerns regarding the reliability of natural language as an interface.\\n\\nOverall, the integration of LLMs and neuro-symbolic architectures signifies a significant evolution in AI, with ongoing research focused on enhancing planning, memory management, and problem-solving capabilities across various applications.'}}\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(step)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f15c225a-db1d-48cf-b135-f588e7d615e6",
+ "metadata": {},
+ "source": [
+ "## Next steps\n",
+ "\n",
+ "Check out the [LangGraph documentation](https://langchain-ai.github.io/langgraph/) for detail on building with LangGraph, including [this guide](https://langchain-ai.github.io/langgraph/how-tos/map-reduce/) on the details of map-reduce in LangGraph.\n",
+ "\n",
+ "See the summarization [how-to guides](/docs/how_to/#summarization) for additional summarization strategies, including those designed for larger volumes of text.\n",
+ "\n",
+ "See also [this tutorial](/docs/tutorials/summarization) for more detail on summarization."
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.4"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/docs/docs/how_to/summarize_refine.ipynb b/docs/docs/how_to/summarize_refine.ipynb
new file mode 100644
index 0000000000000..4364785217e04
--- /dev/null
+++ b/docs/docs/how_to/summarize_refine.ipynb
@@ -0,0 +1,333 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "c47f5b2f-e14c-43e7-a0ab-d71562636624",
+ "metadata": {},
+ "source": [
+ "---\n",
+ "sidebar_position: 3\n",
+ "keywords: [summarize, summarization, refine]\n",
+ "---"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "682a4f53-27db-43ef-a909-dd9ded76051b",
+ "metadata": {},
+ "source": [
+ "# How to summarize text through iterative refinement\n",
+ "\n",
+ "LLMs can summarize and otherwise distill desired information from text, including large volumes of text. In many cases, especially when the amount of text is large compared to the size of the model's context window, it can be helpful (or necessary) to break up the summarization task into smaller components.\n",
+ "\n",
+ "Iterative refinement represents one strategy for summarizing long texts. The strategy is as follows:\n",
+ "\n",
+ "- Split a text into smaller documents;\n",
+ "- Summarize the first document;\n",
+ "- Refine or update the result based on the next document;\n",
+ "- Repeat through the sequence of documents until finished.\n",
+ "\n",
+ "Note that this strategy is not parallelized. It is especially effective when understanding of a sub-document depends on prior context-- for instance, when summarizing a novel or body of text with an inherent sequence.\n",
+ "\n",
+ "[LangGraph](https://langchain-ai.github.io/langgraph/), built on top of `langchain-core`, is well-suited to this problem:\n",
+ "\n",
+ "- LangGraph allows for individual steps (such as successive summarizations) to be streamed, allowing for greater control of execution;\n",
+ "- LangGraph's [checkpointing](https://langchain-ai.github.io/langgraph/how-tos/persistence/) supports error recovery, extending with human-in-the-loop workflows, and easier incorporation into conversational applications.\n",
+ "- Because it is assembled from modular components, it is also simple to extend or modify (e.g., to incorporate [tool calling](/docs/concepts/#functiontool-calling) or other behavior).\n",
+ "\n",
+ "Below, we demonstrate how to summarize text via iterative refinement."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "4aa52e84-d1b5-4b33-b4c4-541156686ef3",
+ "metadata": {},
+ "source": [
+ "## Load chat model\n",
+ "\n",
+ "Let's first load a chat model:\n",
+ "```{=mdx}\n",
+ "import ChatModelTabs from \"@theme/ChatModelTabs\";\n",
+ "\n",
+ "\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "e5f426fc-cea6-4351-8931-1e422d3c8b69",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# | output: false\n",
+ "# | echo: false\n",
+ "\n",
+ "from langchain_openai import ChatOpenAI\n",
+ "\n",
+ "llm = ChatOpenAI(model=\"gpt-4o-mini\", temperature=0)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "b137fe82-0a53-4910-b53e-b87a297f329d",
+ "metadata": {},
+ "source": [
+ "## Load documents"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a81dc91d-ae72-4996-b809-d4a9050e815e",
+ "metadata": {},
+ "source": [
+ "Next, we need some documents to summarize. Below, we generate some toy documents for illustrative purposes. See the document loader [how-to guides](/docs/how_to/#document-loaders) and [integration pages](/docs/integrations/document_loaders/) for additional sources of data. The [summarization tutorial](/docs/tutorials/summarization) also includes an example summarizing a blog post."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "27c8fed0-b2d7-4549-a086-f5ee657efc41",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langchain_core.documents import Document\n",
+ "\n",
+ "documents = [\n",
+ " Document(page_content=\"Apples are red\", metadata={\"title\": \"apple_book\"}),\n",
+ " Document(page_content=\"Blueberries are blue\", metadata={\"title\": \"blueberry_book\"}),\n",
+ " Document(page_content=\"Bananas are yelow\", metadata={\"title\": \"banana_book\"}),\n",
+ "]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "84216044-6f1e-4b90-b4fa-29ec305abf51",
+ "metadata": {},
+ "source": [
+ "## Create graph\n",
+ "\n",
+ "Below we show a LangGraph implementation of this process:\n",
+ "\n",
+ "- We generate a simple chain for the initial summary that plucks out the first document, formats it into a prompt and runs inference with our LLM.\n",
+ "- We generate a second `refine_summary_chain` that operates on each successive document, refining the initial summary.\n",
+ "\n",
+ "We will need to install `langgraph`:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "bf7acdb7-19ca-43ba-98f4-91f5b804da21",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pip install -qU langgraph"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "669afa40-2708-4fa1-841e-c74a67bd9175",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import operator\n",
+ "from typing import List, Literal, TypedDict\n",
+ "\n",
+ "from langchain_core.output_parsers import StrOutputParser\n",
+ "from langchain_core.prompts import ChatPromptTemplate\n",
+ "from langchain_core.runnables import RunnableConfig\n",
+ "from langgraph.constants import Send\n",
+ "from langgraph.graph import END, START, StateGraph\n",
+ "\n",
+ "# Initial summary\n",
+ "summarize_prompt = ChatPromptTemplate(\n",
+ " [\n",
+ " (\"human\", \"Write a concise summary of the following: {context}\"),\n",
+ " ]\n",
+ ")\n",
+ "initial_summary_chain = summarize_prompt | llm | StrOutputParser()\n",
+ "\n",
+ "# Refining the summary with new docs\n",
+ "refine_template = \"\"\"\n",
+ "Produce a final summary.\n",
+ "\n",
+ "Existing summary up to this point:\n",
+ "{existing_answer}\n",
+ "\n",
+ "New context:\n",
+ "------------\n",
+ "{context}\n",
+ "------------\n",
+ "\n",
+ "Given the new context, refine the original summary.\n",
+ "\"\"\"\n",
+ "refine_prompt = ChatPromptTemplate([(\"human\", refine_template)])\n",
+ "\n",
+ "refine_summary_chain = refine_prompt | llm | StrOutputParser()\n",
+ "\n",
+ "\n",
+ "# We will define the state of the graph to hold the document\n",
+ "# contents and summary. We also include an index to keep track\n",
+ "# of our position in the sequence of documents.\n",
+ "class State(TypedDict):\n",
+ " contents: List[str]\n",
+ " index: int\n",
+ " summary: str\n",
+ "\n",
+ "\n",
+ "# We define functions for each node, including a node that generates\n",
+ "# the initial summary:\n",
+ "async def generate_initial_summary(state: State, config: RunnableConfig):\n",
+ " summary = await initial_summary_chain.ainvoke(\n",
+ " state[\"contents\"][0],\n",
+ " config,\n",
+ " )\n",
+ " return {\"summary\": summary, \"index\": 1}\n",
+ "\n",
+ "\n",
+ "# And a node that refines the summary based on the next document\n",
+ "async def refine_summary(state: State, config: RunnableConfig):\n",
+ " content = state[\"contents\"][state[\"index\"]]\n",
+ " summary = await refine_summary_chain.ainvoke(\n",
+ " {\"existing_answer\": state[\"summary\"], \"context\": content},\n",
+ " config,\n",
+ " )\n",
+ "\n",
+ " return {\"summary\": summary, \"index\": state[\"index\"] + 1}\n",
+ "\n",
+ "\n",
+ "# Here we implement logic to either exit the application or refine\n",
+ "# the summary.\n",
+ "def should_refine(state: State) -> Literal[\"refine_summary\", END]:\n",
+ " if state[\"index\"] >= len(state[\"contents\"]):\n",
+ " return END\n",
+ " else:\n",
+ " return \"refine_summary\"\n",
+ "\n",
+ "\n",
+ "graph = StateGraph(State)\n",
+ "graph.add_node(\"generate_initial_summary\", generate_initial_summary)\n",
+ "graph.add_node(\"refine_summary\", refine_summary)\n",
+ "\n",
+ "graph.add_edge(START, \"generate_initial_summary\")\n",
+ "graph.add_conditional_edges(\"generate_initial_summary\", should_refine)\n",
+ "graph.add_conditional_edges(\"refine_summary\", should_refine)\n",
+ "app = graph.compile()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "cdc11401-8640-4cf8-a713-4031df690cf7",
+ "metadata": {},
+ "source": [
+ "LangGraph allows the graph structure to be plotted to help visualize its function:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "21711ff5-4e06-4843-9109-e7d89e679449",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAEvAQsDASIAAhEBAxEB/8QAHQABAAICAwEBAAAAAAAAAAAAAAYHBQgBAwQCCf/EAFYQAAEDBAADAggICAgMBQUAAAEAAgMEBQYRBxIhEzEIFBUWIkGU0xcyUVRVVmGVI1NxkpPR0tQzQlJ0dYKxsgkkJTY3OHJzgZGztDQ1Q2JjZIOho9X/xAAbAQEBAAMBAQEAAAAAAAAAAAAAAQIDBAYFB//EADQRAQABAgMFBgMIAwEAAAAAAAABAhEDElEEExQxkSFBUmGh0QUVUyMzcYGxweHwIjLxQv/aAAwDAQACEQMRAD8A/VNERAREQEREBERAXVUVUNJGZJ5o4Ix/HkcGj/mVhblcay518tqtEniz4eXxu4OjD20+xsMYD0dKQQdHYaCC4HYa7rpuHthjk7aqoGXWsI06ruf+Myn1nTn75Rv+K3QGhoDQW+KKaYviTbyhbavecqsoOjeKDf8AOWfrXHnVZPpig9qZ+tcnF7MTs2ig3/NmfqTzWsv0RQezM/Ur9j5+i9jjzqsn0xQe1M/WnnVZPpig9qZ+tc+a1l+iKD2Zn6k81rL9EUHszP1J9j5+h2OPOqyfTFB7Uz9aedVk+mKD2pn61z5rWX6IoPZmfqTzWsv0RQezM/Un2Pn6HY486rJ9MUHtTP1r10dzo7hvxWrgqddT2MjX/wBhXl81rL9EUHszP1Ly1mCY7XaMtkoRICC2WKBscjSO4te3TgftBT7Ge+fT+E7GeRRcvq8L5XVFVPcrDsNdLUHnqKLZ1zPf3yRfK47czW3FzSSyULXXRl7Ym8STAiItaCIiAiIgIiICIiAiIgIiICIiAiIgIiIC8V6ukdks9fcZgTDRwSVDwPW1jS4/2L2rEZfan37E73bI/wCErKGenbv5XxuaP7VnhxTNcRVyusc3XhlsktWN0UdQWurpWeMVcjd/hJ3+nI7r11zE6HqGh6lm1j8eujL3YbdcI9hlVTxzAOGiOZoOiPURvRHqWKyriZh+C1MNNkmV2PHqidnaRRXW4w0z5G71zND3Akb6bCuJNU11TVzuTzSVQribxWtvC+Gztqrdc71cbxWeI2+12eFstTUyhjpHaD3saAGscSXOHcvKfCC4XBgeeJOIBhJAd5dpdEjWx/CfaP8AmofxSyPF+MmMR2/GLVa+LwpauOaogx/I6WCrth5X9lUxSiQcj+YaBD2nRd1OiDrR05r4QV9sPEPhvabdgt/rbfkdBW1tVSGmgjrWuiazliaJKhga5nMXSB3qczlJPMBJs54+W7h3f5aO84xk8VmglghqMmjt7XWyB0paGl0nPzloL2guawgHYJ6FVvTYPxUx+g4M5NcrY7N8nxmC5Ul3omXGGOpdHVNaIndtIWxyPjbFG152C47I2oZxn4FZzxBPEaOowOLJ75d5mVFgyGvvELYLVStjiIo44nOLo5Q9kreZrQ15k254CDYCt46W+LibccEoMcyC9Xu3NpJKp9BTwmnhiqN8srpHytAa3XpD43eWtcA7WF4Acar7xWrcsp7xidys0dsvNdRwVkrIG07Y4ZRG2B/LO95nAJLiG8mwdO7gslw+xO9W/jVxIyavtrqC2XyiszKN8k0T3OfDFOJmEMcSCwyNGz0O/RJCjfDuounBO951S5fQ0dnw+vyGuvdNl1XdqaGk5aqRr2QPY94e2QOLm93KdDR6oL2RQBvhB8LXnTeJWIOOidC/UvcOp/8AUXtsfGfh9k91p7ZZs6xq7XKoJENHQ3enmmkIBJDWNeSdAE9B3AoJfLEyeJ8UrGyRvaWuY8bDge8EesKO4DK9lmntsjzI+01UtAHOJJMbDuLZPUnsnR7J7zsqSqMYKO3ZfbgN9nXXWeSPY1tsYbBv8h7EkH1gg+tdFH3VV/Lr/wAuscknREXOgiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgiolbgtTUGfTMdqJXTifrqikeS5/P6hE5xLubuaXHehoiRGGmrmRylkVQxzQWP0HAg9QQfkXoUZk4fWuOR8lvfWWRzyS5tsqXwxkk7J7IHs9k9d8u/tXRmoxO2ubTrzv+P97V582d8m0nzWH9GP1LshpoaffZRMi338jQNqOOwmcknzovw36hPF0/8A1rjzIn+tN+/Txe6Td4fj9JW0apSii3mRP9ab9+ni90qm4iXnIMX4/wDCPDaPJ7qbRlLLu6vMr4zKDTUzZIuR3IA30id7B2PkTd4fj9JLRq2CXxLEyZhZIxsjT/FcNhRnzIn+tN+/Txe6TzIn+tN+/Txe6Td4fj9JLRqkHk2k+aw/ox+pfUdDTRPD2U8THDuc1gBCjvmRP9ab9+ni90vrzCpp+lddbxco+m4p657GO18rY+UEfYdg/ImTDjnX6f8AEtGrsut5kvE81nsswdVD0KutYdsom9xGx0M2vis9XRzumg7NW6309pt9NRUkQhpaaNsUUbe5rWjQH/ILmgt9La6OKkoqaGkpYm8scEDAxjB8gaOgC9CwrriYy08v1/voCIi1IIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgLXfjP8A64Pg5/7vI/8AsWLYha78Z/8AXB8HP/d5H/2LEGxCIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAtd+M/8Arg+Dn/u8j/7Fi2IWu/Gf/XB8HP8A3eR/9ixBsQiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIuHODGlziGtA2Se4KFuy+93YCosttofJr+sNRcKh7HzN9TxG1h5WnvGzsjvAW7DwqsW+VYi6aooR5czD5jY/apvdp5czD5jY/apvdrdwtesdYLJuihHlzMPmNj9qm92nlzMPmNj9qm92nC16x1gsm6KEeXMw+Y2P2qb3aeXMw+Y2P2qb3acLXrHWCybooR5czD5jY/apvdp5czD5jY/apvdpwtesdYLJuihHlzMPmNj9qm92nlzMPmNj9qm92nC16x1gskmT47Q5fjd2sVzjM1tulJLQ1UbXcpdFIwseN+rbXFfhLxc4W3ThHxPvuF3GN0lbbqswxua3/AMRGesUjR8j2FrgPt13r9tvLmYfMbH7VN7tU5xF8HmXiVxpw7iRcqGzNuePD0qZs8pjrCwl0Bf8Ag+hjeS4a7+gPQJwtesdYLJr4JHBQcBuB1jx6dgbeKgG43U//AFUobzN/qNayPfr7PfrVyqEeXMw+Y2P2qb3aeXMw+Y2P2qb3acLXrHWCybooR5czD5jY/apvdp5czD5jY/apvdpwtesdYLJuihHlzMPmNj9qm92nlzMPmNj9qm92nC16x1gsm6KEeXMw+Y2P2qb3aeXMw+Y2P2qb3acLXrHWCybooR5czD5jY/apvdp5czD5jY/apvdpwtesdYLJuihHlzMPmNj9qm92vpuQZbCeeS12ioYOpjhrZGPI/wDaXR639h0PtCcLXrHWCyaovFZrvT323RVtNzCN+2lkjeV7HNJa5jh6iHAgj5QvauSYmmbTzQREUBERAREQYvKCW4zdyDoijmII/wBgqPYyAMbtIAAApIug/wBgKQ5V/mxeP5nN/cKj2M/5uWr+aRf3Avo4P3M/j+zLuZJFqZiXGDM8qv3D+4+e0ck9+yWpt9ywako6YS22mh7ffM4tMw5OxZ2hf39oOXl6E8Yhxe4v8QaC35pj9ovlXbq6u5oLN4jbG2t1EJzG4GodUiqEojDnc/KBzjXZ6WOeGLbRFq1kfEriFb8U4nZtBloZR4dktRRU9k8m05iqqWOSIuZLIW8++WQhpYWkaBJdterLOJ/EnLs/zSgw2C+09BjVU23QNtFuttRFU1HYskcal1XUMkDdyAARAeiN8xJ0LmgbNotfrXkXEnN+LNJjtVfHYPDHh9uvFyoKOkpqmWGvknmZLGySRrxyeho75ujG8uiSTHMl40ZVaOI1JcLJfrrkOJOyqnsNZE+yUsNrhEs4gfHHU84qJJY3O+OA5hc0g6TMNomyMc9zA5pc3XM0HqN9219LW7hxFc8T4m8d8lqcluNdbrTcjVT2nxemDKkC3QyN24Rc4LG6Y3lcAQwF3MSScfwz4h8Y8oqcNyJ1tvVfaL5LTz19HU0NshtlLRztDjJTyx1JqT2Yc1w7Rri8A7a0nQZhtCvJQXiguktZFRVtNVy0c3i9SyCVr3QS8odyPAPou05p0euiD6161qjT5pmNgo8hobdkEDLrPxThx511ktNKHvppaWAkyMjYxsjxz9Hn0jytBcQNKzNhtLcrlR2a31FfcKqChoaaMyz1NTII4omAbLnOcQGgDvJXbFUwzCMxyskErO0YWuB529PSHyjqOv2hawcQcqzG3YTx0xusyg3SoxW2U1zo7nVWuje+ohmgle6mnhMRhe3cLhvsweV3y9VlWWK73XwqMfqKXKK21RDCYqp1NS0tKY3xNq4g+n9OIkMeepIIcO5rmjopmGwdHeKC41VbTUlbTVVTRSCKqhhla98Dy0ODXgHbSWuB0ddCD61xd7zb7Bb5K+6V1NbaGItD6mrmbFGwucGt25xAG3EAfKSAtcYc2uWK03F6KryqWiucWVUtut1xorFSz11Q+Wmp3sp2QsYxs0pD3RtdJzEAAuJDSonlefZTkvBHizj+WGtmrsfudoZDU3Okp6WrfDNPTStE0dO50XMDzaLD1BbsA7CmYbjIiofivm2VYrxZt7bhkdThuASU9M2nulPaYqylnq3TESQ1krgXU4LezDHDlbtx27Y0s5mwvhFr9cuKWUU/Cvj7eI7ny3HF7pcae0TeLxHxaOKjgkjHLy6fp73Hbw4nejsaCwuS5xxBulXxVmteZuslNiFiortSU8Vsppu3lfRPmeyRz2E9mXRno3TgX9HAABY5oGzaLXG38Qc5x27Ysbpkzb3T5didwvDYDb4YG22qghglHYlo26MifXLIXn0Qeb1LDY7lPE67jgy+XiI9reIFtfNWtZZqT/EnNoxUh1P6HxjotPac7fSJDR0aGYbTotaBxYySTA6u01mWV0GW0mXVmO0tVZbLBVV93bAHOHJA/UMbuQtc95AY0MPdzBYul4zcRLjwupI23DyZldPxBp8Tlra+3wB8sL5GdZ4WOdGHcsoDhE4fF9Fw3tM0DatFSN4ze9cE84tsWX5TU5BilxstdKK2spaaGSGtpeaocNwxsGn0xeADvrT/ACuO51warMiufDDHrhlc/bX+vpvHalvZtj7HtXGRkOmgD8GxzY962eTZJJJVib9glPDY/wCTbuPULtV6H/3NqXKIcNf/AC68f0vV/wB9S9aNp++qWeYiIuVBERAREQYvKv8ANi8fzOb+4VHsZ/zctX80i/uBS6tpI6+jnppd9lNG6N2u/RGj/aq/pblU4tRU1suVruUs1LG2EVNDRSVMU4aAA8dm0lu9dWuAIOx1Gifo7P8A5Yc0RzuyjtizXzFOF/EbHOKsdwslsvFlpqi8me6V12utsraOqoTKXSNbyQCrc9zdcvO70ToFxAVsWDgBasUyDx6yZFktqtPjzrj5t0twDbaJnO536Zyc4Y5xLjGHhhJPoqYeedP9FX77kq/dp550/wBFX77kq/drbGz1x/5kyzoi9y4EWC6YXm2MS1lybQZbcJrlXSMljEsckvJzCIlmg38G3QcHHqepXTk/AS1X7K7lkNvyHI8Tr7rHHHcxj9e2nZX8jeVjpA5jiHhvoh7C12vWpd550/0VfvuSr92nnnT/AEVfvuSr92ruK/CZZ0dFFgFvoc/q8vZPVvudTa4LQ+OR7TF2UUkkjXAcvNzkyu2S4jQHQdSYFcfBfx64OqIm5BktJbHXTy1TWqmrmNpaKt7btzNE0xkncnM7kkL2AuJDQdEWJ550/wBFX77kq/dp550/0VfvuSr92m4r8MmWdGCbwdtkHES45dS3S7Uj7oGeU7PFOw2+vc2EwtfLG5hOwzQ9FzQeVuwdLFYdwJpOG9VBNYMiyWW228Sut+M1d0/ybCXNcBH0jMhYOY6D3PDehA2Apl550/0VfvuSr92nnnT/AEVfvuSr92m4r8MmWdEbGRcUtjeDYyB6yMrm/wD5665eBFgmqaic1lyD58qiy9wEsehVxxxxtYPQ/gtRt2PjbJ9JZXJOLWP4dZp7tfvKNltcHL2tbcLZUQQx8zg1u3uYANkgDr1JAXrt/EO23agp62io7zV0dTG2aGogs9U+ORjhtrmuEeiCCCCE3GJ30ymWWFyLgnY8mkz59VV3CM5pboLZcOxkjHZRRMlY0w7YeVxEztl3MNgdB6/rJuDNtyG/2K+U95vVgvFopDb2VlpqGRvqKYua4wyh7HBzeZjT0AIPcQpB550/0VfvuSr92nnnT/RV++5Kv3abivwyuWdESvnADH76b/K+vu1JW3a809/bW0s7GTUVZDEyKN8B5CAOVnUPDweZ3qOh4o/Brxt9szCir7rfru3LIYGXSeurQ+WSWEns52ODByPHogBumARs00a6zrzzp/oq/fclX7tPPOn+ir99yVfu03FfhMs6I46p4h46yG12vHrVkNBRxRwRXW8ZLJDWVQawAyTMZQuaHkgk6Oj39N6GJyPgzNxbhZUZncbvaIqhkcVfi9ovPb2uoZHKXs5i+Bj/AEuhdy8hPQEkAFZ6w8asVym4XSgs1TWXautUvY19NRW+eWSkfsgNla1hLDtrho6+KfkKzfnnT/RV++5Kv3abjE76ZTLKB5n4NlhzOTKmPv2RWi25R6d1tdrrI4qaebs2x9tp0bnB3KxmwHcruUczXdd5w8FrIW5s3xq4ay22w2uu/CM/BxRU74GmL0OjuV5JLuYb10A6KQeedP8ARV++5Kv3aeedP9FX77kq/dpuK/CuWdGBruDFkr5sWkkqq8Ox20VVmpOWRmnw1EUUT3Seh1eGwtII0Nk7B6ALVwZstoZw6bDVV7hg1M6ltvPIw9sx1N4sTNpg5jydfR5fS+zos9550/0VfvuSr92nnnT/AEVfvuSr92m4r8JlnRC67wd7DUGWelu97tV0N+qshgulDURNqKWoqGdnMyPmjLTG5nTle1x+1fFs8HDHbVSGmjut8nidkdNlLzVVbZnvroeTbi5zC4tkLGl7d9/xeQdFN/POn+ir99yVfu0886f6Kv33JV+7TcV+Eyzor3wguG1fxl82sTdY4p8ebcqe53C8T1TGiBkTjzwsi6ve+RhczfRoDzs+pXCAAAANALAeedP9FX77kq/drlmWtnPJT2W+zzHo2M2uaHmPyc8rWsH5XOA+1NzXHbZLSyXDX/y68f0vV/31L1hMQsk1itDo6ksNXUTy1U4jO2tfI8u5QdDYaCG70N63obWbXBtFUV4tUxyJ5iIi50EREBERAREQEREBERAREQFEOJPFXG+E1st9dkdZJTsuFdDbqSGCB88088h01rI2AudobJ0O4HvOgfjKeK9hxHOMWxGtdVy33I3yiigpKV8wayNu3yyOaNMYDygk9xcCegJHn4YYVkmO2isZmuUDNLtLc5q6CpdRRwR0cZ9GOOJo6jTd9SSdvcN67w+LHh2TVeVZjPmF6t1/xa4SQx2iwNt7RFSQsGy6Uu2XyOeeu9j0Gka3ytnvciICIiAiIghHEvD79dcVu4wK7UeJZbVSQ1Dbq+iZK2d8Zbpkw0S5rmt5C7qQ09Ae5fVk4q2Ot4g1nD6e4A5nbrfDX1NP4tJDHNG/QMkJdsOaHEb053LzAEkg6mqw2VWCa/WO501vr32O7VVHJS094p4mPnpS4dHN5h10dO19nq70GZRVbj3EMcPLhgnDzOb3Pec2vFFIWXiK2uhpK2aLq5nM0crX8uzrp0aSeXmaDaSAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgKurtxPor/nl64Z2SpuVFlMVofWOvENv7Wktz3+jDzOcORzySXBvUHkcCQeisVQvDxmvn1mpyEUXmx21N5vGn123Z9ke37XXXfaa1v1IMhw+xOsw7ELTarpfqzKrnRQmKW9XFrRUVBLuZxPL3DegBsnTW7LiNmSIiAiIgIiICIiAiIg+JImy62BzNJLXaBLTojY369E/81TrMoPg1YraaTOsnv8AmsFzvbqSnvctuEjqGOXZibUuiHVoI5efWyXgBoaOlyqG8XxmZ4dXj4PhRHMNReIeUNdhvtWc/Nvp/B8+vt0gmIOxsdQuV8Rc3ZM59c+hza+X1r7QEREBERAREQEREBERAREQEREBERAREQFWXDi1WSi4rcUKq3ZXNerpV1NC642eRxLLS5sBEbWj1do30j+RWaqy4cXWyVvFbihS27FJrLdKSpoW3G8SNIZdnOgJjc0+vs2+ifyoLNREQEREBF1vqIo3cr5WNd8jnAFfPjkH4+P88K2kdyLp8cg/Hx/nhPHIPx8f54S0juRdPjkH4+P88J45B+Pj/PCWkdy/PLwxfDduFBU5xwiuOCV1nmjqGQx3qhyDspnwtlZNFMxvix5e0Y1uxzHQeRs6X6D+OQfj4/zwtEv8J7wRjyTGrVxKs7Gy3G1ctvubItEvpnuPZSdP5Eji37RKPU1LSLV8ErwyK7wnchvFtZgL8etloomzTXTyt40DK54bHEW9izRc0Su3s/wZ6dVs8qG8DTgvT8B+CFptdYIoshuX+UbqS4czZngcsR6/+mzlboHXMHEd6vPxyD8fH+eEtI7kXT45B+Pj/PCeOQfj4/zwlpHci6fHIPx8f54TxyD8fH+eEtI7kXT45B+Pj/PC+45o5d8j2v138p2lpH2iIoCLgnQ2egWNx/J7NllE+ssd2obzSMkMTqi31LJ42vABLS5hI3og6+0IMmiIgIiICIiAiIgKF4f57efOa+cPiXmv21N5veL67Xs+yPb9rrrvtNa36lNFWXDi1WSi4rcUKq3ZXNerpV1NC642eRxLLS5sBEbWj1do30j+RBZqIiAozntxnpLdQ0tPO+mfcayOjdNGdPYwhzncp9RLWEA+rexo6Kkyh/Eb42M/0xH/ANGZdOzRE4sXWObGjh/jGhzY9a5D63S0cb3H7S4gkn7SnwfYt9W7R7BF+yu/L8vtGBY1X5BfavxC0UDO0qKns3ydm3YG+VgLj1I7gVGZeO2EQY7NfZbxJFamVTaKOd9DUNNVK5oc1tO0x81Rtp2DEHgjZB6Fd+/xPHPUvOrP/B9i31btHsEX7KfB9i31btHsEX7KrbiR4T+NYzwor8ux6oF7mZVMtsFOaSpHZVb3NaG1DBH2kXKHBxDw0u6Nbtzmg+vH+LlbJkuF2K53e0yV10tdVdaxkdmuFG6aFujC6nEoc1haN9oyV3ONt00b0pxGJ456l51T74PsW+rdo9gi/ZT4PsW+rdo9gi/ZUbxLwgMBzq6Wu32S/isqLpEZqFzqSeKKqDWc7mxyvjDHPa3ZcwO5m6IcAQdfb+PmAx5V5vOyGIXLxsUHN2E3i3jO9dh4xydj2m+nJz82+mt9E3+J456l51SH4PsW+rdo9gi/ZT4PsW+rdo9gi/ZWfUKoOMuH3XN5sSo7uam+wzSU8kMVLMYmysYXvi7bk7Lna0ElnNsa7ld/ieKepedWW+D7Fvq3aPYIv2U+D7Fvq3aPYIv2Vj6Ti3iddjON5DBdeez5FUw0drqfFpR4xLKSI28pZzN2Wnq4ADXUhR2s8Jzhpb6h8VTkzYBHVy0Ek76KpEEdTG5zXwvl7PkbJtjtMLgXDRaCHAmb/E8c9S86pl8H2LfVu0ewRfsp8H2LfVu0ewRfsqPQ8esElxq7359+FLbLPUQ0txfWUk9PJSSSvYyPtYpGNkYHGRunFvLok70CRipPCh4axOrGPv1Syoo2iSopnWitE8UWt9sYux5xFrr2uuTqPS6hOIxPHPUvOqbfB9i31btHsEX7KfB9i31btHsEX7KwOW8dcHweltlTdr3yU9ypvHaWakpJ6pkkGge1JhY8NZog8ztDr3rtyTjZhWJixeUb23d9pn1drFJTzVRrYmiMkxCJji86lYQ0dSDsAgHTf4njnqXnVmfg+xb6t2j2CL9lddThNoo6eSe1W+ls1wia58FZQQshkjd3g7aOo6DbTsOHQgjovFQ8XcTuGM3/ACCO6GO1WDtBc5KmlmgfSlkTZXB0b2B++R7XDTTvfTZ6KSRVsVytDKunLnQVEAljL2OY4tc3Y21wBB0e4gEetZRjYkz/ALT1W8onjl84pZ5w1vNYKOw4nfqtzH2CpMj6yF1O4McJZmaBDi3m00d2xvuKyVy4ZZHlNHgk13zy7W26WF8dRcjjzm0tPeJWmMkSsIP4Mlh2zuIe4etSXhr/AKOsV/oql/6LVJF8vGpinEqpjlEyk80NtnCTGbTxLu+fQUk5ye6UzaOoqZKuV0YhAjHI2Iu5Gg9kwkhu9jv6lQ/OODeK4lglG6wV7eGFjx67x5PWS2SHsoZRA3cjZo2kB7HMaObYPxB0OlcS89xt9NdrfU0NbAypo6mJ0M0Eo22RjgQ5pHrBBIWpHRYb5QZPY7feLXUtrLZcKeOrpahgIbLE9ocxw316gg9V71X3Bq9y11pvVnOFTYPQY7dJrPb6Qt1BVUsQaI6iE8rRyO2dAA613lWCgIiICIiAiIgKsuHF1slbxW4oUtuxSay3SkqaFtxvEjSGXZzoCY3NPr7Nvon8qs1QvD/Pbz5zXzh8S81+2pvN7xfXa9n2R7ftddd9prW/UgmiIiAofxG+NjP9MR/9GZTBRHiIwluOyfxI7vEXH5NxyNH/AOXAf8V1bN97H5/oyp5q28KWyV2R+D/mlttlBU3OuqaNrIqSkhdLLKe0YSGsaCT0B7go14SOG11bknDrI4LbfrnYLBPWRXGjxWpmguEbJ4WsjmiEL2PcGFmnNYd8sh6EbV8ot8xdi1gyvA6Gv4I5PXYpjOYR3O8XuzvqIsiNXU3CqbT11L+F5JnvkDGxh3fohrCSAAFYPE6x3G4cbeHNdS2+qqaGltN+jqKmGFz44XyR0oja9wGmlxa7lB7+U67lbyKZRrHjWH3yl4TeDXTPslwirrRdqN9whdSSNkooxQ1TXmZutxjmc1pLtDbgD3qMcLuF1FbrNb+H2cYxxGrrtT3F0c89LcK82Kpb4wZY6vbZhA1vxXlug4OB9ElbhopkgFrraxd8f49eL4VZcqt9oul3qZcno7tby20OHZu/x6lqD3SPe1noMcQ7mJLWkbVkP8HjhfI9z38PcZc5x2XG1Qkk/mqeUdHBb6SClpYWU9NAxsUUMTQ1rGNGg0AdwAAGllaZGouN0mQUvDbgzgcuG5Iy74xk9v8AKtS62SCkhihlkBlbNrlkYQQ4OZsAfGLfXmW4ZfvgegojYrj44OJ3lA0/icnaeLeWjJ2/LrfZ9n6fP3cvXeltOixyjVnjJht+ul740vorFcauK4sxLxR0FJI8VJhrXOm7PQ9Pkbou1vlGt6CsSqx+4SeEBmlw8m1LrdU4XSUkVV2DjDLMKirLomu1pzgHNJaDvTh06hXEiuUagWC35db8Q4c2G/WvOYMbhwymijt+MwzQTvug218NW9nK+FrWdnyh7mR7LuY9NLN8GcPvlHcPB+NysFypH2HG7xQ1zquje0Uc4NNG1rnEabzBj+Q79Nuy3YW0iKZRrDxqw24VXHW041QRtfj/ABJZTvvrd9WC2SNlkd+SaF0cJ/2Qtmar/wANL/sH+xYOg4f4/bcxuWVwW1gyK4RNgqLhI98j+zaGgMZzEiNvoNJawAEjZ2eqzVdI2GiqJHuDWMjc5zj6gB1WdMdo7uGv+jrFf6Kpf+i1SRaK5j/hIbHwgttJh9vwu7XTILLTxUFUbjI2igEjIw0vZ0e97TrY21mwQR0O11eCN4X/ABH8JbjubZdqy049jVrttTc6i3W+g344A6OGON0sj3OZp87ZOZpG+z5dad05Mftxa/xn9Vnm3vRFCeMnEuzcJOHtxyO/RVtRbo3RUzoLaN1MrppGxNbGOZvpbfvoQeh0tCOjh9RZFNlmY3y4ZTR37GLpPAbDRUHK6Ohijj5JdvA9Jz39T6RHTprZCnqjXDjALJwuwq14vjlG6gs1AxzYKd7y9zeZ7nu24kkkuc4k79akqAiIgIiICIiAqy4cWqyUXFbihVW7K5r1dKupoXXGzyOJZaXNgIja0ertG+kfyKzVWXDi62St4rcUKW3YpNZbpSVNC243iRpDLs50BMbmn19m30T+VBZqIiAvNcrbTXehmo6yFtRTSjlfG/uPyfkIOiCOoIBC9KKxMxN4EPfgFUDqHLr3BGO5nLSSa/rPgLj/AMSSuPMCv+ud7/Q0P7spii6eJxfLpHsyvKHeYFf9c73+hof3ZPMCv+ud7/Q0P7spiicTieXSPYvKHeYFf9c73+hof3ZPMCv+ud7/AEND+7KYonE4nl0j2Lyh3mBX/XO9/oaH92UW4nYVntHg1zmwTJ6qvytoj8Sp7vHRtpnntGh/OWwNPRnORojqAraVa+Eda7LeuC+R0WQ5TNhdnlbB299p3Fr6XU8ZaQR/KcGs/rJxOJ5dI9i8svHgNyMbefMr0H6HMBDQ637MvrzAr/rne/0ND+7KWwACCMNdztDRp3y9O9dicTieXSPYvKHeYFf9c73+hof3ZPMCv+ud7/Q0P7spiicTieXSPYvKHeYFf9c73+hof3ZPMCv+ud7/AEND+7KYonE4nl0j2Lyh3mBX/XO9/oaH92XZFw9ZMWtul7uV6pgdupKsQMik7iA8RRMLh0+KTo9xBHRS1E4nF19Ij9i8qS8JHwTcO8JG0DypGbTklPHyUd+pIwZox3hkg6drHs/FJBGzyluzujfA/wDAouPDk8V7DxNx+huNpvMVJQUVwp6lp8cpg6V8zWPjcJomlwpy5p5Nlje/l6bvouVirO5cDqeOy4XaMZya/YbasXkZ2VFaav8AB1kILfwNRzgue3TSN736RPVZeDArtHxPrMnlzC5VFknpBTsxeRjPE4n6aO1B1zc3ok/1ipqiAiIgIiICIiAiIgKF4f57efOa+cPiXmv21N5veL67Xs+yPb9rrrvtNa36lNFTGQV9q8HnK77mF4rMhvNHm13oKLxeko31UNqeIzEx2m7LWPcWg6BJc5oAO0FzoiICIiAiIgIiICIiAq18I66WWy8F8jrchxabNLPE2Dt7FTtLn1W54w0AD+S4tf8A1VZSq3MM4u3ECxXq18IMkx6bKbTc4aC5T1xdNFQNJDpfRaNPeG9AN62HjYc0gBZ0BBgjLW8jS0ab8nTuXYuGghoDjs66nWtrlAREQEREBERAREQEREBERAREQEREBERAXBAPeNrlEFTXmjquBoz/AD2S45Vmlrrnw1oxmnY2qfROGmSupwdO5OXldybAaGHv30s60XOK9WmiuEMc0UNXAydkdTE6KVrXNDgHscAWuAPVpGwehXrWu/hFcQsZ8Gq/ycVLtkl4muFbbXWqkwuKsBp7rMxwdG8McD2Qj53c8gGgHjoXODJA2IRfmF4FXhYXvIPCsvlRl9VAPhBLIZRBGIoYaqJnLSNYN9GhgMI3tzuZpc4nZP6eoCIiAiIgLqqamGippaiolZBTwsMkksrg1jGgbLiT0AA67K0c/wAKRxlFgwSzcOaGflrb7IK64Na4bbSRO/BtI+R8o2D/APCflXo8DDwosv8ACXzqmtWRX6koTYbJI6vtFPbgRfi54jNU+T4sXJzRc0beUFzyWjlcWxhsUMuvPGBuHX/hbltm8zWXOXy3UzUj5ZquKJxYYYN6ADnBwLuh1yOaSNh1h2HGLRi0FTDZrZSWuKqqZKydlJC2ISzSHmfI7Q6uce8nqvRabRQ2C2U1utlHT2630sYigpaWJscUTB3Na1oAAHyBetAREQEREBERAREQEREBERAREQEREBERAREQEREBa++FHw/4XcXaahtWZUlwut5tjZfExZZyyooxNyF5JJ7Ic3ZxnUgJ0NtHUqyOK+bTYta6ejt7xHdriXMil1zdhG3XaS6PQkbaBvpzOBIIBCpGKJsLSGg+k4vc4kkucTsuJPUkkkknqSdlei+HfDI2mnfY3+vdGv8AByao3HwInUF/prniGR1dlNJM2emdcnNqJ43tPMx/PG1gBBAPct6qTjtf46SFlTjVvnqWsaJZY7o9jXu11Ib2B5QT6tnXylQVF6L5XsX0/Wr3M3ksD4ebz9VaL74f+7p8PN5+qtF98P8A3dV+ivyvYvp+tXuZvJYHw83n6q0X3w/93T4ebz9VaL74f+7qvZZWQRPkke2ONgLnPcdBoHeSfUF10VdTXOjgq6Ooiq6SdgkingeHskYRsOa4dCCOoIU+WbFy3frV7mbyUDxu8HG/8eeLtxzTIL/DBSVLmMitdK0l0FOwBrYmSOGt62S7l6ucTobVweDrwI4NcG8tt1+bQ3yjyak520t1vdcJYI3SMdG7RhDGDbHuG5WAdeh3oqSIQHAgjYPeCtdfwnY64tTTl/CZ/eZM3k2l71yqc4PZlLQ3GLGKuQvo5WONuc7viLG7dAP/AG8oc5o/ihrhvXKBca8XtezV7Jizh1flOsAiIuMEREBERAREQEREBERAREQEREBERAREQEREFC8XpnT8R5GO+LBbYGsB305pJS4/8dAf1VE1YnHCwvp7tbcgjaTBJGLfUuA+IeYuhJ+QbdI3fyuaPWq1rX1EVFUPpIY6iqbG4xRSyGNj369FrnAO5QToE6OvkPcv0b4dXTXslE090W6JU7kUNF6z3fXE7Hr7Mgl/dFzHec7dIwSYrY2MJHM5t/lJA9Z14oNrs3tOk9J9mKqrbxH4j5bTSZHYLddamldWSMpbY2kofEZII5nRkPlfMJw8hpJcAAHdA0jqffkGZZlDaeJOQUmRCCnxW5yR01tNDC5k8bIoZHMkeRzaIeQC0tI6kl3QCeUPCC32m+SV1svV8tdHLWePyWekrAyjfMXczjy8vMA4jZaHBp2eml6qvhZaa2xZfaX1FYKfJ55Kisc17OeNz42RkRnl0BqNuth3UlcEYGNl7apv+PfaeX59yobf75kme3nM6G03wY7abBSRxujbRxzyVk0tP2x5y/4rA1zWgN0SdnmHRS/gp/oewn+hqT/otXmvnB22Xi81Fzp7tebJUVlMykrha6psbKxjGlrO1BY70g0kBzdHXrXbQ0OSYTa7fYMesVvudnttLDS09VcLy6Cd7WMDfTY2mcN9O8Hr36Hct1FNdGJNdfnrPf2dnd2CcIoab1nvTWJ2P7d5BL+6KQWCqu9XROfebfS22qEhDYaOsdVMLNDTud0cZB3vpr1Dr16ddOJFU2i/SUZe3zupb9Yp4zqSO6Ugb37PNMxjgPytc4f8VtCtdsAsL8kze2xBhdS297bhUv10byk9k3fymQAj7I3fItiV5D45XTOLRTHOI7fz/vq2dwiIvNIIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIPPX0FNdaKejq4WVFLOwxyRSDbXNPeCqRynhRerBM+S0wvvds72sa8CqiHyEOIEgHyg832E9TeyLv2TbcXY6r4fKecTyVqy+OshJEtpu8Lh05ZLZUNP8Ac6/lC+Oaf6Ouf3dP+wtqUX2/ntX0/X+EtDVbmn+jrn93T/sJzT/R1z+7p/2FtSifPavp+v8ABaGq3NP9HXP7un/YTmn+jrn93T/sLalE+e1fT9f4LQ1YaKl5022XRx/ktttQSfyDk6rO2HAckyWVohtstqpSfSrLpGY+Uevli2HuP2ENB/lBbFItdfxzFmLUURE9V7GFxPE6HD7UKKiDnFx55qiTRknfoAucR6+gGh0AAA0As0iLzlddWJVNdc3mUERFgCIiAiIgIiICIiAiIgIiIP/Z",
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from IPython.display import Image\n",
+ "\n",
+ "Image(app.get_graph().draw_mermaid_png())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "74f3e276-f003-4112-ba14-c6952076c4f8",
+ "metadata": {},
+ "source": [
+ "## Invoke graph\n",
+ "\n",
+ "We can step through the execution as follows, printing out the summary as it is refined:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "0701bb7d-fbc6-497e-a577-25d56e6e43c6",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Apples are characterized by their red color.\n",
+ "Apples are characterized by their red color, while blueberries are known for their blue hue.\n",
+ "Apples are characterized by their red color, blueberries are known for their blue hue, and bananas are recognized for their yellow color.\n"
+ ]
+ }
+ ],
+ "source": [
+ "async for step in app.astream(\n",
+ " {\"contents\": [doc.page_content for doc in documents]},\n",
+ " stream_mode=\"values\",\n",
+ "):\n",
+ " if summary := step.get(\"summary\"):\n",
+ " print(summary)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "49147724-de8b-44fd-bf13-5ef3432c7c6b",
+ "metadata": {},
+ "source": [
+ "The final `step` contains the summary as synthesized from the entire set of documents."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f15c225a-db1d-48cf-b135-f588e7d615e6",
+ "metadata": {},
+ "source": [
+ "## Next steps\n",
+ "\n",
+ "Check out the summarization [how-to guides](/docs/how_to/#summarization) for additional summarization strategies, including those designed for larger volumes of text.\n",
+ "\n",
+ "See [this tutorial](/docs/tutorials/summarization) for more detail on summarization.\n",
+ "\n",
+ "See also the [LangGraph documentation](https://langchain-ai.github.io/langgraph/) for detail on building with LangGraph."
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.4"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/docs/docs/how_to/summarize_stuff.ipynb b/docs/docs/how_to/summarize_stuff.ipynb
new file mode 100644
index 0000000000000..3c47398752a65
--- /dev/null
+++ b/docs/docs/how_to/summarize_stuff.ipynb
@@ -0,0 +1,209 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "c47f5b2f-e14c-43e7-a0ab-d71562636624",
+ "metadata": {},
+ "source": [
+ "---\n",
+ "sidebar_position: 3\n",
+ "keywords: [summarize, summarization, stuff, create_stuff_documents_chain]\n",
+ "---"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "682a4f53-27db-43ef-a909-dd9ded76051b",
+ "metadata": {},
+ "source": [
+ "# How to summarize text in a single LLM call\n",
+ "\n",
+ "LLMs can summarize and otherwise distill desired information from text, including large volumes of text. In many cases, especially for models with larger context windows, this can be adequately achieved via a single LLM call.\n",
+ "\n",
+ "LangChain implements a simple [pre-built chain](https://api.python.langchain.com/en/latest/chains/langchain.chains.combine_documents.stuff.create_stuff_documents_chain.html) that \"stuffs\" a prompt with the desired context for summarization and other purposes. In this guide we demonstrate how to use the chain."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "4aa52e84-d1b5-4b33-b4c4-541156686ef3",
+ "metadata": {},
+ "source": [
+ "## Load chat model\n",
+ "\n",
+ "Let's first load a chat model:\n",
+ "```{=mdx}\n",
+ "import ChatModelTabs from \"@theme/ChatModelTabs\";\n",
+ "\n",
+ "\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "e5f426fc-cea6-4351-8931-1e422d3c8b69",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# | output: false\n",
+ "# | echo: false\n",
+ "\n",
+ "from langchain_openai import ChatOpenAI\n",
+ "\n",
+ "llm = ChatOpenAI(model=\"gpt-4o-mini\", temperature=0)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "b137fe82-0a53-4910-b53e-b87a297f329d",
+ "metadata": {},
+ "source": [
+ "## Load documents"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a81dc91d-ae72-4996-b809-d4a9050e815e",
+ "metadata": {},
+ "source": [
+ "Next, we need some documents to summarize. Below, we generate some toy documents for illustrative purposes. See the document loader [how-to guides](/docs/how_to/#document-loaders) and [integration pages](/docs/integrations/document_loaders/) for additional sources of data. The [summarization tutorial](/docs/tutorials/summarization) also includes an example summarizing a blog post."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "27c8fed0-b2d7-4549-a086-f5ee657efc41",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langchain_core.documents import Document\n",
+ "\n",
+ "documents = [\n",
+ " Document(page_content=\"Apples are red\", metadata={\"title\": \"apple_book\"}),\n",
+ " Document(page_content=\"Blueberries are blue\", metadata={\"title\": \"blueberry_book\"}),\n",
+ " Document(page_content=\"Bananas are yelow\", metadata={\"title\": \"banana_book\"}),\n",
+ "]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "84216044-6f1e-4b90-b4fa-29ec305abf51",
+ "metadata": {},
+ "source": [
+ "## Load chain\n",
+ "\n",
+ "Below, we define a simple prompt and instantiate the chain with our chat model and documents:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "669afa40-2708-4fa1-841e-c74a67bd9175",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langchain.chains.combine_documents import create_stuff_documents_chain\n",
+ "from langchain_core.prompts import ChatPromptTemplate\n",
+ "\n",
+ "prompt = ChatPromptTemplate.from_template(\"Summarize this content: {context}\")\n",
+ "chain = create_stuff_documents_chain(llm, prompt)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "74f3e276-f003-4112-ba14-c6952076c4f8",
+ "metadata": {},
+ "source": [
+ "## Invoke chain\n",
+ "\n",
+ "Because the chain is a [Runnable](/docs/concepts/#runnable-interface), it implements the usual methods for invocation:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "0701bb7d-fbc6-497e-a577-25d56e6e43c6",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'The content describes the colors of three fruits: apples are red, blueberries are blue, and bananas are yellow.'"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "result = chain.invoke({\"context\": documents})\n",
+ "result"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "14fb5647-1458-43af-afb7-5aae7b8cab1d",
+ "metadata": {},
+ "source": [
+ "### Streaming\n",
+ "\n",
+ "Note that the chain also supports streaming of individual output tokens:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "0d7a5f67-2ec8-4f90-b085-2969fcb14dce",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "|The| content| describes| the| colors| of| three| fruits|:| apples| are| red|,| blueberries| are| blue|,| and| bananas| are| yellow|.||"
+ ]
+ }
+ ],
+ "source": [
+ "for chunk in chain.stream({\"context\": documents}):\n",
+ " print(chunk, end=\"|\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f15c225a-db1d-48cf-b135-f588e7d615e6",
+ "metadata": {},
+ "source": [
+ "## Next steps\n",
+ "\n",
+ "See the summarization [how-to guides](/docs/how_to/#summarization) for additional summarization strategies, including those designed for larger volumes of text.\n",
+ "\n",
+ "See also [this tutorial](/docs/tutorials/summarization) for more detail on summarization."
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.4"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/docs/docs/how_to/tool_calling.ipynb b/docs/docs/how_to/tool_calling.ipynb
index 5e38d15fbace8..8263604c5c72d 100644
--- a/docs/docs/how_to/tool_calling.ipynb
+++ b/docs/docs/how_to/tool_calling.ipynb
@@ -101,7 +101,9 @@
"\n",
"### Pydantic class\n",
"\n",
- "You can equivalently define the schemas without the accompanying functions using [Pydantic](https://docs.pydantic.dev):"
+ "You can equivalently define the schemas without the accompanying functions using [Pydantic](https://docs.pydantic.dev).\n",
+ "\n",
+ "Note that all fields are `required` unless provided a default value.\n"
]
},
{
diff --git a/docs/docs/integrations/caches/redis_llm_caching.ipynb b/docs/docs/integrations/caches/redis_llm_caching.ipynb
new file mode 100644
index 0000000000000..d30cd8241d94e
--- /dev/null
+++ b/docs/docs/integrations/caches/redis_llm_caching.ipynb
@@ -0,0 +1,424 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Redis Cache for LangChain\n",
+ "\n",
+ "This notebook demonstrates how to use the `RedisCache` and `RedisSemanticCache` classes from the langchain-redis package to implement caching for LLM responses."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Setup\n",
+ "\n",
+ "First, let's install the required dependencies and ensure we have a Redis instance running."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%pip install -U langchain-core langchain-redis langchain-openai redis"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Ensure you have a Redis server running. You can start one using Docker with:\n",
+ "\n",
+ "```\n",
+ "docker run -d -p 6379:6379 redis:latest\n",
+ "```\n",
+ "\n",
+ "Or install and run Redis locally according to your operating system's instructions."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Connecting to Redis at: redis://redis:6379\n"
+ ]
+ }
+ ],
+ "source": [
+ "import os\n",
+ "\n",
+ "# Use the environment variable if set, otherwise default to localhost\n",
+ "REDIS_URL = os.getenv(\"REDIS_URL\", \"redis://localhost:6379\")\n",
+ "print(f\"Connecting to Redis at: {REDIS_URL}\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Importing Required Libraries"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import time\n",
+ "\n",
+ "from langchain.globals import set_llm_cache\n",
+ "from langchain.schema import Generation\n",
+ "from langchain_openai import OpenAI, OpenAIEmbeddings\n",
+ "from langchain_redis import RedisCache, RedisSemanticCache"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import langchain_core\n",
+ "import langchain_openai\n",
+ "import openai\n",
+ "import redis"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Set OpenAI API key"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "OpenAI API key not found in environment variables.\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Please enter your OpenAI API key: ········\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "OpenAI API key has been set for this session.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from getpass import getpass\n",
+ "\n",
+ "# Check if OPENAI_API_KEY is already set in the environment\n",
+ "openai_api_key = os.getenv(\"OPENAI_API_KEY\")\n",
+ "\n",
+ "if not openai_api_key:\n",
+ " print(\"OpenAI API key not found in environment variables.\")\n",
+ " openai_api_key = getpass(\"Please enter your OpenAI API key: \")\n",
+ "\n",
+ " # Set the API key for the current session\n",
+ " os.environ[\"OPENAI_API_KEY\"] = openai_api_key\n",
+ " print(\"OpenAI API key has been set for this session.\")\n",
+ "else:\n",
+ " print(\"OpenAI API key found in environment variables.\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Using RedisCache"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "First call (not cached):\n",
+ "Result: \n",
+ "\n",
+ "Caching is the process of storing frequently accessed data in a temporary storage location for faster retrieval. This helps to reduce the time and resources needed to access the data from its original source. Caching is commonly used in computer systems, web browsers, and databases to improve performance and efficiency.\n",
+ "Time: 1.16 seconds\n",
+ "\n",
+ "Second call (cached):\n",
+ "Result: \n",
+ "\n",
+ "Caching is the process of storing frequently accessed data in a temporary storage location for faster retrieval. This helps to reduce the time and resources needed to access the data from its original source. Caching is commonly used in computer systems, web browsers, and databases to improve performance and efficiency.\n",
+ "Time: 0.05 seconds\n",
+ "\n",
+ "Speed improvement: 25.40x faster\n",
+ "Cache cleared\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialize RedisCache\n",
+ "redis_cache = RedisCache(redis_url=REDIS_URL)\n",
+ "\n",
+ "# Set the cache for LangChain to use\n",
+ "set_llm_cache(redis_cache)\n",
+ "\n",
+ "# Initialize the language model\n",
+ "llm = OpenAI(temperature=0)\n",
+ "\n",
+ "\n",
+ "# Function to measure execution time\n",
+ "def timed_completion(prompt):\n",
+ " start_time = time.time()\n",
+ " result = llm.invoke(prompt)\n",
+ " end_time = time.time()\n",
+ " return result, end_time - start_time\n",
+ "\n",
+ "\n",
+ "# First call (not cached)\n",
+ "prompt = \"Explain the concept of caching in three sentences.\"\n",
+ "result1, time1 = timed_completion(prompt)\n",
+ "print(f\"First call (not cached):\\nResult: {result1}\\nTime: {time1:.2f} seconds\\n\")\n",
+ "\n",
+ "# Second call (should be cached)\n",
+ "result2, time2 = timed_completion(prompt)\n",
+ "print(f\"Second call (cached):\\nResult: {result2}\\nTime: {time2:.2f} seconds\\n\")\n",
+ "\n",
+ "print(f\"Speed improvement: {time1 / time2:.2f}x faster\")\n",
+ "\n",
+ "# Clear the cache\n",
+ "redis_cache.clear()\n",
+ "print(\"Cache cleared\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Using RedisSemanticCache"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Original query:\n",
+ "Prompt: What is the capital of France?\n",
+ "Result: \n",
+ "\n",
+ "The capital of France is Paris.\n",
+ "Time: 1.52 seconds\n",
+ "\n",
+ "Similar query:\n",
+ "Prompt: Can you tell me the capital city of France?\n",
+ "Result: \n",
+ "\n",
+ "The capital of France is Paris.\n",
+ "Time: 0.29 seconds\n",
+ "\n",
+ "Speed improvement: 5.22x faster\n",
+ "Semantic cache cleared\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialize RedisSemanticCache\n",
+ "embeddings = OpenAIEmbeddings()\n",
+ "semantic_cache = RedisSemanticCache(\n",
+ " redis_url=REDIS_URL, embeddings=embeddings, distance_threshold=0.2\n",
+ ")\n",
+ "\n",
+ "# Set the cache for LangChain to use\n",
+ "set_llm_cache(semantic_cache)\n",
+ "\n",
+ "\n",
+ "# Function to test semantic cache\n",
+ "def test_semantic_cache(prompt):\n",
+ " start_time = time.time()\n",
+ " result = llm.invoke(prompt)\n",
+ " end_time = time.time()\n",
+ " return result, end_time - start_time\n",
+ "\n",
+ "\n",
+ "# Original query\n",
+ "original_prompt = \"What is the capital of France?\"\n",
+ "result1, time1 = test_semantic_cache(original_prompt)\n",
+ "print(\n",
+ " f\"Original query:\\nPrompt: {original_prompt}\\nResult: {result1}\\nTime: {time1:.2f} seconds\\n\"\n",
+ ")\n",
+ "\n",
+ "# Semantically similar query\n",
+ "similar_prompt = \"Can you tell me the capital city of France?\"\n",
+ "result2, time2 = test_semantic_cache(similar_prompt)\n",
+ "print(\n",
+ " f\"Similar query:\\nPrompt: {similar_prompt}\\nResult: {result2}\\nTime: {time2:.2f} seconds\\n\"\n",
+ ")\n",
+ "\n",
+ "print(f\"Speed improvement: {time1 / time2:.2f}x faster\")\n",
+ "\n",
+ "# Clear the semantic cache\n",
+ "semantic_cache.clear()\n",
+ "print(\"Semantic cache cleared\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Advanced Usage"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Custom TTL (Time-To-Live)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Cached result: Cached response\n",
+ "Waiting for TTL to expire...\n",
+ "Result after TTL: Not found (expired)\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialize RedisCache with custom TTL\n",
+ "ttl_cache = RedisCache(redis_url=REDIS_URL, ttl=5) # 60 seconds TTL\n",
+ "\n",
+ "# Update a cache entry\n",
+ "ttl_cache.update(\"test_prompt\", \"test_llm\", [Generation(text=\"Cached response\")])\n",
+ "\n",
+ "# Retrieve the cached entry\n",
+ "cached_result = ttl_cache.lookup(\"test_prompt\", \"test_llm\")\n",
+ "print(f\"Cached result: {cached_result[0].text if cached_result else 'Not found'}\")\n",
+ "\n",
+ "# Wait for TTL to expire\n",
+ "print(\"Waiting for TTL to expire...\")\n",
+ "time.sleep(6)\n",
+ "\n",
+ "# Try to retrieve the expired entry\n",
+ "expired_result = ttl_cache.lookup(\"test_prompt\", \"test_llm\")\n",
+ "print(\n",
+ " f\"Result after TTL: {expired_result[0].text if expired_result else 'Not found (expired)'}\"\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Customizing RedisSemanticCache"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Original result: \n",
+ "\n",
+ "The largest planet in our solar system is Jupiter.\n",
+ "Similar query result: \n",
+ "\n",
+ "The largest planet in our solar system is Jupiter.\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialize RedisSemanticCache with custom settings\n",
+ "custom_semantic_cache = RedisSemanticCache(\n",
+ " redis_url=REDIS_URL,\n",
+ " embeddings=embeddings,\n",
+ " distance_threshold=0.1, # Stricter similarity threshold\n",
+ " ttl=3600, # 1 hour TTL\n",
+ " name=\"custom_cache\", # Custom cache name\n",
+ ")\n",
+ "\n",
+ "# Test the custom semantic cache\n",
+ "set_llm_cache(custom_semantic_cache)\n",
+ "\n",
+ "test_prompt = \"What's the largest planet in our solar system?\"\n",
+ "result, _ = test_semantic_cache(test_prompt)\n",
+ "print(f\"Original result: {result}\")\n",
+ "\n",
+ "# Try a slightly different query\n",
+ "similar_test_prompt = \"Which planet is the biggest in the solar system?\"\n",
+ "similar_result, _ = test_semantic_cache(similar_test_prompt)\n",
+ "print(f\"Similar query result: {similar_result}\")\n",
+ "\n",
+ "# Clean up\n",
+ "custom_semantic_cache.clear()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Conclusion\n",
+ "\n",
+ "This notebook demonstrated the usage of `RedisCache` and `RedisSemanticCache` from the langchain-redis package. These caching mechanisms can significantly improve the performance of LLM-based applications by reducing redundant API calls and leveraging semantic similarity for intelligent caching. The Redis-based implementation provides a fast, scalable, and flexible solution for caching in distributed systems."
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/docs/docs/integrations/callbacks/infino.ipynb b/docs/docs/integrations/callbacks/infino.ipynb
index ff254ff687a66..e0f9304086136 100644
--- a/docs/docs/integrations/callbacks/infino.ipynb
+++ b/docs/docs/integrations/callbacks/infino.ipynb
@@ -37,7 +37,8 @@
"%pip install --upgrade --quiet infinopy\n",
"%pip install --upgrade --quiet matplotlib\n",
"%pip install --upgrade --quiet tiktoken\n",
- "%pip install --upgrade --quiet langchain langchain-openai langchain-community"
+ "%pip install --upgrade --quiet langchain langchain-openai langchain-community\n",
+ "%pip install --upgrade --quiet beautifulsoup4"
]
},
{
diff --git a/docs/docs/integrations/chat/bedrock.ipynb b/docs/docs/integrations/chat/bedrock.ipynb
index f20196029eb6d..28083f0434e7f 100644
--- a/docs/docs/integrations/chat/bedrock.ipynb
+++ b/docs/docs/integrations/chat/bedrock.ipynb
@@ -95,7 +95,7 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 1,
"id": "cb09c344-1836-4e0c-acf8-11d13ac1dbae",
"metadata": {},
"outputs": [],
@@ -223,34 +223,28 @@
"id": "d1ee55bc-ffc8-4cfa-801c-993953a08cfd",
"metadata": {},
"source": [
- "## ***Beta***: Bedrock Converse API\n",
+ "## Bedrock Converse API\n",
"\n",
- "AWS has recently recently the Bedrock Converse API which provides a unified conversational interface for Bedrock models. This API does not yet support custom models. You can see a list of all [models that are supported here](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html). To improve reliability the ChatBedrock integration will switch to using the Bedrock Converse API as soon as it has feature parity with the existing Bedrock API. Until then a separate [ChatBedrockConverse](https://api.python.langchain.com/en/latest/chat_models/langchain_aws.chat_models.bedrock_converse.ChatBedrockConverse.html#langchain_aws.chat_models.bedrock_converse.ChatBedrockConverse) integration has been released in beta for users who do not need to use custom models.\n",
+ "AWS has recently released the Bedrock Converse API which provides a unified conversational interface for Bedrock models. This API does not yet support custom models. You can see a list of all [models that are supported here](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html). To improve reliability the ChatBedrock integration will switch to using the Bedrock Converse API as soon as it has feature parity with the existing Bedrock API. Until then a separate [ChatBedrockConverse](https://python.langchain.com/v0.2/api_reference/aws/chat_models/langchain_aws.chat_models.bedrock_converse.ChatBedrockConverse.html) integration has been released.\n",
+ "\n",
+ "We recommend using `ChatBedrockConverse` for users who do not need to use custom models.\n",
"\n",
"You can use it like so:"
]
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 3,
"id": "ae728e59-94d4-40cf-9d24-25ad8723fc59",
"metadata": {},
"outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "/Users/bagatur/langchain/libs/core/langchain_core/_api/beta_decorator.py:87: LangChainBetaWarning: The class `ChatBedrockConverse` is in beta. It is actively being worked on, so the API may change.\n",
- " warn_beta(\n"
- ]
- },
{
"data": {
"text/plain": [
- "AIMessage(content=\"Voici la traduction en français :\\n\\nJ'aime la programmation.\", response_metadata={'ResponseMetadata': {'RequestId': '122fb1c8-c3c5-4b06-941e-c95d210bfbc7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Mon, 01 Jul 2024 21:48:25 GMT', 'content-type': 'application/json', 'content-length': '243', 'connection': 'keep-alive', 'x-amzn-requestid': '122fb1c8-c3c5-4b06-941e-c95d210bfbc7'}, 'RetryAttempts': 0}, 'stopReason': 'end_turn', 'metrics': {'latencyMs': 830}}, id='run-0e3df22f-fcd8-4fbb-a4fb-565227e7e430-0', usage_metadata={'input_tokens': 29, 'output_tokens': 21, 'total_tokens': 50})"
+ "AIMessage(content=\"Voici la traduction en français :\\n\\nJ'aime la programmation.\", response_metadata={'ResponseMetadata': {'RequestId': '4fcbfbe9-f916-4df2-b0bd-ea1147b550aa', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Wed, 21 Aug 2024 17:23:49 GMT', 'content-type': 'application/json', 'content-length': '243', 'connection': 'keep-alive', 'x-amzn-requestid': '4fcbfbe9-f916-4df2-b0bd-ea1147b550aa'}, 'RetryAttempts': 0}, 'stopReason': 'end_turn', 'metrics': {'latencyMs': 672}}, id='run-77ee9810-e32b-45dc-9ccb-6692253b1f45-0', usage_metadata={'input_tokens': 29, 'output_tokens': 21, 'total_tokens': 50})"
]
},
- "execution_count": 8,
+ "execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
@@ -268,6 +262,87 @@
"llm.invoke(messages)"
]
},
+ {
+ "cell_type": "markdown",
+ "id": "4da16f3e-e80b-48c0-8036-c1cc5f7c8c05",
+ "metadata": {},
+ "source": [
+ "### Streaming\n",
+ "\n",
+ "Note that `ChatBedrockConverse` emits content blocks while streaming:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "7794b32e-d8de-4973-bf0f-39807dc745f0",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "content=[] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': 'Vo', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': 'ici', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': ' la', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': ' tra', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': 'duction', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': ' en', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': ' français', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': ' :', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': '\\n\\nJ', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': \"'\", 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': 'a', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': 'ime', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': ' la', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': ' programm', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': 'ation', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'type': 'text', 'text': '.', 'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[{'index': 0}] id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[] response_metadata={'stopReason': 'end_turn'} id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8'\n",
+ "content=[] response_metadata={'metrics': {'latencyMs': 713}} id='run-2c92c5af-d771-4cc2-98d9-c11bbd30a1d8' usage_metadata={'input_tokens': 29, 'output_tokens': 21, 'total_tokens': 50}\n"
+ ]
+ }
+ ],
+ "source": [
+ "for chunk in llm.stream(messages):\n",
+ " print(chunk)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "0ef05abb-9c04-4dc3-995e-f857779644d5",
+ "metadata": {},
+ "source": [
+ "An output parser can be used to filter to text, if desired:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "2a4e743f-ea7d-4e5a-9b12-f9992362de8b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "|Vo|ici| la| tra|duction| en| français| :|\n",
+ "\n",
+ "J|'|a|ime| la| programm|ation|.||||"
+ ]
+ }
+ ],
+ "source": [
+ "from langchain_core.output_parsers import StrOutputParser\n",
+ "\n",
+ "chain = llm | StrOutputParser()\n",
+ "\n",
+ "for chunk in chain.stream(messages):\n",
+ " print(chunk, end=\"|\")"
+ ]
+ },
{
"cell_type": "markdown",
"id": "3a5bb5ca-c3ae-4a58-be67-2cd18574b9a3",
@@ -297,7 +372,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.11.9"
+ "version": "3.10.4"
}
},
"nbformat": 4,
diff --git a/docs/docs/integrations/chat/databricks.ipynb b/docs/docs/integrations/chat/databricks.ipynb
index f0612c90d1a43..448935d041f95 100644
--- a/docs/docs/integrations/chat/databricks.ipynb
+++ b/docs/docs/integrations/chat/databricks.ipynb
@@ -31,7 +31,7 @@
"\n",
"| Class | Package | Local | Serializable | Package downloads | Package latest |\n",
"| :--- | :--- | :---: | :---: | :---: | :---: |\n",
- "| [ChatDatabricks](https://api.python.langchain.com/en/latest/chat_models/langchain_community.chat_models.databricks.ChatDatabricks.html) | [langchain-community](https://api.python.langchain.com/en/latest/community_api_reference.html) | ❌ | beta | ![PyPI - Downloads](https://img.shields.io/pypi/dm/langchain-community?style=flat-square&label=%20) | ![PyPI - Version](https://img.shields.io/pypi/v/langchain-community?style=flat-square&label=%20) |\n",
+ "| [ChatDatabricks](https://api.python.langchain.com/en/latest/chat_models/langchain_community.chat_models.databricks.ChatDatabricks.html) | [langchain-databricks](https://api.python.langchain.com/en/latest/databricks_api_reference.html) | ❌ | beta | ![PyPI - Downloads](https://img.shields.io/pypi/dm/langchain-databricks?style=flat-square&label=%20) | ![PyPI - Version](https://img.shields.io/pypi/v/langchain-databricks?style=flat-square&label=%20) |\n",
"\n",
"### Model features\n",
"| [Tool calling](/docs/how_to/tool_calling/) | [Structured output](/docs/how_to/structured_output/) | JSON mode | [Image input](/docs/how_to/multimodal_inputs/) | Audio input | Video input | [Token-level streaming](/docs/how_to/chat_streaming/) | Native async | [Token usage](/docs/how_to/chat_token_usage_tracking/) | [Logprobs](/docs/how_to/logprobs/) |\n",
@@ -99,7 +99,7 @@
"source": [
"### Installation\n",
"\n",
- "The LangChain Databricks integration lives in the `langchain-community` package. Also, `mlflow >= 2.9 ` is required to run the code in this notebook."
+ "The LangChain Databricks integration lives in the `langchain-databricks` package."
]
},
{
@@ -108,7 +108,7 @@
"metadata": {},
"outputs": [],
"source": [
- "%pip install -qU langchain-community mlflow>=2.9.0"
+ "%pip install -qU langchain-databricks"
]
},
{
@@ -133,7 +133,7 @@
"metadata": {},
"outputs": [],
"source": [
- "from langchain_community.chat_models import ChatDatabricks\n",
+ "from langchain_databricks import ChatDatabricks\n",
"\n",
"chat_model = ChatDatabricks(\n",
" endpoint=\"databricks-dbrx-instruct\",\n",
@@ -245,9 +245,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Invocation (streaming)\n",
- "\n",
- "`ChatDatabricks` supports streaming response by `stream` method since `langchain-community>=0.2.1`."
+ "## Invocation (streaming)"
]
},
{
@@ -299,7 +297,7 @@
"* An LLM was registered and deployed to [a Databricks serving endpoint](https://docs.databricks.com/machine-learning/model-serving/index.html) via MLflow. The endpoint must have OpenAI-compatible chat input/output format ([reference](https://mlflow.org/docs/latest/llms/deployments/index.html#chat))\n",
"* You have [\"Can Query\" permission](https://docs.databricks.com/security/auth-authz/access-control/serving-endpoint-acl.html) to the endpoint.\n",
"\n",
- "Once the endpoint is ready, the usage pattern is completely same as Foundation Models."
+ "Once the endpoint is ready, the usage pattern is identical to that of Foundation Models."
]
},
{
@@ -332,7 +330,7 @@
"\n",
"First, create a new Databricks serving endpoint that proxies requests to the target external model. The endpoint creation should be fairy quick for proxying external models.\n",
"\n",
- "This requires registering OpenAI API Key in Databricks secret manager with the following comment:\n",
+ "This requires registering your OpenAI API Key within the Databricks secret manager as follows:\n",
"```sh\n",
"# Replace `` with your scope\n",
"databricks secrets create-scope \n",
@@ -417,8 +415,6 @@
"metadata": {},
"outputs": [],
"source": [
- "from langchain_community.chat_models.databricks import ChatDatabricks\n",
- "\n",
"llm = ChatDatabricks(endpoint=\"databricks-meta-llama-3-70b-instruct\")\n",
"tools = [\n",
" {\n",
@@ -461,7 +457,7 @@
"source": [
"## API reference\n",
"\n",
- "For detailed documentation of all ChatDatabricks features and configurations head to the API reference: https://api.python.langchain.com/en/latest/chat_models/langchain_community.chat_models.ChatDatabricks.html"
+ "For detailed documentation of all ChatDatabricks features and configurations head to the API reference: https://api.python.langchain.com/en/latest/chat_models/langchain_databricks.chat_models.ChatDatabricks.html"
]
}
],
diff --git a/docs/docs/integrations/chat/ollama.ipynb b/docs/docs/integrations/chat/ollama.ipynb
index f59474094a716..427590d01ed3d 100644
--- a/docs/docs/integrations/chat/ollama.ipynb
+++ b/docs/docs/integrations/chat/ollama.ipynb
@@ -110,7 +110,7 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 9,
"id": "cb09c344-1836-4e0c-acf8-11d13ac1dbae",
"metadata": {},
"outputs": [],
@@ -118,7 +118,7 @@
"from langchain_ollama import ChatOllama\n",
"\n",
"llm = ChatOllama(\n",
- " model=\"llama3\",\n",
+ " model=\"llama3.1\",\n",
" temperature=0,\n",
" # other params...\n",
")"
@@ -134,7 +134,7 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 10,
"id": "62e0dbc3",
"metadata": {
"tags": []
@@ -143,10 +143,10 @@
{
"data": {
"text/plain": [
- "AIMessage(content='Je adore le programmation.\\n\\n(Note: \"programmation\" is not commonly used in French, but I translated it as \"le programmation\" to maintain the same grammatical structure and meaning as the original English sentence.)', response_metadata={'model': 'llama3', 'created_at': '2024-07-22T17:43:54.731273Z', 'message': {'role': 'assistant', 'content': ''}, 'done_reason': 'stop', 'done': True, 'total_duration': 11094839375, 'load_duration': 10121854667, 'prompt_eval_count': 36, 'prompt_eval_duration': 146569000, 'eval_count': 46, 'eval_duration': 816593000}, id='run-befccbdc-e1f9-42a9-85cf-e69b926d6b8b-0', usage_metadata={'input_tokens': 36, 'output_tokens': 46, 'total_tokens': 82})"
+ "AIMessage(content='The translation of \"I love programming\" from English to French is:\\n\\n\"J\\'adore programmer.\"', response_metadata={'model': 'llama3.1', 'created_at': '2024-08-19T16:05:32.81965Z', 'message': {'role': 'assistant', 'content': ''}, 'done_reason': 'stop', 'done': True, 'total_duration': 2167842917, 'load_duration': 54222584, 'prompt_eval_count': 35, 'prompt_eval_duration': 893007000, 'eval_count': 22, 'eval_duration': 1218962000}, id='run-0863daa2-43bf-4a43-86cc-611b23eae466-0', usage_metadata={'input_tokens': 35, 'output_tokens': 22, 'total_tokens': 57})"
]
},
- "execution_count": 4,
+ "execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
@@ -167,7 +167,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 11,
"id": "d86145b3-bfef-46e8-b227-4dda5c9c2705",
"metadata": {},
"outputs": [
@@ -175,9 +175,9 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "Je adore le programmation.\n",
+ "The translation of \"I love programming\" from English to French is:\n",
"\n",
- "(Note: \"programmation\" is not commonly used in French, but I translated it as \"le programmation\" to maintain the same grammatical structure and meaning as the original English sentence.)\n"
+ "\"J'adore programmer.\"\n"
]
}
],
@@ -197,17 +197,17 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 12,
"id": "e197d1d7-a070-4c96-9f8a-a0e86d046e0b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "AIMessage(content='Ich liebe Programmieren!\\n\\n(Note: \"Ich liebe\" means \"I love\", \"Programmieren\" is the verb for \"programming\")', response_metadata={'model': 'llama3', 'created_at': '2024-07-04T04:22:33.864132Z', 'message': {'role': 'assistant', 'content': ''}, 'done_reason': 'stop', 'done': True, 'total_duration': 1310800083, 'load_duration': 1782000, 'prompt_eval_count': 16, 'prompt_eval_duration': 250199000, 'eval_count': 29, 'eval_duration': 1057192000}, id='run-cbadbe59-2de2-4ec0-a18a-b3220226c3d2-0')"
+ "AIMessage(content='Das Programmieren ist mir ein Leidenschaft! (That\\'s \"Programming is my passion!\" in German.) Would you like me to translate anything else?', response_metadata={'model': 'llama3.1', 'created_at': '2024-08-19T16:05:34.893548Z', 'message': {'role': 'assistant', 'content': ''}, 'done_reason': 'stop', 'done': True, 'total_duration': 2045997333, 'load_duration': 22584792, 'prompt_eval_count': 30, 'prompt_eval_duration': 213210000, 'eval_count': 32, 'eval_duration': 1808541000}, id='run-d18e1c6b-50e0-4b1d-b23a-973fa058edad-0', usage_metadata={'input_tokens': 30, 'output_tokens': 32, 'total_tokens': 62})"
]
},
- "execution_count": 9,
+ "execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
@@ -242,33 +242,32 @@
"source": [
"## Tool calling\n",
"\n",
- "We can use [tool calling](https://blog.langchain.dev/improving-core-tool-interfaces-and-docs-in-langchain/) with an LLM [that has been fine-tuned for tool use](https://ollama.com/library/llama3-groq-tool-use): \n",
+ "We can use [tool calling](https://blog.langchain.dev/improving-core-tool-interfaces-and-docs-in-langchain/) with an LLM [that has been fine-tuned for tool use](https://ollama.com/library/llama3.1): \n",
"\n",
"```\n",
- "ollama pull llama3-groq-tool-use\n",
+ "ollama pull llama3.1\n",
"```\n",
"\n",
- "We can just pass normal Python functions directly as tools."
+ "Details on creating custom tools are available in [this guide](/docs/how_to/custom_tools/). Below, we demonstrate how to create a tool using the `@tool` decorator on a normal python function."
]
},
{
"cell_type": "code",
- "execution_count": 10,
- "id": "5250bceb-1029-41ff-b447-983518704d88",
+ "execution_count": 13,
+ "id": "f767015f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'name': 'validate_user',\n",
- " 'args': {'addresses': ['123 Fake St, Boston MA',\n",
- " '234 Pretend Boulevard, Houston TX'],\n",
- " 'user_id': 123},\n",
- " 'id': 'fe2148d3-95fb-48e9-845a-4bfecc1f1f96',\n",
+ " 'args': {'addresses': '[\"123 Fake St, Boston, MA\", \"234 Pretend Boulevard, Houston, TX\"]',\n",
+ " 'user_id': '123'},\n",
+ " 'id': '40fe3de0-500c-4b91-9616-5932a929e640',\n",
" 'type': 'tool_call'}]"
]
},
- "execution_count": 10,
+ "execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
@@ -276,22 +275,23 @@
"source": [
"from typing import List\n",
"\n",
+ "from langchain_core.tools import tool\n",
"from langchain_ollama import ChatOllama\n",
- "from typing_extensions import TypedDict\n",
"\n",
"\n",
- "def validate_user(user_id: int, addresses: List) -> bool:\n",
+ "@tool\n",
+ "def validate_user(user_id: int, addresses: List[str]) -> bool:\n",
" \"\"\"Validate user using historical addresses.\n",
"\n",
" Args:\n",
- " user_id: (int) the user ID.\n",
- " addresses: Previous addresses.\n",
+ " user_id (int): the user ID.\n",
+ " addresses (List[str]): Previous addresses as a list of strings.\n",
" \"\"\"\n",
" return True\n",
"\n",
"\n",
"llm = ChatOllama(\n",
- " model=\"llama3-groq-tool-use\",\n",
+ " model=\"llama3.1\",\n",
" temperature=0,\n",
").bind_tools([validate_user])\n",
"\n",
@@ -303,18 +303,6 @@
"result.tool_calls"
]
},
- {
- "cell_type": "markdown",
- "id": "2bb034ff-218f-4865-afea-3f5e57d3bdee",
- "metadata": {},
- "source": [
- "We look at the LangSmith trace to see that the tool call was performed: \n",
- "\n",
- "https://smith.langchain.com/public/4169348a-d6be-45df-a7cf-032f6baa4697/r\n",
- "\n",
- "In particular, the trace shows how the tool schema was populated."
- ]
- },
{
"cell_type": "markdown",
"id": "4c5e0197",
@@ -331,7 +319,7 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 15,
"id": "36c9b1c2",
"metadata": {},
"outputs": [
@@ -391,7 +379,7 @@
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": 16,
"id": "32b3ba7b",
"metadata": {},
"outputs": [
@@ -467,7 +455,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.11.8"
+ "version": "3.12.4"
}
},
"nbformat": 4,
diff --git a/docs/docs/integrations/chat/ollama_functions.ipynb b/docs/docs/integrations/chat/ollama_functions.ipynb
deleted file mode 100644
index 96dc9f3f2315b..0000000000000
--- a/docs/docs/integrations/chat/ollama_functions.ipynb
+++ /dev/null
@@ -1,322 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "raw",
- "metadata": {},
- "source": [
- "---\n",
- "sidebar_label: Ollama Functions\n",
- "sidebar_class_name: hidden\n",
- "---"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# OllamaFunctions\n",
- "\n",
- ":::warning\n",
- "\n",
- "This was an experimental wrapper that attempts to bolt-on tool calling support to models that do not natively support it. The [primary Ollama integration](/docs/integrations/chat/ollama/) now supports tool calling, and should be used instead.\n",
- "\n",
- ":::\n",
- "This notebook shows how to use an experimental wrapper around Ollama that gives it [tool calling capabilities](https://python.langchain.com/v0.2/docs/concepts/#functiontool-calling).\n",
- "\n",
- "Note that more powerful and capable models will perform better with complex schema and/or multiple functions. The examples below use llama3 and phi3 models.\n",
- "For a complete list of supported models and model variants, see the [Ollama model library](https://ollama.ai/library).\n",
- "\n",
- "## Overview\n",
- "\n",
- "### Integration details\n",
- "\n",
- "| Class | Package | Local | Serializable | JS support | Package downloads | Package latest |\n",
- "|:-----------------------------------------------------------------------------------------------------------------------------------:|:-------:|:-----:|:------------:|:----------:|:-----------------:|:--------------:|\n",
- "| [OllamaFunctions](https://api.python.langchain.com/en/latest/llms/langchain_experimental.llms.ollama_function.OllamaFunctions.html) | [langchain-experimental](https://api.python.langchain.com/en/latest/openai_api_reference.html) | ✅ | ❌ | ❌ | ![PyPI - Downloads](https://img.shields.io/pypi/dm/langchain-experimental?style=flat-square&label=%20) | ![PyPI - Version](https://img.shields.io/pypi/v/langchain-experimental?style=flat-square&label=%20) |\n",
- "\n",
- "### Model features\n",
- "\n",
- "| [Tool calling](/docs/how_to/tool_calling/) | [Structured output](/docs/how_to/structured_output/) | JSON mode | Image input | Audio input | Video input | [Token-level streaming](/docs/how_to/chat_streaming/) | Native async | [Token usage](/docs/how_to/chat_token_usage_tracking/) | [Logprobs](/docs/how_to/logprobs/) |\n",
- "| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |\n",
- "| ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |\n",
- "\n",
- "## Setup\n",
- "\n",
- "To access `OllamaFunctions` you will need to install `langchain-experimental` integration package.\n",
- "Follow [these instructions](https://github.com/jmorganca/ollama) to set up and run a local Ollama instance as well as download and serve [supported models](https://ollama.com/library).\n",
- "\n",
- "### Credentials\n",
- "\n",
- "Credentials support is not present at this time.\n",
- "\n",
- "### Installation\n",
- "\n",
- "The `OllamaFunctions` class lives in the `langchain-experimental` package:\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "%pip install -qU langchain-experimental"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Instantiation\n",
- "\n",
- "`OllamaFunctions` takes the same init parameters as `ChatOllama`. \n",
- "\n",
- "In order to use tool calling, you must also specify `format=\"json\"`."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {
- "ExecuteTime": {
- "end_time": "2024-06-23T15:20:21.818089Z",
- "start_time": "2024-06-23T15:20:21.815759Z"
- }
- },
- "outputs": [],
- "source": [
- "from langchain_experimental.llms.ollama_functions import OllamaFunctions\n",
- "\n",
- "llm = OllamaFunctions(model=\"phi3\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Invocation"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "ExecuteTime": {
- "end_time": "2024-06-23T15:20:46.794689Z",
- "start_time": "2024-06-23T15:20:44.982632Z"
- }
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "AIMessage(content=\"J'adore programmer.\", id='run-94815fcf-ae11-438a-ba3f-00819328b5cd-0')"
- ]
- },
- "execution_count": 3,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "messages = [\n",
- " (\n",
- " \"system\",\n",
- " \"You are a helpful assistant that translates English to French. Translate the user sentence.\",\n",
- " ),\n",
- " (\"human\", \"I love programming.\"),\n",
- "]\n",
- "ai_msg = llm.invoke(messages)\n",
- "ai_msg"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "\"J'adore programmer.\""
- ]
- },
- "execution_count": 4,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "ai_msg.content"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Chaining\n",
- "\n",
- "We can [chain](https://python.langchain.com/v0.2/docs/how_to/sequence/) our model with a prompt template like so:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "AIMessage(content='Programmieren ist sehr verrückt! Es freut mich, dass Sie auf Programmierung so positiv eingestellt sind.', id='run-ee99be5e-4d48-4ab6-b602-35415f0bdbde-0')"
- ]
- },
- "execution_count": 5,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "from langchain_core.prompts import ChatPromptTemplate\n",
- "\n",
- "prompt = ChatPromptTemplate.from_messages(\n",
- " [\n",
- " (\n",
- " \"system\",\n",
- " \"You are a helpful assistant that translates {input_language} to {output_language}.\",\n",
- " ),\n",
- " (\"human\", \"{input}\"),\n",
- " ]\n",
- ")\n",
- "\n",
- "chain = prompt | llm\n",
- "chain.invoke(\n",
- " {\n",
- " \"input_language\": \"English\",\n",
- " \"output_language\": \"German\",\n",
- " \"input\": \"I love programming.\",\n",
- " }\n",
- ")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Tool Calling\n",
- "\n",
- "### OllamaFunctions.bind_tools()\n",
- "\n",
- "With `OllamaFunctions.bind_tools`, we can easily pass in Pydantic classes, dict schemas, LangChain tools, or even functions as tools to the model. Under the hood these are converted to a tool definition schemas, which looks like:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {},
- "outputs": [],
- "source": [
- "from langchain_core.pydantic_v1 import BaseModel, Field\n",
- "\n",
- "\n",
- "class GetWeather(BaseModel):\n",
- " \"\"\"Get the current weather in a given location\"\"\"\n",
- "\n",
- " location: str = Field(..., description=\"The city and state, e.g. San Francisco, CA\")\n",
- "\n",
- "\n",
- "llm_with_tools = llm.bind_tools([GetWeather])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "AIMessage(content='', id='run-b9769435-ec6a-4cb8-8545-5a5035fc19bd-0', tool_calls=[{'name': 'GetWeather', 'args': {'location': 'San Francisco, CA'}, 'id': 'call_064c4e1cb27e4adb9e4e7ed60362ecc9'}])"
- ]
- },
- "execution_count": 8,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "ai_msg = llm_with_tools.invoke(\n",
- " \"what is the weather like in San Francisco\",\n",
- ")\n",
- "ai_msg"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### AIMessage.tool_calls\n",
- "\n",
- "Notice that the AIMessage has a `tool_calls` attribute. This contains in a standardized `ToolCall` format that is model-provider agnostic."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[{'name': 'GetWeather',\n",
- " 'args': {'location': 'San Francisco, CA'},\n",
- " 'id': 'call_064c4e1cb27e4adb9e4e7ed60362ecc9'}]"
- ]
- },
- "execution_count": 10,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "ai_msg.tool_calls"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "For more on binding tools and tool call outputs, head to the [tool calling](../../how_to/function_calling.ipynb) docs."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## API reference\n",
- "\n",
- "For detailed documentation of all ToolCallingLLM features and configurations head to the API reference: https://api.python.langchain.com/en/latest/llms/langchain_experimental.llms.ollama_functions.OllamaFunctions.html\n"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3 (ipykernel)",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.10.12"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 4
-}
diff --git a/docs/docs/integrations/document_loaders/box.ipynb b/docs/docs/integrations/document_loaders/box.ipynb
new file mode 100644
index 0000000000000..1b949ec467d26
--- /dev/null
+++ b/docs/docs/integrations/document_loaders/box.ipynb
@@ -0,0 +1,282 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "---\n",
+ "sidebar_label: Box\n",
+ "---"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# BoxLoader\n",
+ "\n",
+ "This notebook provides a quick overview for getting started with Box [document loader](/docs/integrations/document_loaders/). For detailed documentation of all BoxLoader features and configurations head to the [API reference](https://api.python.langchain.com/en/latest/document_loaders/langchain_community.document_loaders.langchain_box_loader.BoxLoader.html).\n",
+ "\n",
+ "\n",
+ "## Overview\n",
+ "\n",
+ "The `BoxLoader` class helps you get your unstructured content from Box in Langchain's `Document` format. You can do this with either a `List[str]` containing Box file IDs, or with a `str` containing a Box folder ID. \n",
+ "\n",
+ "You must provide either a `List[str]` containing Box file Ids, or a `str` containing a folder ID. If getting files from a folder with folder ID, you can also set a `Bool` to tell the loader to get all sub-folders in that folder, as well. \n",
+ "\n",
+ ":::info\n",
+ "A Box instance can contain Petabytes of files, and folders can contain millions of files. Be intentional when choosing what folders you choose to index. And we recommend never getting all files from folder 0 recursively. Folder ID 0 is your root folder.\n",
+ ":::\n",
+ "\n",
+ "Files without a text representation will be skipped.\n",
+ "\n",
+ "### Integration details\n",
+ "\n",
+ "| Class | Package | Local | Serializable | JS support|\n",
+ "| :--- | :--- | :---: | :---: | :---: |\n",
+ "| [BoxLoader](https://api.python.langchain.com/en/latest/document_loaders/langchain_box.document_loaders.langchain_boxloader.BoxLoader.html) | [langchain_box](https://api.python.langchain.com/en/latest/box_api_reference.html) | ✅ | ❌ | ❌ | \n",
+ "### Loader features\n",
+ "| Source | Document Lazy Loading | Async Support\n",
+ "| :---: | :---: | :---: | \n",
+ "| BoxLoader | ✅ | ❌ | \n",
+ "\n",
+ "## Setup\n",
+ "\n",
+ "In order to use the Box package, you will need a few things:\n",
+ "\n",
+ "* A Box account — If you are not a current Box customer or want to test outside of your production Box instance, you can use a [free developer account](https://account.box.com/signup/n/developer#ty9l3).\n",
+ "* [A Box app](https://developer.box.com/guides/getting-started/first-application/) — This is configured in the [developer console](https://account.box.com/developers/console), and for Box AI, must have the `Manage AI` scope enabled. Here you will also select your authentication method\n",
+ "* The app must be [enabled by the administrator](https://developer.box.com/guides/authorization/custom-app-approval/#manual-approval). For free developer accounts, this is whomever signed up for the account.\n",
+ "\n",
+ "### Credentials\n",
+ "\n",
+ "For these examples, we will use [token authentication](https://developer.box.com/guides/authentication/tokens/developer-tokens). This can be used with any [authentication method](https://developer.box.com/guides/authentication/). Just get the token with whatever methodology. If you want to learn more about how to use other authentication types with `langchain-box`, visit the [Box provider](/docs/integrations/providers/box) document.\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Enter your Box Developer Token: ········\n"
+ ]
+ }
+ ],
+ "source": [
+ "import getpass\n",
+ "import os\n",
+ "\n",
+ "box_developer_token = getpass.getpass(\"Enter your Box Developer Token: \")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "If you want to get automated tracing of your model calls you can also set your [LangSmith](https://docs.smith.langchain.com/) API key by uncommenting below:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# os.environ[\"LANGSMITH_API_KEY\"] = getpass.getpass(\"Enter your LangSmith API key: \")\n",
+ "# os.environ[\"LANGSMITH_TRACING\"] = \"true\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Installation\n",
+ "\n",
+ "Install **langchain_box**."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%pip install -qU langchain_box"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Initialization\n",
+ "\n",
+ "### Load files\n",
+ "\n",
+ "If you wish to load files, you must provide the `List` of file ids at instantiation time. \n",
+ "\n",
+ "This requires 1 piece of information:\n",
+ "\n",
+ "* **box_file_ids** (`List[str]`)- A list of Box file IDs. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langchain_box.document_loaders import BoxLoader\n",
+ "\n",
+ "box_file_ids = [\"1514555423624\", \"1514553902288\"]\n",
+ "\n",
+ "loader = BoxLoader(\n",
+ " box_developer_token=box_developer_token,\n",
+ " box_file_ids=box_file_ids,\n",
+ " character_limit=10000, # Optional. Defaults to no limit\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Load from folder\n",
+ "\n",
+ "If you wish to load files from a folder, you must provide a `str` with the Box folder ID at instantiation time. \n",
+ "\n",
+ "This requires 1 piece of information:\n",
+ "\n",
+ "* **box_folder_id** (`str`)- A string containing a Box folder ID. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langchain_box.document_loaders import BoxLoader\n",
+ "\n",
+ "box_folder_id = \"260932470532\"\n",
+ "\n",
+ "loader = BoxLoader(\n",
+ " box_folder_id=box_folder_id,\n",
+ " recursive=False, # Optional. return entire tree, defaults to False\n",
+ " character_limit=10000, # Optional. Defaults to no limit\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Load"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Document(metadata={'source': 'https://dl.boxcloud.com/api/2.0/internal_files/1514555423624/versions/1663171610024/representations/extracted_text/content/', 'title': 'Invoice-A5555_txt'}, page_content='Vendor: AstroTech Solutions\\nInvoice Number: A5555\\n\\nLine Items:\\n - Gravitational Wave Detector Kit: $800\\n - Exoplanet Terrarium: $120\\nTotal: $920')"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "docs = loader.load()\n",
+ "docs[0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "{'source': 'https://dl.boxcloud.com/api/2.0/internal_files/1514555423624/versions/1663171610024/representations/extracted_text/content/', 'title': 'Invoice-A5555_txt'}\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(docs[0].metadata)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Lazy Load"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "page = []\n",
+ "for doc in loader.lazy_load():\n",
+ " page.append(doc)\n",
+ " if len(page) >= 10:\n",
+ " # do some paged operation, e.g.\n",
+ " # index.upsert(page)\n",
+ "\n",
+ " page = []"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## API reference\n",
+ "\n",
+ "For detailed documentation of all BoxLoader features and configurations head to the API reference: https://api.python.langchain.com/en/latest/document_loaders/langchain_box.document_loaders.langchain_box_loader.BoxLoader.html\n",
+ "\n",
+ "\n",
+ "## Help\n",
+ "\n",
+ "If you have questions, you can check out our [developer documentation](https://developer.box.com) or reach out to use in our [developer community](https://community.box.com)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/docs/docs/integrations/document_loaders/index.mdx b/docs/docs/integrations/document_loaders/index.mdx
index 21076def823af..6dee9374e97d0 100644
--- a/docs/docs/integrations/document_loaders/index.mdx
+++ b/docs/docs/integrations/document_loaders/index.mdx
@@ -33,6 +33,30 @@ The below document loaders allow you to load PDF documents.
+## Cloud Providers
+
+The below document loaders allow you to load documents from your favorite cloud providers.
+
+
+
+## Social Platforms
+
+The below document loaders allow you to load documents from differnt social media platforms.
+
+
+
+## Messaging Services
+
+The below document loaders allow you to load data from different messaging platforms.
+
+
+
+## Productivity tools
+
+The below document loaders allow you to load data from commonly used productivity tools.
+
+
+
## Common File Types
The below document loaders allow you to load data from common data formats.
diff --git a/docs/docs/integrations/document_loaders/langsmith.ipynb b/docs/docs/integrations/document_loaders/langsmith.ipynb
new file mode 100644
index 0000000000000..98413d15620fd
--- /dev/null
+++ b/docs/docs/integrations/document_loaders/langsmith.ipynb
@@ -0,0 +1,294 @@
+{
+ "cells": [
+ {
+ "cell_type": "raw",
+ "metadata": {},
+ "source": [
+ "---\n",
+ "sidebar_label: LangSmith\n",
+ "---"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# LangSmithLoader\n",
+ "\n",
+ "This notebook provides a quick overview for getting started with the LangSmith [document loader](https://python.langchain.com/v0.2/docs/concepts/#document-loaders). For detailed documentation of all LangSmithLoader features and configurations head to the [API reference](https://api.python.langchain.com/en/latest/document_loaders/langchain_core.document_loaders.langsmith.LangSmithLoader.html).\n",
+ "\n",
+ "## Overview\n",
+ "### Integration details\n",
+ "\n",
+ "| Class | Package | Local | Serializable | JS support|\n",
+ "| :--- | :--- | :---: | :---: | :---: |\n",
+ "| [LangSmithLoader](https://api.python.langchain.com/en/latest/document_loaders/langchain_core.document_loaders.langsmith.LangSmithLoader.html) | [langchain-core](https://api.python.langchain.com/en/latest/core_api_reference.html) | ❌ | ❌ | ❌ | \n",
+ "\n",
+ "### Loader features\n",
+ "| Source | Lazy loading | Native async\n",
+ "| :---: | :---: | :---: | \n",
+ "| LangSmithLoader | ✅ | ❌ | \n",
+ "\n",
+ "## Setup\n",
+ "\n",
+ "To access the LangSmith document loader you'll need to install `langchain-core`, create a [LangSmith](https://langsmith.com) account and get an API key.\n",
+ "\n",
+ "### Credentials\n",
+ "\n",
+ "Sign up at https://langsmith.com and generate an API key. Once you've done this set the LANGSMITH_API_KEY environment variable:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import getpass\n",
+ "import os\n",
+ "\n",
+ "if not os.environ.get(\"LANGSMITH_API_KEY\"):\n",
+ " os.environ[\"LANGSMITH_API_KEY\"] = getpass.getpass(\"Enter your LangSmith API key: \")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "If you want to get automated best-in-class tracing, you can also turn on LangSmith tracing:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# os.environ[\"LANGSMITH_TRACING\"] = \"true\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Installation\n",
+ "\n",
+ "Install `langchain-core`:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%pip install -qU langchain-core"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Clone example dataset\n",
+ "\n",
+ "For this example, we'll clone and load a public LangSmith dataset. Cloning creates a copy of this dataset on our personal LangSmith account. You can only load datasets that you have a personal copy of."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langsmith import Client as LangSmithClient\n",
+ "\n",
+ "ls_client = LangSmithClient()\n",
+ "\n",
+ "dataset_name = \"LangSmith Few Shot Datasets Notebook\"\n",
+ "dataset_public_url = (\n",
+ " \"https://smith.langchain.com/public/55658626-124a-4223-af45-07fb774a6212/d\"\n",
+ ")\n",
+ "\n",
+ "ls_client.clone_public_dataset(dataset_public_url)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Initialization\n",
+ "\n",
+ "Now we can instantiate our document loader and load documents:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langchain_core.document_loaders import LangSmithLoader\n",
+ "\n",
+ "loader = LangSmithLoader(\n",
+ " dataset_name=dataset_name,\n",
+ " content_key=\"question\",\n",
+ " limit=50,\n",
+ " # format_content=...,\n",
+ " # ...\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Load"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Show me an example using Weaviate, but customizing the vectorStoreRetriever to return the top 10 k nearest neighbors. \n"
+ ]
+ }
+ ],
+ "source": [
+ "docs = loader.load()\n",
+ "print(docs[0].page_content)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "{'question': 'Show me an example using Weaviate, but customizing the vectorStoreRetriever to return the top 10 k nearest neighbors. '}\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(docs[0].metadata[\"inputs\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "{'answer': 'To customize the Weaviate client and return the top 10 k nearest neighbors, you can utilize the `as_retriever` method with the appropriate parameters. Here\\'s how you can achieve this:\\n\\n```python\\n# Assuming you have imported the necessary modules and classes\\n\\n# Create the Weaviate client\\nclient = weaviate.Client(url=os.environ[\"WEAVIATE_URL\"], ...)\\n\\n# Initialize the Weaviate wrapper\\nweaviate = Weaviate(client, index_name, text_key)\\n\\n# Customize the client to return top 10 k nearest neighbors using as_retriever\\ncustom_retriever = weaviate.as_retriever(\\n search_type=\"similarity\",\\n search_kwargs={\\n \\'k\\': 10 # Customize the value of k as needed\\n }\\n)\\n\\n# Now you can use the custom_retriever to perform searches\\nresults = custom_retriever.search(query, ...)\\n```'}\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(docs[0].metadata[\"outputs\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "['dataset_id',\n",
+ " 'inputs',\n",
+ " 'outputs',\n",
+ " 'metadata',\n",
+ " 'id',\n",
+ " 'created_at',\n",
+ " 'modified_at',\n",
+ " 'runs',\n",
+ " 'source_run_id']"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "list(docs[0].metadata.keys())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Lazy Load"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "10"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "page = []\n",
+ "for doc in loader.lazy_load():\n",
+ " page.append(doc)\n",
+ " if len(page) >= 10:\n",
+ " # do some paged operation, e.g.\n",
+ " # index.upsert(page)\n",
+ " # page = []\n",
+ " break\n",
+ "len(page)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## API reference\n",
+ "\n",
+ "For detailed documentation of all LangSmithLoader features and configurations head to the API reference: https://api.python.langchain.com/en/latest/document_loaders/langchain_core.document_loaders.langsmith.LangSmithLoader.html"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "poetry-venv-311",
+ "language": "python",
+ "name": "poetry-venv-311"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/docs/docs/integrations/document_loaders/notion.ipynb b/docs/docs/integrations/document_loaders/notion.ipynb
index 1c81e3765c33a..dc2c5fff53ee4 100644
--- a/docs/docs/integrations/document_loaders/notion.ipynb
+++ b/docs/docs/integrations/document_loaders/notion.ipynb
@@ -1,59 +1,204 @@
{
"cells": [
{
+ "attachments": {},
"cell_type": "markdown",
"id": "1dc7df1d",
"metadata": {},
"source": [
- "# Notion DB 1/2\n",
+ "# Notion DB 2/2\n",
"\n",
">[Notion](https://www.notion.so/) is a collaboration platform with modified Markdown support that integrates kanban boards, tasks, wikis and databases. It is an all-in-one workspace for notetaking, knowledge and data management, and project and task management.\n",
"\n",
- "This notebook covers how to load documents from a Notion database dump.\n",
+ "`NotionDBLoader` is a Python class for loading content from a `Notion` database. It retrieves pages from the database, reads their content, and returns a list of Document objects. `NotionDirectoryLoader` is used for loading data from a Notion database dump.\n",
"\n",
- "In order to get this notion dump, follow these instructions:\n",
+ "## Requirements\n",
"\n",
- "## 🧑 Instructions for ingesting your own dataset\n",
+ "- A `Notion` Database\n",
+ "- Notion Integration Token\n",
"\n",
- "Export your dataset from Notion. You can do this by clicking on the three dots in the upper right hand corner and then clicking `Export`.\n",
+ "## Setup\n",
"\n",
- "When exporting, make sure to select the `Markdown & CSV` format option.\n",
+ "### 1. Create a Notion Table Database\n",
+ "Create a new table database in Notion. You can add any column to the database and they will be treated as metadata. For example you can add the following columns:\n",
"\n",
- "This will produce a `.zip` file in your Downloads folder. Move the `.zip` file into this repository.\n",
+ "- Title: set Title as the default property.\n",
+ "- Categories: A Multi-select property to store categories associated with the page.\n",
+ "- Keywords: A Multi-select property to store keywords associated with the page.\n",
"\n",
- "Run the following command to unzip the zip file (replace the `Export...` with your own file name as needed).\n",
+ "Add your content to the body of each page in the database. The NotionDBLoader will extract the content and metadata from these pages.\n",
"\n",
- "```shell\n",
- "unzip Export-d3adfe0f-3131-4bf3-8987-a52017fc1bae.zip -d Notion_DB\n",
- "```\n",
+ "## 2. Create a Notion Integration\n",
+ "To create a Notion Integration, follow these steps:\n",
+ "\n",
+ "1. Visit the [Notion Developers](https://www.notion.com/my-integrations) page and log in with your Notion account.\n",
+ "2. Click on the \"+ New integration\" button.\n",
+ "3. Give your integration a name and choose the workspace where your database is located.\n",
+ "4. Select the require capabilities, this extension only need the Read content capability\n",
+ "5. Click the \"Submit\" button to create the integration.\n",
+ "Once the integration is created, you'll be provided with an `Integration Token (API key)`. Copy this token and keep it safe, as you'll need it to use the NotionDBLoader.\n",
+ "\n",
+ "### 3. Connect the Integration to the Database\n",
+ "To connect your integration to the database, follow these steps:\n",
+ "\n",
+ "1. Open your database in Notion.\n",
+ "2. Click on the three-dot menu icon in the top right corner of the database view.\n",
+ "3. Click on the \"+ New integration\" button.\n",
+ "4. Find your integration, you may need to start typing its name in the search box.\n",
+ "5. Click on the \"Connect\" button to connect the integration to the database.\n",
+ "\n",
+ "\n",
+ "### 4. Get the Database ID\n",
+ "To get the database ID, follow these steps:\n",
+ "\n",
+ "1. Open your database in Notion.\n",
+ "2. Click on the three-dot menu icon in the top right corner of the database view.\n",
+ "3. Select \"Copy link\" from the menu to copy the database URL to your clipboard.\n",
+ "4. The database ID is the long string of alphanumeric characters found in the URL. It typically looks like this: https://www.notion.so/username/8935f9d140a04f95a872520c4f123456?v=.... In this example, the database ID is 8935f9d140a04f95a872520c4f123456.\n",
+ "\n",
+ "With the database properly set up and the integration token and database ID in hand, you can now use the NotionDBLoader code to load content and metadata from your Notion database.\n",
+ "\n",
+ "### 5. Installation\n",
+ "\n",
+ "Instaall the `langchain-community` integration package.\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "412b38dc",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%pip install -qU langchain-community"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "cced2931",
+ "metadata": {},
+ "source": [
"\n",
- "Run the following command to ingest the data."
+ "## Notion Database Loader\n",
+ "NotionDBLoader is part of the langchain package's document loaders. You can use it as follows:"
]
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 12,
+ "id": "6c3a314c",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "········\n",
+ "········\n"
+ ]
+ }
+ ],
+ "source": [
+ "from getpass import getpass\n",
+ "\n",
+ "NOTION_TOKEN = getpass()\n",
+ "DATABASE_ID = getpass()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
"id": "007c5cbf",
"metadata": {},
"outputs": [],
"source": [
- "from langchain_community.document_loaders import NotionDirectoryLoader"
+ "from langchain_community.document_loaders import NotionDBLoader"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 14,
"id": "a1caec59",
"metadata": {},
"outputs": [],
"source": [
+ "loader = NotionDBLoader(\n",
+ " integration_token=NOTION_TOKEN,\n",
+ " database_id=DATABASE_ID,\n",
+ " request_timeout_sec=30, # optional, defaults to 10\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "id": "b1c30ff7",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "docs = loader.load()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "id": "4f5789a2",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(docs)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2b87ab5c",
+ "metadata": {},
+ "source": [
+ "## Notion Directory Loader\n",
+ "\n",
+ "### Setup\n",
+ "\n",
+ "Export your dataset from Notion. You can do this by clicking on the three dots in the upper right hand corner and then clicking `Export`.\n",
+ "\n",
+ "When exporting, make sure to select the `Markdown & CSV` format option.\n",
+ "\n",
+ "This will produce a `.zip` file in your Downloads folder. Move the `.zip` file into this repository.\n",
+ "\n",
+ "Run the following command to unzip the zip file (replace the `Export...` with your own file name as needed).\n",
+ "\n",
+ "```shell\n",
+ "unzip Export-d3adfe0f-3131-4bf3-8987-a52017fc1bae.zip -d Notion_DB\n",
+ "```\n",
+ "\n",
+ "### Usage\n",
+ "\n",
+ "Run the following command to ingest the data you just downloaded."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "9debffdd",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langchain_community.document_loaders import NotionDirectoryLoader\n",
+ "\n",
"loader = NotionDirectoryLoader(\"Notion_DB\")"
]
},
{
"cell_type": "code",
"execution_count": null,
- "id": "b1c30ff7",
+ "id": "81008087",
"metadata": {},
"outputs": [],
"source": [
diff --git a/docs/docs/integrations/document_loaders/notiondb.ipynb b/docs/docs/integrations/document_loaders/notiondb.ipynb
deleted file mode 100644
index d612728f6adfc..0000000000000
--- a/docs/docs/integrations/document_loaders/notiondb.ipynb
+++ /dev/null
@@ -1,161 +0,0 @@
-{
- "cells": [
- {
- "attachments": {},
- "cell_type": "markdown",
- "id": "1dc7df1d",
- "metadata": {},
- "source": [
- "# Notion DB 2/2\n",
- "\n",
- ">[Notion](https://www.notion.so/) is a collaboration platform with modified Markdown support that integrates kanban boards, tasks, wikis and databases. It is an all-in-one workspace for notetaking, knowledge and data management, and project and task management.\n",
- "\n",
- "`NotionDBLoader` is a Python class for loading content from a `Notion` database. It retrieves pages from the database, reads their content, and returns a list of Document objects.\n",
- "\n",
- "## Requirements\n",
- "\n",
- "- A `Notion` Database\n",
- "- Notion Integration Token\n",
- "\n",
- "## Setup\n",
- "\n",
- "### 1. Create a Notion Table Database\n",
- "Create a new table database in Notion. You can add any column to the database and they will be treated as metadata. For example you can add the following columns:\n",
- "\n",
- "- Title: set Title as the default property.\n",
- "- Categories: A Multi-select property to store categories associated with the page.\n",
- "- Keywords: A Multi-select property to store keywords associated with the page.\n",
- "\n",
- "Add your content to the body of each page in the database. The NotionDBLoader will extract the content and metadata from these pages.\n",
- "\n",
- "## 2. Create a Notion Integration\n",
- "To create a Notion Integration, follow these steps:\n",
- "\n",
- "1. Visit the [Notion Developers](https://www.notion.com/my-integrations) page and log in with your Notion account.\n",
- "2. Click on the \"+ New integration\" button.\n",
- "3. Give your integration a name and choose the workspace where your database is located.\n",
- "4. Select the require capabilities, this extension only need the Read content capability\n",
- "5. Click the \"Submit\" button to create the integration.\n",
- "Once the integration is created, you'll be provided with an `Integration Token (API key)`. Copy this token and keep it safe, as you'll need it to use the NotionDBLoader.\n",
- "\n",
- "### 3. Connect the Integration to the Database\n",
- "To connect your integration to the database, follow these steps:\n",
- "\n",
- "1. Open your database in Notion.\n",
- "2. Click on the three-dot menu icon in the top right corner of the database view.\n",
- "3. Click on the \"+ New integration\" button.\n",
- "4. Find your integration, you may need to start typing its name in the search box.\n",
- "5. Click on the \"Connect\" button to connect the integration to the database.\n",
- "\n",
- "\n",
- "### 4. Get the Database ID\n",
- "To get the database ID, follow these steps:\n",
- "\n",
- "1. Open your database in Notion.\n",
- "2. Click on the three-dot menu icon in the top right corner of the database view.\n",
- "3. Select \"Copy link\" from the menu to copy the database URL to your clipboard.\n",
- "4. The database ID is the long string of alphanumeric characters found in the URL. It typically looks like this: https://www.notion.so/username/8935f9d140a04f95a872520c4f123456?v=.... In this example, the database ID is 8935f9d140a04f95a872520c4f123456.\n",
- "\n",
- "With the database properly set up and the integration token and database ID in hand, you can now use the NotionDBLoader code to load content and metadata from your Notion database.\n",
- "\n",
- "## Usage\n",
- "NotionDBLoader is part of the langchain package's document loaders. You can use it as follows:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 12,
- "id": "6c3a314c",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "········\n",
- "········\n"
- ]
- }
- ],
- "source": [
- "from getpass import getpass\n",
- "\n",
- "NOTION_TOKEN = getpass()\n",
- "DATABASE_ID = getpass()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 13,
- "id": "007c5cbf",
- "metadata": {},
- "outputs": [],
- "source": [
- "from langchain_community.document_loaders import NotionDBLoader"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 14,
- "id": "a1caec59",
- "metadata": {},
- "outputs": [],
- "source": [
- "loader = NotionDBLoader(\n",
- " integration_token=NOTION_TOKEN,\n",
- " database_id=DATABASE_ID,\n",
- " request_timeout_sec=30, # optional, defaults to 10\n",
- ")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "id": "b1c30ff7",
- "metadata": {},
- "outputs": [],
- "source": [
- "docs = loader.load()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "id": "4f5789a2",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n"
- ]
- }
- ],
- "source": [
- "print(docs)"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3 (ipykernel)",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.10.6"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}
diff --git a/docs/docs/integrations/document_loaders/xml.ipynb b/docs/docs/integrations/document_loaders/xml.ipynb
index 55f2f14c6406a..0e28b8e0a3bde 100644
--- a/docs/docs/integrations/document_loaders/xml.ipynb
+++ b/docs/docs/integrations/document_loaders/xml.ipynb
@@ -2,18 +2,88 @@
"cells": [
{
"cell_type": "markdown",
- "id": "22a849cc",
+ "id": "72ccbe2b",
"metadata": {},
"source": [
- "# XML\n",
+ "# UnstructuredXMLLoader\n",
"\n",
- "The `UnstructuredXMLLoader` is used to load `XML` files. The loader works with `.xml` files. The page content will be the text extracted from the XML tags."
+ "This notebook provides a quick overview for getting started with UnstructuredXMLLoader [document loader](https://python.langchain.com/v0.2/docs/concepts/#document-loaders). The `UnstructuredXMLLoader` is used to load `XML` files. The loader works with `.xml` files. The page content will be the text extracted from the XML tags.\n",
+ "\n",
+ "\n",
+ "## Overview\n",
+ "### Integration details\n",
+ "\n",
+ "\n",
+ "| Class | Package | Local | Serializable | [JS support](https://js.langchain.com/v0.2/docs/integrations/document_loaders/file_loaders/unstructured/)|\n",
+ "| :--- | :--- | :---: | :---: | :---: |\n",
+ "| [UnstructuredXMLLoader](https://api.python.langchain.com/en/latest/document_loaders/langchain_community.document_loaders.xml.UnstructuredXMLLoader.html) | [langchain_community](https://api.python.langchain.com/en/latest/community_api_reference.html) | ✅ | ❌ | ✅ | \n",
+ "### Loader features\n",
+ "| Source | Document Lazy Loading | Native Async Support\n",
+ "| :---: | :---: | :---: | \n",
+ "| UnstructuredXMLLoader | ✅ | ❌ | \n",
+ "\n",
+ "## Setup\n",
+ "\n",
+ "To access UnstructuredXMLLoader document loader you'll need to install the `langchain-community` integration package.\n",
+ "\n",
+ "### Credentials\n",
+ "\n",
+ "No credentials are needed to use the UnstructuredXMLLoader"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "fc4ba987",
+ "metadata": {},
+ "source": [
+ "If you want to get automated best in-class tracing of your model calls you can also set your [LangSmith](https://docs.smith.langchain.com/) API key by uncommenting below:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "9fa4d5e5",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# os.environ[\"LANGSMITH_API_KEY\"] = getpass.getpass(\"Enter your LangSmith API key: \")\n",
+ "# os.environ[\"LANGSMITH_TRACING\"] = \"true\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "38e53f22",
+ "metadata": {},
+ "source": [
+ "### Installation\n",
+ "\n",
+ "Install **langchain_community**."
]
},
{
"cell_type": "code",
- "execution_count": 1,
- "id": "e6616e3a",
+ "execution_count": null,
+ "id": "fcd320ec",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%pip install -qU langchain_community"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a102f199",
+ "metadata": {},
+ "source": [
+ "## Initialization\n",
+ "\n",
+ "Now we can instantiate our model object and load documents:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "2d198582",
"metadata": {},
"outputs": [],
"source": [
@@ -21,18 +91,91 @@
"\n",
"loader = UnstructuredXMLLoader(\n",
" \"./example_data/factbook.xml\",\n",
- ")\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9bbb463c",
+ "metadata": {},
+ "source": [
+ "## Load"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "cd875e75",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Document(metadata={'source': './example_data/factbook.xml'}, page_content='United States\\n\\nWashington, DC\\n\\nJoe Biden\\n\\nBaseball\\n\\nCanada\\n\\nOttawa\\n\\nJustin Trudeau\\n\\nHockey\\n\\nFrance\\n\\nParis\\n\\nEmmanuel Macron\\n\\nSoccer\\n\\nTrinidad & Tobado\\n\\nPort of Spain\\n\\nKeith Rowley\\n\\nTrack & Field')"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
"docs = loader.load()\n",
"docs[0]"
]
},
{
"cell_type": "code",
- "execution_count": null,
- "id": "a54342bb",
+ "execution_count": 4,
+ "id": "79b52cc0",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "{'source': './example_data/factbook.xml'}\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(docs[0].metadata)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "557608e5",
+ "metadata": {},
+ "source": [
+ "## Lazy Load"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "e3b9e75c",
"metadata": {},
"outputs": [],
- "source": []
+ "source": [
+ "page = []\n",
+ "for doc in loader.lazy_load():\n",
+ " page.append(doc)\n",
+ " if len(page) >= 10:\n",
+ " # do some paged operation, e.g.\n",
+ " # index.upsert(page)\n",
+ "\n",
+ " page = []"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "712aa98f",
+ "metadata": {},
+ "source": [
+ "## API reference\n",
+ "\n",
+ "For detailed documentation of all __ModuleName__Loader features and configurations head to the API reference: https://api.python.langchain.com/en/latest/document_loaders/langchain_community.document_loaders.xml.UnstructuredXMLLoader.html"
+ ]
}
],
"metadata": {
@@ -51,7 +194,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.8.15"
+ "version": "3.11.9"
}
},
"nbformat": 4,
diff --git a/docs/docs/integrations/document_transformers/google_cloud_vertexai_rerank.ipynb b/docs/docs/integrations/document_transformers/google_cloud_vertexai_rerank.ipynb
index c265d0d8bb527..e5b5adaa21ceb 100644
--- a/docs/docs/integrations/document_transformers/google_cloud_vertexai_rerank.ipynb
+++ b/docs/docs/integrations/document_transformers/google_cloud_vertexai_rerank.ipynb
@@ -23,7 +23,7 @@
},
"outputs": [],
"source": [
- "%pip install --upgrade --quiet langchain langchain-community langchain-google-community langchain-google-community[vertexaisearch] langchain-google-vertexai langchain-chroma langchain-text-splitters"
+ "%pip install --upgrade --quiet langchain langchain-community langchain-google-community langchain-google-community[vertexaisearch] langchain-google-vertexai langchain-chroma langchain-text-splitters beautifulsoup4"
]
},
{
diff --git a/docs/docs/integrations/llm_caching.ipynb b/docs/docs/integrations/llm_caching.ipynb
index 72d058e296098..cac516c24bd0e 100644
--- a/docs/docs/integrations/llm_caching.ipynb
+++ b/docs/docs/integrations/llm_caching.ipynb
@@ -457,7 +457,9 @@
"tags": []
},
"source": [
- "## `Redis` Cache"
+ "## `Redis` Cache\n",
+ "\n",
+ "See the main [Redis cache docs](/docs/integrations/caches/redis_llm_caching/) for detail."
]
},
{
diff --git a/docs/docs/integrations/llms/ollama.ipynb b/docs/docs/integrations/llms/ollama.ipynb
index 1ab33f6c018dc..702bd912db55e 100644
--- a/docs/docs/integrations/llms/ollama.ipynb
+++ b/docs/docs/integrations/llms/ollama.ipynb
@@ -68,7 +68,7 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 2,
"id": "035dea0f",
"metadata": {
"tags": []
@@ -77,10 +77,10 @@
{
"data": {
"text/plain": [
- "'A great start!\\n\\nLangChain is a type of AI model that uses language processing techniques to generate human-like text based on input prompts or chains of reasoning. In other words, it can have a conversation with humans, understanding the context and responding accordingly.\\n\\nHere\\'s a possible breakdown:\\n\\n* \"Lang\" likely refers to its focus on natural language processing (NLP) and linguistic analysis.\\n* \"Chain\" suggests that LangChain is designed to generate text in response to a series of connected ideas or prompts, rather than simply generating random text.\\n\\nSo, what do you think LangChain\\'s capabilities might be?'"
+ "\"Sounds like a plan!\\n\\nTo answer what LangChain is, let's break it down step by step.\\n\\n**Step 1: Understand the Context**\\nLangChain seems to be related to language or programming, possibly in an AI context. This makes me wonder if it's a framework, library, or tool for building models or interacting with them.\\n\\n**Step 2: Research Possible Definitions**\\nAfter some quick searching, I found that LangChain is actually a Python library for building and composing conversational AI models. It seems to provide a way to create modular and reusable components for chatbots, voice assistants, and other conversational interfaces.\\n\\n**Step 3: Explore Key Features and Use Cases**\\nLangChain likely offers features such as:\\n\\n* Easy composition of conversational flows\\n* Support for various input/output formats (e.g., text, audio)\\n* Integration with popular AI frameworks and libraries\\n\\nUse cases might include building chatbots for customer service, creating voice assistants for smart homes, or developing interactive stories.\\n\\n**Step 4: Confirm the Definition**\\nAfter this step-by-step analysis, I'm fairly confident that LangChain is a Python library for building conversational AI models. If you'd like to verify or provide more context, feel free to do so!\""
]
},
- "execution_count": 4,
+ "execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
@@ -95,7 +95,7 @@
"\n",
"prompt = ChatPromptTemplate.from_template(template)\n",
"\n",
- "model = OllamaLLM(model=\"llama3\")\n",
+ "model = OllamaLLM(model=\"llama3.1\")\n",
"\n",
"chain = prompt | model\n",
"\n",
@@ -177,7 +177,7 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 3,
"id": "79aaf863",
"metadata": {},
"outputs": [
@@ -218,7 +218,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.12.3"
+ "version": "3.12.4"
},
"vscode": {
"interpreter": {
diff --git a/docs/docs/integrations/memory/redis_chat_message_history.ipynb b/docs/docs/integrations/memory/redis_chat_message_history.ipynb
index 760cdc0d09662..3b23833b0fba2 100644
--- a/docs/docs/integrations/memory/redis_chat_message_history.ipynb
+++ b/docs/docs/integrations/memory/redis_chat_message_history.ipynb
@@ -2,171 +2,347 @@
"cells": [
{
"cell_type": "markdown",
- "id": "91c6a7ef",
"metadata": {},
"source": [
- "# Redis\n",
+ "# Redis Chat Message History\n",
"\n",
- ">[Redis (Remote Dictionary Server)](https://en.wikipedia.org/wiki/Redis) is an open-source in-memory storage, used as a distributed, in-memory key–value database, cache and message broker, with optional durability. Because it holds all data in memory and because of its design, `Redis` offers low-latency reads and writes, making it particularly suitable for use cases that require a cache. Redis is the most popular NoSQL database, and one of the most popular databases overall.\n",
+ ">[Redis (Remote Dictionary Server)](https://en.wikipedia.org/wiki/Redis) is an open-source in-memory storage, used as a distributed, in-memory key–value database, cache and message broker, with optional durability. `Redis` offers low-latency reads and writes. Redis is the most popular NoSQL database, and one of the most popular databases overall.\n",
"\n",
- "This notebook goes over how to use `Redis` to store chat message history."
+ "This notebook demonstrates how to use the `RedisChatMessageHistory` class from the langchain-redis package to store and manage chat message history using Redis."
]
},
{
"cell_type": "markdown",
- "id": "897a4682-f9fc-488b-98f3-ae2acad84600",
"metadata": {},
"source": [
"## Setup\n",
- "First we need to install dependencies, and start a redis instance using commands like: `redis-server`."
+ "\n",
+ "First, we need to install the required dependencies and ensure we have a Redis instance running."
]
},
{
"cell_type": "code",
"execution_count": null,
- "id": "cda8b56d-baf7-49a2-91a2-4d424a8519cb",
"metadata": {},
"outputs": [],
"source": [
- "pip install -U langchain-community redis"
+ "%pip install -qU langchain-redis langchain-openai redis"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Make sure you have a Redis server running. You can start one using Docker with the following command:\n",
+ "\n",
+ "```\n",
+ "docker run -d -p 6379:6379 redis:latest\n",
+ "```\n",
+ "\n",
+ "Or install and run Redis locally according to the instructions for your operating system."
]
},
{
"cell_type": "code",
- "execution_count": null,
- "id": "b11090e7-284b-4ed2-9790-ce0d35638717",
+ "execution_count": 2,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Connecting to Redis at: redis://redis:6379\n"
+ ]
+ }
+ ],
"source": [
- "from langchain_community.chat_message_histories import RedisChatMessageHistory"
+ "import os\n",
+ "\n",
+ "# Use the environment variable if set, otherwise default to localhost\n",
+ "REDIS_URL = os.getenv(\"REDIS_URL\", \"redis://localhost:6379\")\n",
+ "print(f\"Connecting to Redis at: {REDIS_URL}\")"
]
},
{
"cell_type": "markdown",
- "id": "20b99474-75ea-422e-9809-fbdb9d103afc",
"metadata": {},
"source": [
- "## Store and Retrieve Messages"
+ "## Importing Required Libraries"
]
},
{
"cell_type": "code",
"execution_count": 3,
- "id": "d15e3302",
"metadata": {},
"outputs": [],
"source": [
- "history = RedisChatMessageHistory(\"foo\", url=\"redis://localhost:6379\")\n",
- "\n",
- "history.add_user_message(\"hi!\")\n",
- "\n",
- "history.add_ai_message(\"whats up?\")"
+ "from langchain_core.chat_history import BaseChatMessageHistory\n",
+ "from langchain_core.messages import AIMessage, HumanMessage\n",
+ "from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder\n",
+ "from langchain_core.runnables.history import RunnableWithMessageHistory\n",
+ "from langchain_openai import ChatOpenAI\n",
+ "from langchain_redis import RedisChatMessageHistory"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Basic Usage of RedisChatMessageHistory"
]
},
{
"cell_type": "code",
"execution_count": 4,
- "id": "64fc465e",
"metadata": {},
"outputs": [
{
- "data": {
- "text/plain": [
- "[HumanMessage(content='hi!'), AIMessage(content='whats up?')]"
- ]
- },
- "execution_count": 4,
- "metadata": {},
- "output_type": "execute_result"
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Chat History:\n",
+ "HumanMessage: Hello, AI assistant!\n",
+ "AIMessage: Hello! How can I assist you today?\n"
+ ]
}
],
"source": [
- "history.messages"
+ "# Initialize RedisChatMessageHistory\n",
+ "history = RedisChatMessageHistory(session_id=\"user_123\", redis_url=REDIS_URL)\n",
+ "\n",
+ "# Add messages to the history\n",
+ "history.add_user_message(\"Hello, AI assistant!\")\n",
+ "history.add_ai_message(\"Hello! How can I assist you today?\")\n",
+ "\n",
+ "# Retrieve messages\n",
+ "print(\"Chat History:\")\n",
+ "for message in history.messages:\n",
+ " print(f\"{type(message).__name__}: {message.content}\")"
]
},
{
"cell_type": "markdown",
- "id": "465fdd8c-b093-4d19-a55a-30f3b646432b",
"metadata": {},
"source": [
- "## Using in the Chains"
+ "## Using RedisChatMessageHistory with Language Models"
]
},
{
- "cell_type": "code",
- "execution_count": null,
- "id": "94d65d2f-e9bb-4b47-a86d-dd6b1b5e8247",
+ "cell_type": "markdown",
"metadata": {},
- "outputs": [],
"source": [
- "pip install -U langchain-openai"
+ "### Set OpenAI API key"
]
},
{
"cell_type": "code",
"execution_count": 5,
- "id": "ace3e7b2-5e3e-4966-b549-04952a6a9a09",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "OpenAI API key not found in environment variables.\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Please enter your OpenAI API key: ········\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "OpenAI API key has been set for this session.\n"
+ ]
+ }
+ ],
"source": [
- "from typing import Optional\n",
+ "from getpass import getpass\n",
"\n",
- "from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder\n",
- "from langchain_core.runnables.history import RunnableWithMessageHistory\n",
- "from langchain_openai import ChatOpenAI"
+ "# Check if OPENAI_API_KEY is already set in the environment\n",
+ "openai_api_key = os.getenv(\"OPENAI_API_KEY\")\n",
+ "\n",
+ "if not openai_api_key:\n",
+ " print(\"OpenAI API key not found in environment variables.\")\n",
+ " openai_api_key = getpass(\"Please enter your OpenAI API key: \")\n",
+ "\n",
+ " # Set the API key for the current session\n",
+ " os.environ[\"OPENAI_API_KEY\"] = openai_api_key\n",
+ " print(\"OpenAI API key has been set for this session.\")\n",
+ "else:\n",
+ " print(\"OpenAI API key found in environment variables.\")"
]
},
{
"cell_type": "code",
"execution_count": 6,
- "id": "5c1fba0d-d06a-4695-ba14-c42a3461ada1",
"metadata": {},
"outputs": [
{
- "data": {
- "text/plain": [
- "AIMessage(content='Your name is Bob, as you mentioned earlier. Is there anything specific you would like assistance with, Bob?')"
- ]
- },
- "execution_count": 6,
- "metadata": {},
- "output_type": "execute_result"
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "AI Response 1: Hello Alice! How can I assist you today?\n",
+ "AI Response 2: Your name is Alice.\n"
+ ]
}
],
"source": [
+ "# Create a prompt template\n",
"prompt = ChatPromptTemplate.from_messages(\n",
" [\n",
- " (\"system\", \"You're an assistant。\"),\n",
+ " (\"system\", \"You are a helpful AI assistant.\"),\n",
" MessagesPlaceholder(variable_name=\"history\"),\n",
- " (\"human\", \"{question}\"),\n",
+ " (\"human\", \"{input}\"),\n",
" ]\n",
")\n",
"\n",
- "chain = prompt | ChatOpenAI()\n",
+ "# Initialize the language model\n",
+ "llm = ChatOpenAI()\n",
+ "\n",
+ "# Create the conversational chain\n",
+ "chain = prompt | llm\n",
+ "\n",
+ "\n",
+ "# Function to get or create a RedisChatMessageHistory instance\n",
+ "def get_redis_history(session_id: str) -> BaseChatMessageHistory:\n",
+ " return RedisChatMessageHistory(session_id, redis_url=REDIS_URL)\n",
"\n",
+ "\n",
+ "# Create a runnable with message history\n",
"chain_with_history = RunnableWithMessageHistory(\n",
- " chain,\n",
- " lambda session_id: RedisChatMessageHistory(\n",
- " session_id, url=\"redis://localhost:6379\"\n",
- " ),\n",
- " input_messages_key=\"question\",\n",
- " history_messages_key=\"history\",\n",
+ " chain, get_redis_history, input_messages_key=\"input\", history_messages_key=\"history\"\n",
")\n",
"\n",
- "config = {\"configurable\": {\"session_id\": \"foo\"}}\n",
+ "# Use the chain in a conversation\n",
+ "response1 = chain_with_history.invoke(\n",
+ " {\"input\": \"Hi, my name is Alice.\"},\n",
+ " config={\"configurable\": {\"session_id\": \"alice_123\"}},\n",
+ ")\n",
+ "print(\"AI Response 1:\", response1.content)\n",
"\n",
- "chain_with_history.invoke({\"question\": \"Hi! I'm bob\"}, config=config)\n",
+ "response2 = chain_with_history.invoke(\n",
+ " {\"input\": \"What's my name?\"}, config={\"configurable\": {\"session_id\": \"alice_123\"}}\n",
+ ")\n",
+ "print(\"AI Response 2:\", response2.content)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Advanced Features"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Custom Redis Configuration"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Custom History: [HumanMessage(content='This is a message with custom configuration.')]\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialize with custom Redis configuration\n",
+ "custom_history = RedisChatMessageHistory(\n",
+ " \"user_456\",\n",
+ " redis_url=REDIS_URL,\n",
+ " key_prefix=\"custom_prefix:\",\n",
+ " ttl=3600, # Set TTL to 1 hour\n",
+ " index_name=\"custom_index\",\n",
+ ")\n",
"\n",
- "chain_with_history.invoke({\"question\": \"Whats my name\"}, config=config)"
+ "custom_history.add_user_message(\"This is a message with custom configuration.\")\n",
+ "print(\"Custom History:\", custom_history.messages)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Searching Messages"
]
},
{
"cell_type": "code",
- "execution_count": null,
- "id": "76ce3f6b-f4c7-4d27-8031-60f7dd756695",
+ "execution_count": 8,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Search Results:\n",
+ "human: Tell me about artificial intelligence....\n",
+ "ai: Artificial Intelligence (AI) is a branch of comput...\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Add more messages\n",
+ "history.add_user_message(\"Tell me about artificial intelligence.\")\n",
+ "history.add_ai_message(\n",
+ " \"Artificial Intelligence (AI) is a branch of computer science...\"\n",
+ ")\n",
+ "\n",
+ "# Search for messages containing a specific term\n",
+ "search_results = history.search_messages(\"artificial intelligence\")\n",
+ "print(\"Search Results:\")\n",
+ "for result in search_results:\n",
+ " print(f\"{result['type']}: {result['content'][:50]}...\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Clearing History"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Messages after clearing: []\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Clear the chat history\n",
+ "history.clear()\n",
+ "print(\"Messages after clearing:\", history.messages)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Conclusion\n",
+ "\n",
+ "This notebook demonstrated the key features of `RedisChatMessageHistory` from the langchain-redis package. It showed how to initialize and use the chat history, integrate it with language models, and utilize advanced features like custom configurations and message searching. Redis provides a fast and scalable solution for managing chat history in AI applications."
+ ]
}
],
"metadata": {
@@ -185,9 +361,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.10.12"
+ "version": "3.11.9"
}
},
"nbformat": 4,
- "nbformat_minor": 5
+ "nbformat_minor": 4
}
diff --git a/docs/docs/integrations/platforms/aws.mdx b/docs/docs/integrations/platforms/aws.mdx
index 601ef5c75d1b7..da22219b0afd1 100755
--- a/docs/docs/integrations/platforms/aws.mdx
+++ b/docs/docs/integrations/platforms/aws.mdx
@@ -34,6 +34,15 @@ See a [usage example](/docs/integrations/chat/bedrock).
from langchain_aws import ChatBedrock
```
+### Bedrock Converse
+AWS has recently released the Bedrock Converse API which provides a unified conversational interface for Bedrock models. This API does not yet support custom models. You can see a list of all [models that are supported here](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html). To improve reliability the ChatBedrock integration will switch to using the Bedrock Converse API as soon as it has feature parity with the existing Bedrock API. Until then a separate [ChatBedrockConverse](https://python.langchain.com/v0.2/api_reference/aws/chat_models/langchain_aws.chat_models.bedrock_converse.ChatBedrockConverse.html) integration has been released.
+
+We recommend using `ChatBedrockConverse` for users who do not need to use custom models. See the [docs](/docs/integrations/chat/bedrock/#bedrock-converse-api) and [API reference](https://python.langchain.com/v0.2/api_reference/aws/chat_models/langchain_aws.chat_models.bedrock_converse.ChatBedrockConverse.html) for more detail.
+
+```python
+from langchain_aws import ChatBedrockConverse
+```
+
## LLMs
### Bedrock
diff --git a/docs/docs/integrations/platforms/google.mdx b/docs/docs/integrations/platforms/google.mdx
index 19da4679c5d5b..39e1a866320ff 100644
--- a/docs/docs/integrations/platforms/google.mdx
+++ b/docs/docs/integrations/platforms/google.mdx
@@ -269,6 +269,18 @@ See a [usage example](/docs/integrations/document_loaders/google_cloud_storage_f
from langchain_google_community import GCSFileLoader
```
+### Cloud Vision loader
+
+Install the python package:
+
+```bash
+pip install langchain-google-community[vision]
+```
+
+```python
+from langchain_google_community.vision import CloudVisionLoader
+```
+
### El Carro for Oracle Workloads
> Google [El Carro Oracle Operator](https://github.com/GoogleCloudPlatform/elcarro-oracle-operator)
@@ -625,6 +637,7 @@ from langchain.retrievers import GoogleVertexAISearchRetriever
> from Google Cloud allows enterprises to search, store, govern, and manage documents and their AI-extracted
> data and metadata in a single platform.
+Note: `GoogleDocumentAIWarehouseRetriever` is deprecated, use `DocumentAIWarehouseRetriever` (see below).
```python
from langchain.retrievers import GoogleDocumentAIWarehouseRetriever
docai_wh_retriever = GoogleDocumentAIWarehouseRetriever(
@@ -636,6 +649,10 @@ documents = docai_wh_retriever.invoke(
)
```
+```python
+from langchain_google_community.documentai_warehouse import DocumentAIWarehouseRetriever
+```
+
## Tools
### Text-to-Speech
diff --git a/docs/docs/integrations/platforms/microsoft.mdx b/docs/docs/integrations/platforms/microsoft.mdx
index 180b021963e03..ed282710ccc41 100644
--- a/docs/docs/integrations/platforms/microsoft.mdx
+++ b/docs/docs/integrations/platforms/microsoft.mdx
@@ -261,6 +261,7 @@ from langchain_community.document_loaders.onenote import OneNoteLoader
[AI agent](https://learn.microsoft.com/en-us/azure/cosmos-db/ai-agents) needs robust memory systems that support multi-modality, offer strong operational performance, and enable agent memory sharing as well as separation.
+### Azure Cosmos DB
AI agents can rely on Azure Cosmos DB as a unified [memory system](https://learn.microsoft.com/en-us/azure/cosmos-db/ai-agents#memory-can-make-or-break-agents) solution, enjoying speed, scale, and simplicity. This service successfully [enabled OpenAI's ChatGPT service](https://www.youtube.com/watch?v=6IIUtEFKJec&t) to scale dynamically with high reliability and low maintenance. Powered by an atom-record-sequence engine, it is the world's first globally distributed [NoSQL](https://learn.microsoft.com/en-us/azure/cosmos-db/distributed-nosql), [relational](https://learn.microsoft.com/en-us/azure/cosmos-db/distributed-relational), and [vector database](https://learn.microsoft.com/en-us/azure/cosmos-db/vector-database) service that offers a serverless mode.
Below are two available Azure Cosmos DB APIs that can provide vector store functionalities.
@@ -327,6 +328,15 @@ See a [usage example](/docs/integrations/vectorstores/azure_cosmos_db_no_sql).
from langchain_community.vectorstores import AzureCosmosDBNoSQLVectorSearch
```
+### Azure Database for PostgreSQL
+>[Azure Database for PostgreSQL - Flexible Server](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/service-overview) is a relational database service based on the open-source Postgres database engine. It's a fully managed database-as-a-service that can handle mission-critical workloads with predictable performance, security, high availability, and dynamic scalability.
+
+See [set up instructions](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/quickstart-create-server-portal) for Azure Database for PostgreSQL.
+
+See a [usage example](/docs/integrations/memory/postgres_chat_message_history/). Simply use the [connection string](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/connect-python?tabs=cmd%2Cpassword#add-authentication-code) from your Azure Portal.
+
+Since Azure Database for PostgreSQL is open-source Postgres, you can use the [LangChain's Postgres support](/docs/integrations/vectorstores/pgvector/) to connect to Azure Database for PostgreSQL.
+
## Retrievers
### Azure AI Search
@@ -347,6 +357,17 @@ See a [usage example](/docs/integrations/retrievers/azure_ai_search).
from langchain.retrievers import AzureAISearchRetriever
```
+## Vector Store
+### Azure Database for PostgreSQL
+>[Azure Database for PostgreSQL - Flexible Server](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/service-overview) is a relational database service based on the open-source Postgres database engine. It's a fully managed database-as-a-service that can handle mission-critical workloads with predictable performance, security, high availability, and dynamic scalability.
+
+See [set up instructions](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/quickstart-create-server-portal) for Azure Database for PostgreSQL.
+
+You need to [enable pgvector extension](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-use-pgvector) in your database to use Postgres as a vector store. Once you have the extension enabled, you can use the [PGVector in LangChain](/docs/integrations/vectorstores/pgvector/) to connect to Azure Database for PostgreSQL.
+
+See a [usage example](/docs/integrations/vectorstores/pgvector/). Simply use the [connection string](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/connect-python?tabs=cmd%2Cpassword#add-authentication-code) from your Azure Portal.
+
+
## Tools
### Azure Container Apps dynamic sessions
@@ -445,6 +466,22 @@ See a [usage example](/docs/integrations/tools/playwright).
from langchain_community.agent_toolkits import PlayWrightBrowserToolkit
```
+#### PlayWright Browser individual tools
+
+You can use individual tools from the PlayWright Browser Toolkit.
+
+```python
+from langchain_community.tools.playwright import ClickTool
+from langchain_community.tools.playwright import CurrentWebPageTool
+from langchain_community.tools.playwright import ExtractHyperlinksTool
+from langchain_community.tools.playwright import ExtractTextTool
+from langchain_community.tools.playwright import GetElementsTool
+from langchain_community.tools.playwright import NavigateTool
+from langchain_community.tools.playwright import NavigateBackTool
+```
+
+
+```python
## Graphs
### Azure Cosmos DB for Apache Gremlin
@@ -496,4 +533,3 @@ See [usage examples](https://python.langchain.com/v0.1/docs/guides/productioniza
```python
from langchain_experimental.data_anonymizer import PresidioAnonymizer, PresidioReversibleAnonymizer
```
-
diff --git a/docs/docs/integrations/providers/box.mdx b/docs/docs/integrations/providers/box.mdx
new file mode 100644
index 0000000000000..0f955b460d7a1
--- /dev/null
+++ b/docs/docs/integrations/providers/box.mdx
@@ -0,0 +1,185 @@
+# Box
+
+[Box](https://box.com) is the Intelligent Content Cloud, a single platform that enables
+organizations to fuel collaboration, manage the entire content lifecycle, secure critical content,
+and transform business workflows with enterprise AI. Founded in 2005, Box simplifies work for
+leading global organizations, including AstraZeneca, JLL, Morgan Stanley, and Nationwide.
+
+In this package, we make available a number of ways to include Box content in your AI workflows.
+
+### Installation and setup
+
+```text
+%pip install -U langchain-box
+
+```
+
+# langchain-box
+
+This package contains the LangChain integration with Box. For more information about
+Box, check out our [developer documentation](https://developer.box.com).
+
+## Pre-requisites
+
+In order to integrate with Box, you need a few things:
+
+* A Box instance — if you are not a current Box customer, sign up for a
+[free dev account](https://account.box.com/signup/n/developer#ty9l3).
+* A Box app — more on how to
+[create an app](https://developer.box.com/guides/getting-started/first-application/)
+* Your app approved in your Box instance — This is done by your admin.
+The good news is if you are using a free developer account, you are the admin.
+[Authorize your app](https://developer.box.com/guides/authorization/custom-app-approval/#manual-approval)
+
+## Installation
+
+```bash
+pip install -U langchain-box
+```
+
+## Authentication
+
+The `box-langchain` package offers some flexibility to authentication. The
+most basic authentication method is by using a developer token. This can be
+found in the [Box developer console](https://account.box.com/developers/console)
+on the configuration screen. This token is purposely short-lived (1 hour) and is
+intended for development. With this token, you can add it to your environment as
+`BOX_DEVELOPER_TOKEN`, you can pass it directly to the loader, or you can use the
+`BoxAuth` authentication helper class.
+
+We will cover passing it directly to the loader in the section below.
+
+### BoxAuth helper class
+
+`BoxAuth` supports the following authentication methods:
+
+* Token — either a developer token or any token generated through the Box SDK
+* JWT with a service account
+* JWT with a specified user
+* CCG with a service account
+* CCG with a specified user
+
+:::note
+If using JWT authentication, you will need to download the configuration from the Box
+developer console after generating your public/private key pair. Place this file in your
+application directory structure somewhere. You will use the path to this file when using
+the `BoxAuth` helper class.
+:::
+
+For more information, learn about how to
+[set up a Box application](https://developer.box.com/guides/getting-started/first-application/),
+and check out the
+[Box authentication guide](https://developer.box.com/guides/authentication/select/)
+for more about our different authentication options.
+
+Examples:
+
+**Token**
+
+```python
+from langchain_box.document_loaders import BoxLoader
+from langchain_box.utilities import BoxAuth, BoxAuthType
+
+auth = BoxAuth(
+ auth_type=BoxAuthType.TOKEN,
+ box_developer_token=box_developer_token
+)
+
+loader = BoxLoader(
+ box_auth=auth,
+ ...
+)
+```
+
+**JWT with a service account**
+
+```python
+from langchain_box.document_loaders import BoxLoader
+from langchain_box.utilities import BoxAuth, BoxAuthType
+
+auth = BoxAuth(
+ auth_type=BoxAuthType.JWT,
+ box_jwt_path=box_jwt_path
+)
+
+loader = BoxLoader(
+ box_auth=auth,
+ ...
+```
+
+**JWT with a specified user**
+
+```python
+from langchain_box.document_loaders import BoxLoader
+from langchain_box.utilities import BoxAuth, BoxAuthType
+
+auth = BoxAuth(
+ auth_type=BoxAuthType.JWT,
+ box_jwt_path=box_jwt_path,
+ box_user_id=box_user_id
+)
+
+loader = BoxLoader(
+ box_auth=auth,
+ ...
+```
+
+**CCG with a service account**
+
+```python
+from langchain_box.document_loaders import BoxLoader
+from langchain_box.utilities import BoxAuth, BoxAuthType
+
+auth = BoxAuth(
+ auth_type=BoxAuthType.CCG,
+ box_client_id=box_client_id,
+ box_client_secret=box_client_secret,
+ box_enterprise_id=box_enterprise_id
+)
+
+loader = BoxLoader(
+ box_auth=auth,
+ ...
+```
+
+**CCG with a specified user**
+
+```python
+from langchain_box.document_loaders import BoxLoader
+from langchain_box.utilities import BoxAuth, BoxAuthType
+
+auth = BoxAuth(
+ auth_type=BoxAuthType.CCG,
+ box_client_id=box_client_id,
+ box_client_secret=box_client_secret,
+ box_user_id=box_user_id
+)
+
+loader = BoxLoader(
+ box_auth=auth,
+ ...
+```
+
+If you wish to use OAuth2 with the authorization_code flow, please use `BoxAuthType.TOKEN` with the token you have acquired.
+
+## Document Loaders
+
+### BoxLoader
+
+[See usage example](/docs/integrations/document_loaders/box)
+
+```python
+from langchain_box.document_loaders import BoxLoader
+
+```
+
+## Retrievers
+
+### BoxRetriever
+
+[See usage example](/docs/integrations/retrievers/box)
+
+```python
+from langchain_box.retrievers import BoxRetriever
+
+```
diff --git a/docs/docs/integrations/providers/clarifai.mdx b/docs/docs/integrations/providers/clarifai.mdx
index 945dcae0f1691..e783833255490 100644
--- a/docs/docs/integrations/providers/clarifai.mdx
+++ b/docs/docs/integrations/providers/clarifai.mdx
@@ -1,6 +1,11 @@
# Clarifai
>[Clarifai](https://clarifai.com) is one of first deep learning platforms having been founded in 2013. Clarifai provides an AI platform with the full AI lifecycle for data exploration, data labeling, model training, evaluation and inference around images, video, text and audio data. In the LangChain ecosystem, as far as we're aware, Clarifai is the only provider that supports LLMs, embeddings and a vector store in one production scale platform, making it an excellent choice to operationalize your LangChain implementations.
+>
+> `Clarifai` provides 1,000s of AI models for many different use cases. You can [explore them here](https://clarifai.com/explore) to find the one most suited for your use case. These models include those created by other providers such as OpenAI, Anthropic, Cohere, AI21, etc. as well as state of the art from open source such as Falcon, InstructorXL, etc. so that you build the best in AI into your products. You'll find these organized by the creator's user_id and into projects we call applications denoted by their app_id. Those IDs will be needed in additional to the model_id and optionally the version_id, so make note of all these IDs once you found the best model for your use case!
+>
+>Also note that given there are many models for images, video, text and audio understanding, you can build some interested AI agents that utilize the variety of AI models as experts to understand those data types.
+
## Installation and Setup
- Install the Python SDK:
@@ -10,13 +15,7 @@ pip install clarifai
[Sign-up](https://clarifai.com/signup) for a Clarifai account, then get a personal access token to access the Clarifai API from your [security settings](https://clarifai.com/settings/security) and set it as an environment variable (`CLARIFAI_PAT`).
-## Models
-
-Clarifai provides 1,000s of AI models for many different use cases. You can [explore them here](https://clarifai.com/explore) to find the one most suited for your use case. These models include those created by other providers such as OpenAI, Anthropic, Cohere, AI21, etc. as well as state of the art from open source such as Falcon, InstructorXL, etc. so that you build the best in AI into your products. You'll find these organized by the creator's user_id and into projects we call applications denoted by their app_id. Those IDs will be needed in additional to the model_id and optionally the version_id, so make note of all these IDs once you found the best model for your use case!
-
-Also note that given there are many models for images, video, text and audio understanding, you can build some interested AI agents that utilize the variety of AI models as experts to understand those data types.
-
-### LLMs
+## LLMs
To find the selection of LLMs in the Clarifai platform you can select the text to text model type [here](https://clarifai.com/explore/models?filterData=%5B%7B%22field%22%3A%22model_type_id%22%2C%22value%22%3A%5B%22text-to-text%22%5D%7D%5D&page=1&perPage=24).
@@ -28,16 +27,18 @@ llm = Clarifai(pat=CLARIFAI_PAT, user_id=USER_ID, app_id=APP_ID, model_id=MODEL_
For more details, the docs on the Clarifai LLM wrapper provide a [detailed walkthrough](/docs/integrations/llms/clarifai).
-### Text Embedding Models
+## Embedding Models
-To find the selection of text embeddings models in the Clarifai platform you can select the text to embedding model type [here](https://clarifai.com/explore/models?page=1&perPage=24&filterData=%5B%7B%22field%22%3A%22model_type_id%22%2C%22value%22%3A%5B%22text-embedder%22%5D%7D%5D).
+To find the selection of embeddings models in the Clarifai platform you can select the text to embedding model type [here](https://clarifai.com/explore/models?page=1&perPage=24&filterData=%5B%7B%22field%22%3A%22model_type_id%22%2C%22value%22%3A%5B%22text-embedder%22%5D%7D%5D).
There is a Clarifai Embedding model in LangChain, which you can access with:
```python
from langchain_community.embeddings import ClarifaiEmbeddings
embeddings = ClarifaiEmbeddings(pat=CLARIFAI_PAT, user_id=USER_ID, app_id=APP_ID, model_id=MODEL_ID)
```
-For more details, the docs on the Clarifai Embeddings wrapper provide a [detailed walkthrough](/docs/integrations/text_embedding/clarifai).
+
+See a [usage example](/docs/integrations/document_loaders/couchbase).
+
## Vectorstore
diff --git a/docs/docs/integrations/providers/clickup.mdx b/docs/docs/integrations/providers/clickup.mdx
new file mode 100644
index 0000000000000..256ae2cace4e6
--- /dev/null
+++ b/docs/docs/integrations/providers/clickup.mdx
@@ -0,0 +1,20 @@
+# ClickUp
+
+>[ClickUp](https://clickup.com/) is an all-in-one productivity platform that provides small and large teams across industries with flexible and customizable work management solutions, tools, and functions.
+>
+>It is a cloud-based project management solution for businesses of all sizes featuring communication and collaboration tools to help achieve organizational goals.
+
+## Installation and Setup
+
+1. Create a [ClickUp App](https://help.clickup.com/hc/en-us/articles/6303422883095-Create-your-own-app-with-the-ClickUp-API)
+2. Follow [these steps](https://clickup.com/api/developer-portal/authentication/) to get your client_id and client_secret.
+
+## Toolkits
+
+```python
+from langchain_community.agent_toolkits.clickup.toolkit import ClickupToolkit
+from langchain_community.utilities.clickup import ClickupAPIWrapper
+```
+
+See a [usage example](/docs/integrations/tools/clickup).
+
diff --git a/docs/docs/integrations/providers/cloudflare.mdx b/docs/docs/integrations/providers/cloudflare.mdx
index ad1223ddc15e7..d7a4e8b8bed14 100644
--- a/docs/docs/integrations/providers/cloudflare.mdx
+++ b/docs/docs/integrations/providers/cloudflare.mdx
@@ -8,6 +8,13 @@
> learning models, on the `Cloudflare` network, from your code via REST API.
+## LLMs
+
+See [installation instructions and usage example](/docs/integrations/llms/cloudflare_workersai).
+
+```python
+from langchain_community.llms.cloudflare_workersai import CloudflareWorkersAI
+```
## Embedding models
diff --git a/docs/docs/integrations/providers/clova.mdx b/docs/docs/integrations/providers/clova.mdx
new file mode 100644
index 0000000000000..b10aa93051136
--- /dev/null
+++ b/docs/docs/integrations/providers/clova.mdx
@@ -0,0 +1,14 @@
+# Clova
+
+>[CLOVA Studio](https://api.ncloud-docs.com/docs/ai-naver-clovastudio-summary) is a service
+> of [Naver Cloud Platform](https://www.ncloud.com/) that uses `HyperCLOVA` language models,
+> a hyperscale AI technology, to output phrases generated through AI technology based on user input.
+
+
+## Embedding models
+
+See [installation instructions and usage example](/docs/integrations/text_embedding/clova).
+
+```python
+from langchain_community.embeddings import ClovaEmbeddings
+```
diff --git a/docs/docs/integrations/providers/cogniswitch.mdx b/docs/docs/integrations/providers/cogniswitch.mdx
new file mode 100644
index 0000000000000..d8aee6a4c9d5c
--- /dev/null
+++ b/docs/docs/integrations/providers/cogniswitch.mdx
@@ -0,0 +1,53 @@
+# CogniSwitch
+
+>[CogniSwitch](https://www.cogniswitch.ai/aboutus) is an API based data platform that
+> enhances enterprise data by extracting entities, concepts and their relationships
+> thereby converting this data into a multidimensional format and storing it in
+> a database that can accommodate these enhancements. In our case the data is stored
+> in a knowledge graph. This enhanced data is now ready for consumption by LLMs and
+> other GenAI applications ensuring the data is consumable and context can be maintained.
+> Thereby eliminating hallucinations and delivering accuracy.
+
+## Toolkit
+
+See [installation instructions and usage example](/docs/integrations/tools/cogniswitch).
+
+```python
+from langchain_community.agent_toolkits import CogniswitchToolkit
+```
+
+## Tools
+
+### CogniswitchKnowledgeRequest
+
+>Tool that uses the CogniSwitch service to answer questions.
+
+```python
+from langchain_community.tools.cogniswitch.tool import CogniswitchKnowledgeRequest
+```
+
+### CogniswitchKnowledgeSourceFile
+
+>Tool that uses the CogniSwitch services to store data from file.
+
+```python
+from langchain_community.tools.cogniswitch.tool import CogniswitchKnowledgeSourceFile
+```
+
+### CogniswitchKnowledgeSourceURL
+
+>Tool that uses the CogniSwitch services to store data from a URL.
+
+```python
+from langchain_community.tools.cogniswitch.tool import CogniswitchKnowledgeSourceURL
+```
+
+### CogniswitchKnowledgeStatus
+
+>Tool that uses the CogniSwitch services to get the status of the document or url uploaded.
+
+```python
+from langchain_community.tools.cogniswitch.tool import CogniswitchKnowledgeStatus
+```
+
+
diff --git a/docs/docs/integrations/providers/connery.mdx b/docs/docs/integrations/providers/connery.mdx
new file mode 100644
index 0000000000000..36684a97fa0e9
--- /dev/null
+++ b/docs/docs/integrations/providers/connery.mdx
@@ -0,0 +1,28 @@
+# Connery
+
+>[Connery SDK](https://github.com/connery-io/connery-sdk) is an NPM package that
+> includes both an SDK and a CLI, designed for the development of plugins and actions.
+>
+>The CLI automates many things in the development process. The SDK
+> offers a JavaScript API for defining plugins and actions and packaging them
+> into a plugin server with a standardized REST API generated from the metadata.
+> The plugin server handles authorization, input validation, and logging.
+> So you can focus on the logic of your actions.
+>
+> See the use cases and examples in the [Connery SDK documentation](https://sdk.connery.io/docs/use-cases/)
+
+## Toolkit
+
+See [usage example](/docs/integrations/tools/connery).
+
+```python
+from langchain_community.agent_toolkits.connery import ConneryToolkit
+```
+
+## Tools
+
+### ConneryAction
+
+```python
+from langchain_community.tools.connery import ConneryService
+```
diff --git a/docs/docs/integrations/providers/dashvector.mdx b/docs/docs/integrations/providers/dashvector.mdx
index b18fca590b6a5..b7ded751ddf7d 100644
--- a/docs/docs/integrations/providers/dashvector.mdx
+++ b/docs/docs/integrations/providers/dashvector.mdx
@@ -6,12 +6,27 @@ This document demonstrates to leverage DashVector within the LangChain ecosystem
It is broken into two parts: installation and setup, and then references to specific DashVector wrappers.
## Installation and Setup
+
+
Install the Python SDK:
+
```bash
pip install dashvector
```
-## VectorStore
+You must have an API key. Here are the [installation instructions](https://help.aliyun.com/document_detail/2510223.html).
+
+
+## Embedding models
+
+```python
+from langchain_community.embeddings import DashScopeEmbeddings
+```
+
+See the [use example](/docs/integrations/vectorstores/dashvector).
+
+
+## Vector Store
A DashVector Collection is wrapped as a familiar VectorStore for native usage within LangChain,
which allows it to be readily used for various scenarios, such as semantic search or example selection.
diff --git a/docs/docs/integrations/providers/dataforseo.mdx b/docs/docs/integrations/providers/dataforseo.mdx
index 3be8ed0f2be17..37d8884fa4b42 100644
--- a/docs/docs/integrations/providers/dataforseo.mdx
+++ b/docs/docs/integrations/providers/dataforseo.mdx
@@ -19,7 +19,7 @@ os.environ["DATAFORSEO_PASSWORD"] = "your_password"
## Utility
-The DataForSEO utility wraps the API. To import this utility, use:
+The `DataForSEO` utility wraps the API. To import this utility, use:
```python
from langchain_community.utilities.dataforseo_api_search import DataForSeoAPIWrapper
@@ -36,6 +36,13 @@ from langchain.agents import load_tools
tools = load_tools(["dataforseo-api-search"])
```
+This will load the following tools:
+
+```python
+from langchain_community.tools import DataForSeoAPISearchRun
+from langchain_community.tools import DataForSeoAPISearchResults
+```
+
## Example usage
```python
diff --git a/docs/docs/integrations/providers/dingo.mdx b/docs/docs/integrations/providers/dingo.mdx
index be0c9f83faba3..b12a6a72cbc6c 100644
--- a/docs/docs/integrations/providers/dingo.mdx
+++ b/docs/docs/integrations/providers/dingo.mdx
@@ -1,10 +1,21 @@
# DingoDB
-This page covers how to use the DingoDB ecosystem within LangChain.
-It is broken into two parts: installation and setup, and then references to specific DingoDB wrappers.
+>[DingoDB](https://github.com/dingodb) is a distributed multi-modal vector
+> database. It combines the features of a data lake and a vector database,
+> allowing for the storage of any type of data (key-value, PDF, audio,
+> video, etc.) regardless of its size. Utilizing DingoDB, you can construct
+> your own Vector Ocean (the next-generation data architecture following data
+> warehouse and data lake). This enables
+> the analysis of both structured and unstructured data through
+> a singular SQL with exceptionally low latency in real time.
## Installation and Setup
-- Install the Python SDK with `pip install dingodb`
+
+Install the Python SDK
+
+```bash
+pip install dingodb
+```
## VectorStore
@@ -12,6 +23,7 @@ There exists a wrapper around DingoDB indexes, allowing you to use it as a vecto
whether for semantic search or example selection.
To import this vectorstore:
+
```python
from langchain_community.vectorstores import Dingo
```
diff --git a/docs/docs/integrations/providers/docarray.mdx b/docs/docs/integrations/providers/docarray.mdx
index 5895fa30f798c..d1d41a19834d1 100644
--- a/docs/docs/integrations/providers/docarray.mdx
+++ b/docs/docs/integrations/providers/docarray.mdx
@@ -20,7 +20,7 @@ LangChain provides an access to the `In-memory` and `HNSW` vector stores from th
See a [usage example](/docs/integrations/vectorstores/docarray_hnsw).
```python
-from langchain_community.vectorstores DocArrayHnswSearch
+from langchain_community.vectorstores import DocArrayHnswSearch
```
See a [usage example](/docs/integrations/vectorstores/docarray_in_memory).
@@ -28,3 +28,10 @@ See a [usage example](/docs/integrations/vectorstores/docarray_in_memory).
from langchain_community.vectorstores DocArrayInMemorySearch
```
+## Retriever
+
+See a [usage example](/docs/integrations/retrievers/docarray_retriever).
+
+```python
+from langchain_community.retrievers import DocArrayRetriever
+```
diff --git a/docs/docs/integrations/providers/dria.mdx b/docs/docs/integrations/providers/dria.mdx
new file mode 100644
index 0000000000000..7e3c5cdbace43
--- /dev/null
+++ b/docs/docs/integrations/providers/dria.mdx
@@ -0,0 +1,25 @@
+# Dria
+
+>[Dria](https://dria.co/) is a hub of public RAG models for developers to
+> both contribute and utilize a shared embedding lake.
+
+See more details about the LangChain integration with Dria
+at [this page](https://dria.co/docs/integrations/langchain).
+
+## Installation and Setup
+
+You have to install a python package:
+
+```bash
+pip install dria
+```
+
+You have to get an API key from Dria. You can get it by signing up at [Dria](https://dria.co/).
+
+## Retrievers
+
+See a [usage example](/docs/integrations/retrievers/dria_index).
+
+```python
+from langchain_community.retrievers import DriaRetriever
+```
diff --git a/docs/docs/integrations/providers/duckduckgo_search.mdx b/docs/docs/integrations/providers/duckduckgo_search.mdx
new file mode 100644
index 0000000000000..29ab01981f45f
--- /dev/null
+++ b/docs/docs/integrations/providers/duckduckgo_search.mdx
@@ -0,0 +1,25 @@
+# DuckDuckGo Search
+
+>[DuckDuckGo Search](https://github.com/deedy5/duckduckgo_search) is a package that
+> searches for words, documents, images, videos, news, maps and text
+> translation using the `DuckDuckGo.com` search engine. It is downloading files
+> and images to a local hard drive.
+
+## Installation and Setup
+
+You have to install a python package:
+
+```bash
+pip install duckduckgo-search
+```
+
+## Tools
+
+See a [usage example](/docs/integrations/tools/ddg).
+
+There are two tools available:
+
+```python
+from langchain_community.tools import DuckDuckGoSearchRun
+from langchain_community.tools import DuckDuckGoSearchResults
+```
diff --git a/docs/docs/integrations/providers/e2b.mdx b/docs/docs/integrations/providers/e2b.mdx
new file mode 100644
index 0000000000000..ee0ca085aa440
--- /dev/null
+++ b/docs/docs/integrations/providers/e2b.mdx
@@ -0,0 +1,20 @@
+# E2B
+
+>[E2B](https://e2b.dev/) provides open-source secure sandboxes
+> for AI-generated code execution. See more [here](https://github.com/e2b-dev).
+
+## Installation and Setup
+
+You have to install a python package:
+
+```bash
+pip install e2b_code_interpreter
+```
+
+## Tool
+
+See a [usage example](/docs/integrations/tools/e2b_data_analysis).
+
+```python
+from langchain_community.tools import E2BDataAnalysisTool
+```
diff --git a/docs/docs/integrations/providers/elasticsearch.mdx b/docs/docs/integrations/providers/elasticsearch.mdx
index 6311fe794df22..c3b123d47b80f 100644
--- a/docs/docs/integrations/providers/elasticsearch.mdx
+++ b/docs/docs/integrations/providers/elasticsearch.mdx
@@ -6,11 +6,14 @@
## Installation and Setup
+### Setup Elasticsearch
+
There are two ways to get started with Elasticsearch:
-#### Install Elasticsearch on your local machine via docker
+#### Install Elasticsearch on your local machine via Docker
-Example: Run a single-node Elasticsearch instance with security disabled. This is not recommended for production use.
+Example: Run a single-node Elasticsearch instance with security disabled.
+This is not recommended for production use.
```bash
docker run -p 9200:9200 -e "discovery.type=single-node" -e "xpack.security.enabled=false" -e "xpack.security.http.ssl.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:8.9.0
@@ -18,7 +21,7 @@ Example: Run a single-node Elasticsearch instance with security disabled. This i
#### Deploy Elasticsearch on Elastic Cloud
-Elastic Cloud is a managed Elasticsearch service. Signup for a [free trial](https://cloud.elastic.co/registration?utm_source=langchain&utm_content=documentation).
+`Elastic Cloud` is a managed Elasticsearch service. Signup for a [free trial](https://cloud.elastic.co/registration?utm_source=langchain&utm_content=documentation).
### Install Client
@@ -43,7 +46,34 @@ See a [usage example](/docs/integrations/vectorstores/elasticsearch).
from langchain_elasticsearch import ElasticsearchStore
```
+### Third-party integrations
+
+#### EcloudESVectorStore
+
+```python
+from langchain_community.vectorstores.ecloud_vector_search import EcloudESVectorStore
+```
+
+## Retrievers
+
+### ElasticsearchRetriever
+
+The `ElasticsearchRetriever` enables flexible access to all Elasticsearch features
+through the Query DSL.
+
+See a [usage example](/docs/integrations/retrievers/elasticsearch_retriever).
+
+```python
+from langchain_elasticsearch import ElasticsearchRetriever
+```
+
+### BM25
+
+See a [usage example](/docs/integrations/retrievers/elastic_search_bm25).
+```python
+from langchain_community.retrievers import ElasticSearchBM25Retriever
+```
## Memory
See a [usage example](/docs/integrations/memory/elasticsearch_chat_message_history).
@@ -67,3 +97,12 @@ See a [usage example](/docs/integrations/stores/elasticsearch).
```python
from langchain_elasticsearch import ElasticsearchEmbeddingsCache
```
+
+## Chain
+
+It is a chain for interacting with Elasticsearch Database.
+
+```python
+from langchain.chains.elasticsearch_database import ElasticsearchDatabaseChain
+```
+
diff --git a/docs/docs/integrations/providers/marqo.md b/docs/docs/integrations/providers/marqo.md
index 106db08599dcf..1e18569309ee2 100644
--- a/docs/docs/integrations/providers/marqo.md
+++ b/docs/docs/integrations/providers/marqo.md
@@ -21,7 +21,7 @@ To run Marqo locally with our docker image, [see our getting started.](https://d
There exists a wrapper around Marqo indexes, allowing you to use them within the vectorstore framework. Marqo lets you select from a range of models for generating embeddings and exposes some preprocessing configurations.
-The Marqo vectorstore can also work with existing multimodel indexes where your documents have a mix of images and text, for more information refer to [our documentation](https://docs.marqo.ai/latest/#multi-modal-and-cross-modal-search). Note that instaniating the Marqo vectorstore with an existing multimodal index will disable the ability to add any new documents to it via the langchain vectorstore `add_texts` method.
+The Marqo vectorstore can also work with existing multimodal indexes where your documents have a mix of images and text, for more information refer to [our documentation](https://docs.marqo.ai/latest/#multi-modal-and-cross-modal-search). Note that instantiating the Marqo vectorstore with an existing multimodal index will disable the ability to add any new documents to it via the langchain vectorstore `add_texts` method.
To import this vectorstore:
```python
diff --git a/docs/docs/integrations/providers/notion.mdx b/docs/docs/integrations/providers/notion.mdx
index 7f5136868008b..6ed4fd306fc93 100644
--- a/docs/docs/integrations/providers/notion.mdx
+++ b/docs/docs/integrations/providers/notion.mdx
@@ -12,16 +12,9 @@ All instructions are in examples below.
We have two different loaders: `NotionDirectoryLoader` and `NotionDBLoader`.
-See a [usage example for the NotionDirectoryLoader](/docs/integrations/document_loaders/notion).
+See [usage examples here](/docs/integrations/document_loaders/notion).
```python
-from langchain_community.document_loaders import NotionDirectoryLoader
-```
-
-See a [usage example for the NotionDBLoader](/docs/integrations/document_loaders/notiondb).
-
-
-```python
-from langchain_community.document_loaders import NotionDBLoader
+from langchain_community.document_loaders import NotionDirectoryLoader, NotionDBLoader
```
diff --git a/docs/docs/integrations/providers/ollama.mdx b/docs/docs/integrations/providers/ollama.mdx
index 704b02ab15f23..6a05b5e2be606 100644
--- a/docs/docs/integrations/providers/ollama.mdx
+++ b/docs/docs/integrations/providers/ollama.mdx
@@ -1,7 +1,7 @@
# Ollama
>[Ollama](https://ollama.com/) allows you to run open-source large language models,
-> such as LLaMA2, locally.
+> such as [Llama3.1](https://ai.meta.com/blog/meta-llama-3-1/), locally.
>
>`Ollama` bundles model weights, configuration, and data into a single package, defined by a Modelfile.
>It optimizes setup and configuration details, including GPU usage.
@@ -11,14 +11,36 @@ See [this guide](/docs/how_to/local_llms) for more details
on how to use `Ollama` with LangChain.
## Installation and Setup
-
-Follow [these instructions](https://github.com/ollama/ollama?tab=readme-ov-file#ollama)
+### Ollama installation
+Follow [these instructions](https://github.com/ollama/ollama?tab=readme-ov-file#ollama)
to set up and run a local Ollama instance.
+Ollama will start as a background service automatically, if this is disabled, run:
+
+```bash
+# export OLLAMA_HOST=127.0.0.1 # environment variable to set ollama host
+# export OLLAMA_PORT=11434 # environment variable to set the ollama port
+ollama serve
+```
+
+After starting ollama, run `ollama pull ` to download a model
+from the [Ollama model library](https://ollama.ai/library).
+
+```bash
+ollama pull llama3.1
+```
+
+We're now ready to install the `langchain-ollama` partner package and run a model.
+
+### Ollama LangChain partner package install
+Install the integration package with:
+```bash
+pip install langchain-ollama
+```
## LLM
```python
-from langchain_community.llms import Ollama
+from langchain_ollama.llms import OllamaLLM
```
See the notebook example [here](/docs/integrations/llms/ollama).
@@ -28,18 +50,17 @@ See the notebook example [here](/docs/integrations/llms/ollama).
### Chat Ollama
```python
-from langchain_community.chat_models import ChatOllama
+from langchain_ollama.chat_models import ChatOllama
```
See the notebook example [here](/docs/integrations/chat/ollama).
-### Ollama functions
-
-```python
-from langchain_experimental.llms.ollama_functions import OllamaFunctions
-```
-
-See the notebook example [here](/docs/integrations/chat/ollama_functions).
+### Ollama tool calling
+[Ollama tool calling](https://ollama.com/blog/tool-support) uses the
+OpenAI compatible web server specification, and can be used with
+the default `BaseChatModel.bind_tools()` methods
+as described [here](/docs/how_to/tool_calling/).
+Make sure to select an ollama model that supports [tool calling](https://ollama.com/search?&c=tools).
## Embedding models
diff --git a/docs/docs/integrations/providers/pandas.mdx b/docs/docs/integrations/providers/pandas.mdx
new file mode 100644
index 0000000000000..15519b0b0f792
--- /dev/null
+++ b/docs/docs/integrations/providers/pandas.mdx
@@ -0,0 +1,29 @@
+# Pandas
+
+>[pandas](https://pandas.pydata.org) is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool,
+built on top of the `Python` programming language.
+
+## Installation and Setup
+
+Install the `pandas` package using `pip`:
+
+```bash
+pip install pandas
+```
+
+
+## Document loader
+
+See a [usage example](/docs/integrations/document_loaders/pandas_dataframe).
+
+```python
+from langchain_community.document_loaders import DataFrameLoader
+```
+
+## Toolkit
+
+See a [usage example](/docs/integrations/tools/pandas).
+
+```python
+from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent
+```
diff --git a/docs/docs/integrations/providers/premai.md b/docs/docs/integrations/providers/premai.md
index 7bf88d1fd0208..4dc66d808812e 100644
--- a/docs/docs/integrations/providers/premai.md
+++ b/docs/docs/integrations/providers/premai.md
@@ -319,7 +319,7 @@ def multiply(a: int, b: int) -> int:
### Binding tool schemas with our LLM
-We will now use the `bind_tools` method to convert our above functions to a "tool" and binding it with the model. This means we are going to pass these tool informations everytime we invoke the model.
+We will now use the `bind_tools` method to convert our above functions to a "tool" and binding it with the model. This means we are going to pass these tool information everytime we invoke the model.
```python
tools = [add, multiply]
diff --git a/docs/docs/integrations/retrievers/box.ipynb b/docs/docs/integrations/retrievers/box.ipynb
new file mode 100644
index 0000000000000..7e0577e998f7c
--- /dev/null
+++ b/docs/docs/integrations/retrievers/box.ipynb
@@ -0,0 +1,323 @@
+{
+ "cells": [
+ {
+ "cell_type": "raw",
+ "id": "afaf8039",
+ "metadata": {},
+ "source": [
+ "---\n",
+ "sidebar_label: Box\n",
+ "---"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "e49f1e0d",
+ "metadata": {},
+ "source": [
+ "# BoxRetriever\n",
+ "\n",
+ "This will help you getting started with the Box [retriever](/docs/concepts/#retrievers). For detailed documentation of all BoxRetriever features and configurations head to the [API reference](https://api.python.langchain.com/en/latest/retrievers/langchain_box.retrievers.Box.BoxRetriever.html).\n",
+ "\n",
+ "# Overview\n",
+ "\n",
+ "The `BoxRetriever` class helps you get your unstructured content from Box in Langchain's `Document` format. You can do this by searching for files based on a full-text search or using Box AI to retrieve a `Document` containing the result of an AI query against files. This requires including a `List[str]` containing Box file ids, i.e. `[\"12345\",\"67890\"]` \n",
+ "\n",
+ ":::info\n",
+ "Box AI requires an Enterprise Plus license\n",
+ ":::\n",
+ "\n",
+ "Files without a text representation will be skipped.\n",
+ "\n",
+ "### Integration details\n",
+ "\n",
+ "1: Bring-your-own data (i.e., index and search a custom corpus of documents):\n",
+ "\n",
+ "| Retriever | Self-host | Cloud offering | Package |\n",
+ "| :--- | :--- | :---: | :---: |\n",
+ "[BoxRetriever](https://api.python.langchain.com/en/latest/retrievers/langchain-box.retrievers.langchain_box.BoxRetriever.html) | ❌ | ✅ | langchain-box |\n",
+ "\n",
+ "## Setup\n",
+ "\n",
+ "In order to use the Box package, you will need a few things:\n",
+ "\n",
+ "* A Box account — If you are not a current Box customer or want to test outside of your production Box instance, you can use a [free developer account](https://account.box.com/signup/n/developer#ty9l3).\n",
+ "* [A Box app](https://developer.box.com/guides/getting-started/first-application/) — This is configured in the [developer console](https://account.box.com/developers/console), and for Box AI, must have the `Manage AI` scope enabled. Here you will also select your authentication method\n",
+ "* The app must be [enabled by the administrator](https://developer.box.com/guides/authorization/custom-app-approval/#manual-approval). For free developer accounts, this is whomever signed up for the account.\n",
+ "\n",
+ "### Credentials\n",
+ "\n",
+ "For these examples, we will use [token authentication](https://developer.box.com/guides/authentication/tokens/developer-tokens). This can be used with any [authentication method](https://developer.box.com/guides/authentication/). Just get the token with whatever methodology. If you want to learn more about how to use other authentication types with `langchain-box`, visit the [Box provider](/docs/integrations/providers/box) document."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "b87a8e8b-9b5a-4e78-97e4-274b6b0dd29f",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Enter your Box Developer Token: ········\n"
+ ]
+ }
+ ],
+ "source": [
+ "import getpass\n",
+ "import os\n",
+ "\n",
+ "box_developer_token = getpass.getpass(\"Enter your Box Developer Token: \")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "72ee0c4b-9764-423a-9dbf-95129e185210",
+ "metadata": {},
+ "source": [
+ "If you want to get automated tracing from individual queries, you can also set your [LangSmith](https://docs.smith.langchain.com/) API key by uncommenting below:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "a15d341e-3e26-4ca3-830b-5aab30ed66de",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# os.environ[\"LANGSMITH_API_KEY\"] = getpass.getpass(\"Enter your LangSmith API key: \")\n",
+ "# os.environ[\"LANGSMITH_TRACING\"] = \"true\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "0730d6a1-c893-4840-9817-5e5251676d5d",
+ "metadata": {},
+ "source": [
+ "### Installation\n",
+ "\n",
+ "This retriever lives in the `langchain-box` package:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "652d6238-1f87-422a-b135-f5abbb8652fc",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%pip install -qU langchain-box"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a38cde65-254d-4219-a441-068766c0d4b5",
+ "metadata": {},
+ "source": [
+ "## Instantiation\n",
+ "\n",
+ "Now we can instantiate our retriever:\n",
+ "\n",
+ "## Search"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "70cc8e65-2a02-408a-bbc6-8ef649057d82",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langchain_box import BoxRetriever\n",
+ "\n",
+ "retriever = BoxRetriever(box_developer_token=box_developer_token)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "41287857-cfe9-4d39-a84d-e7bd9f1f59a8",
+ "metadata": {},
+ "source": [
+ "## Box AI"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "ee0e726d-9974-4aa0-9ce1-0057ec3e540a",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langchain_box import BoxRetriever\n",
+ "\n",
+ "box_file_ids = [\"1514555423624\", \"1514553902288\"]\n",
+ "\n",
+ "retriever = BoxRetriever(\n",
+ " box_developer_token=box_developer_token, box_file_ids=box_file_ids\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5c5f2839-4020-424e-9fc9-07777eede442",
+ "metadata": {},
+ "source": [
+ "## Usage"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "51a60dbe-9f2e-4e04-bb62-23968f17164a",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[Document(metadata={'source': 'https://dl.boxcloud.com/api/2.0/internal_files/1233039227512/versions/1346280085912/representations/extracted_text/content/', 'title': 'FIVE_FEET_AND_RISING_by_Peter_Sollett_pdf'}, page_content='\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 1/25\\n\\nFIVE FEET AND RISING\\n\\nby\\n\\nPeter Sollett\\n\\nFADE IN:\\n\\nEXT. 8TH STREET BETWEEN AVENUES C AND D - DAY \\n\\nA group of dark-skinned girls wearing cheerleading outfits \\nalign themselves in formation on the sidewalk. They begin to \\ndance. No music can be heard. The sound of the girls\\' bodies \\nis our soundtrack. We hear their strained breathing, palms \\nand sneaker bottoms pounding while they hum and count softly \\nto themselves in an effort to keep the rhythm.\\n\\nSLO-MO: We explore the bodies of the dancers; their bright \\neyes and sweaty brows, their stomping feet and colliding \\nhands (dark side and light side). The younger girls perform \\nprovocative dance movements, the older girls repeat them.\\n\\nTheir bodies silhouette in the bright sunlight.\\n\\nCUT TO: TITLES\\n\\nEXT. AMANDA\\'S BLOCK - DAY \\n\\nAMANDA, a tall 14-year-old exits the front door of her \\napartment budding with her headphones in one hand and a \\nmagazine in the other. She sits down on her stoop, puts her \\nheadphones on and presses \"play\". We can hear the sound of \\nSalsa leaking out of the sides of her headphones. JENETTE, \\nten years old with big black hair in rubber-band restraints, sits on \\nthe sidewalk below Amanda drawing with a piece of chalk. Jenette \\n\\n looks over her shoulder and sees Amanda reading her magazine Jenette \\nclimbs the stairs and sits down beside her.\\n\\nThe camera pans to reveal AARON, an 18-year-old boy on the \\nother side of the street, unloading some fireworks from the \\ntrunk of a car. He\\'s filling a paper bag with them, \\ncarefully making sure not to reveal what he\\'s doing to \\nonlookers.\\n\\nAt the ear end of the block, DONNA, 14, and MICHELLE, 12, \\nsit and watch Aaron at work.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 2/25\\n\\nMICHELLE \\nHow does he look up close?\\n\\nDONNA \\n(Amorously) \\n\\nUmm, he got dark brownish \\neyes, he got a nice nose I \\nlove his nose. I love his \\nskin. I love his lips, he \\ngot a great smile and he \\ngot-\\n\\nMICHELLE \\nA bad attitude.\\n\\nDONNA \\nYeah, he got a bad \\nattitude.\\n\\nMICHELLE \\nYou said before, that he \\ngot boxes?\\n\\nSLO-MO: The camera is very close to Aaron. Details of his \\nbody in a shallow depth of field.\\n\\nDONNA \\nYeah, he got boxes in his \\nstomach. He\\'s taller than \\nme.\\n\\nMICHELLE \\nHow old is he?\\n\\nDONNA \\nI think he\\'s 18 or 17.\\n\\nMICHELLE \\nYou gonna talk to him?\\n\\nDONNA \\nUm, yeah I think so.\\n\\nBack on Amanda\\'s stoop.\\n\\nJENETTE \\nYou still like him.\\n\\nAMANDA \\n(With a sigh of negative attitude) \\n\\nNo.\\n\\nHECTOR, a mature-looking 13-year old is crossing the \\nstreet. He enters frame with Amanda and Jenette. \\n\\nHECTOR \\nYo, wuzzup. \\n\\nAmanda ignores him. \\n\\nJENETTE \\nHi Hector\\n\\nHECTOR \\n(To Amanda) \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 3/25\\n\\nOh, you\\'re not gonna say \\nhello.\\n\\nAMANDA\\'S POV: Donna approaches Aaron as he locks up the \\ntrunk of the car. She hesitantly calls over to him. He \\nacknowledges her with a lift of the chin. Making sure he \\nkeeps his distance from her, he looks around to see if \\nanyone is watching him. He tosses his head for her to \\nfollow. He begins to walk away down the block. She follows.\\n\\nHector is looking at Amanda. He appears to have run out of \\nthings to say. Amanda removes her headphones. Her music \\nbecomes clearer, more audible.\\n\\nHECTOR \\nYo, you gonna keep me \\nhangin\\' like dat?\\n\\nAMANDA \\nHector, Yo try to rap to me every day, why don\\'t you \\ntake your three-quarters retarded ass outta here?\\n\\nHECTOR \\nYo, you betta give me my \\nrespects or I\\'ll tell your \\nlittle girl ova here what \\nI heard about you and my \\nboy.\\n\\nAmanda puts her headphones back on.\\n\\nHECTOR looks like he got a new girl anyway.\\n\\nEXT. 8TH STREET BETWEEN AVENUES C AND D - AFTERNOON \\n\\nVICTOR, a skinny 12-year-old with sloppy hair, is asleep in \\nthe sun on his fire escape. There is sweat beaded up on his \\nbody. His shirt is rolled up behind his head like a pillow. \\nHis breath is heavy, his chest rises and falls. The camera \\ntilts to reveal CARLOS, ten, rounding the corner on the \\nstreet below. The camera tracks backwards as Carlos \\napproaches. He is talking to himself.\\n\\nCARLOS \\n(To himself) \\n\\nWhatcha gonna do when ya \\nbitch is untrue?\\n\\nCarlos lifts his head up to look at the fire escapes.\\n\\nCARLOS \\nYo Victor!\\n\\nThe camera pans and tilts up to the fire escapes. The \\nbuildings float by. He arrives in front of Victor\\'s \\nbuilding and cups his hand around his mouth.\\n\\nCARLOS \\nYo Victor!\\n\\nOn the fire escape, Victor\\'s eyes pop open and the sun \\nshines into them.\\n\\nVICTOR \\n(Dazed) \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 4/25\\n\\nWhat, wuzzup?\\n\\nVictor sits up and looks over the side of the fire escape.\\n\\nCARL0S \\nCome down!\\n\\nVICTOR \\nI can\\'t!\\n\\nCARLOS \\nWhy?\\n\\nVICTOR \\nI got punished, man.\\n\\nCARLOS \\nFa what?\\n\\nVICTOR \\nI won\\'t let my motha cut \\nmy hair.\\n\\nCARLOS \\nWha\\'?\\n\\nVICTOR \\nShe fucks it all up!\\n\\nCARLOS \\nForget it! C\\'mon Let\\'s go \\nto the pool.\\n\\nVICTOR \\nI can\\'t man, I\\'m punished!\\n\\nCARL0S \\nWho gives!\\n\\nVICTOR \\nI can\\'t, I\\'m gonna get \\npunished more!\\n\\nCARLOS \\nTrust me, I always get \\ninto trouble, c\\'mon!\\n\\nVictor sits down on the fire escape. Carlos pauses for a \\nminute and turns his back on Victor.\\n\\nCARL0S \\nC\\'mon! The girls are \\nwaiting for you!\\n\\nVictor hops back up.\\n\\nVICTOR \\n(interested) \\n\\nThey are?\\n\\nCARLOS \\nYeah! Tell me which one you would like. To be doin\\' \\nnothin on a fire escape or beat the pool with a bunch of \\ngirls? Be straight up!\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 5/25\\n\\nVICTOR \\nI\\'ll be right down.\\n\\nVictor climbs down the fire escape and hops down to the \\nstreet. he immediately grabs Carlos and starts pushing him \\ndown the block to avoid being seen from above.\\n\\nEXT. THE CORNER OF 8TH STREET AND AVENUE D - CONTINUOUS \\n\\nThe boys safely round the corner onto Avenue D. Victor \\nperks up and starts nudging Carlos.\\n\\nVICTOR \\nSo what girls are over \\nthere?\\n\\nCARLOS \\nNatasha, Maria, Tina-\\n\\nVICTOR \\nThese are the pretty girls \\nyou told me to come down \\nfor?\\n\\nVictor sighs and runs his fingers through his hair.\\n\\nCARLOS \\nWhat\\'s the difference, you \\nnever do anything anyway\\n\\nVictor makes a disagreeing gesture. Carlos drags Victor \\nDowntown.\\n\\nVICTOR \\nWhat are you going that \\nway for?\\n\\nCARLOS \\nI\\'m not goin\\' to 10th \\nStreet, people piss and \\nshit in that pool,\\n\\nVICTOR \\nWhere you goin\\'?\\n\\nCARLOS \\nPitt.\\n\\nVICTOR \\nOh man, what we gotta \\nleave ar\\' own neighborhood \\nfor?\\n\\nCARLOS \\nC\\'mon.\\n\\nVICTOR \\nMan, if I go down you\\'re \\ngoin\\' down with me.\\n\\nEXT. AVENUE D - CONTINUOUS \\n\\nMONTAGE: Victor and Carlos hang on each other as they walk down \\n Avenue D towards the Pitt Street Pool. They pass by Victor brother, \\n giving him an impromptu smack and then bang on a store window to wave \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 6/25\\n\\nhello to a friend.\\n\\nFrom Victor\\'s POV we work our way through a crowd of people \\nan cross 3rd Street. Victor looks back at the crowd with a \\nwatchful eye. The camera tracks along in the street as the \\nboys walk along the sidewalk. Victor looks up at a street \\nsign. It reads, \"Houston St.\" As the boys make their way \\nacross the wide intersection, the heat is slightly visible \\nas car exhaust fills the gridlocked lanes. Victor and \\nCarlos walk calmly, with space between them, making their \\nway towards the camera in a shallow depth of field as we \\nfollow focus on them.\\n\\nEXT. PITT STREET POOL - CONTINUOUS \\n\\nVictor and Carlos stand on line outside the pool gates. Police \\nexamine the boys as they slowly inch their way into the park.\\n\\nFrom Victor\\'s POV we see the expanse of the pool as he \\nenters the park. We watch as he surveys the area.\\n\\nFrom a high angle we see Carlos nudge Victor to make his \\nway onto the pool deck. They enter the crowd, proceeding \\ncarefully, making sure not to bump anyone.\\n\\nAs they continue to walk, Victor\\'s POV reveals the bodies \\nof older boys and girls, rough water and mischievous kids.\\n\\nEXT. PITT STREET POOL - CONTINUOUS \\n\\nAmanda is sitting poolside with Jenette.\\n\\nAMANDA \\nAnd that girl, over there? \\nHoochie.\\n\\nJenette looks out across the pool trying to see who Amanda \\nis talking about.\\n\\nAMANDA \\nAnd him. Stay away from \\nhim, he\\'s only interested \\nin that.\\n\\nAmanda points between Jenette\\'s legs.\\n\\nAMANDA \\nThat right there.\\n\\nCarlos steps in front of them, Amanda smacks his leg.\\n\\nCARLOS \\nYo Amanda, wassup?\\n\\nThey kiss on the cheek.\\n\\nCARLOS \\n(To Victor) \\n\\nAmanda is Eddie\\'s cousin.\\n\\nVICTOR \\nEddie from Compost?\\n\\nCARLOS \\nNo, Baruch.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 7/25\\n\\nA girl swimming in the pool calls over to Carlos.\\n\\nGIRL 1 \\nCarlos! Carlos, get your \\nskinny ass over here!\\n\\nCARLOS \\n(To Victor) \\n\\nStay right here, I\\'ll be \\nright back.\\n\\nCarlos walks off leaving Victor standing next to Amanda and \\nJenette. Victor looks uncomfortable.\\n\\nAMANDA \\nWho are you?\\n\\nVICTOR \\nI\\'m wit\\' Carlos.\\n\\nAmanda points out across the pool.\\n\\nAMANDA \\n(To Jenette) \\n\\nHim right there, That\\'s \\nwho I\\'m talkin\\' about. \\n\\n(to Victor) \\nExcuse me, can you move, I \\ncan\\'t see.\\n\\nAmanda spots Aaron and Donna in the distance.\\n\\nAMANDA \\nDo you have a name?\\n\\nVICTOR \\nVictor.\\n\\nAMANDA \\nWhat?\\n\\nVICTOR \\nVictor.\\n\\nAmanda turns to Jenette and continues talking to her.\\n\\nVICTOR \\nUmm, I\\'m gonna go find \\nCarlos.\\n\\nAs Victor turns to walk, the camera pans to follow him, \\nrevealing Hector who is approaching Amanda. The camera then \\npans back to Amanda. She sighs and turns her ahead away \\nfrom him.\\n\\nEXT. PITT STREET POOL - CONTINUOUS \\n\\nIn the playground area at the Pitt Street Pool, Aaron is doing a\\' \\nimpression of Al Pacino. Darrell and Boy 1 look on.\\n\\nAARON \\n(to Boy 1) \\n\\nYou wanna meet my little \\nfriend? \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 8/25\\n\\nBoy 1 is laughing at Aaron. Donna and Michelle stand nearby \\nwatching.\\n\\nAARON \\nDon\\'t fuck wit\\' me! Don\\'t \\nfuck wit\\' me.\\n\\n(pointing his finger)\\nMy lawyer\\'s so good he\\'ll \\nhave you workin in Alaska, \\nso dress warn.\\n\\nDONNA \\nAaron, how you doin\\'?\\n\\nAARON \\nFine.\\n\\nDONNA \\nLook at me.\\n\\nAARON \\nWhat?\\n\\nDONNA \\nWhy you have an attitude \\nfor?\\n\\nAARON \\nNot now, I\\'m busy\\n\\nDONNA \\nGod, I just wanna speak to \\nyou. I just wanna speak \\nto you the way I feel \\nabout you.\\n\\nAARON \\nHurry up, you\\'re wastin\\' \\nmy time, what the fuck.\\n\\nAaron turns back to his friends.\\n\\nDONNA \\nPlease don\\'t scream at me. \\nI like you, but I don\\'t \\nlike the way your attitude \\nis.\\n\\nAARON \\nSo get the fuck outta \\nhere.\\n\\nDarrell and Boy 1 approve. They wait for Donna\\'s reply.\\n\\nDONNA \\nI wanna go out with you, I \\nwant to be part of your \\nlife. I want you to treat \\nme the way a girlfriend \\nshould be treated.\\n\\nAARON \\nThen don\\'t go out with me.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 9/25\\n\\nDONNA \\nFor once in your life have \\nsome respect for me, \\ndon\\'t even curse at me or \\nnothin\\'.\\n\\nAARON \\n(to Darrell) \\n\\nNow she\\'s tellin\\' me what \\nthe fuck to do.\\n\\nDONNA \\nGod, you drive me crazy. I \\njust want you to know how \\nI feel and you don\\'t \\nunderstand.\\n\\nAARON \\nJust get the fuck outta \\nhere.\\n\\nDonna stares at Aaron as he turns back to his friends. \\nMichelle walks up to Donna and gently leads her away.\\n\\nAARON \\nThat girl be trippin\\'. \\n\\n(Back into his Pacino impression) \\nOne time I let her kiss my \\nrings and forever \\nshe tries to repay me!\\n\\nEXT. PITT STREET POOL - LATER \\n\\nVictor and Carlos are playing, trying to force each others\\' heads \\nunderwater. \\nCarlos squirts water through his lips.\\n\\nVICTOR \\nI gotta go take a piss.\\n\\nCARLOS \\nIf we were at 10th Street \\nPool you woulda done it \\nright in the water, right?\\n\\nThe camera pans as Victor climbs out of the pool and onto a \\nlong line. As he stands and waits, Amanda can be seen in \\nthe background arguing with Hector.\\n\\nIn the water, Carlos makes a face at Victor. Victor makes \\none back.\\n\\nVICTOR \\n(Under his breath to Carlos) \\n\\nI\\'m gonna beat you.\\n\\nEXT. PITT STREET POOL - CONTINUOUS \\n\\nHector and Amanda have been arguing. Jenette is sitting on the ground \\nbeneath \\nthem.\\n\\nHECTOR \\nI know you likes me.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 10/25\\n\\nAMANDA \\nI eave me alone!\\n\\nHECTOR \\nWhy don\\'t you share the \\nwealth a little bit?\\n\\nHector grabs her wrist.\\n\\nAMANDA \\nExcuse me! I gotta go to \\nthe ladies\\' room!\\n\\nEXT. PITT STREET POOL - MOMENTS LATER \\n\\nAmanda gets on line behind Victor as he continues to antagonize \\nCarlos in the \\ndistance. Amanda recognizes Victor from behind, peeking \\nover his shoulder at the side of his face.\\n\\nAMANDA \\nShorty!\\n\\nVictor turns around to Amanda.\\n\\nAMANDA \\nWussup?\\n\\nVICTOR \\nWussup.\\n\\nHe turns back around.\\n\\nAMANDA \\nYo shorty!\\n\\nVictor turns back around.\\n\\nVICTOR \\nWhat?\\n\\nAmanda hears something over her shoulder and spins her head \\naround.\\n\\nAMANDA \\n(to Hector) \\n\\nLeave me alone! \\n(To Victor) \\n\\nYo, I know another \\nbathroom over there, c\\'mon \\nthis line\\'s too long.\\n\\nAmanda takes Victor by the hand and walks towards Hector. \\nShe bumps into him with Victor.\\n\\nAMANDA \\nExcuse us.\\n\\nAmanda gives Hector a snotty grin.\\n\\nShe drags Victor away.\\n\\nEXT. PITT STREET POOL - CONTINUOUS \\n\\nIn a small corner, out of sight to the rest of the kids at the pool. \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 11/25\\n\\nAmanda \\ncomplains to Victor. Victor looks confused.\\n\\nAMANDA \\nThis fucking guy be \\nfollowin\\' me around, and \\ntouchin\\' me. Asshole!\\n\\nShe sighs and pulls on the bathroom door. It\\'s locked. She \\ngives it another try. It won\\'t budge.\\n\\nAMANDA \\nLook, just do me a favor. \\nStand right here, okay?\\n\\nAmanda takes Victor\\'s hand for balance and squats down, \\npulling her bathing suit bottoms to the side. She urinates. \\nVictor watches her, trying to play it cool. The camera \\ntilts up from Amanda\\'s face peeking up at Victor, to their \\nhands straining for balance, to Victor\\'s wandering eyes.\\n\\nEXT. 8TH STREET BETWEEN AVENUES C AND D - DAY \\n\\nClose-up of ERICA looking into the camera.\\n\\nERICA \\nWe\\'re \"Fantasy\" and This \\nis Shai, Diamond-\\n\\nFRANCESCA \\nAnd I\\'m Melody.\\n\\nWe see the three girls standing in line on the sidewalk.\\n\\nERICA \\nAnd we\\'re gonna sing a \\nsong called \\'Tell me \\nWhat.\\' It was written by \\nmyself, Diamond and Shai \\nand the vocals were \\narranged by us two.\\n\\nFrancesca rolls her eyes.\\n\\nERICA \\nAlso, it was written May \\n24th 1998 at 10:20 p.m. \\nCheck it out.\\n\\nThe girls begin to sing.\\n\\nCarlos stands in front of the singers mocking them. The \\ncamera pans to see Victor approaching Carlos.\\n\\nVICTOR \\nWussup?\\n\\nCARL0S \\nWussup, Victor.\\n\\nVICTOR \\nYo, can I talk to you for \\na minute?\\n\\nCarlos nods his head. Victor leans into Carlos, resting his \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 12/25\\n\\narm on Carlos\\' shoulder.\\n\\nVICTOR \\nYo, remember from the \\npool, that girl?\\n\\nCARLOS \\nWhich one?\\n\\nVICTOR \\nYou know, Eddie\\'s cousin.\\n\\nCARL0S \\nEddie from Compost?\\n\\nVICTOR \\nEddie from Baruch, the one \\nwho was sittin\\' wit\\' dat \\nlittle girl;\\n\\nCARLOS \\nThe one with the phat ass?\\n\\nVICTOR \\nNo, c\\'mon, stop playin\\'. \\nThe girl that you kissed \\nwhen we got there. Where s\\nhe live at?\\n\\nCARL0S \\nWhy don\\'t you ask Eddie?\\n\\nVICTOR \\nYo, Carlos-I\\'m gonna punch \\nyou.\\n\\nCARLOS \\n(Mockingly) \\n\\nI\\'m gonna punch you. What \\nyou want with her anyway? \\nYou in love with her?\\n\\nVICTOR \\nShe lives near Eddie?\\n\\nCARLOS \\nI think she lives down by \\nPitt.\\n\\nVICTOR \\nNear Natasha\\'s? Or over by \\nBoy\\'s Club?\\n\\nCARLOS \\nI think by Twenty-two.\\n\\nVICTOR \\nFor real?\\n\\nCARLOS \\nWhat you want with her \\nanyway\\'\\n\\nVictor starts walking off down the block.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 13/25\\n\\nCARLOS \\nYo! What you goin\\' for\\n\\nVICTOR\\n\\'Cause you know what, \\nyou\\'re not supposed to \\nknow but yesterday she \\nlent me her pills for her \\nMoms and if I don\\'t give \\n\\'em to her she\\'s gonna \\ndie. You want her to die?\\n\\nCarlos shrugs Victor off as he walks away down the block.\\n\\nA moment passes.\\n\\nCARLOS \\n(to himself)\\n\\nWhat do you do when your \\nbitch is untrue? \\nYou cut the hooker off and \\nfind someone new. I need \\nanother bitch another \\nbitch in my life.\\n\\nEXT. LOWER EAST SIDE - CONTINUOUS \\n\\nMONTAGE: Victor\\'s trip through the streets in search of Amanda\\'s \\nblock.\\n\\nEXT. AMANDA\\'S BLOCK - LATER \\n\\nDonna and Michelle are standing in front of their building.\\n\\nMICHELLE \\nOkay, merengue, you do \\nlike this-\\n\\nMichelle places one hand on her side, the other in the air \\nand begins to step.\\n\\nDONNA \\nLike this?\\n\\nMICHELLE \\nYeah, that\\'s right, you \\ngot it girl.\\n\\nMichelle grabs Donna, they embrace and dance.\\n\\nMICHELLE \\nNow salsa, you know how to \\ndance salsa?\\n\\nDONNA \\nYeah.\\n\\nMICHELLE \\nOkay, then dance. Show.\\n\\nDonna dances. Michelle looks over her shoulder. Aaron is \\ndrinking a bottle of soda across the street.\\n\\nMICHELLE \\nI don\\'t think he\\'s \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 14/25\\n\\nwatching.\\n\\nEXT. AMANDA\\'S BLOCK - CONTINUOUS \\n\\nAaron sits on a stoop across the street from Michelle and Donna He\\'s \\nshaking up \\na bottle of soda, then opening the cap to let the bubbles \\nout. He\\'s got a large brown paper bag with him. Victor the rounds the \\ncorner, \\nhis eyes are scanning across the buildings on the block.\\n\\nAARON \\nYo Shorty, you wanna buy \\nsome M-80s?\\n\\nVICTOR \\nNah.\\n\\nAARON\\nTwenty-four for two \\ndollars, son, and ain\\'t \\ntalkin\\' no little pussy \\nboxes, I\\'m talkin\\' big \\nones.\\n\\nVICTOR \\nNah.\\n\\nAARON \\nAlright, I\\'ll be here, if \\nanything.\\n\\nVictor continues down the block.\\n\\nEXT. AMANDA\\'S BLOCK - CONTINUOUS \\n\\nVictor finds Jenette sitting on Amanda\\'s stoop. She appears to have \\njust come \\noutside as she unties a jump rope that is knotted around her \\nwaist Victor stands next to her for a moment waiting awkwardly to \\nspeak.\\n\\nJenette is ignoring him.\\n\\nAaron watches from down the block.\\n\\nVictor steps towards Jenette. As he turns to face her, she \\nis roll her sock down to her ankle and preparing to jump \\n\\nher rope.\\n\\nVICTOR \\nHey, little girl, you know \\na girl named Amanda who \\nlives around here? \\n\\nJENETTE \\nNo.\\n\\nJenette stands sloppily in front of him on the street. She \\nsays nothing and begins to jump. Smic-smac, smic-smac, \\nsmic-smack.\\n\\nVICTOR \\nYou sure? She\\'s got kind \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 15/25\\n\\nof like brown hair.\\n\\nJENETTE \\nPositive.\\n\\nVICTOR \\nYou sure?\\n\\nJENETTE \\nPositive.\\n\\nVICTOR \\nMy friend told me she \\nlived around here.\\n\\nJENETTE \\nYour friend must be \\nmisinformed.\\n\\nVICTOR \\nDidn\\'t I see you at Pitt \\nyesterday?\\n\\nA pause.\\n\\nJENETTE \\nSo what do you want with \\nher anyway?\\n\\nVICTOR \\nI\\'m a good friend of hers.\\n\\nJENETTE \\nHow do I know you\\'re not \\nlying.\\n\\nVICTOR \\nYo, I know what you\\'re \\nthinking, that I\\'m one of \\nthose guys that keep \\ncoming up to her.\\n\\nJENETTE \\nProbably.\\n\\n(Under her breath) \\nOne of the many.\\n\\nVICTOR \\nWhat?\\n\\nJENETTE \\nNothing.\\n\\nHector approaches Victor from down the block.\\n\\nHECTOR \\nExcuse me, can I help you?\\n\\nVictor doesn\\'t answer.\\n\\nHECTOR \\nYou looking for somebody?\\n\\nVICTOR \\nWha\\'?\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 16/25\\n\\nHECTOR \\nYou here to see somebody?\\n\\nVICTOR \\nYeah.\\n\\nHECTOR \\nWho?\\n\\nVICTOR \\nA girl named Amanda.\\n\\nHECTOR \\nWhat she look like?\\n\\nVICTOR \\nShe\\'s like this high, dark \\nhair, skinny\\n\\nHECTOR \\nYo, that\\'s my girl.\\n\\nVICTOR \\nShe didn\\'t say she had no \\nman.\\n\\nHECTOR \\nI suggest you turn around \\nand go back to where you \\ncame from.\\n\\nVictor looks over to Jenette. No response.\\n\\nHECTOR \\nWhat are you waiting for?\\n\\nA pause.\\n\\nHECTOR \\nYou betta bounce, yo.\\n\\nHector shoves Victor away from the stoop. Victor steps up to \\nHector. Jenette watches them. interested.\\n\\nHECTOR \\nYou betta leave the block, \\nyo, or me and my boys, \\nwe\\'re gonna fuck you up.\\n\\nVictor looks at Hector then walks away down the block.\\n\\nEXT. AMANDA\\'S BLOCK - CONTINUOUS \\n\\nVictor rounds the corner and sits down on the sidewalk.\\n\\nVICTOR \\n(to himself) \\n\\nFuck man. I\\'m gonna get a \\nfuckin\\' M-80 and shove it \\nup his retarded ass.\\n\\nEXT. AMANDA\\'S BLOCK - MOMENTS LATER\\n\\nCHRISTOPHER, an energetic ten-year-old, exits the front door of his \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 17/25\\n\\nbuilding \\nholding a bat, sits down on the curb and looks out at the block. As \\nthe camera \\npans, we see Aaron on the corner talking to Mari. Michelle and Donna \\nare walking \\ndown the block. Hector is making his way back over to Amanda\\'s \\nbuilding and \\nJenette is jumping rope.\\n\\nChris rubs his eyes, turns around and looks up at one of \\nthe windows in his building.\\n\\nCHRIS \\n(Up to the window) \\n\\nMa!\\n\\nNo answer.\\n\\nCHRIS \\nMa!\\n\\nMom\\'s head sticks out the window.\\n\\nCHRIS \\nCross me!\\n\\nMom waves her hand, signaling to him that it\\'s safe to \\ncross the street. Chris, picking up a half-deflated \\nfootball, runs into the street.\\n\\nChris makes his way down the block, stomping along in big \\nHigh-tops. He spots Aaron a few feet away.\\n\\nEXT. AMANDA\\'S BLOCK - CONTINUOUS \\n\\nAaron is sitting on the sidewalk crushing a soda bottle under his \\nfoot.\\n\\nChris approaches and tosses the ball to him.\\n\\nAaron stands up and tosses the ball back to Chris, then \\nlights a cigarette. Chris waits until Aaron is ready and \\nthrows again.\\n\\nAARON \\nIt\\'s too hot, get outta \\nhere.\\n\\nEXT. AMANDA\\'S BLOCK- CONTINUOUS \\n\\nMichelle and Donna are sitting on their stoop.\\n\\nDONNA \\nI want him to change. I \\nwant to get to know the \\nreal him and I want him to \\nget to know the real me.\\n\\nMichelle looks at Donna. A pause.\\n\\nDONNA \\nIt\\'s so frustrating. I ask \\nhim if he\\'s mad and he \\nsays no.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 18/25\\n\\nEXT. AMANDA\\'S BLOCK - MOMENTS LATER\\n\\nVictor is still sitting on the sidewalk around the corner. \\n\\nChris walks by him.\\n\\nVICTOR \\nYo! You live here?\\n\\nChris nods.\\n\\nVICTOR \\nYou know Amanda?\\n\\nChris nods again, smiles and throws the ball at Victor. \\nVictor catches it and throws it back. Chris catches it and \\nthen starts to run away.\\n\\nVICTOR \\nHey, where you goin\\'?\\n\\nVictor starts to follow him.\\n\\nVICTOR \\nHold up, yo!\\n\\nEXT. ALLEYWAY - CONTINUOUS \\n\\nChris slips through a fence to enter the alleyway and Victor enters \\nbehind him. \\nA \"No Trespassing\" sign hangs on the gate. Victor looks around a \\nlittle as they continue their game of catch.\\n\\nAs the boys play, the gate creaks and swings open. The boys \\nquickly scurry into an out-of-the-way corner.\\n\\nAaron and Donna enter the alleyway. The boys watch them.\\n\\nAARON \\nAlright, tell me, what\\'d \\nyou hear?\\n\\nDONNA \\nThere\\'s a rumor that you \\nwere tryin\\' to get \\nsomebody to beat me up.\\n\\nAARON \\nWhat chu listening to \\nrumors for? I\\'m not like \\ndat.\\n\\nDONNA \\nIs it true?\\n\\nAaron puts his bag of fireworks down on the floor.\\n\\nAARON \\nI told you, no. I\\'m not \\nthat type.\\n\\nDONNA \\nThen I want you to go to \\nwhoever\\'s sayin\\' that and \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 19/25\\n\\ntell them to stop.\\n\\nAARON \\nAlright. \\n\\nAaron clears a piece of hair away from Donna\\'s face and \\nputs it behind her ear. A pause He gently pushes her up against the \\nwall.\\n\\nHe kisses her forehead. The camera follows as Aaron\\'s lips \\nmake their way to Donna\\'s. They kiss. Slowly at first, then \\ndeeply.\\n\\nVictor and Chris watch silently from the corner.\\n\\nEXT. AMANDA\\'S BLOCK- MOMENTS LATER\\n\\nJenette is siding on the ground, drawing with chalk on the \\nside walk. Victor approaches her and sits down on the \\nstoop.\\n\\nJENETTE \\nAmanda\\'s not back yet\\n\\nVictor runs his fingers through his hair. Jenette details \\nher artwork. She focuses intently on her drawing\\n\\nJENETTE \\n(With her eyes lowered) \\n\\nHow\\'s Hector?\\n\\nVictor doesn\\'t respond.\\n\\nJENETTE \\n(to Victor) \\n\\nSo, do you like her?\\n\\nJenette stares at the sidewalk.\\n\\nVICTOR \\nNo.\\n\\nJENETTE \\nSo, then whadda ya want?\\n\\nVictor stands up to leave.\\n\\nJENETTE \\nYou wanna do somethin\\' \\nwith me?\\n\\nVICTOR \\nNot really.\\n\\nJENETTE \\nHey!\\n\\nVICTOR \\nWha\\'?\\n\\nJenette makes eye contact. Victor makes his way back over to Jenette. \\nHe sits \\ndown beside her. Jenette\\'s eyes focus back on her drawing.\\n\\nJENETTE \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 20/25\\n\\nWhere you know Amanda \\nfrom?\\n\\nVICTOR \\nJus\\' from around the way.\\n\\nJENETTE \\nYou live around here?\\n\\nVICTOR \\nYeah.\\n\\nJENETTE \\nYou gotta girLfrLend?\\n\\nVictor sees Chris kicking his football across the street.\\n\\nJENETTE \\nYou wanna be my boyfriend?\\n\\nVictor doesn\\'t respond. A moment passes.\\n\\nJENETTE \\nHector\\'s an asshole, huh?\\n\\nJenette looks at Victor. She catches him looking across the \\nstreet.\\n\\nJENETTE \\n(to Victor) \\n\\nI know how ta get him back \\nif you want.\\n\\nVICTOR \\n(turning back) \\n\\nNah. \\n\\nJenette\\'s eyes drop down to the ground.\\n\\nShe quietly begins to sob. She holds her face in her hands. \\nFake tears.\\n\\nVICTOR \\nWhat\\'s the matter? You \\nalright?\\n\\nAaron rounds the corner of the block with Donna. 3enette \\ncatches a glimpse of him and starts sobbing loudly. Aaron \\nsees Jenette crying on the ground. He leaves Donna behind \\nand starts walking towards Jenette.\\n\\nVICTOR \\nWha\\'? I\\'ll do whatever you \\nwant. \\n\\nAaron reaches them. Victor looks up at him.\\n\\nAARON \\n(to Victor) \\n\\nWhat happened!\\n\\nJenette cries. Aaron grabs Victor\\'s arm tightly.\\n\\nAARON \\n(Angrily) \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 21/25\\n\\n\\'Wha\\' happened?\\n\\nJenette raises her head.\\n\\nJENETTE \\nHector-\\n\\nAARON \\nWhat? He hit you?\\n\\nShe sobs and nods \"yes.\"\\n\\nAaron scoops her up onto his shoulder and grabs Victor by \\nthe arm.\\n\\nAARON \\nC\\'mon.\\n\\nJenette\\'s chalk is left behind on the sidewalk.\\n\\nEXT. AMANDA\\'S BLOCK - CONTINUOUS\\n\\nAaron marches them all up the block. Hector\\'s silhouette \\nis visible in the distance as he cranks the pedal of an upside-down \\nbicycle.\\n\\nJenette bounces and sobs over Aaron\\'s shoulder as they trot \\nup the block. Victor struggles to keep up as his sneakers \\nbegin to skid on the cement.\\n\\nHector sees the three of them approaching.\\n\\nHe raises his arm and points a finger at Victor.\\n\\nHECTOR \\n(to Victor) \\n\\nI thought I told you to go \\nhome!\\n\\nAaron speeds up as he approaches Hector.\\n\\nAARON \\nYou hit my sista?\\n\\nJenette sobs in Aaron\\'s arms as he puts her down. \\nAaron releases Victor\\'s sleeve.\\n\\nSmack! Aaron hits Hector in the face. Hector falls. Aaron \\nturns and finds Victor turning away.\\n\\nAARON \\n(to Victor) \\n\\nYo! Get over here!\\n\\nVictor turns back towards the action. Holding Hector \\nagainst a wall, he pulls Victor near.\\n\\nAARON \\n(to Hector) \\n\\nWho told you to touch my \\nsister?\\n\\nHECTOR \\nI didn\\'t touch shit!\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 22/25\\n\\nSmack! Hector is pinned against the wall. He tries to free \\nhimself of Aaron but he is no match. Chris watches from the \\ncurb, amused.\\n\\nHECTOR \\nI didn\\'t do anything!\\n\\nHector struggles. Aaron looks to Victor.\\n\\nAARON \\nDid you see him?\\n\\nJenette turns her head to Victor. She wipes the tears from \\nher eyes.\\n\\nVictor looks at Hector. A moment passes. Chris plays with \\nhis bat as he watches.\\n\\nVICTOR \\nYeah.\\n\\nAaron punches Hector in the stomach. Hector doubles over.\\n\\nChris throws punches into the air.\\n\\nDISSOLVE TO\\n\\nEXT. AMANDA\\'S BLOCK - LATE AFTERNOON\\n\\nThe sun has dropped low in the sky. Long shadows rest on \\nThe pavement after a steamy afternoon.\\n\\nAmanda\\'s block is quiet and empty.\\n\\nChris strolls by Amanda\\'s stoop.\\n\\nHe notices Jenette\\'s drawing, bends down on his knees and \\nreads her sloppy writing.\\n\\n\"For entrance to secret passage press here.\"\\n\\nChris presses his finger into the circle she\\'s drawn. A \\nmoment passes. Nothing happens.\\n\\nA sound is heard atop Amanda\\'s stoop. Chris quickly walks \\naway. Amanda appears through her front door.\\n\\nShe sits down on her stoop.\\n\\nVictor is sitting on the curb across the street tapping an \\nempty bottle against the pavement. He sees Amanda.\\n\\nVictor approaches Amanda\\'s stoop.\\n\\nVICTOR \\nYo.\\n\\nAMANDA \\nHi.\\n\\nVICTOR \\nRemember me, from the \\npool?\\n\\nAMANDA\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 23/25\\n\\nUm. Yeah! Shorty!\\n\\nA pause.\\n\\nAMANDA \\nSo watcha doin\\'?\\n\\nVICTOR \\nNothin\\'.\\n\\nAMANDA \\nWhat are you doin\\' here?\\n\\nVICTOR \\nI, umm, came to see you.\\n\\nAMANDA \\nYou know somebody around \\nhere?\\n\\nVICTOR \\nNo. \\n\\n(He sighs) \\nWhat you do today?\\n\\nAMANDA \\nOh you know, cleaned the \\nhouse, cooked. Took care \\nof my little sisters. Sit \\ndown. So where\\'s Carlos?\\n\\nVICTOR \\nI guess he\\'s outside \\nsomeplace I don\\'t like \\ntakin\\' him down to certain \\nplaces.\\n\\nVictor sits down.\\n\\nAMANDA \\nWhadja wanna see me about?\\n\\nVICTOR \\nI just wanted to see you.\\n\\nA pause.\\n\\nAMANDA \\nSo you got a girl?\\n\\nVICTOR \\nOf course.\\n\\nAMANDA \\nSo what\\'s her name?\\n\\nVICTOR \\nYou know. I got a lot, \\nmore than one.\\n\\nAMANDA \\nA play-ya.\\n\\nVICTOR \\nYou got a boyfriend?\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 24/25\\n\\nAMANDA \\nMe? No. Don\\'t want none \\neither. Such bastards, man.\\n\\nA pause.\\n\\nAMANDA \\n(Quickly) \\n\\nThey play a girl, then you \\ncomplain, then they play \\ndumb, blah, blah, blah. \\nAll that bullshit, \\nwhatever I don\\'t want \\nnone. I\\'m gonna stay \\nsingle awhile, you know?\\n\\nA pause.\\n\\nAMANDA \\nSo wadda you do with your \\ngirls?\\n\\nVICTOR\\nJust chill.\\n\\nAMANDA \\nThat\\'s it?\\n\\nVICTOR \\nNah, we make out and \\nstuff.\\n\\nAmanda doesn\\'t believe him.\\n\\nAMANDA \\nSo what you think of me?\\n\\nVICTOR \\nYou look good.\\n\\nAMANDA \\nI look good, that\\'s it. So \\nwhat else do you do for \\nthese girls?\\n\\nVICTOR \\nI buy them flowers.\\n\\nAMANDA \\nHow you treat them?\\n\\nVICTOR \\nGood. I\\'m faithful to \\nthem.\\n\\nAmanda gets up and walks away. Victor quickly follows.\\n\\nEXT. ALLEYWAY - MOMENTS LATER\\n\\nAmanda walks through the half-open fence and leans flat \\nagainst the wall. Victor stands close by, nervously.\\n\\nHe keeps his distance from her.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 25/25\\n\\nAMANDA\\nSee, I got you, you are so \\nscared. I don\\'t believe \\nthat you kissed no girls. \\nThat you got three girls \\nand that you faithful and \\nthis and that.\\n\\nVICTOR\\nI did.\\n\\nAMANDA \\nWell, you know I\\'m \\nstandin\\' here and you say \\nI look good?\\n\\nVICTOR \\nI kissed those girls.\\n\\nAMANDA \\nNo you didn\\'t, you ain\\'t \\nprovin\\'it.\\n\\nVICTOR \\nI aint gotta prove nothin\\' \\nto no girl, \\'cause I got \\nit like dat.\\n\\nAMANDA \\nOh, \\'cause you got it like \\ndat?\\n\\nVictor approaches Amanda. He touches her arm. Amanda \\nsmiles.\\n\\nShe takes Victor\\'s hand and places it on her breast. Victor \\nmoves forward. Amanda moves his hand over her breasts. She \\nwraps her arms around his waist. Victor bends his arms \\naround her back.\\n\\nAmanda hisses him on the lips, slowly. A long, deep kiss. \\nAs she kisses him she runs her hand through his hair. She \\npulls back. Victor looks around. Chris is at the entrance \\nof the alleyway, watching them. He is holding his deflated football.\\n\\nChris looks at him for a second and walks away.\\n\\nChris walks down the block, his bat against the pavement.\\n\\nFADE OUT\\n\\n\\n'),\n",
+ " Document(metadata={'source': 'https://dl.boxcloud.com/api/2.0/internal_files/1169674971571/versions/1274131573171/representations/extracted_text/content/', 'title': 'FIVE_FEET_AND_RISING_by_Peter_Sollett_pdf'}, page_content='\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 1/25\\n\\nFIVE FEET AND RISING\\n\\nby\\n\\nPeter Sollett\\n\\nFADE IN:\\n\\nEXT. 8TH STREET BETWEEN AVENUES C AND D - DAY \\n\\nA group of dark-skinned girls wearing cheerleading outfits \\nalign themselves in formation on the sidewalk. They begin to \\ndance. No music can be heard. The sound of the girls\\' bodies \\nis our soundtrack. We hear their strained breathing, palms \\nand sneaker bottoms pounding while they hum and count softly \\nto themselves in an effort to keep the rhythm.\\n\\nSLO-MO: We explore the bodies of the dancers; their bright \\neyes and sweaty brows, their stomping feet and colliding \\nhands (dark side and light side). The younger girls perform \\nprovocative dance movements, the older girls repeat them.\\n\\nTheir bodies silhouette in the bright sunlight.\\n\\nCUT TO: TITLES\\n\\nEXT. AMANDA\\'S BLOCK - DAY \\n\\nAMANDA, a tall 14-year-old exits the front door of her \\napartment budding with her headphones in one hand and a \\nmagazine in the other. She sits down on her stoop, puts her \\nheadphones on and presses \"play\". We can hear the sound of \\nSalsa leaking out of the sides of her headphones. JENETTE, \\nten years old with big black hair in rubber-band restraints, sits on \\nthe sidewalk below Amanda drawing with a piece of chalk. Jenette \\n\\n looks over her shoulder and sees Amanda reading her magazine Jenette \\nclimbs the stairs and sits down beside her.\\n\\nThe camera pans to reveal AARON, an 18-year-old boy on the \\nother side of the street, unloading some fireworks from the \\ntrunk of a car. He\\'s filling a paper bag with them, \\ncarefully making sure not to reveal what he\\'s doing to \\nonlookers.\\n\\nAt the ear end of the block, DONNA, 14, and MICHELLE, 12, \\nsit and watch Aaron at work.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 2/25\\n\\nMICHELLE \\nHow does he look up close?\\n\\nDONNA \\n(Amorously) \\n\\nUmm, he got dark brownish \\neyes, he got a nice nose I \\nlove his nose. I love his \\nskin. I love his lips, he \\ngot a great smile and he \\ngot-\\n\\nMICHELLE \\nA bad attitude.\\n\\nDONNA \\nYeah, he got a bad \\nattitude.\\n\\nMICHELLE \\nYou said before, that he \\ngot boxes?\\n\\nSLO-MO: The camera is very close to Aaron. Details of his \\nbody in a shallow depth of field.\\n\\nDONNA \\nYeah, he got boxes in his \\nstomach. He\\'s taller than \\nme.\\n\\nMICHELLE \\nHow old is he?\\n\\nDONNA \\nI think he\\'s 18 or 17.\\n\\nMICHELLE \\nYou gonna talk to him?\\n\\nDONNA \\nUm, yeah I think so.\\n\\nBack on Amanda\\'s stoop.\\n\\nJENETTE \\nYou still like him.\\n\\nAMANDA \\n(With a sigh of negative attitude) \\n\\nNo.\\n\\nHECTOR, a mature-looking 13-year old is crossing the \\nstreet. He enters frame with Amanda and Jenette. \\n\\nHECTOR \\nYo, wuzzup. \\n\\nAmanda ignores him. \\n\\nJENETTE \\nHi Hector\\n\\nHECTOR \\n(To Amanda) \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 3/25\\n\\nOh, you\\'re not gonna say \\nhello.\\n\\nAMANDA\\'S POV: Donna approaches Aaron as he locks up the \\ntrunk of the car. She hesitantly calls over to him. He \\nacknowledges her with a lift of the chin. Making sure he \\nkeeps his distance from her, he looks around to see if \\nanyone is watching him. He tosses his head for her to \\nfollow. He begins to walk away down the block. She follows.\\n\\nHector is looking at Amanda. He appears to have run out of \\nthings to say. Amanda removes her headphones. Her music \\nbecomes clearer, more audible.\\n\\nHECTOR \\nYo, you gonna keep me \\nhangin\\' like dat?\\n\\nAMANDA \\nHector, Yo try to rap to me every day, why don\\'t you \\ntake your three-quarters retarded ass outta here?\\n\\nHECTOR \\nYo, you betta give me my \\nrespects or I\\'ll tell your \\nlittle girl ova here what \\nI heard about you and my \\nboy.\\n\\nAmanda puts her headphones back on.\\n\\nHECTOR looks like he got a new girl anyway.\\n\\nEXT. 8TH STREET BETWEEN AVENUES C AND D - AFTERNOON \\n\\nVICTOR, a skinny 12-year-old with sloppy hair, is asleep in \\nthe sun on his fire escape. There is sweat beaded up on his \\nbody. His shirt is rolled up behind his head like a pillow. \\nHis breath is heavy, his chest rises and falls. The camera \\ntilts to reveal CARLOS, ten, rounding the corner on the \\nstreet below. The camera tracks backwards as Carlos \\napproaches. He is talking to himself.\\n\\nCARLOS \\n(To himself) \\n\\nWhatcha gonna do when ya \\nbitch is untrue?\\n\\nCarlos lifts his head up to look at the fire escapes.\\n\\nCARLOS \\nYo Victor!\\n\\nThe camera pans and tilts up to the fire escapes. The \\nbuildings float by. He arrives in front of Victor\\'s \\nbuilding and cups his hand around his mouth.\\n\\nCARLOS \\nYo Victor!\\n\\nOn the fire escape, Victor\\'s eyes pop open and the sun \\nshines into them.\\n\\nVICTOR \\n(Dazed) \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 4/25\\n\\nWhat, wuzzup?\\n\\nVictor sits up and looks over the side of the fire escape.\\n\\nCARL0S \\nCome down!\\n\\nVICTOR \\nI can\\'t!\\n\\nCARLOS \\nWhy?\\n\\nVICTOR \\nI got punished, man.\\n\\nCARLOS \\nFa what?\\n\\nVICTOR \\nI won\\'t let my motha cut \\nmy hair.\\n\\nCARLOS \\nWha\\'?\\n\\nVICTOR \\nShe fucks it all up!\\n\\nCARLOS \\nForget it! C\\'mon Let\\'s go \\nto the pool.\\n\\nVICTOR \\nI can\\'t man, I\\'m punished!\\n\\nCARL0S \\nWho gives!\\n\\nVICTOR \\nI can\\'t, I\\'m gonna get \\npunished more!\\n\\nCARLOS \\nTrust me, I always get \\ninto trouble, c\\'mon!\\n\\nVictor sits down on the fire escape. Carlos pauses for a \\nminute and turns his back on Victor.\\n\\nCARL0S \\nC\\'mon! The girls are \\nwaiting for you!\\n\\nVictor hops back up.\\n\\nVICTOR \\n(interested) \\n\\nThey are?\\n\\nCARLOS \\nYeah! Tell me which one you would like. To be doin\\' \\nnothin on a fire escape or beat the pool with a bunch of \\ngirls? Be straight up!\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 5/25\\n\\nVICTOR \\nI\\'ll be right down.\\n\\nVictor climbs down the fire escape and hops down to the \\nstreet. he immediately grabs Carlos and starts pushing him \\ndown the block to avoid being seen from above.\\n\\nEXT. THE CORNER OF 8TH STREET AND AVENUE D - CONTINUOUS \\n\\nThe boys safely round the corner onto Avenue D. Victor \\nperks up and starts nudging Carlos.\\n\\nVICTOR \\nSo what girls are over \\nthere?\\n\\nCARLOS \\nNatasha, Maria, Tina-\\n\\nVICTOR \\nThese are the pretty girls \\nyou told me to come down \\nfor?\\n\\nVictor sighs and runs his fingers through his hair.\\n\\nCARLOS \\nWhat\\'s the difference, you \\nnever do anything anyway\\n\\nVictor makes a disagreeing gesture. Carlos drags Victor \\nDowntown.\\n\\nVICTOR \\nWhat are you going that \\nway for?\\n\\nCARLOS \\nI\\'m not goin\\' to 10th \\nStreet, people piss and \\nshit in that pool,\\n\\nVICTOR \\nWhere you goin\\'?\\n\\nCARLOS \\nPitt.\\n\\nVICTOR \\nOh man, what we gotta \\nleave ar\\' own neighborhood \\nfor?\\n\\nCARLOS \\nC\\'mon.\\n\\nVICTOR \\nMan, if I go down you\\'re \\ngoin\\' down with me.\\n\\nEXT. AVENUE D - CONTINUOUS \\n\\nMONTAGE: Victor and Carlos hang on each other as they walk down \\n Avenue D towards the Pitt Street Pool. They pass by Victor brother, \\n giving him an impromptu smack and then bang on a store window to wave \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 6/25\\n\\nhello to a friend.\\n\\nFrom Victor\\'s POV we work our way through a crowd of people \\nan cross 3rd Street. Victor looks back at the crowd with a \\nwatchful eye. The camera tracks along in the street as the \\nboys walk along the sidewalk. Victor looks up at a street \\nsign. It reads, \"Houston St.\" As the boys make their way \\nacross the wide intersection, the heat is slightly visible \\nas car exhaust fills the gridlocked lanes. Victor and \\nCarlos walk calmly, with space between them, making their \\nway towards the camera in a shallow depth of field as we \\nfollow focus on them.\\n\\nEXT. PITT STREET POOL - CONTINUOUS \\n\\nVictor and Carlos stand on line outside the pool gates. Police \\nexamine the boys as they slowly inch their way into the park.\\n\\nFrom Victor\\'s POV we see the expanse of the pool as he \\nenters the park. We watch as he surveys the area.\\n\\nFrom a high angle we see Carlos nudge Victor to make his \\nway onto the pool deck. They enter the crowd, proceeding \\ncarefully, making sure not to bump anyone.\\n\\nAs they continue to walk, Victor\\'s POV reveals the bodies \\nof older boys and girls, rough water and mischievous kids.\\n\\nEXT. PITT STREET POOL - CONTINUOUS \\n\\nAmanda is sitting poolside with Jenette.\\n\\nAMANDA \\nAnd that girl, over there? \\nHoochie.\\n\\nJenette looks out across the pool trying to see who Amanda \\nis talking about.\\n\\nAMANDA \\nAnd him. Stay away from \\nhim, he\\'s only interested \\nin that.\\n\\nAmanda points between Jenette\\'s legs.\\n\\nAMANDA \\nThat right there.\\n\\nCarlos steps in front of them, Amanda smacks his leg.\\n\\nCARLOS \\nYo Amanda, wassup?\\n\\nThey kiss on the cheek.\\n\\nCARLOS \\n(To Victor) \\n\\nAmanda is Eddie\\'s cousin.\\n\\nVICTOR \\nEddie from Compost?\\n\\nCARLOS \\nNo, Baruch.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 7/25\\n\\nA girl swimming in the pool calls over to Carlos.\\n\\nGIRL 1 \\nCarlos! Carlos, get your \\nskinny ass over here!\\n\\nCARLOS \\n(To Victor) \\n\\nStay right here, I\\'ll be \\nright back.\\n\\nCarlos walks off leaving Victor standing next to Amanda and \\nJenette. Victor looks uncomfortable.\\n\\nAMANDA \\nWho are you?\\n\\nVICTOR \\nI\\'m wit\\' Carlos.\\n\\nAmanda points out across the pool.\\n\\nAMANDA \\n(To Jenette) \\n\\nHim right there, That\\'s \\nwho I\\'m talkin\\' about. \\n\\n(to Victor) \\nExcuse me, can you move, I \\ncan\\'t see.\\n\\nAmanda spots Aaron and Donna in the distance.\\n\\nAMANDA \\nDo you have a name?\\n\\nVICTOR \\nVictor.\\n\\nAMANDA \\nWhat?\\n\\nVICTOR \\nVictor.\\n\\nAmanda turns to Jenette and continues talking to her.\\n\\nVICTOR \\nUmm, I\\'m gonna go find \\nCarlos.\\n\\nAs Victor turns to walk, the camera pans to follow him, \\nrevealing Hector who is approaching Amanda. The camera then \\npans back to Amanda. She sighs and turns her ahead away \\nfrom him.\\n\\nEXT. PITT STREET POOL - CONTINUOUS \\n\\nIn the playground area at the Pitt Street Pool, Aaron is doing a\\' \\nimpression of Al Pacino. Darrell and Boy 1 look on.\\n\\nAARON \\n(to Boy 1) \\n\\nYou wanna meet my little \\nfriend? \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 8/25\\n\\nBoy 1 is laughing at Aaron. Donna and Michelle stand nearby \\nwatching.\\n\\nAARON \\nDon\\'t fuck wit\\' me! Don\\'t \\nfuck wit\\' me.\\n\\n(pointing his finger)\\nMy lawyer\\'s so good he\\'ll \\nhave you workin in Alaska, \\nso dress warn.\\n\\nDONNA \\nAaron, how you doin\\'?\\n\\nAARON \\nFine.\\n\\nDONNA \\nLook at me.\\n\\nAARON \\nWhat?\\n\\nDONNA \\nWhy you have an attitude \\nfor?\\n\\nAARON \\nNot now, I\\'m busy\\n\\nDONNA \\nGod, I just wanna speak to \\nyou. I just wanna speak \\nto you the way I feel \\nabout you.\\n\\nAARON \\nHurry up, you\\'re wastin\\' \\nmy time, what the fuck.\\n\\nAaron turns back to his friends.\\n\\nDONNA \\nPlease don\\'t scream at me. \\nI like you, but I don\\'t \\nlike the way your attitude \\nis.\\n\\nAARON \\nSo get the fuck outta \\nhere.\\n\\nDarrell and Boy 1 approve. They wait for Donna\\'s reply.\\n\\nDONNA \\nI wanna go out with you, I \\nwant to be part of your \\nlife. I want you to treat \\nme the way a girlfriend \\nshould be treated.\\n\\nAARON \\nThen don\\'t go out with me.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 9/25\\n\\nDONNA \\nFor once in your life have \\nsome respect for me, \\ndon\\'t even curse at me or \\nnothin\\'.\\n\\nAARON \\n(to Darrell) \\n\\nNow she\\'s tellin\\' me what \\nthe fuck to do.\\n\\nDONNA \\nGod, you drive me crazy. I \\njust want you to know how \\nI feel and you don\\'t \\nunderstand.\\n\\nAARON \\nJust get the fuck outta \\nhere.\\n\\nDonna stares at Aaron as he turns back to his friends. \\nMichelle walks up to Donna and gently leads her away.\\n\\nAARON \\nThat girl be trippin\\'. \\n\\n(Back into his Pacino impression) \\nOne time I let her kiss my \\nrings and forever \\nshe tries to repay me!\\n\\nEXT. PITT STREET POOL - LATER \\n\\nVictor and Carlos are playing, trying to force each others\\' heads \\nunderwater. \\nCarlos squirts water through his lips.\\n\\nVICTOR \\nI gotta go take a piss.\\n\\nCARLOS \\nIf we were at 10th Street \\nPool you woulda done it \\nright in the water, right?\\n\\nThe camera pans as Victor climbs out of the pool and onto a \\nlong line. As he stands and waits, Amanda can be seen in \\nthe background arguing with Hector.\\n\\nIn the water, Carlos makes a face at Victor. Victor makes \\none back.\\n\\nVICTOR \\n(Under his breath to Carlos) \\n\\nI\\'m gonna beat you.\\n\\nEXT. PITT STREET POOL - CONTINUOUS \\n\\nHector and Amanda have been arguing. Jenette is sitting on the ground \\nbeneath \\nthem.\\n\\nHECTOR \\nI know you likes me.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 10/25\\n\\nAMANDA \\nI eave me alone!\\n\\nHECTOR \\nWhy don\\'t you share the \\nwealth a little bit?\\n\\nHector grabs her wrist.\\n\\nAMANDA \\nExcuse me! I gotta go to \\nthe ladies\\' room!\\n\\nEXT. PITT STREET POOL - MOMENTS LATER \\n\\nAmanda gets on line behind Victor as he continues to antagonize \\nCarlos in the \\ndistance. Amanda recognizes Victor from behind, peeking \\nover his shoulder at the side of his face.\\n\\nAMANDA \\nShorty!\\n\\nVictor turns around to Amanda.\\n\\nAMANDA \\nWussup?\\n\\nVICTOR \\nWussup.\\n\\nHe turns back around.\\n\\nAMANDA \\nYo shorty!\\n\\nVictor turns back around.\\n\\nVICTOR \\nWhat?\\n\\nAmanda hears something over her shoulder and spins her head \\naround.\\n\\nAMANDA \\n(to Hector) \\n\\nLeave me alone! \\n(To Victor) \\n\\nYo, I know another \\nbathroom over there, c\\'mon \\nthis line\\'s too long.\\n\\nAmanda takes Victor by the hand and walks towards Hector. \\nShe bumps into him with Victor.\\n\\nAMANDA \\nExcuse us.\\n\\nAmanda gives Hector a snotty grin.\\n\\nShe drags Victor away.\\n\\nEXT. PITT STREET POOL - CONTINUOUS \\n\\nIn a small corner, out of sight to the rest of the kids at the pool. \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 11/25\\n\\nAmanda \\ncomplains to Victor. Victor looks confused.\\n\\nAMANDA \\nThis fucking guy be \\nfollowin\\' me around, and \\ntouchin\\' me. Asshole!\\n\\nShe sighs and pulls on the bathroom door. It\\'s locked. She \\ngives it another try. It won\\'t budge.\\n\\nAMANDA \\nLook, just do me a favor. \\nStand right here, okay?\\n\\nAmanda takes Victor\\'s hand for balance and squats down, \\npulling her bathing suit bottoms to the side. She urinates. \\nVictor watches her, trying to play it cool. The camera \\ntilts up from Amanda\\'s face peeking up at Victor, to their \\nhands straining for balance, to Victor\\'s wandering eyes.\\n\\nEXT. 8TH STREET BETWEEN AVENUES C AND D - DAY \\n\\nClose-up of ERICA looking into the camera.\\n\\nERICA \\nWe\\'re \"Fantasy\" and This \\nis Shai, Diamond-\\n\\nFRANCESCA \\nAnd I\\'m Melody.\\n\\nWe see the three girls standing in line on the sidewalk.\\n\\nERICA \\nAnd we\\'re gonna sing a \\nsong called \\'Tell me \\nWhat.\\' It was written by \\nmyself, Diamond and Shai \\nand the vocals were \\narranged by us two.\\n\\nFrancesca rolls her eyes.\\n\\nERICA \\nAlso, it was written May \\n24th 1998 at 10:20 p.m. \\nCheck it out.\\n\\nThe girls begin to sing.\\n\\nCarlos stands in front of the singers mocking them. The \\ncamera pans to see Victor approaching Carlos.\\n\\nVICTOR \\nWussup?\\n\\nCARL0S \\nWussup, Victor.\\n\\nVICTOR \\nYo, can I talk to you for \\na minute?\\n\\nCarlos nods his head. Victor leans into Carlos, resting his \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 12/25\\n\\narm on Carlos\\' shoulder.\\n\\nVICTOR \\nYo, remember from the \\npool, that girl?\\n\\nCARLOS \\nWhich one?\\n\\nVICTOR \\nYou know, Eddie\\'s cousin.\\n\\nCARL0S \\nEddie from Compost?\\n\\nVICTOR \\nEddie from Baruch, the one \\nwho was sittin\\' wit\\' dat \\nlittle girl;\\n\\nCARLOS \\nThe one with the phat ass?\\n\\nVICTOR \\nNo, c\\'mon, stop playin\\'. \\nThe girl that you kissed \\nwhen we got there. Where s\\nhe live at?\\n\\nCARL0S \\nWhy don\\'t you ask Eddie?\\n\\nVICTOR \\nYo, Carlos-I\\'m gonna punch \\nyou.\\n\\nCARLOS \\n(Mockingly) \\n\\nI\\'m gonna punch you. What \\nyou want with her anyway? \\nYou in love with her?\\n\\nVICTOR \\nShe lives near Eddie?\\n\\nCARLOS \\nI think she lives down by \\nPitt.\\n\\nVICTOR \\nNear Natasha\\'s? Or over by \\nBoy\\'s Club?\\n\\nCARLOS \\nI think by Twenty-two.\\n\\nVICTOR \\nFor real?\\n\\nCARLOS \\nWhat you want with her \\nanyway\\'\\n\\nVictor starts walking off down the block.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 13/25\\n\\nCARLOS \\nYo! What you goin\\' for\\n\\nVICTOR\\n\\'Cause you know what, \\nyou\\'re not supposed to \\nknow but yesterday she \\nlent me her pills for her \\nMoms and if I don\\'t give \\n\\'em to her she\\'s gonna \\ndie. You want her to die?\\n\\nCarlos shrugs Victor off as he walks away down the block.\\n\\nA moment passes.\\n\\nCARLOS \\n(to himself)\\n\\nWhat do you do when your \\nbitch is untrue? \\nYou cut the hooker off and \\nfind someone new. I need \\nanother bitch another \\nbitch in my life.\\n\\nEXT. LOWER EAST SIDE - CONTINUOUS \\n\\nMONTAGE: Victor\\'s trip through the streets in search of Amanda\\'s \\nblock.\\n\\nEXT. AMANDA\\'S BLOCK - LATER \\n\\nDonna and Michelle are standing in front of their building.\\n\\nMICHELLE \\nOkay, merengue, you do \\nlike this-\\n\\nMichelle places one hand on her side, the other in the air \\nand begins to step.\\n\\nDONNA \\nLike this?\\n\\nMICHELLE \\nYeah, that\\'s right, you \\ngot it girl.\\n\\nMichelle grabs Donna, they embrace and dance.\\n\\nMICHELLE \\nNow salsa, you know how to \\ndance salsa?\\n\\nDONNA \\nYeah.\\n\\nMICHELLE \\nOkay, then dance. Show.\\n\\nDonna dances. Michelle looks over her shoulder. Aaron is \\ndrinking a bottle of soda across the street.\\n\\nMICHELLE \\nI don\\'t think he\\'s \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 14/25\\n\\nwatching.\\n\\nEXT. AMANDA\\'S BLOCK - CONTINUOUS \\n\\nAaron sits on a stoop across the street from Michelle and Donna He\\'s \\nshaking up \\na bottle of soda, then opening the cap to let the bubbles \\nout. He\\'s got a large brown paper bag with him. Victor the rounds the \\ncorner, \\nhis eyes are scanning across the buildings on the block.\\n\\nAARON \\nYo Shorty, you wanna buy \\nsome M-80s?\\n\\nVICTOR \\nNah.\\n\\nAARON\\nTwenty-four for two \\ndollars, son, and ain\\'t \\ntalkin\\' no little pussy \\nboxes, I\\'m talkin\\' big \\nones.\\n\\nVICTOR \\nNah.\\n\\nAARON \\nAlright, I\\'ll be here, if \\nanything.\\n\\nVictor continues down the block.\\n\\nEXT. AMANDA\\'S BLOCK - CONTINUOUS \\n\\nVictor finds Jenette sitting on Amanda\\'s stoop. She appears to have \\njust come \\noutside as she unties a jump rope that is knotted around her \\nwaist Victor stands next to her for a moment waiting awkwardly to \\nspeak.\\n\\nJenette is ignoring him.\\n\\nAaron watches from down the block.\\n\\nVictor steps towards Jenette. As he turns to face her, she \\nis roll her sock down to her ankle and preparing to jump \\n\\nher rope.\\n\\nVICTOR \\nHey, little girl, you know \\na girl named Amanda who \\nlives around here? \\n\\nJENETTE \\nNo.\\n\\nJenette stands sloppily in front of him on the street. She \\nsays nothing and begins to jump. Smic-smac, smic-smac, \\nsmic-smack.\\n\\nVICTOR \\nYou sure? She\\'s got kind \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 15/25\\n\\nof like brown hair.\\n\\nJENETTE \\nPositive.\\n\\nVICTOR \\nYou sure?\\n\\nJENETTE \\nPositive.\\n\\nVICTOR \\nMy friend told me she \\nlived around here.\\n\\nJENETTE \\nYour friend must be \\nmisinformed.\\n\\nVICTOR \\nDidn\\'t I see you at Pitt \\nyesterday?\\n\\nA pause.\\n\\nJENETTE \\nSo what do you want with \\nher anyway?\\n\\nVICTOR \\nI\\'m a good friend of hers.\\n\\nJENETTE \\nHow do I know you\\'re not \\nlying.\\n\\nVICTOR \\nYo, I know what you\\'re \\nthinking, that I\\'m one of \\nthose guys that keep \\ncoming up to her.\\n\\nJENETTE \\nProbably.\\n\\n(Under her breath) \\nOne of the many.\\n\\nVICTOR \\nWhat?\\n\\nJENETTE \\nNothing.\\n\\nHector approaches Victor from down the block.\\n\\nHECTOR \\nExcuse me, can I help you?\\n\\nVictor doesn\\'t answer.\\n\\nHECTOR \\nYou looking for somebody?\\n\\nVICTOR \\nWha\\'?\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 16/25\\n\\nHECTOR \\nYou here to see somebody?\\n\\nVICTOR \\nYeah.\\n\\nHECTOR \\nWho?\\n\\nVICTOR \\nA girl named Amanda.\\n\\nHECTOR \\nWhat she look like?\\n\\nVICTOR \\nShe\\'s like this high, dark \\nhair, skinny\\n\\nHECTOR \\nYo, that\\'s my girl.\\n\\nVICTOR \\nShe didn\\'t say she had no \\nman.\\n\\nHECTOR \\nI suggest you turn around \\nand go back to where you \\ncame from.\\n\\nVictor looks over to Jenette. No response.\\n\\nHECTOR \\nWhat are you waiting for?\\n\\nA pause.\\n\\nHECTOR \\nYou betta bounce, yo.\\n\\nHector shoves Victor away from the stoop. Victor steps up to \\nHector. Jenette watches them. interested.\\n\\nHECTOR \\nYou betta leave the block, \\nyo, or me and my boys, \\nwe\\'re gonna fuck you up.\\n\\nVictor looks at Hector then walks away down the block.\\n\\nEXT. AMANDA\\'S BLOCK - CONTINUOUS \\n\\nVictor rounds the corner and sits down on the sidewalk.\\n\\nVICTOR \\n(to himself) \\n\\nFuck man. I\\'m gonna get a \\nfuckin\\' M-80 and shove it \\nup his retarded ass.\\n\\nEXT. AMANDA\\'S BLOCK - MOMENTS LATER\\n\\nCHRISTOPHER, an energetic ten-year-old, exits the front door of his \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 17/25\\n\\nbuilding \\nholding a bat, sits down on the curb and looks out at the block. As \\nthe camera \\npans, we see Aaron on the corner talking to Mari. Michelle and Donna \\nare walking \\ndown the block. Hector is making his way back over to Amanda\\'s \\nbuilding and \\nJenette is jumping rope.\\n\\nChris rubs his eyes, turns around and looks up at one of \\nthe windows in his building.\\n\\nCHRIS \\n(Up to the window) \\n\\nMa!\\n\\nNo answer.\\n\\nCHRIS \\nMa!\\n\\nMom\\'s head sticks out the window.\\n\\nCHRIS \\nCross me!\\n\\nMom waves her hand, signaling to him that it\\'s safe to \\ncross the street. Chris, picking up a half-deflated \\nfootball, runs into the street.\\n\\nChris makes his way down the block, stomping along in big \\nHigh-tops. He spots Aaron a few feet away.\\n\\nEXT. AMANDA\\'S BLOCK - CONTINUOUS \\n\\nAaron is sitting on the sidewalk crushing a soda bottle under his \\nfoot.\\n\\nChris approaches and tosses the ball to him.\\n\\nAaron stands up and tosses the ball back to Chris, then \\nlights a cigarette. Chris waits until Aaron is ready and \\nthrows again.\\n\\nAARON \\nIt\\'s too hot, get outta \\nhere.\\n\\nEXT. AMANDA\\'S BLOCK- CONTINUOUS \\n\\nMichelle and Donna are sitting on their stoop.\\n\\nDONNA \\nI want him to change. I \\nwant to get to know the \\nreal him and I want him to \\nget to know the real me.\\n\\nMichelle looks at Donna. A pause.\\n\\nDONNA \\nIt\\'s so frustrating. I ask \\nhim if he\\'s mad and he \\nsays no.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 18/25\\n\\nEXT. AMANDA\\'S BLOCK - MOMENTS LATER\\n\\nVictor is still sitting on the sidewalk around the corner. \\n\\nChris walks by him.\\n\\nVICTOR \\nYo! You live here?\\n\\nChris nods.\\n\\nVICTOR \\nYou know Amanda?\\n\\nChris nods again, smiles and throws the ball at Victor. \\nVictor catches it and throws it back. Chris catches it and \\nthen starts to run away.\\n\\nVICTOR \\nHey, where you goin\\'?\\n\\nVictor starts to follow him.\\n\\nVICTOR \\nHold up, yo!\\n\\nEXT. ALLEYWAY - CONTINUOUS \\n\\nChris slips through a fence to enter the alleyway and Victor enters \\nbehind him. \\nA \"No Trespassing\" sign hangs on the gate. Victor looks around a \\nlittle as they continue their game of catch.\\n\\nAs the boys play, the gate creaks and swings open. The boys \\nquickly scurry into an out-of-the-way corner.\\n\\nAaron and Donna enter the alleyway. The boys watch them.\\n\\nAARON \\nAlright, tell me, what\\'d \\nyou hear?\\n\\nDONNA \\nThere\\'s a rumor that you \\nwere tryin\\' to get \\nsomebody to beat me up.\\n\\nAARON \\nWhat chu listening to \\nrumors for? I\\'m not like \\ndat.\\n\\nDONNA \\nIs it true?\\n\\nAaron puts his bag of fireworks down on the floor.\\n\\nAARON \\nI told you, no. I\\'m not \\nthat type.\\n\\nDONNA \\nThen I want you to go to \\nwhoever\\'s sayin\\' that and \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 19/25\\n\\ntell them to stop.\\n\\nAARON \\nAlright. \\n\\nAaron clears a piece of hair away from Donna\\'s face and \\nputs it behind her ear. A pause He gently pushes her up against the \\nwall.\\n\\nHe kisses her forehead. The camera follows as Aaron\\'s lips \\nmake their way to Donna\\'s. They kiss. Slowly at first, then \\ndeeply.\\n\\nVictor and Chris watch silently from the corner.\\n\\nEXT. AMANDA\\'S BLOCK- MOMENTS LATER\\n\\nJenette is siding on the ground, drawing with chalk on the \\nside walk. Victor approaches her and sits down on the \\nstoop.\\n\\nJENETTE \\nAmanda\\'s not back yet\\n\\nVictor runs his fingers through his hair. Jenette details \\nher artwork. She focuses intently on her drawing\\n\\nJENETTE \\n(With her eyes lowered) \\n\\nHow\\'s Hector?\\n\\nVictor doesn\\'t respond.\\n\\nJENETTE \\n(to Victor) \\n\\nSo, do you like her?\\n\\nJenette stares at the sidewalk.\\n\\nVICTOR \\nNo.\\n\\nJENETTE \\nSo, then whadda ya want?\\n\\nVictor stands up to leave.\\n\\nJENETTE \\nYou wanna do somethin\\' \\nwith me?\\n\\nVICTOR \\nNot really.\\n\\nJENETTE \\nHey!\\n\\nVICTOR \\nWha\\'?\\n\\nJenette makes eye contact. Victor makes his way back over to Jenette. \\nHe sits \\ndown beside her. Jenette\\'s eyes focus back on her drawing.\\n\\nJENETTE \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 20/25\\n\\nWhere you know Amanda \\nfrom?\\n\\nVICTOR \\nJus\\' from around the way.\\n\\nJENETTE \\nYou live around here?\\n\\nVICTOR \\nYeah.\\n\\nJENETTE \\nYou gotta girLfrLend?\\n\\nVictor sees Chris kicking his football across the street.\\n\\nJENETTE \\nYou wanna be my boyfriend?\\n\\nVictor doesn\\'t respond. A moment passes.\\n\\nJENETTE \\nHector\\'s an asshole, huh?\\n\\nJenette looks at Victor. She catches him looking across the \\nstreet.\\n\\nJENETTE \\n(to Victor) \\n\\nI know how ta get him back \\nif you want.\\n\\nVICTOR \\n(turning back) \\n\\nNah. \\n\\nJenette\\'s eyes drop down to the ground.\\n\\nShe quietly begins to sob. She holds her face in her hands. \\nFake tears.\\n\\nVICTOR \\nWhat\\'s the matter? You \\nalright?\\n\\nAaron rounds the corner of the block with Donna. 3enette \\ncatches a glimpse of him and starts sobbing loudly. Aaron \\nsees Jenette crying on the ground. He leaves Donna behind \\nand starts walking towards Jenette.\\n\\nVICTOR \\nWha\\'? I\\'ll do whatever you \\nwant. \\n\\nAaron reaches them. Victor looks up at him.\\n\\nAARON \\n(to Victor) \\n\\nWhat happened!\\n\\nJenette cries. Aaron grabs Victor\\'s arm tightly.\\n\\nAARON \\n(Angrily) \\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 21/25\\n\\n\\'Wha\\' happened?\\n\\nJenette raises her head.\\n\\nJENETTE \\nHector-\\n\\nAARON \\nWhat? He hit you?\\n\\nShe sobs and nods \"yes.\"\\n\\nAaron scoops her up onto his shoulder and grabs Victor by \\nthe arm.\\n\\nAARON \\nC\\'mon.\\n\\nJenette\\'s chalk is left behind on the sidewalk.\\n\\nEXT. AMANDA\\'S BLOCK - CONTINUOUS\\n\\nAaron marches them all up the block. Hector\\'s silhouette \\nis visible in the distance as he cranks the pedal of an upside-down \\nbicycle.\\n\\nJenette bounces and sobs over Aaron\\'s shoulder as they trot \\nup the block. Victor struggles to keep up as his sneakers \\nbegin to skid on the cement.\\n\\nHector sees the three of them approaching.\\n\\nHe raises his arm and points a finger at Victor.\\n\\nHECTOR \\n(to Victor) \\n\\nI thought I told you to go \\nhome!\\n\\nAaron speeds up as he approaches Hector.\\n\\nAARON \\nYou hit my sista?\\n\\nJenette sobs in Aaron\\'s arms as he puts her down. \\nAaron releases Victor\\'s sleeve.\\n\\nSmack! Aaron hits Hector in the face. Hector falls. Aaron \\nturns and finds Victor turning away.\\n\\nAARON \\n(to Victor) \\n\\nYo! Get over here!\\n\\nVictor turns back towards the action. Holding Hector \\nagainst a wall, he pulls Victor near.\\n\\nAARON \\n(to Hector) \\n\\nWho told you to touch my \\nsister?\\n\\nHECTOR \\nI didn\\'t touch shit!\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 22/25\\n\\nSmack! Hector is pinned against the wall. He tries to free \\nhimself of Aaron but he is no match. Chris watches from the \\ncurb, amused.\\n\\nHECTOR \\nI didn\\'t do anything!\\n\\nHector struggles. Aaron looks to Victor.\\n\\nAARON \\nDid you see him?\\n\\nJenette turns her head to Victor. She wipes the tears from \\nher eyes.\\n\\nVictor looks at Hector. A moment passes. Chris plays with \\nhis bat as he watches.\\n\\nVICTOR \\nYeah.\\n\\nAaron punches Hector in the stomach. Hector doubles over.\\n\\nChris throws punches into the air.\\n\\nDISSOLVE TO\\n\\nEXT. AMANDA\\'S BLOCK - LATE AFTERNOON\\n\\nThe sun has dropped low in the sky. Long shadows rest on \\nThe pavement after a steamy afternoon.\\n\\nAmanda\\'s block is quiet and empty.\\n\\nChris strolls by Amanda\\'s stoop.\\n\\nHe notices Jenette\\'s drawing, bends down on his knees and \\nreads her sloppy writing.\\n\\n\"For entrance to secret passage press here.\"\\n\\nChris presses his finger into the circle she\\'s drawn. A \\nmoment passes. Nothing happens.\\n\\nA sound is heard atop Amanda\\'s stoop. Chris quickly walks \\naway. Amanda appears through her front door.\\n\\nShe sits down on her stoop.\\n\\nVictor is sitting on the curb across the street tapping an \\nempty bottle against the pavement. He sees Amanda.\\n\\nVictor approaches Amanda\\'s stoop.\\n\\nVICTOR \\nYo.\\n\\nAMANDA \\nHi.\\n\\nVICTOR \\nRemember me, from the \\npool?\\n\\nAMANDA\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 23/25\\n\\nUm. Yeah! Shorty!\\n\\nA pause.\\n\\nAMANDA \\nSo watcha doin\\'?\\n\\nVICTOR \\nNothin\\'.\\n\\nAMANDA \\nWhat are you doin\\' here?\\n\\nVICTOR \\nI, umm, came to see you.\\n\\nAMANDA \\nYou know somebody around \\nhere?\\n\\nVICTOR \\nNo. \\n\\n(He sighs) \\nWhat you do today?\\n\\nAMANDA \\nOh you know, cleaned the \\nhouse, cooked. Took care \\nof my little sisters. Sit \\ndown. So where\\'s Carlos?\\n\\nVICTOR \\nI guess he\\'s outside \\nsomeplace I don\\'t like \\ntakin\\' him down to certain \\nplaces.\\n\\nVictor sits down.\\n\\nAMANDA \\nWhadja wanna see me about?\\n\\nVICTOR \\nI just wanted to see you.\\n\\nA pause.\\n\\nAMANDA \\nSo you got a girl?\\n\\nVICTOR \\nOf course.\\n\\nAMANDA \\nSo what\\'s her name?\\n\\nVICTOR \\nYou know. I got a lot, \\nmore than one.\\n\\nAMANDA \\nA play-ya.\\n\\nVICTOR \\nYou got a boyfriend?\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 24/25\\n\\nAMANDA \\nMe? No. Don\\'t want none \\neither. Such bastards, man.\\n\\nA pause.\\n\\nAMANDA \\n(Quickly) \\n\\nThey play a girl, then you \\ncomplain, then they play \\ndumb, blah, blah, blah. \\nAll that bullshit, \\nwhatever I don\\'t want \\nnone. I\\'m gonna stay \\nsingle awhile, you know?\\n\\nA pause.\\n\\nAMANDA \\nSo wadda you do with your \\ngirls?\\n\\nVICTOR\\nJust chill.\\n\\nAMANDA \\nThat\\'s it?\\n\\nVICTOR \\nNah, we make out and \\nstuff.\\n\\nAmanda doesn\\'t believe him.\\n\\nAMANDA \\nSo what you think of me?\\n\\nVICTOR \\nYou look good.\\n\\nAMANDA \\nI look good, that\\'s it. So \\nwhat else do you do for \\nthese girls?\\n\\nVICTOR \\nI buy them flowers.\\n\\nAMANDA \\nHow you treat them?\\n\\nVICTOR \\nGood. I\\'m faithful to \\nthem.\\n\\nAmanda gets up and walks away. Victor quickly follows.\\n\\nEXT. ALLEYWAY - MOMENTS LATER\\n\\nAmanda walks through the half-open fence and leans flat \\nagainst the wall. Victor stands close by, nervously.\\n\\nHe keeps his distance from her.\\n\\n\\n\\n3/20/23, 5:31 PM FIVE FEET AND RISING by Peter Sollett\\n\\nwww.dailyscript.com/scripts/fivefeetandrising.html 25/25\\n\\nAMANDA\\nSee, I got you, you are so \\nscared. I don\\'t believe \\nthat you kissed no girls. \\nThat you got three girls \\nand that you faithful and \\nthis and that.\\n\\nVICTOR\\nI did.\\n\\nAMANDA \\nWell, you know I\\'m \\nstandin\\' here and you say \\nI look good?\\n\\nVICTOR \\nI kissed those girls.\\n\\nAMANDA \\nNo you didn\\'t, you ain\\'t \\nprovin\\'it.\\n\\nVICTOR \\nI aint gotta prove nothin\\' \\nto no girl, \\'cause I got \\nit like dat.\\n\\nAMANDA \\nOh, \\'cause you got it like \\ndat?\\n\\nVictor approaches Amanda. He touches her arm. Amanda \\nsmiles.\\n\\nShe takes Victor\\'s hand and places it on her breast. Victor \\nmoves forward. Amanda moves his hand over her breasts. She \\nwraps her arms around his waist. Victor bends his arms \\naround her back.\\n\\nAmanda hisses him on the lips, slowly. A long, deep kiss. \\nAs she kisses him she runs her hand through his hair. She \\npulls back. Victor looks around. Chris is at the entrance \\nof the alleyway, watching them. He is holding his deflated football.\\n\\nChris looks at him for a second and walks away.\\n\\nChris walks down the block, his bat against the pavement.\\n\\nFADE OUT\\n\\n\\n')]"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "query = \"victor\"\n",
+ "\n",
+ "retriever.invoke(query)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "dfe8aad4-8626-4330-98a9-7ea1ca5d2e0e",
+ "metadata": {},
+ "source": [
+ "## Use within a chain\n",
+ "\n",
+ "Like other retrievers, BoxRetriever can be incorporated into LLM applications via [chains](/docs/how_to/sequence/).\n",
+ "\n",
+ "We will need a LLM or chat model:\n",
+ "\n",
+ "```{=mdx}\n",
+ "import ChatModelTabs from \"@theme/ChatModelTabs\";\n",
+ "\n",
+ "\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "25b647a3-f8f2-4541-a289-7a241e43f9df",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# | output: false\n",
+ "# | echo: false\n",
+ "\n",
+ "from langchain_openai import ChatOpenAI\n",
+ "\n",
+ "llm = ChatOpenAI(model=\"gpt-3.5-turbo-0125\", temperature=0)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "23e11cc9-abd6-4855-a7eb-799f45ca01ae",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from langchain_core.output_parsers import StrOutputParser\n",
+ "from langchain_core.prompts import ChatPromptTemplate\n",
+ "from langchain_core.runnables import RunnablePassthrough\n",
+ "\n",
+ "retriever = BoxRetriever(box_developer_token=box_developer_token, character_limit=10000)\n",
+ "\n",
+ "context = (\n",
+ " \"You are an actor reading scripts to learn about your role in an upcoming movie.\"\n",
+ ")\n",
+ "question = \"describe the character Victor\"\n",
+ "\n",
+ "prompt = ChatPromptTemplate.from_template(\n",
+ " \"\"\"Answer the question based only on the context provided.\n",
+ "\n",
+ " Context: {context}\n",
+ "\n",
+ " Question: {question}\"\"\"\n",
+ ")\n",
+ "\n",
+ "\n",
+ "def format_docs(docs):\n",
+ " return \"\\n\\n\".join(doc.page_content for doc in docs)\n",
+ "\n",
+ "\n",
+ "chain = (\n",
+ " {\"context\": retriever | format_docs, \"question\": RunnablePassthrough()}\n",
+ " | prompt\n",
+ " | llm\n",
+ " | StrOutputParser()\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "d47c37dd-5c11-416c-a3b6-bec413cd70e8",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'Victor is a skinny 12-year-old with sloppy hair who is seen sleeping on his fire escape in the sun. He is hesitant to go to the pool with his friend Carlos because he is afraid of getting in trouble for not letting his mother cut his hair. Ultimately, he decides to go to the pool with Carlos.'"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "chain.invoke(\"victor\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "3a5bb5ca-c3ae-4a58-be67-2cd18574b9a3",
+ "metadata": {},
+ "source": [
+ "## API reference\n",
+ "\n",
+ "For detailed documentation of all BoxRetriever features and configurations head to the [API reference](https://api.python.langchain.com/en/latest/retrievers/langchain_box.retrievers.Box.BoxRetriever.html).\n",
+ "\n",
+ "\n",
+ "## Help\n",
+ "\n",
+ "If you have questions, you can check out our [developer documentation](https://developer.box.com) or reach out to use in our [developer community](https://community.box.com)."
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/docs/docs/integrations/tools/gitlab.ipynb b/docs/docs/integrations/tools/gitlab.ipynb
index 3eccad6b76835..b22faeeb88e21 100644
--- a/docs/docs/integrations/tools/gitlab.ipynb
+++ b/docs/docs/integrations/tools/gitlab.ipynb
@@ -23,7 +23,7 @@
"\n",
"3. **Comment on Issue**- posts a comment on a specific issue.\n",
"\n",
- "4. **Create Pull Request**- creates a pull request from the bot's working branch to the base branch.\n",
+ "4. **Create Merge Request**- creates a merge request from the bot's working branch to the base branch.\n",
"\n",
"5. **Create File**- creates a new file in the repository.\n",
"\n",
@@ -82,7 +82,7 @@
"* **GITLAB_PERSONAL_ACCESS_TOKEN**- The personal access token you created in the last step\n",
"* **GITLAB_REPOSITORY**- The name of the Gitlab repository you want your bot to act upon. Must follow the format {username}/{repo-name}.\n",
"* **GITLAB_BRANCH**- The branch where the bot will make its commits. Defaults to 'main.'\n",
- "* **GITLAB_BASE_BRANCH**- The base branch of your repo, usually either 'main' or 'master.' This is where pull requests will base from. Defaults to 'main.'\n"
+ "* **GITLAB_BASE_BRANCH**- The base branch of your repo, usually either 'main' or 'master.' This is where merge requests will base from. Defaults to 'main.'\n"
]
},
{
@@ -185,14 +185,14 @@
"