最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Semantic Kernel 知多少 | 開啟面向AI編程新篇章

2023-04-07 09:01 作者:圣杰知多少  | 我要投稿

引言

在ChatGPT 火熱的當(dāng)下, 即使沒有上手親自體驗(yàn),想必也對(duì)ChatGPT的強(qiáng)大略有耳聞。當(dāng)一些人在對(duì)ChatGPT猶猶豫豫之時(shí),一些敏銳的企業(yè)主和開發(fā)者們已經(jīng)急不可耐的開展基于ChatGPT模型AI應(yīng)用的落地探索。?

因此,可以明確預(yù)見的是,「AI 能力的集成將會(huì)是很多應(yīng)用都將面臨的第一事項(xiàng)」,而擁有相關(guān)性技能的人才屈指可數(shù)。而這,正是機(jī)會(huì)所在,而機(jī)會(huì)是留給有準(zhǔn)備之人,因此,有幸看到本文的開發(fā)者們,開始考慮「面向AI編程」吧。?

即使當(dāng)下的公司沒有相關(guān)的機(jī)會(huì),也可以著手一些相關(guān)的知識(shí)儲(chǔ)備,比如學(xué)習(xí)如何寫得一手好的Prompt,了解一下目前主流的面向AI編程的開發(fā)框架,比如Python技術(shù)棧的LangChain,.NET技術(shù)棧的Semantic Kernal。?

而本文就來(lái)簡(jiǎn)單梳理什么是Semantic Kernal,可以基于Semantic Kernal 做什么?

Semantic Kernal 簡(jiǎn)介



?

「Semantic Kernel (SK) is a lightweight SDK that lets you easily mix conventional programming languages with the latest in Large Language Model (LLM) AI "prompts" with templating, chaining, and planning capabilities out-of-the-box.」

?
?

Semantic Kernel (SK) 是一個(gè)輕量級(jí)的 SDK,它允許你輕松地將傳統(tǒng)編程語(yǔ)言與最新的大型語(yǔ)言模型 (LLM) AI "提示"相結(jié)合,其提供開箱即用的模板、鏈接和規(guī)劃功能。

?

簡(jiǎn)而言之,就是基于SK提供的能力,可以基于“傳統(tǒng)的編程語(yǔ)言”進(jìn)行面向LLM(大語(yǔ)言模型)AI編程。 這里的LLM目前就是OpenAI,這里的傳統(tǒng)編程語(yǔ)言,可以是C#,Python亦或TypeScript、Java等,但SK是微軟開源,因此目前C#在第一支持系列。換句話說(shuō),C# 開發(fā)者已可以基于SK 進(jìn)行面向OpenAI編程。

?

大型語(yǔ)言模型 (LLM) AI 是一個(gè)術(shù)語(yǔ),指的是可以從大量數(shù)據(jù)生成自然語(yǔ)言文本的 AI 模型。大型語(yǔ)言模型使用深度神經(jīng)網(wǎng)絡(luò)(如轉(zhuǎn)換器)從數(shù)十億或數(shù)萬(wàn)億個(gè)單詞中學(xué)習(xí),并生成有關(guān)任何主題或領(lǐng)域的文本。大型語(yǔ)言模型還可以執(zhí)行各種自然語(yǔ)言任務(wù),例如分類、匯總、翻譯、生成和對(duì)話。大型語(yǔ)言模型的一些例子是GPT-3,BERT,XLNet和EleutherAI。

?

那SK提供了怎樣的能力呢?SK 旨在支持和封裝來(lái)自最新 AI 研究的多種能力,以便開發(fā)人員可以為他們的應(yīng)用程序注入復(fù)雜的AI技能,如提示鏈、遞歸推理、總結(jié)、zero/few-shot(零樣本和少量樣本)學(xué)習(xí)、上下文記憶、長(zhǎng)期記憶、嵌入、語(yǔ)義索引、 規(guī)劃,以及訪問外部知識(shí)庫(kù)和您自己的數(shù)據(jù)。

上手開發(fā)AI外教應(yīng)用

但很大多數(shù)開發(fā)者肯定有這樣一個(gè)疑問:我不懂算法,也能開發(fā)AI應(yīng)用?是的,可以。OpenAI的能力已經(jīng)通過高度抽象的接口開放,開箱即用。不再像之前一樣,要進(jìn)行復(fù)雜的訓(xùn)練、調(diào)參。「對(duì)于大多數(shù)的簡(jiǎn)單的業(yè)務(wù)場(chǎng)景,只要進(jìn)行簡(jiǎn)單的Prompt設(shè)計(jì),和少許樣本的支撐,即可達(dá)到不錯(cuò)的效果。」 當(dāng)然,對(duì)于復(fù)雜的場(chǎng)景,也可能需要通過大數(shù)據(jù)集進(jìn)行自定義模型訓(xùn)練。 空說(shuō)無(wú)憑,準(zhǔn)備了一個(gè)簡(jiǎn)單的AI應(yīng)用示例:使用SK開發(fā)專屬AI外教應(yīng)用。場(chǎng)景很簡(jiǎn)單:設(shè)計(jì)一個(gè)AI外教7*24陪我練習(xí)英語(yǔ)口語(yǔ)。

需求分析

作為一名啞巴英語(yǔ)保持者,目前開口的難點(diǎn)無(wú)外乎:

  1. 詞匯量不足

  2. 語(yǔ)法混淆

  3. 發(fā)音不準(zhǔn)

  4. 口語(yǔ)表達(dá)能力弱

針對(duì)這些頑疾,我希望我的AI外教有這樣的能力:

  • 由于我的詞匯量不足,因此我的表達(dá)中會(huì)中英混合,當(dāng)出現(xiàn)這種情況時(shí),希望AI能告訴我正確的英文表達(dá)。

  • 由于我的語(yǔ)法經(jīng)常會(huì)犯一些時(shí)態(tài)錯(cuò)誤,當(dāng)出現(xiàn)這種情況時(shí),希望AI能進(jìn)行語(yǔ)法糾正。

  • 由于我的詞匯量不足,當(dāng)我要求解釋某些句子或單詞時(shí),希望AI能通過中文向我解釋。

  • 由于有些單詞不會(huì)發(fā)音,當(dāng)我詢問時(shí),希望AI能以中文的形式告訴我發(fā)音技巧。

效果預(yù)覽

那這樣的AI應(yīng)用的開發(fā),看似復(fù)雜,但在SK的加持下,20行代碼就可以輕松搞定。先來(lái)給大家看看演示效果:

演示效果

弱弱的問一句,這樣的AI外教,滿足你的需要嗎?如需體驗(yàn),評(píng)論留言。


上代碼

  1. 簡(jiǎn)單起見創(chuàng)建控制臺(tái)應(yīng)用程序:dotnet new console -n MyAITeacher.Demo

  2. 添加Microsoft.SemanticKernelNuget 包

  3. 創(chuàng)建Skills->Learning->LearningEnglishSkill目錄

  4. LearningEnglishSkill目錄下添加config.jsonskprompt.txt文件

    1. config.json:用來(lái)配置模型參數(shù),可保持為空:{},使用默認(rèn)參數(shù)即可

    2. skprompt.txt: 用來(lái)定義設(shè)計(jì)的prompt

  5. skprompt.txt中設(shè)計(jì)滿足需求的Prompt:

6. 修改Program.s如下:


最后

通過簡(jiǎn)單的Prompt的設(shè)計(jì)即可開發(fā)不錯(cuò)的AI設(shè)計(jì),你心動(dòng)了嗎?心動(dòng)不如行動(dòng),以下的鏈接必對(duì)你有所幫助:

  1. https://learningprompt.wiki/

  2. https://learn.microsoft.com/en-us/semantic-kernel/whatissk


Semantic Kernel 知多少 | 開啟面向AI編程新篇章的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
丰镇市| 桂平市| 白银市| 陆良县| 黔江区| 德惠市| 武宣县| 肃北| 江源县| 凤庆县| 阳泉市| 云阳县| 正宁县| 南投县| 辛集市| 伊金霍洛旗| 墨脱县| 镇原县| 桦南县| 黄山市| 常宁市| 长丰县| 太仆寺旗| 内黄县| 光山县| 吉安市| 密山市| 博湖县| 东兰县| 济源市| 镇赉县| 固原市| 遂溪县| 杭锦旗| 景泰县| 纳雍县| 清徐县| 田东县| 崇文区| 沈丘县| 抚州市|