feat: update sequential tasks agent starter project (#3449)
* feat: update sequential tasks starter project * feat: Refactor task agents for Researcher, Editor, and Comedian on Sequential Tasks Agent. * refactor(langflow): Update Sequential Crew component * refactor: Add SequentialCrewComponent for better organization.
This commit is contained in:
parent
ae99e6927e
commit
0db81f01f7
2 changed files with 1362 additions and 1822 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -1,6 +1,5 @@
|
|||
from langflow.components.agents.CrewAIAgent import CrewAIAgentComponent
|
||||
from langflow.components.agents.SequentialCrew import SequentialCrewComponent
|
||||
from langflow.components.helpers.SequentialTask import SequentialTaskComponent
|
||||
from langflow.components.agents.SequentialTaskAgent import SequentialTaskAgentComponent
|
||||
from langflow.components.inputs.TextInput import TextInputComponent
|
||||
from langflow.components.models.OpenAIModel import OpenAIModelComponent
|
||||
from langflow.components.outputs.ChatOutput import ChatOutput
|
||||
|
|
@ -12,31 +11,32 @@ from langflow.graph.graph.base import Graph
|
|||
def sequential_tasks_agent_graph():
|
||||
llm = OpenAIModelComponent()
|
||||
search_api_tool = SearchAPIComponent()
|
||||
researcher_agent = CrewAIAgentComponent()
|
||||
|
||||
text_input = TextInputComponent(_display_name="Topic")
|
||||
text_input.set(input_value="Agile")
|
||||
researcher_agent.set(
|
||||
tools=[search_api_tool.build_tool],
|
||||
llm=llm.build_model,
|
||||
role="Researcher",
|
||||
goal="Search Google to find information to complete the task.",
|
||||
backstory="Research has always been your thing. You can quickly find things on the web because of your skills.",
|
||||
)
|
||||
research_task = SequentialTaskComponent()
|
||||
|
||||
# Document Prompt for Researcher
|
||||
document_prompt_component = PromptComponent()
|
||||
document_prompt_component.set(
|
||||
template="""Topic: {topic}
|
||||
|
||||
Build a document about this document.""",
|
||||
Build a document about this topic.""",
|
||||
topic=text_input.text_response,
|
||||
)
|
||||
research_task.set(
|
||||
agent=researcher_agent.build_output,
|
||||
|
||||
# Researcher Task Agent
|
||||
researcher_task_agent = SequentialTaskAgentComponent()
|
||||
researcher_task_agent.set(
|
||||
role="Researcher",
|
||||
goal="Search Google to find information to complete the task.",
|
||||
backstory="Research has always been your thing. You can quickly find things on the web because of your skills.",
|
||||
tools=[search_api_tool.build_tool],
|
||||
llm=llm.build_model,
|
||||
task_description=document_prompt_component.build_prompt,
|
||||
expected_output="Bullet points and small phrases about the research topic.",
|
||||
)
|
||||
editor_agent = CrewAIAgentComponent()
|
||||
editor_task = SequentialTaskComponent()
|
||||
|
||||
# Revision Prompt for Editor
|
||||
revision_prompt_component = PromptComponent()
|
||||
revision_prompt_component.set(
|
||||
template="""Topic: {topic}
|
||||
|
|
@ -44,18 +44,20 @@ Build a document about this document.""",
|
|||
Revise this document.""",
|
||||
topic=text_input.text_response,
|
||||
)
|
||||
editor_agent.set(
|
||||
llm=llm.build_model,
|
||||
|
||||
# Editor Task Agent
|
||||
editor_task_agent = SequentialTaskAgentComponent()
|
||||
editor_task_agent.set(
|
||||
role="Editor",
|
||||
goal="You should edit the Information provided by the Researcher to make it more palatable and to not contain misleading information.",
|
||||
goal="You should edit the information provided by the Researcher to make it more palatable and to not contain misleading information.",
|
||||
backstory="You are the editor of the most reputable journal in the world.",
|
||||
)
|
||||
editor_task.set(
|
||||
agent=editor_agent.build_output,
|
||||
llm=llm.build_model,
|
||||
task_description=revision_prompt_component.build_prompt,
|
||||
expected_output="Small paragraphs and bullet points with the corrected content.",
|
||||
task=research_task.build_task,
|
||||
previous_task=researcher_task_agent.build_agent_and_task,
|
||||
)
|
||||
|
||||
# Blog Prompt for Comedian
|
||||
blog_prompt_component = PromptComponent()
|
||||
blog_prompt_component.set(
|
||||
template="""Topic: {topic}
|
||||
|
|
@ -63,29 +65,34 @@ Revise this document.""",
|
|||
Build a fun blog post about this topic.""",
|
||||
topic=text_input.text_response,
|
||||
)
|
||||
comedian_agent = CrewAIAgentComponent()
|
||||
comedian_agent.set(
|
||||
llm=llm.build_model,
|
||||
|
||||
# Comedian Task Agent
|
||||
comedian_task_agent = SequentialTaskAgentComponent()
|
||||
comedian_task_agent.set(
|
||||
role="Comedian",
|
||||
goal="You write comedic content based on the information provided by the editor.",
|
||||
backstory="Your formal occupation is Comedian-in-Chief. You write jokes, do standup comedy and write funny articles.",
|
||||
)
|
||||
blog_task = SequentialTaskComponent()
|
||||
blog_task.set(
|
||||
agent=comedian_agent.build_output,
|
||||
backstory="Your formal occupation is Comedian-in-Chief. You write jokes, do standup comedy, and write funny articles.",
|
||||
llm=llm.build_model,
|
||||
task_description=blog_prompt_component.build_prompt,
|
||||
expected_output="A small blog about the topic.",
|
||||
task=editor_task.build_task,
|
||||
previous_task=editor_task_agent.build_agent_and_task,
|
||||
)
|
||||
sequential_crew_component = SequentialCrewComponent()
|
||||
sequential_crew_component.set(tasks=blog_task.build_task)
|
||||
chat_output = ChatOutput()
|
||||
chat_output.set(input_value=sequential_crew_component.build_output)
|
||||
|
||||
crew_component = SequentialCrewComponent()
|
||||
crew_component.set(
|
||||
tasks=comedian_task_agent.build_agent_and_task,
|
||||
)
|
||||
|
||||
# Set up the output component
|
||||
chat_output = ChatOutput()
|
||||
chat_output.set(input_value=crew_component.build_output)
|
||||
|
||||
# Create the graph
|
||||
graph = Graph(
|
||||
start=text_input,
|
||||
end=chat_output,
|
||||
flow_name="Sequential Tasks Agent",
|
||||
description="This Agent runs tasks in a predefined sequence.",
|
||||
)
|
||||
|
||||
return graph
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue