Skip to content

Commit 2b99821

Browse files
authored
Merge pull request #39 from oleks-dev/send_to_llm_step_fixes_and_tests
new tests for step send_to_llm and small fixes
2 parents da14e84 + 6f03659 commit 2b99821

4 files changed

Lines changed: 356 additions & 9 deletions

File tree

prich/core/engine.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from prich.core.template_utils import should_run_step
55
from prich.core.steps.step_render_template import render_template
66
from prich.core.steps.step_run_command import run_command_step
7-
from prich.core.steps.step_sent_to_llm import send_to_llm
7+
from prich.core.steps.step_send_to_llm import send_to_llm
88

99
from prich.models.template import LLMStep, PythonStep, RenderStep, \
1010
CommandStep, ValidateStepOutput
Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from prich.models.template import TemplateModel, LLMStep
77

88

9-
def send_to_llm(template: TemplateModel, step: LLMStep, provider: str, config: ConfigModel, variables: dict) -> str:
9+
def send_to_llm(template: TemplateModel, step: LLMStep, provider: str|None, config: ConfigModel, variables: dict) -> str:
1010
from prich.llm_providers.get_llm_provider import get_llm_provider
1111

1212
if not step.input:
@@ -18,14 +18,14 @@ def send_to_llm(template: TemplateModel, step: LLMStep, provider: str, config: C
1818
elif step.provider:
1919
selected_provider_name = step.provider
2020
# Use Provider to template assignment from config settings
21-
elif config.settings.provider_assignments and template.id in config.settings.provider_assignments.keys():
21+
elif (config.settings and config.settings.provider_assignments) and template.id in config.settings.provider_assignments.keys():
2222
selected_provider_name = config.settings.provider_assignments[template.id]
2323
# Use default provider from config
2424
else:
25-
selected_provider_name = config.settings.default_provider
26-
selected_provider = config.providers.get(selected_provider_name)
25+
selected_provider_name = config.settings.default_provider if config.settings else None
26+
selected_provider = config.providers.get(selected_provider_name) if selected_provider_name else None
2727
if not selected_provider:
28-
raise click.ClickException(f"Provider {selected_provider_name} configuration not found. Check your config.yaml file.")
28+
raise click.ClickException(f"Provider {f'{selected_provider_name} ' if selected_provider_name else ''}configuration not found. Check your config.yaml file.")
2929
if is_verbose():
3030
console_print(f"Selected LLM provider: {selected_provider_name}")
3131

@@ -50,8 +50,6 @@ def send_to_llm(template: TemplateModel, step: LLMStep, provider: str, config: C
5050
prompt_lines.append(step.rendered_instructions)
5151
if step.rendered_input:
5252
prompt_lines.append(step.rendered_input)
53-
if step.rendered_prompt:
54-
prompt_lines.append(step.rendered_prompt)
5553
prompt_full = '\n'.join(prompt_lines)
5654

5755
if is_verbose():

prich/llm_providers/echo_provider.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ def send_prompt(self, prompt: str = None, instructions: str = None, input_: str
1111
if prompt:
1212
return prompt
1313
else:
14-
return f"{instructions}\n{input_}"
14+
return (f"{instructions}\n" if instructions else "") + input_

0 commit comments

Comments
 (0)