Python: input_variables default values are never applied when rendering templates
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 78/100
Direzione di ricerca
Inizia da KernelPromptTemplate.render e VarBlock.render, quindi esamina PromptTemplateConfig.input_variables e get_kernel_parameter_metadata. Riproduci l’esempio con un nome mancante e con un argomento esplicito; il lavoro è completato quando il valore predefinito dichiarato compare solo se il chiamante omette la variabile, mentre il valore esplicito mantiene la precedenza.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
PromptTemplateConfig.input_variables supports a default per variable, it is even validated (must be a string) and exposed through get_kernel_parameter_metadata as default_value. But the value is never used when rendering: KernelPromptTemplate.render goes straight to the blocks, and VarBlock.render only reads KernelArguments, returning an empty string for anything missing.
Reproduction
from semantic_kernel import Kernel
from semantic_kernel.prompt_template.kernel_prompt_template import KernelPromptTemplate
from semantic_kernel.prompt_template.prompt_template_config import PromptTemplateConfig
import asyncio
cfg = PromptTemplateConfig(
name="t",
template="Hello {{$name}}!",
template_format="semantic-kernel",
input_variables=[{"name": "name", "description": "who", "default": "STRANGER"}],
)
tpl = KernelPromptTemplate(prompt_template_config=cfg)
print(repr(asyncio.run(tpl.render(Kernel())))) # 'Hello !' -- expected 'Hello STRANGER!'
Expected behavior
A declared default fills in when the caller did not supply the variable; an explicit argument still wins.
Environment
semantic-kernel python 1.44.1, pydantic v2
- Lingua principale
- C#
- Stelle
- 28.7k
- Fork
- 4.8k
- Merge medio
- 1g 21h
- PR unite (30g)
- 28
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/semantic-kernel
-
Python: Rejected system messages leave AgentChat permanently activeForse già presa @Michael-Duck l’ha presa 3 giorni fa. Apertapython triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
microsoft/semantic-kernel#14638 ·
I maintainer di solito rispondono entro 1 giorno
-
Python: Bug: Anthropic, Bedrock, Google AI and Vertex AI tool formatters ignore include_in_function_choices=FalseForse già presa @wasim-builds l’ha presa 8 giorni fa. Apertapython triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
microsoft/semantic-kernel#14615 ·
I maintainer di solito rispondono entro 1 giorno
-
Python: Bug: AnnotationContent and StreamingAnnotationContent to_element writes CitationType.X, so annotations in a rendered chat history fail to parseForse già presa @CRYPTONIKAV l’ha presa 12 giorni fa. Apertapython triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
microsoft/semantic-kernel#14590 ·
I maintainer di solito rispondono entro 1 giorno
-
Python: Bug: TimePlugin timeZoneOffset and timeZoneName always return an empty stringForse già presa @jeevan1098 l’ha presa 10 giorni fa. Apertapython triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
microsoft/semantic-kernel#14583 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
.Net: gpt-image-1 is the default image model in the .NET OpenAI connector, and OpenAI shuts it down on October 23Forse già presa @nightcityblade l’ha presa 23 giorni fa. Aperta.NET triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
microsoft/semantic-kernel#14526 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di microsoft/semantic-kernel
Issue simili
-
fix(testing): HeadlessTerminal disposes services synchronouslyForse già presa @zidad l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
RazorConsole/RazorConsole#388 ·
I maintainer di solito rispondono entro 1 giorno
-
A practical example of rulerAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
starlinghq/starling#209 ·
I maintainer di solito rispondono entro 1 giorno
-
affected/v17 area/frontend type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
umbraco/Umbraco-CMS#24323 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
dotnet/roslynator#1859 ·
I maintainer di solito rispondono entro 1 giorno