Files
wehub-resource-sync b957a53def
CodeQL / Analyze (csharp) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 13:21:23 +08:00

58 lines
1.9 KiB
C#

// Copyright (c) Microsoft. All rights reserved.
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.TextGeneration;
#pragma warning disable format // Format item can be simplified
#pragma warning disable CA1861 // Avoid constant arrays as arguments
namespace TextGeneration;
// The following example shows how to use Semantic Kernel with Ollama Text Generation API.
public class Ollama_TextGenerationStreaming(ITestOutputHelper helper) : BaseTest(helper)
{
[Fact]
public async Task RunKernelStreamingExampleAsync()
{
Assert.NotNull(TestConfiguration.Ollama.ModelId);
string model = TestConfiguration.Ollama.ModelId;
Console.WriteLine($"\n======== Ollama {model} streaming example ========\n");
Kernel kernel = Kernel.CreateBuilder()
.AddOllamaTextGeneration(
endpoint: new Uri(TestConfiguration.Ollama.Endpoint),
modelId: model)
.Build();
await foreach (string text in kernel.InvokePromptStreamingAsync<string>("Question: {{$input}}; Answer:", new() { ["input"] = "What is New York?" }))
{
Console.Write(text);
}
}
[Fact]
public async Task RunServiceStreamingExampleAsync()
{
Assert.NotNull(TestConfiguration.Ollama.ModelId);
string model = TestConfiguration.Ollama.ModelId;
Console.WriteLine($"\n======== Ollama {model} streaming example ========\n");
Kernel kernel = Kernel.CreateBuilder()
.AddOllamaTextGeneration(
endpoint: new Uri(TestConfiguration.Ollama.Endpoint),
modelId: model)
.Build();
var service = kernel.GetRequiredService<ITextGenerationService>();
await foreach (var content in service.GetStreamingTextContentsAsync("Question: What is New York?; Answer:"))
{
Console.Write(content);
}
}
}