from fi.prompt.client import PromptClient
from fi.prompt.types import ModelConfig, PromptTemplate, SystemMessage, UserMessage

def generate_prompt_content():
    template = PromptTemplate(
        name="customer_service_template",
        messages=[
            SystemMessage(content="You are a customer service representative."),
            UserMessage(content="How can I help you with your {issue}?")
        ],
        model_configuration=ModelConfig(
            model_name="gpt-4",
            temperature=0.7,
            max_tokens=1000
        )
    )

    prompt_client = PromptClient(template=template)
    
    client = prompt_client.create()
    
    requirements = [
        "Add a friendly greeting at the start",
        "Include empathy in the response",
        "Ask for specific details about the issue"
    ]
    
    for requirement in requirements:
        client = client.generate(requirement)
        print(f"\nGenerated content for requirement: {requirement}")
        print(f"Latest message: {client.template.messages[-1].content}")
    
    return client

if __name__ == "__main__":
    try:
        generated_client = generate_prompt_content()
        print("\nFinal template messages:")
        for msg in generated_client.template.messages:
            print(f"{msg.role}: {msg.content}")
    except Exception as e:
        print(f"Error generating prompt content: {str(e)}")