开源
SK:可将 AI 大型语言模型 (LLM) 与传统编程语言集成
来源:元经纪     阅读:711
网站管理员
发布于 2023-04-04 05:49
查看主页

概述

语义内核 (SK)是一种轻量级 SDK,可将 AI 大型语言模型 (LLM) 与传统编程语言集成。SK 可扩展编程模型结合了自然语言语义函数、传统代码本机函数基于嵌入的内存,释放新的潜力并通过 AI 为应用程序增加价值。SK开箱即用地支持 提示模板、函数链接、 向量化内存和 智能规划功能。 语义内核旨在支持和封装来自最新 AI 研究的多种设计模式,这样开发人员就可以在他们的应用程序中注入复杂的 技能,例如提示链、递归推理、总结、零/少样本学习、上下文记忆、长期记忆、嵌入、语义索引、规划和访问外部知识存储以及您自己的数据。

如果您想快速了解语义内核如何与您的应用程序集成,请从克隆存储库开始:

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

git clone https://github.com/microsoft/semantic-kernel.git

请注意:

  • 您需要一个 Open AI API 密钥或 Azure Open AI 服务密钥 才能开始。
  • 在运行示例和笔记本之前,您可能需要满足一些软件要求:
    1. Azure Functions Core Tools 用于将内核作为本地 API 运行,这是 Web 应用程序所需的。
    2. Yarn用于安装网络应用程序的依赖项。
    3. 语义内核支持 .NET Standard 2.1,建议使用 .NET 6+。但是,存储库中的一些示例需要.NET 7和 VS Code Polyglot 扩展 才能运行笔记本。

开始使用semantic-kernel

下面是一个快速示例,说明如何从 C# 控制台应用程序使用语义内核。

  1. 创建一个新项目,以 .NET 6 或更新版本为目标,并添加 Microsoft.SemanticKernelnuget 包:

    dotnet add package Microsoft.SemanticKernel --prerelease
    

    有关最新版本和更多说明,请参阅nuget.org 。

  2. 将以下代码复制并粘贴到您的项目中,并准备好您的 Azure OpenAI 密钥(您可以 在此处创建一个)。

using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.KernelExtensions;
using Microsoft.SemanticKernel.Configuration;

var kernel = Kernel.Builder.Build();

// For Azure Open AI details please see
// https://learn.microsoft.com/azure/cognitive-services/openai/quickstart?pivots=rest-api
kernel.Config.AddAzureOpenAITextCompletion(
    "davinci-azure",                     // Alias used by the kernel
    "text-davinci-003",                  // Azure OpenAI *Deployment ID*
    "https://contoso.openai.azure.com/", // Azure OpenAI *Endpoint*
    "...your Azure OpenAI Key..."        // Azure OpenAI *Key*
);

string summarizePrompt = @"
{{$input}}

Give me the a TLDR in 5 words.";

string haikuPrompt = @"
{{$input}}

Write a futuristic haiku about it.";

var summarize = kernel.CreateSemanticFunction(summarizePrompt);
var haikuWriter = kernel.CreateSemanticFunction(haikuPrompt);

string inputText = @"
1) A robot may not injure a human being or, through inaction,
allow a human being to come to harm.

2) A robot must obey orders given it by human beings except where
such orders would conflict with the First Law.

3) A robot must protect its own existence as long as such protection
does not conflict with the First or Second Law.";

var output = await kernel.RunAsync(inputText, summarize, haikuWriter);

Console.WriteLine(output);

// Output => Robots protect us all
//           No harm to humans they bring
//           Peaceful coexistence

[/hidecontent]

 
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
京东方夺液晶电视面板第一:100英寸市场独占超6成
OpenAI 的动荡揭示了人工智能行业潜在的结构性紧张:盈利、人力&开源
搭跨境电商快船 “观潮者”变“弄潮者”
婴儿湿巾如何选?这份消费指南请收好
三年抽检出82批次净水器不合格,TCL、志高、GE等上榜

首页

分类

定制方案

消息

我的