File size: 2,780 Bytes
2c07909
 
cce4677
2c07909
 
cce4677
2c07909
 
 
 
cce4677
 
 
 
2c07909
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cce4677
2c07909
 
 
 
cce4677
2c07909
 
 
 
 
 
 
 
cce4677
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2c07909
 
 
 
 
 
 
 
 
 
 
 
 
cce4677
2c07909
 
 
cce4677
2c07909
 
 
 
 
 
 
 
 
 
 
 
 
cce4677
2c07909
 
 
cce4677
2c07909
 
 
 
 
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Table of Contents

* [run](#run)
* [CodeGeneratorAtomicFlow](#CodeGeneratorAtomicFlow)
  * [CodeGeneratorAtomicFlow](#CodeGeneratorAtomicFlow.CodeGeneratorAtomicFlow)
    * [\_\_init\_\_](#CodeGeneratorAtomicFlow.CodeGeneratorAtomicFlow.__init__)
    * [instantiate\_from\_config](#CodeGeneratorAtomicFlow.CodeGeneratorAtomicFlow.instantiate_from_config)
    * [run](#CodeGeneratorAtomicFlow.CodeGeneratorAtomicFlow.run)
* [\_\_init\_\_](#__init__)

<a id="run"></a>

# run

<a id="CodeGeneratorAtomicFlow"></a>

# CodeGeneratorAtomicFlow

<a id="CodeGeneratorAtomicFlow.CodeGeneratorAtomicFlow"></a>

## CodeGeneratorAtomicFlow Objects

```python
class CodeGeneratorAtomicFlow(ChatAtomicFlow)
```

This class wraps around the Chat API to generate code from a goal. One thing worth noting is that we need to
make sure the code generator does not write repetitive code that is present in the library, so we need to inject
the function signatures in the library to the system prompts.

*Input Interface Non Initialized*:
- `goal`
- `code_library`
- `memory_files`

*Input Interface Initialized*:
- `goal`
- `code_library`
- `memory_files`

*Output Interface*:
- `code`
- `language_of_code`


*Configuration Parameters*:
- Also refer to ChatAtomicFlow (https://huggingface.co/aiflows/ChatFlowModule/blob/main/ChatAtomicFlow.py)
- `input_interface_non_initialized`: The input interface when the conversation is not initialized.
- `input_interface_initialized`: The input interface when the conversation is initialized.
- `output_interface`: The output interface.
- `backend`: The backend to use for the Chat API.
- `system_message_prompt_template`: The template for the system message prompt.
- `human_message_prompt_template`: The template for the human message prompt.
- `init_human_message_prompt_template`: The initial human message prompt.

<a id="CodeGeneratorAtomicFlow.CodeGeneratorAtomicFlow.__init__"></a>

#### \_\_init\_\_

```python
def __init__(**kwargs)
```

Initialize the CodeGeneratorAtomicFlow.

**Arguments**:

- `kwargs` (`Any`): Keyword arguments.

<a id="CodeGeneratorAtomicFlow.CodeGeneratorAtomicFlow.instantiate_from_config"></a>

#### instantiate\_from\_config

```python
@classmethod
def instantiate_from_config(cls, config)
```

Instantiate a CodeGeneratorAtomicFlow from a configuration.

**Arguments**:

- `config` (`Dict[str, Any]`): Configuration dictionary.

**Returns**:

`CodeGeneratorAtomicFlow`: Instantiated CodeGeneratorAtomicFlow.

<a id="CodeGeneratorAtomicFlow.CodeGeneratorAtomicFlow.run"></a>

#### run

```python
def run(input_data: Dict[str, Any]) -> Dict[str, Any]
```

Run the flow.

**Arguments**:

- `input_data` (`Dict[str, Any]`): Input data.

**Returns**:

`Dict[str, Any]`: Output data.

<a id="__init__"></a>

# \_\_init\_\_