openai/openai-dotnet
Publicmirrored from https://github.com/openai/openai-dotnetAvailable
examples/Chat/Example05_Vision.cs
31lines · 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 | | |
8cc6643fJose Arriaga Maldonado2 years ago | 7 | namespace OpenAI.Examples; |
74848f8dJose Arriaga Maldonado2 years ago | 8 | |
8cc6643fJose Arriaga Maldonado2 years ago | 9 | public partial class ChatExamples |
9f9f2936Jose Arriaga Maldonado2 years ago | 10 | { |
74848f8dJose Arriaga Maldonado2 years ago | 11 | [Test] |
7a8bc8beJose Arriaga Maldonado1 years ago | 12 | public void Example05_Vision() |
9f9f2936Jose Arriaga Maldonado2 years ago | 13 | { |
74848f8dJose Arriaga Maldonado2 years ago | 14 | ChatClient client = new("gpt-4o", Environment.GetEnvironmentVariable("OPENAI_API_KEY")); |
9f9f2936Jose Arriaga Maldonado2 years ago | 15 | |
8cc6643fJose Arriaga Maldonado2 years ago | 16 | string imageFilePath = Path.Combine("Assets", "images_dog_and_cat.png"); |
| 17 | using Stream imageStream = File.OpenRead(imageFilePath); | |
| 18 | BinaryData imageBytes = BinaryData.FromStream(imageStream); | |
9f9f2936Jose Arriaga Maldonado2 years ago | 19 | |
31c2ba63Jose Arriaga Maldonado1 years ago | 20 | List<ChatMessage> messages = |
| 21 | [ | |
74848f8dJose Arriaga Maldonado2 years ago | 22 | new UserChatMessage( |
2ab1a942Jose Arriaga Maldonado1 years ago | 23 | ChatMessageContentPart.CreateTextPart("Please describe the following image."), |
31c2ba63Jose Arriaga Maldonado1 years ago | 24 | ChatMessageContentPart.CreateImagePart(imageBytes, "image/png")), |
74848f8dJose Arriaga Maldonado2 years ago | 25 | ]; |
9f9f2936Jose Arriaga Maldonado2 years ago | 26 | |
31c2ba63Jose Arriaga Maldonado1 years ago | 27 | ChatCompletion completion = client.CompleteChat(messages); |
9f9f2936Jose Arriaga Maldonado2 years ago | 28 | |
31c2ba63Jose Arriaga Maldonado1 years ago | 29 | Console.WriteLine($"[ASSISTANT]: {completion.Content[0].Text}"); |
9f9f2936Jose Arriaga Maldonado2 years ago | 30 | } |
| 31 | } |