Class responsible for managing tasks, including their creation, prioritization, and execution. It uses three chains for these operations: creationChain, prioritizationChain, and executionChain.

Example

const babyAGI = BabyAGI.fromLLM({
llm: new OpenAI({ temperature: 0 }),
vectorstore: new MemoryVectorStore(new OpenAIEmbeddings()),
maxIterations: 3,
});

const result = await babyAGI.call({
objective: "Write a weather report for SF today",
});

Hierarchy

Implements

Constructors

Properties

creationChain: BaseChain<ChainValues, ChainValues>
executionChain: BaseChain<ChainValues, ChainValues>
maxIterations: number
prioritizationChain: BaseChain<ChainValues, ChainValues>
taskIDCounter: number
taskList: Task[]
vectorstore: VectorStore
memory?: BaseMemory

Accessors

  • get inputKeys(): string[]
  • Returns string[]

  • get outputKeys(): never[]
  • Returns never[]

Methods

  • Adds a task to the task list.

    Parameters

    • task: Task

      The task to be added.

    Returns Promise<void>

    Promise resolving to void.

  • Call the chain on all inputs in the list

    Parameters

    • inputs: ChainValues[]
    • Optional config: (BaseCallbackConfig | Callbacks)[]

    Returns Promise<ChainValues[]>

  • Run the core logic of this chain and add to output if desired.

    Wraps _call and handles memory.

    Parameters

    • values: ChainValues & {
          signal?: AbortSignal;
          timeout?: number;
      }
    • Optional config: BaseCallbackConfig | Callbacks
    • Optional tags: string[]

      Deprecated

    Returns Promise<ChainValues>

  • Executes a task based on the objective and the task description.

    Parameters

    • objective: string

      The objective of the task.

    • task: string

      The task to be executed.

    • Optional runManager: CallbackManagerForChainRun

      Optional CallbackManagerForChainRun instance.

    Returns Promise<string>

    Promise resolving to the result of the task execution as a string.

  • Generates the next tasks based on the result of the previous task, the task description, and the objective.

    Parameters

    • result: string

      The result of the previous task.

    • task_description: string

      The description of the task.

    • objective: string

      The objective of the task.

    • Optional runManager: CallbackManagerForChainRun

      Optional CallbackManagerForChainRun instance.

    Returns Promise<Optional<Task, "taskID">[]>

    Promise resolving to an array of tasks without taskID.

  • Retrieves the top tasks that are most similar to the given query.

    Parameters

    • query: string

      The query to search for.

    • k: number = 5

      The number of top tasks to retrieve.

    Returns Promise<string[]>

    Promise resolving to an array of top tasks.

  • Invoke the chain with the provided input and returns the output.

    Parameters

    • input: ChainValues

      Input values for the chain run.

    • Optional config: BaseCallbackConfig

      Optional configuration for the Runnable.

    Returns Promise<ChainValues>

    Promise that resolves with the output of the chain run.

  • Parameters

    • inputs: Record<string, unknown>
    • outputs: Record<string, unknown>
    • returnOnlyOutputs: boolean = false

    Returns Promise<Record<string, unknown>>

  • Prints the next task to the console.

    Parameters

    • task: Task

      The next task to be printed.

    Returns void

    void

  • Prints the current task list to the console.

    Returns void

    void

  • Prints the result of a task to the console.

    Parameters

    • result: string

      The result of the task.

    Returns void

    void

  • Prioritizes the tasks based on the current task ID and the objective.

    Parameters

    • thisTaskID: number

      The ID of the current task.

    • objective: string

      The objective of the task.

    • Optional runManager: CallbackManagerForChainRun

      Optional CallbackManagerForChainRun instance.

    Returns Promise<{
        taskID: string;
        taskName: string;
    }[]>

    Promise resolving to an array of prioritized tasks.

  • Parameters

    • input: any
    • Optional config: BaseCallbackConfig | Callbacks

    Returns Promise<string>

  • Load a chain from a json-like object describing it.

    Parameters

    Returns Promise<BaseChain<ChainValues, ChainValues>>

  • Static method to create a new BabyAGI instance from a BaseLanguageModel.

    Parameters

    • __namedParameters: Omit<BabyAGIInputs, "creationChain" | "prioritizationChain" | "executionChain"> & Partial<Pick<BabyAGIInputs, "creationChain" | "prioritizationChain" | "executionChain">> & {
          llm: BaseLanguageModel<any, BaseLanguageModelCallOptions>;
      }

    Returns BabyAGI

    A new instance of BabyAGI.

Generated using TypeDoc