Semantic Kernel
先比较下 Semantic Kernel 和 LangChain。
Semantic Kernel | LangChain | |
---|---|---|
出品公司 | 微软 | LangChain AI |
支持语言 | Python、C#、Java、TypeScript | Python、TypeScript |
开源协议 | MIT | MIT |
被应用在 | Microsoft 365 Copilot、Bing | 1.5w 开源项目 |
当下,LangChain 更强。但 Semantic Kernel 可能更有未来,因为:
- 不要怀疑微软要做 AI 霸主的决心
- 不要轻视微软的架构和工程能力
- 以及,钞能力
但微软的非中立性,可能带来问题。
SK 的开发进展
- C# 版最成熟:https://github.com/microsoft/semantic-kernel
- Python 版也可用,但正在重构:https://github.com/microsoft/semantic-kernel
- Java 版实验阶段:https://github.com/microsoft/semantic-kernel/tree/experimental-java
- TypeScript 版……:https://github.com/microsoft/semantic-kernel/tree/experimental-typescript
- 文档写得特别好,但追不上代码更新速度:
- 更多讲解:https://learn.microsoft.com/en-us/semantic-kernel/overview/
- 更偏实操:https://github.com/microsoft/semantic-kernel/blob/main/samples/notebooks/python/00-getting-started.ipynb
这里可以了解最新进展:https://learn.microsoft.com/en-us/semantic-kernel/get-started/supported-languages
不同语言之间的概念都是相通的。本课程以 Python 版为例。
SK 的生态位
与 LangChain 完全重叠。
解释:
- Plugin extensibility: 插件扩展
- Copilots: AI 助手(副驾驶),例如 GitHub Copilot、Office 365 Copilot、Windows Copilot
- AI orchestration: AI 编排,SK 就在这里
- Foundation models: 基础大模型,例如 GPT-4
- AI infrastructure: AI 基础设施,例如 PyTorch、GPU
SK 基础架构
解释:
- Models and Memory: 和 LangChain 的概念相同,类比为大脑
- Connectors: 用来连接各种外部服务,类似驱动程序
- Plugins: 用来连接内部技能
- Triggers and actions: 外部系统的触发器和动作,类比为四肢
Semantic Kernel 用 Kernel 命名,是因为它确实像个操作系统 kernel,做核心资源调配,各种资源都可以挂在它上。
后记