-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathVisionDemo.cs
36 lines (30 loc) · 1.41 KB
/
VisionDemo.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using LlmTornado.Chat;
using LlmTornado.Chat.Models;
using LlmTornado.Code;
using LlmTornado.Code.Models;
using LlmTornado.Images;
using LlmTornado.Models;
namespace LlmTornado.Demo;
public static class VisionDemo
{
[Flaky("Deprecated by OpenAI")]
[TornadoTest]
public static async Task Vision()
{
ChatResult? result = await Program.Connect().Chat.CreateChatCompletion([
new ChatMessage(ChatMessageRoles.User, [new ChatMessagePart(new Uri("https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcSGfpQ3m-QWiXgCBJJbrcUFdNdWAhj7rcUqjeNUC6eKcXZDAtWm"))]), new ChatMessage(ChatMessageRoles.User, "What is on this image?")
], ChatModel.OpenAi.Gpt4.VisionPreview, maxTokens: 256);
Console.WriteLine(result?.Choices?[0].Message?.Content);
}
[Flaky("Deprecated by OpenAI")]
[TornadoTest]
public static async Task VisionBase64()
{
byte[] bytes = await File.ReadAllBytesAsync("Static/Images/catBoi.jpg");
string base64 = $"data:image/jpeg;base64,{Convert.ToBase64String(bytes)}";
ChatResult? result = await Program.Connect().Chat.CreateChatCompletion([
new ChatMessage(ChatMessageRoles.User, [new ChatMessagePart(base64, ImageDetail.Auto)]), new ChatMessage(ChatMessageRoles.User, "What is on this image?")
], ChatModel.OpenAi.Gpt4.VisionPreview, maxTokens: 256);
Console.WriteLine(result?.Choices?[0].Message?.Content);
}
}