国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于Microsoft SemanticKernel和GPT4實(shí)現(xiàn)一個(gè)智能翻譯服務(wù)

這篇具有很好參考價(jià)值的文章主要介紹了基于Microsoft SemanticKernel和GPT4實(shí)現(xiàn)一個(gè)智能翻譯服務(wù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

今年.NET Conf China 2023技術(shù)大會(huì),我給大家分享了 .NET應(yīng)用國際化-AIGC智能翻譯+代碼生成的議題

.NET Conf China 2023分享-.NET應(yīng)用國際化-AIGC智能翻譯+代碼生成

今天將詳細(xì)的代碼實(shí)現(xiàn)和大家分享一下。

一、前提準(zhǔn)備

1. 新建一個(gè)Console類的Project

2. 引用SK的Nuget包,SK的最新Nuget包

dotnet add package Microsoft.SemanticKernel --version 1.4.0
<ItemGroup>
    <PackageReference Include="Microsoft.SemanticKernel" Version="1.4.0" />
    <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
  </ItemGroup>

3. 在Azure OpenAI Service中創(chuàng)建一個(gè)GPT4的服務(wù),這個(gè)可能大家沒有賬號(hào),那就先看代碼如何實(shí)現(xiàn)吧

部署好GPT4模型后,可以拿到以下三個(gè)重要的值

Azure OpenAI Deployment Name
Azure OpenAI Endpoint
Azure OpenAI Key
二、編寫翻譯使用的Prompt
 {{$input}}
請(qǐng)將上面的輸入翻譯為英文,不要返回任何解釋說明,
請(qǐng)扮演一個(gè)美國電動(dòng)汽車充電服務(wù)運(yùn)營商(精通中文和英文),用戶的輸入數(shù)據(jù)是JSON格式,例如{"1":"充電站", "2":"充電樁"}, 
如果不是JSON格式,請(qǐng)返回?zé)o效的輸入。
請(qǐng)使用以下專業(yè)術(shù)語進(jìn)行翻譯
 {
    "充電站":"Charging station",
    "電站":"Charging station",
    "場站":"Charging station",
    "充電樁":"Charging point",
    "充電終端":"Charging point",
    "終端":"Charging point",
    "電動(dòng)汽車":"Electric Vehicle",
    "直流快充":"DC Fast Charger",
    "超級(jí)充電站":"Supercharger",
    "智能充電":"Smart Charging",
    "交流慢充":"AC Slow Charging"
}
翻譯結(jié)果請(qǐng)以JSON格式返回,例如 {"1":"Charging station", "2":"Charging point"}

類似的還有葡萄牙下的翻譯Prompt

{{$input}}
請(qǐng)將上面的輸入翻譯為葡萄牙語,不要返回任何解釋說明,請(qǐng)扮演一個(gè)巴西的電動(dòng)汽車充電服務(wù)運(yùn)營商(精通葡萄牙語、中文和英文)
用戶的輸入數(shù)據(jù)是JSON格式,例如{"1":"充電站", "2":"充電樁"}, 如果不是JSON格式,請(qǐng)返回?zé)o效的輸入
請(qǐng)使用以下專業(yè)術(shù)語進(jìn)行翻譯
 {
  "充電站": "Esta??o de carregamento",
  "電站": "Esta??o de carregamento",
  "場站": "Esta??o de carregamento",
  "充電樁": "Ponto de carregamento",
  "充電終端": "Ponto de carregamento",
  "終端": "Ponto de carregamento",
  "電動(dòng)汽車": "Veículo Elétrico",
  "直流快充": "Carregador Rápido DC",
  "超級(jí)充電站": "Supercharger",
  "智能充電": "Carregamento Inteligente",
  "交流慢充": "Carregamento AC Lento"
}
請(qǐng)以JSON格式返回,例如 {"1":"Esta??o de carregamento", "2":"Ponto de carregamento"}

在項(xiàng)目工程下新建Plugins目錄和TranslatePlugin子目錄,同時(shí)新建Translator_en和Translator_pt等多個(gè)子目錄

基于Microsoft SemanticKernel和GPT4實(shí)現(xiàn)一個(gè)智能翻譯服務(wù)

?config.json文件下的內(nèi)容如下:

{
    "schema": 1,
    "type": "completion",
    "description": "Translate.",
    "completion": {
         "max_tokens": 2000,
         "temperature": 0.5,
         "top_p": 0.0,
         "presence_penalty": 0.0,
         "frequency_penalty": 0.0
    },
    "input": {
         "parameters": [
              {
                   "name": "input",
                   "description": "The user's input.",
                   "defaultValue": ""
              }
         ]
    }
}

三、Translator翻譯類,實(shí)現(xiàn)文本多語言翻譯

這個(gè)類主要實(shí)現(xiàn)將用戶輸入的文本(系統(tǒng)處理為JSON格式),翻譯為指定的語言

using System.Runtime.InteropServices;
using Microsoft.SemanticKernel;
using Newtonsoft.Json;

namespace LLM_SK;
public class Translator
{
? ? Kernel kernel;
? ? public Translator(Kernel kernel)
? ? {
? ? ? ? this.kernel = kernel;
? ? }

? ? public IDictionary<int, string> Translate(IDictionary<int, string> textList, string language)
? ? {
? ? ? ? var pluginDirectory = Path.Combine(System.IO.Directory.GetCurrentDirectory(), "Plugins/TranslatePlugin");
? ? ? ? var plugin = kernel.CreatePluginFromPromptDirectory(pluginDirectory, "Translator_" + language + ""); ? ? ? ?

? ? ? ? var json = JsonConvert.SerializeObject(textList); ? ? ?

? ? ? ? if (!string.IsNullOrEmpty(json))
? ? ? ? {
? ? ? ? ? ? var output = kernel.InvokeAsync(plugin["Translator_" + language + ""], new() { ["input"] = json }).Result.ToString();
? ? ? ? ? ? if (!string.IsNullOrWhiteSpace(output))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Console.WriteLine(output);
? ? ? ? ? ? ? ? return JsonConvert.DeserializeObject<Dictionary<int, string>>(output);
? ? ? ? ? ? }
? ? ? ? }

? ? ? ? return new Dictionary<int, string>();
? ? }
}

這個(gè)類中構(gòu)造函數(shù)中接收傳入的Kernel對(duì)象,這個(gè)Kernel對(duì)象是指

Microsoft.SemanticKernel.Kernel??
//
// Summary:
//     Provides state for use throughout a Semantic Kernel workload.
//
// Remarks:
//     An instance of Microsoft.SemanticKernel.Kernel is passed through to every function
//     invocation and service call throughout the system, providing to each the ability
//     to access shared state and services.
public sealed class Kernel

暫且理解為調(diào)用各類大模型的Kernel核心類,基于這個(gè)Kernel實(shí)例對(duì)象完成大模型的調(diào)用和交互

另外,上述代碼中有個(gè)Prompt模板文件讀取的操作。

? ? ? ? var pluginDirectory = Path.Combine(System.IO.Directory.GetCurrentDirectory(), "Plugins/TranslatePlugin");
? ? ? ? var plugin = kernel.CreatePluginFromPromptDirectory(pluginDirectory, "Translator_" + language + "");? ??

基于Microsoft SemanticKernel和GPT4實(shí)現(xiàn)一個(gè)智能翻譯服務(wù)

?從Plugins/TranslatePlugin目錄下讀取指定的KernelPlugin,例如Translator_en英語翻譯插件和Translator_pt 葡萄牙翻譯插件

?var output = kernel.InvokeAsync(plugin["Translator_" + language + ""], new() { ["input"] = json }).Result.ToString();

?調(diào)用KernelFunction方式實(shí)現(xiàn)GPT4大模型調(diào)用

 //
    // Summary:
    //     Invokes the Microsoft.SemanticKernel.KernelFunction.
    //
    // Parameters:
    //   function:
    //     The Microsoft.SemanticKernel.KernelFunction to invoke.
    //
    //   arguments:
    //     The arguments to pass to the function's invocation, including any Microsoft.SemanticKernel.PromptExecutionSettings.
    //
    //
    //   cancellationToken:
    //     The System.Threading.CancellationToken to monitor for cancellation requests.
    //     The default is System.Threading.CancellationToken.None.
    //
    // Returns:
    //     The result of the function's execution.
    //
    // Exceptions:
    //   T:System.ArgumentNullException:
    //     function is null.
    //
    //   T:Microsoft.SemanticKernel.KernelFunctionCanceledException:
    //     The Microsoft.SemanticKernel.KernelFunction's invocation was canceled.
    //
    // Remarks:
    //     This behaves identically to invoking the specified function with this Microsoft.SemanticKernel.Kernel
    //     as its Microsoft.SemanticKernel.Kernel argument.
    public Task<FunctionResult> InvokeAsync(KernelFunction function, KernelArguments? arguments = null, CancellationToken cancellationToken = default(CancellationToken))
    {
        Verify.NotNull(function, "function");
        return function.InvokeAsync(this, arguments, cancellationToken);
    }

 繼續(xù)封裝GPT4TranslateService,構(gòu)造Microsoft.SemanticKernel.Kernel 類實(shí)例。

using System.Globalization;
using Microsoft.SemanticKernel;

namespace LLM_SK;
public class GPT4TranslateService
{    
    public IDictionary<int,string> Translate(IDictionary<int, string> texts, CultureInfo cultureInfo)
    {
        var kernel = BuildKernel();
        var translator = new Translator(kernel);
        return translator.Translate(texts, cultureInfo.TwoLetterISOLanguageName );
    }

    //私有方法,構(gòu)造IKernel
    private Kernel BuildKernel()
    {
        var builder = Kernel.CreateBuilder();
        builder.AddAzureOpenAIChatCompletion(
                 "xxxxgpt4",                  // Azure OpenAI Deployment Name
                 "https://****.openai.azure.com/", // Azure OpenAI Endpoint
                 "***************");      // Azure OpenAI Key

        return  builder.Build();
   }
}

四、測試調(diào)用

這里我們?cè)O(shè)計(jì)了2種語言,英語和葡萄牙的文本翻譯

var culture = new CultureInfo("en-US");
var translator = new GPT4TranslateService();
translator.Translate(new Dictionary<int, string>(){{ 1,"電站"}, {2,"終端不可用"},{3,"充電樁不可用"} ,
{4,"場站"},{5,"充電站暫未運(yùn)營" }},culture);

culture = new CultureInfo("pt-BR");
translator.Translate(new Dictionary<int, string>(){{ 1,"電站"}, {2,"終端不可用"},{3,"充電樁不可用"} ,
{4,"場站"},{5,"充電站暫未運(yùn)營" }},culture);

輸出的結(jié)果

{"1":"Charging station","2":"Charging point unavailable","3":"Charging station unavailable","4":"Charging station","5":"Charging station not in operation yet"}
{"1":"Esta??o de carregamento","2":"Ponto de carregamento n?o está disponível","3":"Ponto de carregamento n?o está disponível","4":"Esta??o de carregamento","5":"A esta??o de carregamento ainda n?o está em opera??o"}

五、總結(jié)

以上是基于SemanticKernel和GPT4實(shí)現(xiàn)一個(gè)智能翻譯服務(wù)的Demo和框架,大家可以基于這個(gè)示例繼續(xù)完善,增加更多動(dòng)態(tài)的數(shù)據(jù)和API調(diào)用,例如將JSON數(shù)據(jù)寫入數(shù)據(jù)庫

同時(shí)還可以記錄翻譯不穩(wěn)定的異常,手工處理或者繼續(xù)完善Prompt。

?

周國慶

2024/2/17文章來源地址http://www.zghlxwxcb.cn/news/detail-825328.html

到了這里,關(guān)于基于Microsoft SemanticKernel和GPT4實(shí)現(xiàn)一個(gè)智能翻譯服務(wù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 不用GPT4,如何讓你的AI助理更加智能

    不用GPT4,如何讓你的AI助理更加智能

    小伙伴們新年好啊,頹廢的 2023 年總算是過去了,過去這一年因?yàn)樽约旱臓顟B(tài)不太好,一直也沒怎么更新,2024 年是時(shí)候重新拾起行囊再出發(fā)啦! 去年年底我寫過一篇《大模型小助手,Mac 工程師如何擁有自己的人工智能》,在那篇文章里我介紹了如何利用自己手頭的計(jì)算資源

    2024年02月22日
    瀏覽(28)
  • 一個(gè)最新國內(nèi)可用的免費(fèi)GPT4,Midjourney繪畫網(wǎng)站+使用教程

    一個(gè)最新國內(nèi)可用的免費(fèi)GPT4,Midjourney繪畫網(wǎng)站+使用教程

    ChatGPT GPT4.0,Midjourney繪畫,相信對(duì)大家應(yīng)該不感到陌生吧?簡單來說,GPT-4技術(shù)比之前的GPT-3.5相對(duì)來說更加智能,會(huì)根據(jù)用戶的要求生成多種內(nèi)容甚至也可以和用戶進(jìn)行創(chuàng)作交流。 然而,GPT-4對(duì)普通用戶來說都是需要額外付費(fèi)才可以使用。所以今天小編就整理一個(gè)真正免費(fèi)的

    2024年02月04日
    瀏覽(29)
  • OPEN AI接入MidJourney 畫圖支持GPT4中文智能優(yōu)化效果驚艷

    OPEN AI接入MidJourney 畫圖支持GPT4中文智能優(yōu)化效果驚艷

    OPEN AI 平臺(tái) 開放免費(fèi)AI聚合服務(wù)平臺(tái),提供應(yīng)用程序一鍵接入AI畫圖,對(duì)話的能力。 目前已經(jīng)支持GPT3和GPT4普通對(duì)話和流式對(duì)話。 支持GPT畫圖和MidJourney 畫圖。 后續(xù)還會(huì)接入更多功能 在線接入案例演示體驗(yàn) 這里主要展示一下MJ的強(qiáng)大的畫圖功能 平臺(tái)發(fā)展版本來龍去脈 如果大

    2024年02月12日
    瀏覽(24)
  • openai開放gpt3.5-turbo模型api,使用python即可寫一個(gè)基于gpt的智能問答機(jī)器人

    openai開放gpt3.5-turbo模型api,使用python即可寫一個(gè)基于gpt的智能問答機(jī)器人

    使用 pip 安裝openai庫,注意 gpt3.5-turbo 模型需要 python=3.9 的版本支持,本文演示的python版本是 python==3.10.10 需要提前在 openai 官網(wǎng)上注冊(cè)好賬號(hào),然后打開 https://platform.openai.com/account/api-keys 就可以創(chuàng)建接口 keys 每個(gè)賬號(hào)注冊(cè)完成會(huì)有18美元在里面,每次調(diào)用api,就會(huì)花費(fèi)里面的

    2024年02月06日
    瀏覽(104)
  • 分享一個(gè)國內(nèi)可用的免費(fèi)GPT4-AI提問AI繪畫網(wǎng)站工具

    分享一個(gè)國內(nèi)可用的免費(fèi)GPT4-AI提問AI繪畫網(wǎng)站工具

    ChatGPT GPT4.0,Midjourney繪畫,相信對(duì)大家應(yīng)該不感到陌生吧?簡單來說,GPT-4技術(shù)比之前的GPT-3.5相對(duì)來說更加智能,會(huì)根據(jù)用戶的要求生成多種內(nèi)容甚至也可以和用戶進(jìn)行創(chuàng)作交流。 然而,GPT-4對(duì)普通用戶來說都是需要額外付費(fèi)才可以使用。所以今天小編就整理一個(gè)真正免費(fèi)的

    2024年02月05日
    瀏覽(29)
  • 智能AI寫作系統(tǒng)+ChatGPT程序源碼搭建部署教程+支持GPT4.0/AI繪畫

    智能AI寫作系統(tǒng)+ChatGPT程序源碼搭建部署教程+支持GPT4.0/AI繪畫

    SparkAi創(chuàng)作系統(tǒng)是基于國外很火的ChatGPT進(jìn)行開發(fā)的Ai智能問答系統(tǒng)。本期針對(duì)源碼系統(tǒng)整體測試下來非常完美,可以說SparkAi是目前國內(nèi)一款的ChatGPT對(duì)接OpenAI軟件系統(tǒng)。那么如何搭建部署AI創(chuàng)作ChatGPT?小編這里寫一個(gè)詳細(xì)圖文教程吧!SparkAi程序使用Nestjs和Vue3框架技術(shù),持續(xù)集

    2024年02月09日
    瀏覽(27)
  • GPT4助力Python數(shù)據(jù)分析與可視化、人工智能建模及論文高效撰寫

    詳情點(diǎn)擊鏈接:GPT4助力Python數(shù)據(jù)分析與可視化、人工智能建模及論文高效撰寫 第一: GPT 4 基礎(chǔ)入門 1、ChatGPT概述(GPT-1、GPT-2、GPT-3、GPT-3.5、GPT-4模型的演變) 2、ChatGPT對(duì)話初體驗(yàn)(注冊(cè)與充值、購買方法) 3、GPT-4與GPT-3.5的區(qū)別,以及與國內(nèi)大語言模型(文心一言、星火等

    2024年01月18日
    瀏覽(24)
  • ChatGPT3.5、GPT4.0、DALL·E 3和Midjourney對(duì)話與繪畫智能體驗(yàn)

    MidTool(https://www.aimidtool.com/)是一個(gè)集成了多種先進(jìn)人工智能技術(shù)的助手,它融合了ChatGPT3.5、GPT4.0、DALL·E 3和Midjourney等不同的智能服務(wù),提供了一個(gè)多功能的體驗(yàn)。下面是這些技術(shù)的簡要介紹: ChatGPT3.5 : ChatGPT3.5是OpenAI開發(fā)的自然語言處理模型的一個(gè)版本,它基于GPT-3技術(shù)

    2024年02月03日
    瀏覽(24)
  • 基于GPT4模型編寫基于flask和mysql的web網(wǎng)站教程

    基于GPT4模型編寫基于flask和mysql的web網(wǎng)站教程

    項(xiàng)目地址 :https://download.csdn.net/download/u014541881/88098143 我 :請(qǐng)你幫我用flask寫一個(gè)網(wǎng)站,功能如下: 1,有個(gè)主界面,主界面最上方是菜單欄,有一張高清大圖作為網(wǎng)頁主界面背景,菜單欄右上角有簡介、登陸、注冊(cè)、左上角始終顯示首頁,方便可以一鍵跳轉(zhuǎn)回主頁。 2,菜單

    2024年02月15日
    瀏覽(15)
  • 智能AI系統(tǒng)ChatGPT系統(tǒng)源碼+支持GPT4.0+支持ai繪畫(Midjourney)/支持OpenAI GPT全模型+國內(nèi)AI全模型

    智能AI系統(tǒng)ChatGPT系統(tǒng)源碼+支持GPT4.0+支持ai繪畫(Midjourney)/支持OpenAI GPT全模型+國內(nèi)AI全模型

    SparkAi創(chuàng)作系統(tǒng)是基于OpenAI很火的ChatGPT進(jìn)行開發(fā)的Ai智能問答系統(tǒng)和Midjourney繪畫系統(tǒng),支持OpenAI-GPT全模型+國內(nèi)AI全模型。本期針對(duì)源碼系統(tǒng)整體測試下來非常完美,可以說SparkAi是目前國內(nèi)一款的ChatGPT對(duì)接OpenAI軟件系統(tǒng)。那么如何搭建部署AI創(chuàng)作ChatGPT?小編這里寫一個(gè)詳細(xì)圖

    2024年02月03日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包