mirror of https://github.com/dapr/dapr-agents.git
30 lines
887 B
Python
30 lines
887 B
Python
from dapr_agents.workflow import WorkflowApp, workflow, task
|
|
from dapr_agents.types import DaprWorkflowContext
|
|
from dotenv import load_dotenv
|
|
|
|
# Load environment variables
|
|
load_dotenv()
|
|
|
|
# Define Workflow logic
|
|
@workflow(name='task_chain_workflow')
|
|
def task_chain_workflow(ctx: DaprWorkflowContext):
|
|
result1 = yield ctx.call_activity(get_character)
|
|
result2 = yield ctx.call_activity(get_line, input={"character": result1})
|
|
return result2
|
|
|
|
@task(description="""
|
|
Pick a random character from The Lord of the Rings\n
|
|
and respond with the character's name only
|
|
""")
|
|
def get_character() -> str:
|
|
pass
|
|
|
|
@task(description="What is a famous line by {character}",)
|
|
def get_line(character: str) -> str:
|
|
pass
|
|
|
|
if __name__ == '__main__':
|
|
wfapp = WorkflowApp()
|
|
|
|
results = wfapp.run_and_monitor_workflow_sync(task_chain_workflow)
|
|
print(f"Famous Line: {results}") |