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

Constructors

LLMChain({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 returns null.
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<ChainValues, RunnableOptions, ChainValues>> fallbacks) → RunnableWithFallback<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.