langchain.js
    Preparing search index...

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

    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 (View Summary)

    Implements

    Index

    Constructors

    Properties

    creationChain: BaseChain
    executionChain: BaseChain
    maxIterations: number
    memory?: any
    prioritizationChain: BaseChain
    taskIDCounter: number
    taskList: Task[]
    vectorstore: VectorStoreInterface

    Accessors

    • get inputKeys(): string[]

      Returns string[]

    • get lc_namespace(): string[]

      Returns string[]

    • get outputKeys(): never[]

      Returns never[]

    Methods

    • Run the core logic of this chain and return the output

      Parameters

      • __namedParameters: ChainValues
      • OptionalrunManager: any

      Returns Promise<{}>

    • Return the string type key uniquely identifying this class of chain.

      Returns "BabyAGI"

    • Parameters

      • values: any

      Returns Promise<any>

    • Adds a task to the task list.

      Parameters

      • task: Task

        The task to be added.

      Returns Promise<void>

      Promise resolving to void.

    • Parameters

      • inputs: ChainValues[]
      • Optionalconfig: any[]

      Returns Promise<ChainValues[]>

      Use .batch() instead. Will be removed in 0.2.0.

      Call the chain on all inputs in the list

    • Parameters

      • values: any
      • Optionalconfig: any
      • Optionaltags: string[]

      Returns Promise<ChainValues>

      Use .invoke() instead. Will be removed in 0.2.0.

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

      Wraps _call and handles memory.

    • 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.

      • OptionalrunManager: any

        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.

      • OptionalrunManager: any

        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<any>

      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.

      • Optionaloptions: any

      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.

      • OptionalrunManager: any

        Optional CallbackManagerForChainRun instance.

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

      Promise resolving to an array of prioritized tasks.

    • Parameters

      • input: any
      • Optionalconfig: any

      Returns Promise<string>

      Use .invoke() instead. Will be removed in 0.2.0.

    • 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, "executionChain" | "creationChain" | "prioritizationChain"> & Partial<
            Pick<
                BabyAGIInputs,
                "executionChain"
                | "creationChain"
                | "prioritizationChain",
            >,
        > & { llm: BaseLanguageModelInterface }

      Returns BabyAGI

      A new instance of BabyAGI.

    • Returns string