BaseChain<MemoryType extends BaseMemory>  class 
    abstract
 
Base class for creating structured sequences of calls to components.
Chains should be used to encode a sequence of calls to components like models, document retrievers, other chains, etc., and provide a simple interface to this sequence.
The BaseChain interface makes it easy to create apps that are:
- Stateful: add Memory to any Chain to give it state.
- Observable: pass Callbacks to a Chain to execute additional functionality, like logging, outside the main sequence of component calls.
- Composable: the Chain API is flexible enough that it is easy to combine Chains with other components, including other Chains.
The main methods exposed by chains are:
- Inheritance
- 
    - Object
- Runnable<ChainValues, ChainOptions, ChainValues> 
- BaseLangChain<ChainValues, ChainOptions, ChainValues> 
- BaseChain
 
- Implementers
Constructors
- BaseChain({MemoryType? memory, ChainOptions? defaultOptions})
- 
          Base class for creating structured sequences of calls to components.
            const
Properties
- chainType → String
- 
  Return the string type key uniquely identifying this class of chain.
  no setter
- 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 setter
- memory → MemoryType?
- 
  Memory to use for this chain.
  final
- 
  outputKeys
  → Set<String> 
- 
  Output keys for this chain.
  no setter
- runOutputKey → String
- 
  Output key from where the run method needs to take the return value.
  no setter
- 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.
- 
  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.
- 
  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.
- 
  close() → void 
- 
  Cleans up any resources associated with it the Runnable.
  inherited
- 
  getCompatibleOptions(RunnableOptions? options) → ChainOptions? 
- 
  Returns the given optionsif 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.
  override
- 
  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.
- 
  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
- defaultInputKey → const String
- Default input key for the input of the chain.
- defaultOutputKey → const String
- Default output key for the output of the chain.