Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Python: input_variables default values are never applied when rendering templates

Aperta
#14,458 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@ManoharPaturi ci sta già lavorando.

Dal 18/9/2026.

  • #14459 di @ManoharPaturi — aperta

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
78/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python
Ambito
ai

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

python triage
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

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/semantic-kernel

Tutte le issue di microsoft/semantic-kernel

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.