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_ChatWithVisionAsync.cs

32lines · modeblame

9f9f2936Jose Arriaga Maldonado2 years ago1using NUnit.Framework;
2using OpenAI.Chat;
3using System;
4using System.Collections.Generic;
5using System.IO;
6using System.Threading.Tasks;
7
8cc6643fJose Arriaga Maldonado2 years ago8namespace OpenAI.Examples;
74848f8dJose Arriaga Maldonado2 years ago9
8cc6643fJose Arriaga Maldonado2 years ago10public partial class ChatExamples
9f9f2936Jose Arriaga Maldonado2 years ago11{
74848f8dJose Arriaga Maldonado2 years ago12[Test]
8cc6643fJose Arriaga Maldonado2 years ago13public async Task Example05_ChatWithVisionAsync()
9f9f2936Jose Arriaga Maldonado2 years ago14{
74848f8dJose Arriaga Maldonado2 years ago15ChatClient client = new("gpt-4o", Environment.GetEnvironmentVariable("OPENAI_API_KEY"));
9f9f2936Jose Arriaga Maldonado2 years ago16
8cc6643fJose Arriaga Maldonado2 years ago17string imageFilePath = Path.Combine("Assets", "images_dog_and_cat.png");
18using Stream imageStream = File.OpenRead(imageFilePath);
19BinaryData imageBytes = BinaryData.FromStream(imageStream);
9f9f2936Jose Arriaga Maldonado2 years ago20
74848f8dJose Arriaga Maldonado2 years ago21List<ChatMessage> messages = [
22new UserChatMessage(
23ChatMessageContentPart.CreateTextMessageContentPart("Please describe the following image."),
8cc6643fJose Arriaga Maldonado2 years ago24ChatMessageContentPart.CreateImageMessageContentPart(imageBytes, "image/png"))
74848f8dJose Arriaga Maldonado2 years ago25];
9f9f2936Jose Arriaga Maldonado2 years ago26
74848f8dJose Arriaga Maldonado2 years ago27ChatCompletion chatCompletion = await client.CompleteChatAsync(messages);
9f9f2936Jose Arriaga Maldonado2 years ago28
74848f8dJose Arriaga Maldonado2 years ago29Console.WriteLine($"[ASSISTANT]:");
30Console.WriteLine($"{chatCompletion.Content[0].Text}");
9f9f2936Jose Arriaga Maldonado2 years ago31}
32}