Skip to content

Commit 6497750

Browse files
Moved rendered prompt debug logging to Prompt class
1 parent 2d7efe8 commit 6497750

3 files changed

Lines changed: 11 additions & 3 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "modelsmith"
3-
version = "0.3.0"
3+
version = "0.4.0"
44
description = "Get Pydantic models and Python types as LLM responses from Google Vertex AI models."
55
authors = ["Christo Olivier <mail@christoolivier.com>"]
66
maintainers = ["Christo Olivier <mail@christoolivier.com>"]

src/modelsmith/forge.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ def generate(
9898
for attempt in Retrying(stop=stop_after_attempt(self.max_retries)):
9999
with attempt:
100100
try:
101-
logger.debug(f"Prompt sent to LLM:\n{prepared_prompt}")
102101
response = self.model.send(prepared_prompt, model_settings)
103102
model_response = self._process_response(response)
104103
except (CombinedException, PatternNotFound) as e:

src/modelsmith/prompt.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import inspect
22
import json
3+
import logging
34
from typing import Any
45

56
from jinja2 import BaseLoader, Environment, StrictUndefined, meta, select_autoescape
67
from pydantic import BaseModel
78

9+
logger = logging.getLogger(__name__)
10+
811
RESPONSE_MODEL_TEXT = inspect.cleandoc("""
912
Your output MUST be a JSON object that conforms to the JSON Schema below. All
1013
JSON object property names MUST be enclosed in double quotes.
@@ -112,7 +115,13 @@ def render(self, **kwargs: Any) -> str:
112115
if "user_input" in prompt_kwargs and "user_input" not in self.prompt_variables:
113116
prompt_to_render += f"\n{prompt_kwargs['user_input']}\n"
114117

115-
return self._env.from_string(prompt_to_render).render(**prompt_kwargs)
118+
# Render the prompt and log it for debugging purposes.
119+
rendered_prompt = self._env.from_string(prompt_to_render).render(
120+
**prompt_kwargs
121+
)
122+
logger.debug(f"Rendered prompt:\n{rendered_prompt}")
123+
124+
return rendered_prompt
116125

117126
def _process_kwargs(self, prompt_values: dict[str, Any]) -> dict[str, Any]:
118127
"""

0 commit comments

Comments
 (0)