version: 0.0.0
graph:
  id: paper_gen
  description: Article generation and polishing workflow with poem and editor feedback.
  is_majority_voting: false
  initial_instruction: This is an article generation and polishing workflow. Please enter a word or a short phrase. The system will generate a full article based on your input and include a modern English poem. You can then provide revision suggestions, and the system will refine the article accordingly. You may give multiple rounds of feedback until you are satisfied.
  log_level: INFO
  start:
    - Article Writer
    - Poet
  end:
    - Editor 2
    - Editor 1
  nodes:
    - id: Article Writer
      type: agent
      config:
        provider: openai
        base_url: ${BASE_URL}
        api_key: ${API_KEY}
        input_mode: messages
        name: gpt-4o
        role: |
          You are a writer who excels at generating a full article from a single word or short phrase.
          The user will input a word or short phrase, and you must produce an article of at least 2000 words with multiple paragraphs.
        params:
          temperature: 0.1
          max_tokens: 4000
    - id: Editor 1
      type: agent
      config:
        provider: openai
        base_url: ${BASE_URL}
        api_key: ${API_KEY}
        input_mode: messages
        name: gpt-4o
        role: |
          You are an editor. Combine the article and the poem, and append the poem at the end of the article.
        params:
          temperature: 0.1
          max_tokens: 4000
    - id: Human Viewer
      type: human
      config:
        description: Please provide revision suggestions for the article, or enter ACCEPT to exit the loop.
      description: ''
      context_window: 0
    - id: Editor 2
      type: agent
      config:
        name: gpt-4o
        provider: openai
        role: |
          You are an editor skilled at integrating and polishing an article.
          Based on the article and the revision suggestions, refine and revise the article. Output only the revised article.
        base_url: ${BASE_URL}
        api_key: ${API_KEY}
        params:
          max_tokens: 4000
        tooling: []
        thinking: null
        memories: []
        retry: null
        input_mode: messages
      description: ''
      context_window: 7
    - id: Poet
      type: agent
      config:
        name: gpt-4o
        provider: openai
        role: |
          You are a poet who crafts a modern English poem based on a single word or short phrase.
          The user will input a word or short phrase. Write a modern English poem inspired by it.
        base_url: ${BASE_URL}
        api_key: ${API_KEY}
        params:
          temperature: 0.1
          max_tokens: 4000
        tooling: []
        thinking: null
        memories: []
        retry: null
        input_mode: messages
      description: ''
      context_window: 0
  edges:
    - from: Article Writer
      to: Editor 1
    - from: Poet
      to: Editor 1
    - from: Editor 1
      to: Human Viewer
    - from: Editor 1
      to: Editor 2
      trigger: false
    - from: Editor 2
      to: Human Viewer
    - from: Human Viewer
      to: Editor 2
      trigger: true
      condition:
        type: keyword
        config:
          any: []
          none:
            - ACCEPT
          regex: []
          case_sensitive: true
      carry_data: true
      keep_message: false
      clear_context: false
      clear_kept_context: false
      process: null
      dynamic: null
vars: {}
