【semantic Kernel】图识文
多模态是每个LLM具有的能力,图片又是最常见的信息载体,GPT对图片的识别也很早就有了,随着GPT版本的迭代,效果越来越好。SK也是在很多就适配了图识文,只不过最近版本才支持本地图片的上传。
代码:
var builder = Kernel.CreateBuilder()
.AddOpenAIChatCompletion(modelId: "gpt-4o", Config.OpenAiKey);
var kernel = builder.Build();
var chatCompletionService = kernel.GetRequiredService<IChatCompletionService>();
var history = new ChatHistory();
var bytes = File.ReadAllBytes("imagecode.jpg");//File.ReadAllBytes("1.jpg");
history.AddUserMessage(
new ChatMessageContentItemCollection {
new TextContent("输出图片中的文字"),
new ImageContent( bytes,"image/jpeg") });
//var bytes = File.ReadAllBytes("1.jpg");
//history.AddUserMessage(
// new ChatMessageContentItemCollection {
// new TextContent("图片中有多少人"),
// new ImageContent( bytes,"image/jpeg") });
var result = await chatCompletionService.GetChatMessageContentAsync(history, kernel: kernel);
Console.WriteLine($"{result.Role} > {result.ToString()}");
Console.ReadKey();
imagecode.jpg:
输出: