feat(eval): add custom system prompt support for step-1 classification
This commit is contained in:
@@ -400,6 +400,7 @@ async def _classify_file(
|
||||
projects: list[dict],
|
||||
config_data_types: list[str],
|
||||
langfuse_handler: Any | None = None,
|
||||
custom_system_prompt: str | None = None,
|
||||
) -> tuple[str, list[str], str | None]:
|
||||
fallback: tuple[str, list[str], str | None] = ("new", list(config_data_types), None)
|
||||
|
||||
@@ -421,14 +422,20 @@ async def _classify_file(
|
||||
if d in _DOMAIN_DESCRIPTIONS
|
||||
)
|
||||
|
||||
system = tracing.compile_prompt(
|
||||
"batch_file_classifier",
|
||||
fallback=_STEP1_SYSTEM_PROMPT,
|
||||
variables={
|
||||
"domain_definitions": domain_definitions,
|
||||
"projects_list": projects_list,
|
||||
},
|
||||
)
|
||||
if custom_system_prompt:
|
||||
# Fixture-provided prompt takes absolute priority
|
||||
system = custom_system_prompt.format_map(
|
||||
{"domain_definitions": domain_definitions, "projects_list": projects_list}
|
||||
)
|
||||
else:
|
||||
system = tracing.compile_prompt(
|
||||
"batch_file_classifier",
|
||||
fallback=_STEP1_SYSTEM_PROMPT,
|
||||
variables={
|
||||
"domain_definitions": domain_definitions,
|
||||
"projects_list": projects_list,
|
||||
},
|
||||
)
|
||||
|
||||
llm = get_llm(callbacks=[langfuse_handler] if langfuse_handler else None)
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user