mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-05 21:12:48 +00:00
docs: chains & memory fixes (#9895)
Various improvements to the Chains & Memory sections of the documentation including formatting, spelling, and grammar fixes to improve readability.
This commit is contained in:
@@ -3,7 +3,7 @@ sidebar_position: 2
|
||||
---
|
||||
# Documents
|
||||
|
||||
These are the core chains for working with Documents. They are useful for summarizing documents, answering questions over documents, extracting information from documents, and more.
|
||||
These are the core chains for working with documents. They are useful for summarizing documents, answering questions over documents, extracting information from documents, and more.
|
||||
|
||||
These chains all implement a common interface:
|
||||
|
||||
|
@@ -3,10 +3,10 @@ sidebar_position: 1
|
||||
---
|
||||
# Refine
|
||||
|
||||
The refine documents chain constructs a response by looping over the input documents and iteratively updating its answer. For each document, it passes all non-document inputs, the current document, and the latest intermediate answer to an LLM chain to get a new answer.
|
||||
The Refine documents chain constructs a response by looping over the input documents and iteratively updating its answer. For each document, it passes all non-document inputs, the current document, and the latest intermediate answer to an LLM chain to get a new answer.
|
||||
|
||||
Since the Refine chain only passes a single document to the LLM at a time, it is well-suited for tasks that require analyzing more documents than can fit in the model's context.
|
||||
The obvious tradeoff is that this chain will make far more LLM calls than, for example, the Stuff documents chain.
|
||||
There are also certain tasks which are difficult to accomplish iteratively. For example, the Refine chain can perform poorly when documents frequently cross-reference one another or when a task requires detailed information from many documents.
|
||||
|
||||

|
||||

|
||||
|
@@ -1,11 +1,11 @@
|
||||
# LLM
|
||||
|
||||
An LLMChain is a simple chain that adds some functionality around language models. It is used widely throughout LangChain, including in other chains and agents.
|
||||
An `LLMChain` is a simple chain that adds some functionality around language models. It is used widely throughout LangChain, including in other chains and agents.
|
||||
|
||||
An LLMChain consists of a PromptTemplate and a language model (either an LLM or chat model). It formats the prompt template using the input key values provided (and also memory key values, if available), passes the formatted string to LLM and returns the LLM output.
|
||||
An `LLMChain` consists of a `PromptTemplate` and a language model (either an LLM or chat model). It formats the prompt template using the input key values provided (and also memory key values, if available), passes the formatted string to LLM and returns the LLM output.
|
||||
|
||||
## Get started
|
||||
|
||||
import Example from "@snippets/modules/chains/foundational/llm_chain.mdx"
|
||||
|
||||
<Example/>
|
||||
<Example/>
|
||||
|
@@ -4,7 +4,7 @@
|
||||
|
||||
The next step after calling a language model is make a series of calls to a language model. This is particularly useful when you want to take the output from one call and use it as the input to another.
|
||||
|
||||
In this notebook we will walk through some examples for how to do this, using sequential chains. Sequential chains allow you to connect multiple chains and compose them into pipelines that execute some specific scenario.. There are two types of sequential chains:
|
||||
In this notebook we will walk through some examples for how to do this, using sequential chains. Sequential chains allow you to connect multiple chains and compose them into pipelines that execute some specific scenario. There are two types of sequential chains:
|
||||
|
||||
- `SimpleSequentialChain`: The simplest form of sequential chains, where each step has a singular input/output, and the output of one step is the input to the next.
|
||||
- `SequentialChain`: A more general form of sequential chains, allowing for multiple inputs/outputs.
|
||||
|
@@ -30,4 +30,4 @@ Chains allow us to combine multiple components together to create a single, cohe
|
||||
|
||||
import GetStarted from "@snippets/modules/chains/get_started.mdx"
|
||||
|
||||
<GetStarted/>
|
||||
<GetStarted/>
|
||||
|
@@ -8,10 +8,10 @@ Head to [Integrations](/docs/integrations/memory/) for documentation on built-in
|
||||
:::
|
||||
|
||||
One of the core utility classes underpinning most (if not all) memory modules is the `ChatMessageHistory` class.
|
||||
This is a super lightweight wrapper which exposes convenience methods for saving Human messages, AI messages, and then fetching them all.
|
||||
This is a super lightweight wrapper which provides convenience methods for saving HumanMessages, AIMessages, and then fetching them all.
|
||||
|
||||
You may want to use this class directly if you are managing memory outside of a chain.
|
||||
|
||||
import GetStarted from "@snippets/modules/memory/chat_messages/get_started.mdx"
|
||||
|
||||
<GetStarted/>
|
||||
<GetStarted/>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# Conversation Buffer Window
|
||||
|
||||
`ConversationBufferWindowMemory` keeps a list of the interactions of the conversation over time. It only uses the last K interactions. This can be useful for keeping a sliding window of the most recent interactions, so the buffer does not get too large
|
||||
`ConversationBufferWindowMemory` keeps a list of the interactions of the conversation over time. It only uses the last K interactions. This can be useful for keeping a sliding window of the most recent interactions, so the buffer does not get too large.
|
||||
|
||||
Let's first explore the basic functionality of this type of memory.
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# Entity
|
||||
|
||||
Entity Memory remembers given facts about specific entities in a conversation. It extracts information on entities (using an LLM) and builds up its knowledge about that entity over time (also using an LLM).
|
||||
Entity memory remembers given facts about specific entities in a conversation. It extracts information on entities (using an LLM) and builds up its knowledge about that entity over time (also using an LLM).
|
||||
|
||||
Let's first walk through using this functionality.
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
# Memory Types
|
||||
# Memory types
|
||||
|
||||
There are many different types of memory.
|
||||
Each has their own parameters, their own return types, and is useful in different scenarios.
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# Backed by a Vector Store
|
||||
|
||||
`VectorStoreRetrieverMemory` stores memories in a VectorDB and queries the top-K most "salient" docs every time it is called.
|
||||
`VectorStoreRetrieverMemory` stores memories in a vector store and queries the top-K most "salient" docs every time it is called.
|
||||
|
||||
This differs from most of the other Memory classes in that it doesn't explicitly track the order of interactions.
|
||||
|
||||
|
Reference in New Issue
Block a user