Python Code Generation Skill#

class council.skills.python.PythonCodeGenerationSkill(llm: LLMBase, code_template: str = '', additional_instructions: str = '')[source]#

Bases: LLMSkill

Skill that uses an LLM to generate python code from instructions and a code template.

The resulting python code is located in a python code block in the resulting message. e.g.:

Here is the python code I have generated for you

```python
print('hi')
```
build_success_message(message: str, data: Any | None = None) ChatMessage#

Builds a success message for the skill with the provided message and optional data.

Parameters:
  • message (str) – The success message.

  • data (Any, optional) – Additional data to include in the message. Defaults to None.

Returns:

The success message.

Return type:

ChatMessage

Raises:

None

execute(context: SkillContext) ChatMessage#

Execute LLMSkill.

execute_skill(context: SkillContext) ChatMessage#

Skill execution

property llm: LLMBase#

the LLM used by the skill

property name#

Property getter for the skill name.

Returns:

The name of the skill.

Return type:

str

Raises:

None

render_as_dict(include_children: bool = True) Dict[str, Any]#

returns the graph of operation as a dictionary

render_as_json() str#

returns the graph of operation as a JSON string

run_in_current_thread(context: ChainContext, iteration_context: Option[IterationContext]) None#

Run the skill in the current thread

run_skill(context: ChainContext, executor: ThreadPoolExecutor) None#

Run the skill in a different thread, and await for completion