openai/openai-dotnet
Publicmirrored from https://github.com/openai/openai-dotnetAvailable
examples/Chat/Example05_ChatWithVisionAsync.cs
32lines · modeblame
9f9f2936Jose Arriaga Maldonado2 years ago | 1 | using NUnit.Framework; |
| 2 | using OpenAI.Chat; | |
| 3 | using System; | |
| 4 | using System.Collections.Generic; | |
| 5 | using System.IO; | |
| 6 | using System.Threading.Tasks; | |
| 7 | | |
8cc6643fJose Arriaga Maldonado2 years ago | 8 | namespace OpenAI.Examples; |
74848f8dJose Arriaga Maldonado2 years ago | 9 | |
8cc6643fJose Arriaga Maldonado2 years ago | 10 | public partial class ChatExamples |
9f9f2936Jose Arriaga Maldonado2 years ago | 11 | { |
74848f8dJose Arriaga Maldonado2 years ago | 12 | [Test] |
8cc6643fJose Arriaga Maldonado2 years ago | 13 | public async Task Example05_ChatWithVisionAsync() |
9f9f2936Jose Arriaga Maldonado2 years ago | 14 | { |
74848f8dJose Arriaga Maldonado2 years ago | 15 | ChatClient client = new("gpt-4o", Environment.GetEnvironmentVariable("OPENAI_API_KEY")); |
9f9f2936Jose Arriaga Maldonado2 years ago | 16 | |
8cc6643fJose Arriaga Maldonado2 years ago | 17 | string imageFilePath = Path.Combine("Assets", "images_dog_and_cat.png"); |
| 18 | using Stream imageStream = File.OpenRead(imageFilePath); | |
| 19 | BinaryData imageBytes = BinaryData.FromStream(imageStream); | |
9f9f2936Jose Arriaga Maldonado2 years ago | 20 | |
74848f8dJose Arriaga Maldonado2 years ago | 21 | List<ChatMessage> messages = [ |
| 22 | new UserChatMessage( | |
| 23 | ChatMessageContentPart.CreateTextMessageContentPart("Please describe the following image."), | |
8cc6643fJose Arriaga Maldonado2 years ago | 24 | ChatMessageContentPart.CreateImageMessageContentPart(imageBytes, "image/png")) |
74848f8dJose Arriaga Maldonado2 years ago | 25 | ]; |
9f9f2936Jose Arriaga Maldonado2 years ago | 26 | |
74848f8dJose Arriaga Maldonado2 years ago | 27 | ChatCompletion chatCompletion = await client.CompleteChatAsync(messages); |
9f9f2936Jose Arriaga Maldonado2 years ago | 28 | |
74848f8dJose Arriaga Maldonado2 years ago | 29 | Console.WriteLine($"[ASSISTANT]:"); |
| 30 | Console.WriteLine($"{chatCompletion.Content[0].Text}"); | |
9f9f2936Jose Arriaga Maldonado2 years ago | 31 | } |
| 32 | } |