text: = OpenAIEmbeddings()# Initialize the vectorstore as emptyimport faissembedding_size = 1536index = faiss.IndexFlatL2(embedding_size)vectorstore = FAISS(embeddings_model.embed_query, index, InMemoryDocstore({}), {})Define the Chainsâ€‹BabyAGI relies on three LLM chains:Task creation chain to select new tasks to add to the listTask prioritization chain to re-prioritize tasksExecution Chain to execute the tasksclass TaskCreationChain(LLMChain):    """Chain to generates tasks."""    @classmethod    def from_llm(cls, llm: BaseLLM, verbose: bool = True) -> LLMChain:        """Get the response parser."""        task_creation_template = (            "You are a task creation AI that uses the result of an execution agent"            " to create new tasks with the following objective: {objective},"            " The last completed task has the result: {result}."            " This result was based on this task description: {task_description}."            " These are incomplete tasks: {incomplete_tasks}."            " Based on the result, create new tasks to be completed"            " by the AI system that do not overlap with incomplete tasks."            " Return the tasks as an array."        )        prompt = PromptTemplate(