static async Task Main()
{
var apiKey = Environment.GetEnvironmentVariable("OPENAI_API_KEY")
?? throw new InvalidOperationException("OPENAI_API_KEY is required");
// Build kernel
var kb = Kernel.CreateBuilder();
kb.AddOpenAIChatCompletion("gpt-5", apiKey);
var kernel = kb.Build();
ChatCompletionAgent agent =
new()
{
Kernel = kernel,
Name = "StoryTeller",
Instructions = "Tell a story about dog that is {{$length}} sentences long.",
Arguments = new KernelArguments(new OpenAIPromptExecutionSettings {Temperature = 1 })
{
{ "topic", "Dog" },
{ "length", "3" },
}
};
// Attempt 2
//KernelArguments overrideArguments =
// new()
// {
// { "topic", "Cat" },
// { "length", "3" },
// };
await foreach (ChatMessageContent response in agent.InvokeAsync([]
// Attempt 2
// , options: new() { KernelArguments = overrideArguments }
))
{
Console.WriteLine(response.Content);
}
}
< /code>
Но я вижу, что значения шаблона (topic
, длина ) Я предоставляю через kernelarguments игнорируется, и модель спрашивает меня о предоставлении этих значений в разговоре. Почему значения, которые я предоставляю в списке Kernelarguments, не сопоставлены с ключами, которые я вкладываю в подсказку?>
Я пытаюсь использовать следующее семантическое ядро Конфигурация агента (поведение не связано с использованной моделью ИИ): [code]static async Task Main() { var apiKey = Environment.GetEnvironmentVariable("OPENAI_API_KEY") ?? throw new InvalidOperationException("OPENAI_API_KEY is required");
// Build kernel var kb = Kernel.CreateBuilder(); kb.AddOpenAIChatCompletion("gpt-5", apiKey); var kernel = kb.Build();
ChatCompletionAgent agent = new() { Kernel = kernel, Name = "StoryTeller", Instructions = "Tell a story about dog that is {{$length}} sentences long.", Arguments = new KernelArguments(new OpenAIPromptExecutionSettings {Temperature = 1 }) { { "topic", "Dog" }, { "length", "3" }, } };
await foreach (ChatMessageContent response in agent.InvokeAsync([] // Attempt 2 // , options: new() { KernelArguments = overrideArguments } )) { Console.WriteLine(response.Content); } } < /code> Но я вижу, что значения шаблона (topic[/code], длина ) Я предоставляю через kernelarguments игнорируется, и модель спрашивает меня о предоставлении этих значений в разговоре. Почему значения, которые я предоставляю в списке Kernelarguments, не сопоставлены с ключами, которые я вкладываю в подсказку?>