CSharp: ImageToText using Microsoft.SemanticKernel

 

using Microsoft.SemanticKernel.ImageToText;
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;
using Microsoft.SemanticKernel.Connectors.HuggingFace;
//using Microsoft.SemanticKernel.Orchestration;
using Microsoft.SemanticKernel.Connectors;
using Microsoft.SemanticKernel.Experimental.Orchestration;
using System.Text;



namespace SemanticConsoleApp
{


#pragma warning disable SKEXP0001 // Type is for evaluation purposes only and is subject to change or removal in future updates.
#pragma warning disable SKEXP0070 // Type is for evaluation purposes only and is subject to change or removal in future updates.
    /// <summary>
    /// 
    /// </summary>
    public partial class Program
    {


       // private readonly IImageToTextService service;
        /// <summary>
        /// 
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            Console.WriteLine("Hello,CSharp World!");
            var builder = Kernel.CreateBuilder();
            builder.AddAzureOpenAIChatCompletion("gpt-35-turbo", "https://contoso.openai.azure.com/", "...your Azure OpenAI Key...");
            var kernel = builder.Build();
           // IImageToTextService service=kernel.GetRequiredService<IImageToTextService>();


            // var kernel = Kernel.CreateBuilder().AddHuggingFaceImageToText("Salesforce/blip-image-captioning-base").Build();
            IImageToTextService service = kernel.GetRequiredService<IImageToTextService>();
            
            var imageBinary = File.ReadAllBytes(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "demo.jpg"));
            var imageContent = new ImageContent(imageBinary) { MimeType = "image/jpeg" };
            //var textContent = await service.GetTextContentAsync(imageContent);
            var textContent = service.GetTextContentAsync(imageContent);
            Console.WriteLine($"已識別圖片中描述的內容: {textContent.Result}");


         //   var builder = Kernel.CreateBuilder();
         //   builder.AddAzureOpenAIChatCompletion(
         //"gpt-35-turbo",                      // Azure OpenAI Deployment Name
         //"https://contoso.openai.azure.com/", // Azure OpenAI Endpoint
         //"...your Azure OpenAI Key...");      // Azure OpenAI Key

         //   var kernel = builder.Build();



            //2
            ////# 初始化Kernel

           // var myKernel = Kernel.CreateBuilder();// Kernel.Builder.Build();

            //myKernel.Config.AddAzureOpenAITextCompletionService(
            //    "davinci-azure",
            //    "text-davinci-003",
            //    "{your azure openai endpoint}",
            //    "{your azure openai key}");
            ////# 導入技能
            //var mySkill = myKernel.ImportSemanticSkillFromDirectory("Skills", "Learning");
            //var myContext = new ContextVariables();
            //StringBuilder histories = new StringBuilder();
            //Console.WriteLine("Say anything to start practicing English.");
            //while (true)
            //{
            //    Console.ForegroundColor = ConsoleColor.DarkRed;
            //    var input = Console.ReadLine();
            //    //# 填充變量
            //    myContext.Set("history", histories.ToString());
            //    myContext.Set("input", input);
            //    //# 運行技能
            //    var myResult = await myKernel.RunAsync(myContext, mySkill["LearningEnglishSkill"]);
            //    histories.AppendLine(input);
            //    histories.AppendLine(myResult.Result.ToString());
            //    Console.WriteLine(myResult);
            //}



        }
    }
}

https://learn.microsoft.com/zh-cn/training/azure/?WT.mc_id=home_homepage-azureportal-learn&context=sso&source=azure-portal
https://learn.microsoft.com/zh-cn/azure/ai-services/openai/quickstart?pivots=rest-api&tabs=command-line%2Cpython-new
https://portal.azure.com/#home

  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章