Source code for languageassistant.agents.planner.agent
"""Lesson planning agent implementation"""
from typing import Any, List, Optional
from langchain.callbacks.manager import Callbacks
from langchain.chains import LLMChain
from languageassistant.agents.planner.base import BasePlannerAgent
from languageassistant.agents.planner.schema import Lesson, LessonOutputParser
[docs]class LessonPlannerAgent(BasePlannerAgent):
"""LLM agent for planning language lessons"""
llm_chain: LLMChain
output_parser: LessonOutputParser
stop: Optional[List] = None
[docs] def plan(self, inputs: dict, callbacks: Callbacks = None, **kwargs: Any) -> Lesson:
"""Get a lesson plan of topics tailored to user background"""
llm_response = self.llm_chain.run(**inputs, stop=self.stop, callbacks=callbacks)
return self.output_parser.parse(llm_response)