Files
semantic-kernel/dotnet/samples/Concepts/ChatCompletion/OpenAI_ChatCompletionWithVision.cs
T
Roger Barreto f66a30bbd9 .Net Samples Restructure - Phase 4 (#6057)
### Motivation and Context

Make samples more console friendly.

This change allows the code to be copy and pasted in a Console App,
which virtually no code changes to the core code in sample
implementations.
2024-04-30 11:34:44 +00:00

35 lines
1.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Copyright (c) Microsoft. All rights reserved.
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.ChatCompletion;
namespace ChatCompletion;
// This example shows how to use GPT Vision model with different content types (text and image).
public class OpenAI_ChatCompletionWithVision(ITestOutputHelper output) : BaseTest(output)
{
[Fact]
public async Task RunAsync()
{
const string ImageUri = "https://upload.wikimedia.org/wikipedia/commons/d/d5/Half-timbered_mansion%2C_Zirkel%2C_East_view.jpg";
var kernel = Kernel.CreateBuilder()
.AddOpenAIChatCompletion("gpt-4-vision-preview", TestConfiguration.OpenAI.ApiKey)
.Build();
var chatCompletionService = kernel.GetRequiredService<IChatCompletionService>();
var chatHistory = new ChatHistory("You are a friendly assistant.");
chatHistory.AddUserMessage(
[
new TextContent("What’s in this image?"),
new ImageContent(new Uri(ImageUri))
]);
var reply = await chatCompletionService.GetChatMessageContentAsync(chatHistory);
Console.WriteLine(reply.Content);
}
}