【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:

输出:

posted @ 2024-11-07 16:46  .Neterr  阅读(9)  评论(0编辑  收藏  举报