openai/openai-dotnet

Public

mirrored from https://github.com/openai/openai-dotnetAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
OpenAI_2.0.0-beta.1

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

examples/Chat/Example05_ChatWithVision.cs

31lines · modeblame

9f9f2936Jose Arriaga Maldonado2 years ago1using NUnit.Framework;
2using OpenAI.Chat;
3using System;
4using System.Collections.Generic;
5using System.IO;
6
8cc6643fJose Arriaga Maldonado2 years ago7namespace OpenAI.Examples;
74848f8dJose Arriaga Maldonado2 years ago8
8cc6643fJose Arriaga Maldonado2 years ago9public partial class ChatExamples
9f9f2936Jose Arriaga Maldonado2 years ago10{
74848f8dJose Arriaga Maldonado2 years ago11[Test]
8cc6643fJose Arriaga Maldonado2 years ago12public void Example05_ChatWithVision()
9f9f2936Jose Arriaga Maldonado2 years ago13{
74848f8dJose Arriaga Maldonado2 years ago14ChatClient client = new("gpt-4o", Environment.GetEnvironmentVariable("OPENAI_API_KEY"));
9f9f2936Jose Arriaga Maldonado2 years ago15
8cc6643fJose Arriaga Maldonado2 years ago16string imageFilePath = Path.Combine("Assets", "images_dog_and_cat.png");
17using Stream imageStream = File.OpenRead(imageFilePath);
18BinaryData imageBytes = BinaryData.FromStream(imageStream);
9f9f2936Jose Arriaga Maldonado2 years ago19
74848f8dJose Arriaga Maldonado2 years ago20List<ChatMessage> messages = [
21new UserChatMessage(
22ChatMessageContentPart.CreateTextMessageContentPart("Please describe the following image."),
8cc6643fJose Arriaga Maldonado2 years ago23ChatMessageContentPart.CreateImageMessageContentPart(imageBytes, "image/png"))
74848f8dJose Arriaga Maldonado2 years ago24];
9f9f2936Jose Arriaga Maldonado2 years ago25
74848f8dJose Arriaga Maldonado2 years ago26ChatCompletion chatCompletion = client.CompleteChat(messages);
9f9f2936Jose Arriaga Maldonado2 years ago27
74848f8dJose Arriaga Maldonado2 years ago28Console.WriteLine($"[ASSISTANT]:");
29Console.WriteLine($"{chatCompletion.Content[0].Text}");
9f9f2936Jose Arriaga Maldonado2 years ago30}
31}