File size: 2,280 Bytes
9741e89
4ae94c2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9741e89
4ae94c2
 
 
 
 
 
 
 
9741e89
 
4ae94c2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9741e89
 
 
 
4ae94c2
 
 
 
 
 
9741e89
4ae94c2
 
e54a1f1
9741e89
 
 
 
 
e54a1f1
9741e89
 
6fffc74
 
9741e89
 
 
6fffc74
4ae94c2
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
name: "Plan_Flow"
verbose: True
description: "ToDO: add description"

model_name: "gpt-4"
generation_parameters:
  n: 1
  max_tokens: 3000
  temperature: 0.3

  model_kwargs:
    top_p: 0.2
    frequency_penalty: 0
    presence_penalty: 0

system_message_prompt_template:
  _target_: langchain.PromptTemplate
  template: |2-
    Your goal is to provide a high-level conceptual solution that, if implemented, will solve a given competitive programming problem.

    The user will specify the problem by providing you with:
      - the problem statement
      - input description
      - output description
      - example test cases
      - (optional) explanation of the test cases

    The proposed algorithm should be computationally efficient, logically correct and handle all corner cases.

    The user will provide you with a task and an output format that you will strictly follow.
  input_variables: []
  template_format: jinja2

human_message_prompt_template:
  _target_: langchain.PromptTemplate
  template: "{{query}}"
  input_variables:
    - "query"
  template_format: jinja2

query_message_prompt_template:
  _target_: langchain.PromptTemplate
  template: |2-
    # Problem statement
    {{problem_description}}

    # Input description
    {{input_description}}

    # Output description
    {{output_description}}

    {{io_examples_and_explanation}}


    Return a high-level conceptual solution that would solve the problem. Be very concise, and do not provide code.
    Reply in the following format:
    # Conceptual solution
    {{plan_placeholder}}
  input_variables:
    - "problem_description"
    - "input_description"
    - "output_description"
    - "io_examples_and_explanation"
  partial_variables:
    plan_placeholder: "{{conceptual_solution}}"
  template_format: jinja2

input_keys:
  - "problem_description"
  - "input_description"
  - "output_description"
  - "io_examples_and_explanation"

output_keys:
  - "plan"

output_data_transformations:
  - _target_: flows.data_transformations.RegexFirstOccurrenceExtractor
    regex: '(?<=Conceptual solution)([\s\S]*?)(?=\n\n# [A-Z]|\Z)'
    regex_fallback:
      - '(?<=Conceptual solution:)([\s\S]*?)(?=\n\n# [A-Z]|\Z)'
    output_key: "plan"
    strip: True
    assert_unique: True
    verbose: True