LLMChain<LLMType extends BaseLanguageModel<Object, LanguageModelOptions, LanguageModelResult<Object> > , LLMOptions extends LanguageModelOptions, MemoryType extends BaseMemory> class
NOTE: Chains are the legacy way of using LangChain and will eventually be removed. Use LangChain Expression Language (LCEL) instead, a more flexible and powerful way to combine different components.
Chain to run queries against LLMs.
It takes in a prompt template, formats it with the user input and returns the response from an LLM.
Example:
final prompt = PromptTemplate.fromTemplate('Tell me a {adjective} joke');
final chain = LLMChain(llm: OpenAI(apiKey: '...'), prompt: prompt);
final res = await chain.run('bad');
- Inheritance
-
- Object
- Runnable<
ChainValues, ChainOptions, ChainValues> - BaseLangChain<
ChainValues, ChainOptions, ChainValues> - BaseChain<
MemoryType> - LLMChain
Constructors
-
LLMChain.new({required LLMType llm, LLMOptions? llmOptions, required BasePromptTemplate prompt, MemoryType? memory, BaseOutputParser<
Object?, OutputParserOptions, Object?> ? outputParser, String outputKey = defaultOutputKey, bool returnFinalOnly = true}) -
NOTE: Chains are the legacy way of using LangChain and will eventually be removed. Use LangChain Expression Language (LCEL) instead, a more flexible and powerful way to combine different components.
const
Properties
- chainType → String
-
Return the string type key uniquely identifying this class of chain.
no setteroverride
- defaultOptions → ChainOptions
-
The default options to use when invoking the Runnable.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
-
inputKeys
→ Set<
String> -
Input keys for this chain.
no setteroverride
- llm → LLMType
-
Language model to call.
final
- llmOptions → LLMOptions?
-
Options to pass to the language model.
final
- memory → MemoryType?
-
Memory to use for this chain.
finalinherited
- outputKey → String
-
Key to use for output.
final
-
outputKeys
→ Set<
String> -
Output keys for this chain.
no setteroverride
-
outputParser
→ BaseOutputParser<
Object?, OutputParserOptions, Object?> ? -
OutputParser to use.
final
- prompt → BasePromptTemplate
-
Prompt object to use.
final
- returnFinalOnly → bool
-
Whether to return only the final parsed result.
If false, it will return a bunch of extra information about the
generation.
final
- runOutputKey → String
-
Output key from where the run method needs to take the return value.
no setteroverride
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
apply(
List< ChainValues> inputs) → Future<List< ChainValues> > -
Call the chain on all inputs in the list.
inherited
-
batch(
List< ChainValues> inputs, {List<ChainOptions> ? options}) → Future<List< ChainValues> > -
Batches the invocation of the Runnable on the given
inputs
.inherited -
bind(
ChainOptions options) → RunnableBinding< ChainValues, ChainOptions, ChainValues> -
Binds the Runnable to the given
options
.inherited -
call(
dynamic input, {bool returnOnlyOutputs = false}) → Future< ChainValues> -
Runs the core logic of this chain with the given values.
If memory is not null, it will be used to load and save values.
inherited
-
callInternal(
ChainValues inputs) → Future< ChainValues> -
Call method to be implemented by subclasses (called by call).
This is where the core logic of the chain should be implemented.
override
-
close(
) → void -
Cleans up any resources associated with it the Runnable.
inherited
-
getCompatibleOptions(
RunnableOptions? options) → ChainOptions? -
Returns the given
options
if they are compatible with the Runnable, otherwise returnsnull
.inherited -
invoke(
ChainValues input, {ChainOptions? options}) → Future< ChainValues> -
Runs the core logic of this chain with the given input.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
pipe<
NewRunOutput extends Object?, NewCallOptions extends RunnableOptions> (Runnable< ChainValues, NewCallOptions, NewRunOutput> next) → RunnableSequence<ChainValues, NewRunOutput> -
Pipes the output of this Runnable into another Runnable using a
RunnableSequence.
inherited
-
run(
dynamic input) → Future< String> -
Convenience method for executing chain when there's a single string
output.
inherited
-
stream(
ChainValues input, {ChainOptions? options}) → Stream< ChainValues> -
Streams the output of invoking the Runnable on the given
input
.inherited -
streamFromInputStream(
Stream< ChainValues> inputStream, {ChainOptions? options}) → Stream<ChainValues> -
Streams the output of invoking the Runnable on the given
inputStream
.inherited -
toString(
) → String -
A string representation of this object.
inherited
-
withFallbacks(
List< Runnable< fallbacks) → RunnableWithFallback<ChainValues, RunnableOptions, ChainValues> >ChainValues, ChainValues> -
Adds fallback runnables to be invoked if the primary runnable fails.
inherited
-
withRetry(
{int maxRetries = 3, FutureOr< bool> retryIf(Object e)?, List<Duration?> ? delayDurations, bool addJitter = false}) → RunnableRetry<ChainValues, ChainValues> -
Adds retry logic to an existing runnable.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Constants
- defaultOutputKey → const String
- Default output key.
- fullGenerationOutputKey → const String
- Output key to use for returning the full generation.