getPromptInputKey function

String getPromptInputKey(
  1. MemoryInputValues inputValues,
  2. Set<String> memoryKeys
)

This function is used by memory classes to select the input value to use for the memory.

Given the inputValues and memoryKeys, it returns the input key from the prompt that was filled in by the user (i.e. not a memory key).

Implementation

String getPromptInputKey(
  final MemoryInputValues inputValues,
  final Set<String> memoryKeys,
) {
  // Reserved keys can be passed as input but is not used to format the prompt
  final promptInputKeys = inputValues.keys.toSet().difference({
    ...memoryKeys,
    'stop',
    BaseActionAgent.agentScratchpadInputKey,
  });
  if (promptInputKeys.length != 1) {
    throw LangChainException(
      message: 'One input key expected got $promptInputKeys. '
          'If you have multiple input keys in your prompt you need to specify '
          'the input key to use for the memory using the `inputKey` parameter.',
    );
  }
  return promptInputKeys.first;
}