Skip to main content

Prompt Management

Learn how to manage and use prompts in your Graflow workflows.

Creating a Prompt Manager

Use PromptManagerFactory to create a prompt manager:

from pathlib import Path
from graflow.prompts.factory import PromptManagerFactory

# Create YAML-based prompt manager
prompts_dir = Path(__file__).parent / "prompts"
pm = PromptManagerFactory.create("yaml", prompts_dir=str(prompts_dir))

# Or create Langfuse-based prompt manager
pm = PromptManagerFactory.create("langfuse")

# Pass to workflow
with workflow("my_workflow", prompt_manager=pm) as ctx:
...

Using Prompts in Tasks

@task(inject_context=True)
def greet(ctx: TaskExecutionContext) -> str:
pm = ctx.prompt_manager

# Get text prompt and render
prompt = pm.get_text_prompt("greeting")
return prompt.render(name="Alice", product="Graflow")

@task(inject_context=True)
def generate_conversation(ctx: TaskExecutionContext) -> list:
pm = ctx.prompt_manager

# Get chat prompt for LLM APIs
prompt = pm.get_chat_prompt("assistant")
messages = prompt.render(domain="Python", task="debugging")
return messages